Giter Site home page Giter Site logo

mytopopt's Introduction

MyTopOpt

This is a simple topology optimization program completed in C++, while using python to complete the diagram, the project is completed in the linux architecture using VScode IDE.

Getting Started

git clone https://github.com/HajerZhang/MyTopOpt.git

Prerequisites

What things you need to install the software and how to install them

python3 with numpy, matplotlib, PIL,tqdm

(maybe future will use eigen3)

Installation

How to use

Windows & Linux:

make

Debug mode:

make debug

How to run:

./main.exe

How to plot the result:

python3 plot.py

Usage example

Topology optimization of 2D MBB beam:

Gif of the process:

image

The final result:

image

Deployment

Install the python3 and the required packages, then run the plot.py to create the topology optimization result in file './plot'.

Release History

  • 1.0
    • inital version:Basic 2D topology optimization
    • Python:Draw the topology optimization diagram with matplotlib
  • 2.0
    • Change the code structure, use the faster finite element method.
    • Replace the OC method with the MMA method.
    • Add the density filter.
  • 2.5
    • Fixed a lot of bugs in version 2.0 which is now working properly
  • 2.6
    • Added Sensitivity filtering and Heaviside projection filter.

Planned update

  • Improved operational efficiency (sparse matrix)
  • Stress constraint
  • Displacement constraint
  • 3D topology optimization

Authors

To see more about the contributors to this project, please read contributors

Reference

  • Sigmund O (2001) A 99 line topology optimization code written in Matlab. Struct Multidiscip Optim 21(2):120–127
  • Andreassen E, Clausen A, Schevenels M, Lazarov BS, Sigmund O (2011) Efficient topology optimization in matlab using 88 lines of code. Struct Multidiscip Optim 43(1):1–16

License

This project has no license now,but it will be MIT licensed in the future.

mytopopt's People

Contributors

hajerzhang avatar szwhtq avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.