10#ifndef MODEL_SOLID_LINEAR_TRANSVERSE_H_
11#define MODEL_SOLID_LINEAR_TRANSVERSE_H_
29 :
Solid<
Set::Sym::MajorMinor>(base){};
36 C11, C12, C13, C33, C44, phi1, Phi, phi2);
43 C11, C12, C13, C33, C44, R);
61 Print(std::ostream &out)
const override
72 Combine(
const std::vector<Transverse> &models,
73 const std::vector<Set::Scalar> &eta)
78 for (
unsigned int n = 0; n < models.size(); n++)
80 for (
unsigned int n = 0; n < models.size(); n++)
82 ret.
ddw += models[n].ddw * (eta[n] / etasum);
91 ret.
Define(0.0, 0.0, 0.0, 0.0, 0.0);
106 ret.
Define(C11, C12, C13, C33, C44, phi1, Phi, phi2);
113 Set::Scalar C11 = NAN, C12 = NAN, C13 = NAN, C33 = NAN, C44 = NAN;
133 value.
Define(C11, C12, C13, C33, C44, phi1, Phi, phi2);
136#define OP_CLASS Transverse
137#define OP_VARS X(ddw)
#define pp_query_default(...)
bool contains(std::string name)
static Transverse Random(Set::Scalar C11, Set::Scalar C12, Set::Scalar C13, Set::Scalar C33, Set::Scalar C44)
void Define(Set::Scalar C11, Set::Scalar C12, Set::Scalar C13, Set::Scalar C33, Set::Scalar C44, Eigen::Matrix3d R=Eigen::Matrix3d::Identity())
static void Parse(Transverse &value, IO::ParmParse &pp)
Transverse(Solid< Set::Sym::MajorMinor > base)
Set::Matrix DW(const Set::Matrix &gradu) const override
static const KinematicVariable kinvar
Set::Matrix4< AMREX_SPACEDIM, Set::Sym::MajorMinor > DDW(const Set::Matrix &) const override
static AMREX_FORCE_INLINE Transverse Combine(const std::vector< Transverse > &models, const std::vector< Set::Scalar > &eta)
Set::Matrix4< AMREX_SPACEDIM, Set::Sym::MajorMinor > ddw
void Define(Set::Scalar C11, Set::Scalar C12, Set::Scalar C13, Set::Scalar C33, Set::Scalar C44, Set::Scalar phi1, Set::Scalar Phi, Set::Scalar phi2)
Set::Scalar W(const Set::Matrix &gradu) const override
virtual void Print(std::ostream &out) const override
static Transverse Random()
static const Set::Scalar Pi
A collection of data types and symmetry-reduced data structures.
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, AMREX_SPACEDIM > Matrix