Skip to content

A collection of high-performance material constitutive models used in computational mechanics.

License

Notifications You must be signed in to change notification settings

rezarastak/CppConstitutive

Repository files navigation

CppConstitutive

A collection of high-performance material constitutive models used in computational mechanics.

Build Status C++ CI Doxygen Release DOI

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 be double, 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

About

A collection of high-performance material constitutive models used in computational mechanics.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages