19 const std::map<std::string, std::string>
21 {
"traction",
"traction_global"},
22 {
"jump",
"displacement_jump_global"},
23 {
"pk1_traction",
"PK1traction"}};
27 const std::map<std::string, std::pair<std::string, std::vector<std::string>>>
29 {
"normal", {
"Normal", {
"traction",
"jump"}}},
30 {
"tangent", {
"Tangent", {
"traction",
"jump"}}}};
38 params.
addClassDescription(
"Action to create an instance of the cohesive zone model kernel for " 39 "each displacement component");
41 "displacements",
"The nonlinear displacement variables for the problem");
42 MooseEnum strainType(
"SMALL FINITE",
"SMALL");
46 params.
addParam<
bool>(
"use_automatic_differentiation",
48 "Whether to use automatic differentiation to compute the Jacobian");
49 params.
addParam<std::string>(
"base_name",
"Material property base name");
50 params.
addParam<std::vector<AuxVariableName>>(
51 "save_in_master", {},
"The displacement residuals on the master side");
52 params.
addParam<std::vector<AuxVariableName>>(
53 "diag_save_in_master",
55 "The displacement diagonal preconditioner terms on the master side");
56 params.
addParam<std::vector<AuxVariableName>>(
57 "save_in_slave", {},
"The displacement residuals on the slave side");
58 params.
addParam<std::vector<AuxVariableName>>(
61 "The displacement diagonal preconditioner terms on the slave side");
62 params.
addParamNamesToGroup(
"save_in_master diag_save_in_master save_in_slave diag_save_in_slave",
64 params.
addParam<
bool>(
"verbose",
false,
"Display extra information.");
69 "Add scalar quantity output for stress and/or strain");
71 "material_output_order",
73 "Specifies the order of the FE shape function to use for this variable.");
75 "material_output_family",
77 "Specifies the family of FE shape functions to use for this variable.");
82 "Add scalar quantity output for stress and/or strain (will be " 83 "appended to the list in `generate_output`)");
85 "additional_material_output_order",
87 "Specifies the order of the FE shape function to use for this variable.");
90 "additional_material_output_family",
92 "Specifies the family of FE shape functions to use for this variable.");
95 "additional_material_output_family",
109 if (action.size() == 1)
115 MultiMooseEnum generate_output = getParam<MultiMooseEnum>(
"generate_output");
117 getParam<MultiMooseEnum>(
"additional_generate_output");
119 MultiMooseEnum material_output_order = getParam<MultiMooseEnum>(
"material_output_order");
121 getParam<MultiMooseEnum>(
"additional_material_output_order");
123 MultiMooseEnum material_output_family = getParam<MultiMooseEnum>(
"material_output_family");
125 getParam<MultiMooseEnum>(
"additional_material_output_family");
127 for (
auto & output : additional_generate_output)
129 for (
auto & order : additional_material_output_order)
130 material_output_order.setAdditionalValue(order);
131 for (
auto & family : additional_material_output_family)
132 material_output_family.setAdditionalValue(family);
143 std::string options =
"";
145 for (
unsigned int a = 0;
a < 3; ++
a)
149 for (
auto & t : vi.second.second)
150 options +=
" " + vi.first +
"_" + t;
static InputParameters validParams()
static const std::vector< char > _component_table
void setAdditionalValue(const std::string &names)
InputParameterWarehouse & getInputParameterWarehouse()
std::string getRawNames() const
MooseObjectName uniqueActionName() const
bool isParamValid(const std::string &name) const
static const std::map< std::string, std::string > _real_vector_cartesian_component_table
table data for output generation
CohesiveZoneActionBase(const InputParameters ¶ms)
static InputParameters validParams()
static MultiMooseEnum materialOutputFamilies()
static MultiMooseEnum outputPropertiesType()
output methods
static MooseEnum getAuxVariableOrders()
static MultiMooseEnum materialOutputOrders()
const InputParameters & parameters() const
std::vector< const T *> getActions()
static const std::map< std::string, std::pair< std::string, std::vector< std::string > > > _vector_direction_table
Store common tensor mechanics parameters.