25 #ifndef GRINS_STRESS_STRAIN_LAW_H
26 #define GRINS_STRESS_STRAIN_LAW_H
29 #include "libmesh/libmesh_common.h"
40 class ElasticityTensor;
42 template <
typename Law>
72 template <
typename Law>
81 static_cast<Law*
>(
this)->compute_stress_imp(dim,g_contra,g_cov,G_contra,G_cov,stress);
85 template <
typename Law>
95 static_cast<Law*
>(
this)->compute_stress_and_elasticity_imp(dim,g_contra,g_cov,G_contra,G_cov,stress,C);
99 template <
typename Law>
106 return static_cast<Law*
>(
this)->compute_33_stress_imp( g_contra, g_cov, G_contra, G_cov );
111 #endif //GRINS_STRESS_STRAIN_LAW_H
void compute_stress(unsigned int dim, const libMesh::TensorValue< libMesh::Real > &g_contra, const libMesh::TensorValue< libMesh::Real > &g_cov, const libMesh::TensorValue< libMesh::Real > &G_contra, const libMesh::TensorValue< libMesh::Real > &G_cov, libMesh::TensorValue< libMesh::Real > &stress)
void compute_stress_and_elasticity(unsigned int dim, const libMesh::TensorValue< libMesh::Real > &g_contra, const libMesh::TensorValue< libMesh::Real > &g_cov, const libMesh::TensorValue< libMesh::Real > &G_contra, const libMesh::TensorValue< libMesh::Real > &G_cov, libMesh::TensorValue< libMesh::Real > &stress, ElasticityTensor &C)
libMesh::Real compute_33_stress(const libMesh::TensorValue< libMesh::Real > &g_contra, const libMesh::TensorValue< libMesh::Real > &g_cov, const libMesh::TensorValue< libMesh::Real > &G_contra, const libMesh::TensorValue< libMesh::Real > &G_cov)
This is primarily a helper function for the plane stress cases.
virtual ~StressStrainLaw()