MASTmultiphysics / mast-multiphysics

Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST) - Sensitivity-enabled multiphysics FEA for design
https://www.mast-multiphysics.com
GNU Lesser General Public License v2.1
43 stars 24 forks source link

Templated Compute Kernel Foundation #96

Open manavbhatia opened 4 years ago

manavbhatia commented 4 years ago

The purpose of the code in this PR is to provide a foundation to enable the following features in MAST:

This requires the definition of a templated compute kernel, currently implemented in the compute_kernel.h file. A number of additional classes have been defined here, which will be moved to independent files in forthcoming commits. Currently, only a skeleton implementation is included to hash out the API for various classes/functionality.

A skeleton implementation is included for strain energy kernel for elasticity computations and a code to set this up. These classes are instantiated for different combinations of variable types in example 6.