RE
rezarastak/CppConstitutive
A collection of high-performance material constitutive models used in computational mechanics.
CppConstitutive
A collection of high-performance material constitutive models used in computational mechanics.
Goals of the project
- A Large number of existing material models are available.
- For each material model, the corresponding article introducing the model is available. Ideally,
a benchmark is provided to reproduce the results and plots of the corresponding article. - Each material can support multiple formulations such as small-strain, Lagrangian large-strain,
and Updated Lagrangian large-strain formulations. - Materials can provide consistent tangent operators for their materials. However, this is not
required. The materials without a proper definition of consistent tangents can compute them using
automatic differentiation. - All functions and classes can use arbitrary types. Therefore, most of the coding uses generic
expressions, because the types of scalar variables can bedouble,float, or types needed for
automatic differentiation. Tensor types can represent Deal.II types or any other types that provide
tensorial operations. - Initially, the materials and examples will use Deal.II capabilities. However, the goal is to
provide a method in which this repository can be compiled without a Deal.II installation. - Several drivers will be provided such as uniaxial, biaxial, simple shear, etc.
- Using Deal.II, some examples provide simple FE simulations in 2D and 3D.
- Material models are provided for various physics such as thermal materials, electro-static materials,
Thermo-elastic materials, poro-elastic materials, etc.
Installation Guide:
You can use the code as a header-only library. Just add the include/ to your include directories,
then you can #include the header files in your code and compile them.
If you want to run the examples, go to their directory in the terminal and type:
cmake .
make run
to run the example.
Documentation
Documentation is automatically generated by Doxygen.
Open source code contributions
Thank you for considering to contribute to this project. Please read the file CONTRIBUTING.md
On this page
Languages
C++99.8%CMake0.1%C0.0%
Contributors
Latest Release
0.1March 7, 2020MIT License
Created December 3, 2019
Updated April 9, 2024