Skip to content

MeshFEM/microstructures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microstructures

This repository contains a collection of routines for the optimization and analysis of homogenized material properties of graph-based microstructures. Microstructures are described by a graph, with parameters such as vertex positions, vertex radii, and blending factor. They can be inflated into a periodic triangle mesh (2D) or tetrahedral mesh (3D).

Coverage Results in 2D

See this coverage plot.

Dependencies

The following dependencies are required, and must be installed separately:

  • CHOLMOD/UMFPACK (SuiteSparse) (installed separately)

The following dependencies are required, and downloaded automatically by CMake:

The following dependencies are optional:

Compilation

mkdir build && cd build
cmake ..
make -j 8

Content

Libraries

This repository is organized into separate libraries, located under src/lib:

  • isosurface_inflator: Generates a triangle/tet mesh from graph labeled with vertex thicknesses.
  • inflators: Wrappers around various inflators (including the isosurface_inflator) providing a unified API.
  • optimizers: Wrappers around various numerical optimization packages for minimizing a constrained non-linear problem.
  • pattern_optimization: Optimizes the parameters of a particular microstructure to achieve a target material property.

Binaries

The functionalities are fragmented into a various executables that can be used to enumerate different graph topology, inflate a given microstructure, optimize parameters for a target elastic tensor or minimize worst-case stress. Please refer to individual binary usages for additional details.

Usage

Documentation on how to run worst-case stress optimization is available here:

Citation

The code in this repository was used in the following papers:

Panetta, J., Zhou, Q., Malomo, L., Pietroni, N., Cignoni, P. and Zorin, D., 2015. Elastic textures for additive fabrication. ACM Transactions on Graphics (TOG), 34(4), pp.1-12.
@article{Panetta2015,
    author = {Panetta, Julian and Zhou, Qingnan and Malomo, Luigi and Pietroni, Nico and Cignoni, Paolo and Zorin, Denis},
    title = {Elastic Textures for Additive Fabrication},
    journal = {ACM Trans. Graph.},
    issue_date = {August 2015},
    volume = {34},
    number = {4},
    month = jul,
    year = {2015},
    issn = {0730-0301},
    pages = {135:1--135:12},
    articleno = {135},
    numpages = {12},
    disabled_url = {http://doi_disabled_disabled.acm.org/10.1145/2766937},
    doi_disabled_disabled = {10.1145/2766937},
    acmid = {2766937},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {additive fabrication, deformable objects, goal-based material design, homogenization, microstructures, shape optimization},
}
Panetta, J., Rahimian, A. and Zorin, D., 2017. Worst-case stress relief for microstructures. ACM Transactions on Graphics (TOG), 36(4), pp.1-16.
@article{Panetta2015,
    author = {Panetta, Julian and Zhou, Qingnan and Malomo, Luigi and Pietroni, Nico and Cignoni, Paolo and Zorin, Denis},
    title = {Elastic Textures for Additive Fabrication},
    journal = {ACM Trans. Graph.},
    issue_date = {August 2015},
    volume = {34},
    number = {4},
    month = jul,
    year = {2015},
    issn = {0730-0301},
    pages = {135:1--135:12},
    articleno = {135},
    numpages = {12},
    disabled_url = {http://doi_disabled_disabled.acm.org/10.1145/2766937},
    doi_disabled_disabled = {10.1145/2766937},
    acmid = {2766937},
    publisher = {ACM},
    address = {New York, NY, USA},
    keywords = {additive fabrication, deformable objects, goal-based material design, homogenization, microstructures, shape optimization},
}
Tozoni, D.C., Dumas, J., Jiang, Z., Panetta, J., Panozzo, D. and Zorin, D., 2020. A low-parametric rhombic microstructure family for irregular lattices. ACM Transactions on Graphics (TOG), 39(4), pp.101-1.
@article{Tozoni2020,
  doi = {10.1145/3386569.3392451},
  url = {https://doi.org/10.1145/3386569.3392451},
  year = {2020},
  month = jul,
  publisher = {Association for Computing Machinery ({ACM})},
  volume = {39},
  number = {4},
  author = {Davi Colli Tozoni and J{\'{e}}r{\'{e}}mie Dumas and Zhongshi Jiang and Julian Panetta and Daniele Panozzo and Denis Zorin},
  title = {A low-parametric rhombic microstructure family for irregular lattices},
  journal = {{ACM} Transactions on Graphics}
}

Licensing

This project is licensed under the MIT License. See LICENSE for more information.

Exception: Some files in this repository depend on CGAL, which is licensed under GPL. Those parts are disabled by default, but can be enabled with the preprocessor macro MICRO_WITH_CGAL, by turning on the corresponding CMake option. The parts of this code that depend on CGAL are licensed under GPL. See LICENSE.GPL for more information.

Acknowledgment

The main author of this library is Julian Panetta, with contributions from Jérémie Dumas, Davi Colli Tozoni, Luigi Malomo, Qingnan (James) Zhou.

About

No description, website, or topics provided.

Resources

License

MIT, GPL-3.0 licenses found

Licenses found

MIT
LICENSE
GPL-3.0
LICENSE.GPL

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published