Giter Site home page Giter Site logo

gervilquin / swan Goto Github PK

View Code? Open in Web Editor NEW

This project forked from swanlab/swan

0.0 0.0 0.0 2.41 GB

Topology Optimization Laboratory

Shell 0.01% C 0.01% Objective-C 0.36% Fortran 0.06% Tcl 0.02% MATLAB 99.51% Forth 0.02% M 0.01% TeX 0.01% GLSL 0.01% Batchfile 0.01% Limbo 0.01% BASIC 0.01%

swan's Introduction

Swan - Topology Optimization Laboratory

drawing

"It is not enough for code to work." ― Robert C. Martin

Swan is a Topology Optimization software developed in Matlab. Currently, it supports the resolution of 2D and 3D topology optimization problems with density or level-set as design variables. Swan aims to offer an adaptable framework that allows to implement new optimization techniques or functionalities fastly, thanks to its modular design.

Solution Minimization of compliance subject to volume for a 3D cantilever beam, using Level Set methods.

Current features

Swan currently supports the resolution of macro and micro* scale problems defined in terms of the following design variables:

  • Density
  • Level Set

*Note: 3D micro scale problems are not available yet.

Intermediate material properties are determined by the following implemented interpolation schemes:

  • SIMP
  • SIMP-ALL

Swan's modular design allows to combine several functions to define different optimization problems. Each function can be used as a cost or a constraint in the optimization problem. The functions that are currently implemented are:

  • Compliance
  • Volume
  • Perimeter
  • Non-self adjoint compliance (used to minimize/maximize displacements)
  • Homogenized elasticity matrix (used in micro scale problems)

In terms of optimization techniques, the following optimizers are implemented:

  • Density: Projected Gradient, MMA and IPOPT.
  • Level-set: SLERP, Projected SLERP and Hamilton-Jacobi

Unconstrained optimizers are combined with an Aumgmented Lagrangian to solve constrained problems.

Contact

For any inquiries, please contact us by opening an issue.

Current active developers are: Àlex Ferrer (@FerrerFerreAlex), Marc Núñez (@marcnunezc) and Oriol Trujillo (@Trujillo94)

Previous developers are acknowledged: Ferran De la Fuente, Nacho Izquierdo Pérez, Raül Rubio Serrano, Albert Torres Rubio

References

M. P. Bendsøe, Optimal shape design as a material distributionproblem, Structural optimization, vol. 1, no. 4, pp. 193–202, Dec1989. [Online]. Available: https://doi.org/10.1007/BF01650949

S. Amstutz, H. Andrä, A new algorithm for topology optimization using a level-set method, J. Comput. Phys. 216 (2) (2006) 573–588.

K. Svanberg, The method of moving asymptotes – a new method for structural optimization, International Journal for Numerical Methods in Engineering, 1987, 24, 359-373.

S. Amstutz, C. Dapogny, and A. Ferrer, A consistent relaxation of optimal design problems for coupling shape and topological derivatives, Numerische Mathematik, vol. 140, no. 1, pp. 35–94, Sep 2018. [Online]. Available: https://doi.org/10.1007/s00211-018-0964-4

G. Allaire, F. Jouve, A.-M. Toader, Structural optimization using sensitivity analysis and a level-set method, J. Comput. Phys. 194 (1)(2004) 363–393, http://dx.doi.org/10.1016/j.jcp.2003.09.032.

A. Wächter and L. T. Biegler, On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Mathematical Programming 106(1), pp. 25-57, 2006

swan's People

Contributors

ferrerferrealex avatar tcreusc avatar trujillo94 avatar marcnunezc avatar jose-antonio-torres avatar atrrs avatar arnaupena avatar joelcarrasc0 avatar aitzibermaneru avatar alexferrerferre avatar nachoiz avatar raulrubioserrano avatar jof-syntax 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.