penn-graphics-research / Leto

Licence: mit
LETO is a new hybrid Lagrangian-Eulerian method for topology optimization. It transfers density information from movable Lagrangian carriers to a fixed set of Eulerian quadratures and solves force equilibrium with MPM. With carrier particles as design variables, LETO reparameterizes the Eulerian solution space in a Lagrangian view.

Programming Languages

matlab
3953 projects

LETO: Hybrid Lagrangian-Eulerian Method for Topology Optimization

Yue Li*, Xuan Li*, Minchen Li*, Yixin Zhu, Bo Zhu, Chenfanfu Jiang
* Equal contributions

This repo is a 88-line MATLAB version of LETO in 2D with linear elasticity. The high-performance and more complete version in C++ will be open sourced later.

[Paper] [Video]

Implementation

We separate LETO into two files:

leto.m contains LETO's core algorithm (scene setup, density transfer from carrier particles to quadratures, compliance computation, derivative computation and the optimization loop). The scene setup and DOF indices follow the convention of the 88-line SIMP.

mmaUpdate.m is a stand-alone optimizer MMA, on which the optimization loop is based. This implementation is tranlated and modifed from an open-source C++ version.

Usage

leto(nelx, nely, volfrac, penal)

nelx * nely defines the simulation resolution.
volfrac defines the volume constraint.
penal defines the power-law used in SIMP.

For different scene setups please feel free to modify the code.

Results

With this MATLAB implementation we compare LETO with SIMP (topo88.m) on a beam example. The scene setups are exactly the same.

The Dirichlet and Neumann boundary conditions are defined as (in both leto.m and top88.m):

F = sparse(2 * (nely + 1) * (nelx + 1), 1, -1, 2*(nely+1)*(nelx+1),1);
freedofs = setdiff(1:2*(nely+1)*(nelx+1),1:2*nely);

We compare SIMP to LETO with the same and half of the resolution:

top88(120, 40, 0.4, 3, 1.5, 1); % SIMP
leto(120, 40, 0.4, 3); % LETO
leto(60, 20, 0.4, 3); % LETO (half res)

The result of SIMP (converged with 280 iterations): simp

The result of LETO (converged with 95 iterations): leto

The result of LETO with half of the resolution (converged with 111 iterations): leto

As we can see LETO generates more intricate structures than SIMP with less iteration count using even half of the simulation resolution. With multiple density samples in each cell, LETO effectively achieves sub-cell resolution.

Bibtex

@article{li2020leto,
  title={LETO: Hybrid Lagrangian-Eulerian Method for Topology Optimization},
  author={Li, Yue and Li, Xuan and Li, Minchen and Zhu, Yixin and Zhu, Bo and Jiang, Chenfanfu},
  journal={arXiv preprint arXiv:2003.01215},
  year={2020}
}
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].