All Projects → SwanLab → Swan

SwanLab / Swan

Licence: other
Topology Optimization Laboratory

Programming Languages

matlab
3953 projects
objective c
16641 projects - #2 most used programming language
fortran
972 projects
forth
179 projects
c
50402 projects - #5 most used programming language
tcl
693 projects

Projects that are alternatives of or similar to Swan

python-ood
💠 Essential object oriented design (python, pytest, travisCI)
Stars: ✭ 38 (-30.91%)
Mutual labels:  design-patterns, object-oriented-programming
TopOpt in PETSc wrapped in Python
Topology optimization using PETSc: a Python wrapper and extended functionality
Stars: ✭ 24 (-56.36%)
Mutual labels:  fem, topology-optimization
OOP-Design-Patterns
MET CS665 - OOP Design Patterns Code Examples
Stars: ✭ 74 (+34.55%)
Mutual labels:  design-patterns, object-oriented-programming
2D CARFIVE
2D Cartesian Quadtree Adaptive Mesh Refinement (AMR) for multiphase Five Equations Model
Stars: ✭ 23 (-58.18%)
Mutual labels:  design-patterns, object-oriented-programming
Low Level Design Primer
Dedicated Resources for the Low-Level System Design. Learn how to design and implement large-scale systems. Prep for the system design interview.
Stars: ✭ 2,706 (+4820%)
Mutual labels:  design-patterns, object-oriented-programming
ooprogramming
Intermediate course introducing Object Oriented Programming (OOP) principles applied to the Java language. Recommend to learners with previous experience.
Stars: ✭ 50 (-9.09%)
Mutual labels:  object-oriented-programming
Dermayon
Dermayon is Library for supporting build large application,distributed application, scalable, microservices, cqrs, event sourcing, including generic ef repository pattern with unit of work, generic mongo repository pattern with unit of work, kafka, etc
Stars: ✭ 66 (+20%)
Mutual labels:  design-patterns
Crack-Coding-Interview
This Repository contains all my codes for preparing interview.
Stars: ✭ 14 (-74.55%)
Mutual labels:  design-patterns
pyFEM
A modular Finite Element Method solver implemented in Python
Stars: ✭ 16 (-70.91%)
Mutual labels:  fem
gof design patterns
GoF Design Patterns implemented in modern C++.
Stars: ✭ 21 (-61.82%)
Mutual labels:  design-patterns
java-wegweiser
🔭 Ein wachsender Wegweiser für die Grundlagen der Java-Programmierung
Stars: ✭ 15 (-72.73%)
Mutual labels:  object-oriented-programming
oop
Spare material and code bites from Object Oriented Programming @ Politecnico di Torino
Stars: ✭ 19 (-65.45%)
Mutual labels:  object-oriented-programming
ABAP-Library
Useful ABAP code snippets
Stars: ✭ 118 (+114.55%)
Mutual labels:  design-patterns
design-patterns
设计模式,经典样例
Stars: ✭ 35 (-36.36%)
Mutual labels:  design-patterns
fem mesh matlab
MATLAB Toolbox for Handling 2D and 3D FEM Meshes
Stars: ✭ 23 (-58.18%)
Mutual labels:  fem
feappv
FEAPpv -- free personal version of the FEAP
Stars: ✭ 57 (+3.64%)
Mutual labels:  fem
moon-design
Moon Design System for React
Stars: ✭ 209 (+280%)
Mutual labels:  design-patterns
clean architecture typescript example
This repository provides an implementation (or at least an attempt) of Uncle Bob's Clean Architecture with Typescript.
Stars: ✭ 78 (+41.82%)
Mutual labels:  design-patterns
DataStructure-DesignPattern
java集合源码、设计模式、常用算法、Mysql原理
Stars: ✭ 22 (-60%)
Mutual labels:  design-patterns
csharp-design-patterns-for-humans
Design Patterns for Humans™ - An ultra-simplified explanation - C# Examples
Stars: ✭ 1,086 (+1874.55%)
Mutual labels:  design-patterns

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].