30 std::map<std::pair<unsigned int, unsigned int>, std::pair<ConstraintType, const Function *>>;
61 "Type of each constraint: strain, stress, or none. The types are specified in the " 62 "column-major order, and there must be 9 entries in total.");
64 "targets",
"Functions giving the targets to hit for constraint types that are not none.");
75 this->paramError(
"constraint_types",
76 "Number of constraint types must equal ",
83 const std::vector<FunctionName> & fnames = parameters.
get<std::vector<FunctionName>>(
"targets");
86 unsigned int fcount = 0;
94 if (fcount >= fnames.size())
97 "Number of target functions must equal the number of non-none constraint " 101 const Function *
const f = &this->getFunctionByName(fnames[fcount++]);
107 if (fcount != fnames.size())
110 "Number of target functions must equal the number of non-none constraint types. ",
112 " are provided, but ",
std::map< std::pair< unsigned int, unsigned int >, std::pair< ConstraintType, const Function * > > ConstraintMap
static constexpr std::size_t dim
Homogenization::ConstraintMap _cmap
Constraint map.
InputParameters validParams()
Interface for objects that use the homogenization constraint.
HomogenizationInterface(const InputParameters ¶meters)
Real f(Real x)
Test function for Brents method.
static InputParameters validParams()
ConstraintType
Constraint type: stress/PK stress or strain/deformation gradient.
IntRange< T > make_range(T beg, T end)
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
const MultiMooseEnum constraintType("strain stress none")
const Homogenization::ConstraintMap & cmap() const
Get the constraint map.