ExaCMech Miniapp

Short Description
This miniapp represents how ExaCMech, a constitutive modelling library, might be used in real application codes such as ExaConstit.
Institution
Lawrence Livermore National Laboratory
Sponsors
ECP
Parent Application/Code
ExaConstit
Keywords
crystal plasticity
Programming Languages/Paradigms
C++ / RAJA
Git/SVN Repository URL
Release/Version Number
v0.3.0
Detailed description
The miniapp itself acts as a multi-point simulator of a simple uniform deformation problem and outputs the average Cauchy stress tensor from either a user supply of unit quaternion grain orientations or N randomly generated grain orientations. The user can choose between two different material models to run the miniapp under. One model contains simpler physics and is therefore cheaper to run over the more realistic physics model. Next, the user is able to swap between the various RAJA backends such as CPU, OpenMP, CUDA, or in a future release HIP in order to compare performance between different backends and platforms. Finally, the portions of the miniapp that drive the constitutive model follows a similar design to the code used within ExaConstit, an open-source solid mechanics/crystal plasticity FEM code used within the ExaAM project. So, the miniapp provides a basis for how one might integrate ExaCMech within an application code. Note: the ExaCMech miniapp lives in the same repo as the ExaCMech library rather than a separate repo.