ShiftedCohesiveZoneAction

Action to create Shifted Cohesive Zone Method (SCZM) objects for non-interface-fitted meshes.

The ShiftedCohesiveZoneAction creates the interface kernels, materials, and geometry objects for the Shifted Cohesive Zone Physics.

Input Parameters

  • boundaryThe list of boundary IDs from the mesh where the cohesive zone will be applied

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:The list of boundary IDs from the mesh where the cohesive zone will be applied

  • displacementsThe nonlinear displacement variables for the problem

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The nonlinear displacement variables for the problem

Required Parameters

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • base_nameMaterial property base name

    C++ Type:std::string

    Controllable:No

    Description:Material property base name

  • check_surface_watertightnessFalseWhether generated surface mesh builders check mesh watertightness.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether generated surface mesh builders check mesh watertightness.

  • complete_interface_meshSaved surface mesh containing the complete boundary of each subdomain. Setting this parameter automatically creates one interface manager and distance user object.

    C++ Type:MeshGeneratorName

    Controllable:No

    Description:Saved surface mesh containing the complete boundary of each subdomain. Setting this parameter automatically creates one interface manager and distance user object.

  • directional_correctionTrueAdd the directional correction terms.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Add the directional correction terms.

  • generate_sbm_distanceFalseAutomatically create surface mesh builders, distance functions, and the boundary distance user object from the supplied boundaries.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Automatically create surface mesh builders, distance functions, and the boundary distance user object from the supplied boundaries.

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • interface_matching_tolerance1e-06Relative face-matching tolerance for the single-mesh interface manager.

    Default:1e-06

    C++ Type:Real

    Unit:(no unit assumed)

    Controllable:No

    Description:Relative face-matching tolerance for the single-mesh interface manager.

  • interface_subdomain_pairsOrdered subdomain pair for each boundary when it cannot be inferred from boundary names.

    C++ Type:std::vector<std::vector<unsigned short>>

    Controllable:No

    Description:Ordered subdomain pair for each boundary when it cannot be inferred from boundary names.

  • no_shiftedFalseDisable shifted terms.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Disable shifted terms.

  • sbm_distance_uoUserObject that provides signed distance and normal vector calculations.

    C++ Type:UserObjectName

    Controllable:No

    Description:UserObject that provides signed distance and normal vector calculations.

  • strainSMALLStrain formulation

    Default:SMALL

    C++ Type:MooseEnum

    Options:SMALL, FINITE

    Controllable:No

    Description:Strain formulation

  • stressstressName of the stress tensor material property for small strain SCZM.

    Default:stress

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the stress tensor material property for small strain SCZM.

  • surface_meshesNames of saved surface meshes corresponding one-to-one with boundary. If omitted, the boundary names are used.

    C++ Type:std::vector<MeshGeneratorName>

    Controllable:No

    Description:Names of saved surface meshes corresponding one-to-one with boundary. If omitted, the boundary names are used.

  • tangentJacobian_multName of the material Jacobian tensor property for small strain SCZM.

    Default:Jacobian_mult

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Name of the material Jacobian tensor property for small strain SCZM.

  • tangent_definitionautoMathematical definition of the tangent material property. 'auto' recognizes the standard Jacobian_mult property as d(stress)/d(strain) and pk1_jacobian as d(PK1)/d(F). Select 'stress_wrt_strain' or 'pk1_wrt_deformation_gradient' explicitly for a custom tangent property; use the latter only when the property is known to be d(PK1)/d(F).

    Default:auto

    C++ Type:MooseEnum

    Options:auto, stress_wrt_strain, pk1_wrt_deformation_gradient

    Controllable:No

    Description:Mathematical definition of the tangent material property. 'auto' recognizes the standard Jacobian_mult property as d(stress)/d(strain) and pk1_jacobian as d(PK1)/d(F). Select 'stress_wrt_strain' or 'pk1_wrt_deformation_gradient' explicitly for a custom tangent property; use the latter only when the property is known to be d(PK1)/d(F).

  • use_automatic_differentiationFalseWhether to use automatic differentiation to compute the Jacobian

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to use automatic differentiation to compute the Jacobian

  • verboseFalseDisplay extra information.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Display extra information.

  • volumetric_locking_correctionFalseWhether to apply volumetric locking correction to the directional correction Jacobian term in SCZM. If not specified, this value is automatically inherited from the solid mechanics physics block.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to apply volumetric locking correction to the directional correction Jacobian term in SCZM. If not specified, this value is automatically inherited from the solid mechanics physics block.

Optional Parameters

  • additional_generate_outputAdd scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)

    C++ Type:MultiMooseEnum

    Options:jump_x, jump_y, jump_z, pk1_traction_x, pk1_traction_y, pk1_traction_z, traction_x, traction_y, traction_z, normal_traction, normal_jump, tangent_traction, tangent_jump

    Controllable:No

    Description:Add scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)

  • additional_material_output_familySpecifies the family of FE shape functions to use for this variable.

    C++ Type:MultiMooseEnum

    Options:MONOMIAL

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable.

  • additional_material_output_orderSpecifies the order of the FE shape function to use for this variable.

    C++ Type:MultiMooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH

    Controllable:No

    Description:Specifies the order of the FE shape function to use for this variable.

  • generate_outputAdd scalar quantity output for stress and/or strain

    C++ Type:MultiMooseEnum

    Options:jump_x, jump_y, jump_z, pk1_traction_x, pk1_traction_y, pk1_traction_z, traction_x, traction_y, traction_z, normal_traction, normal_jump, tangent_traction, tangent_jump

    Controllable:No

    Description:Add scalar quantity output for stress and/or strain

  • material_output_familySpecifies the family of FE shape functions to use for this variable.

    C++ Type:MultiMooseEnum

    Options:MONOMIAL

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable.

  • material_output_orderSpecifies the order of the FE shape function to use for this variable.

    C++ Type:MultiMooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH

    Controllable:No

    Description:Specifies the order of the FE shape function to use for this variable.

Output Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • diag_save_in_primaryThe displacement diagonal preconditioner terms on the primary side

    C++ Type:std::vector<AuxVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacement diagonal preconditioner terms on the primary side

  • diag_save_in_secondaryThe displacement diagonal preconditioner terms on the secondary side

    C++ Type:std::vector<AuxVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacement diagonal preconditioner terms on the secondary side

  • save_in_primaryThe displacement residuals on the primary side

    C++ Type:std::vector<AuxVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacement residuals on the primary side

  • save_in_secondaryThe displacement residuals on the secondary side

    C++ Type:std::vector<AuxVariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The displacement residuals on the secondary side

Advanced Parameters