Skip to content

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.

License

penn-graphics-research/LETO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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}
}

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages