EqualValueEmbeddedConstraint

The EqualValueEmbeddedConstraint block is used to construct a set of EqualValueEmbeddedConstraint objects for applying these constraints on multiple sets of blocks and on multiple variables with minimal input. These individual EqualValueEmbeddedConstraint objects are used to define constraints that tie the values of variables at the nodes in a single block to the containing elements in another block. Prescribing this input can be tedious of these constraints are to be defined for multiple blocks and variables, because many input blocks would be required. The EqualValueEmbeddedConstraint block simplifies that process by allowing for multiple blocks and directions to be defined in a single input file block.

Constructed Objects

This block sets up multiple EqualValueEmbeddedConstraint objects.

Example Input Syntax

[Constraints<<<{"href": "../index.html"}>>>]
  [EqualValueEmbeddedConstraint<<<{"href": "index.html"}>>>]
    [batch]
      primary<<<{"description": "The list of ids of the primary block (subdomain)"}>>> = '1'
      secondary<<<{"description": "The list of ids of the secondary block (subdomain) "}>>> = '2 3'
      variable<<<{"description": "The list of variables on the secondary side"}>>> = 'disp_x disp_y disp_z'
      penalty<<<{"description": "Penalty parameter used in constraint enforcement for kinematic and penalty formulations."}>>> = 1e12
      formulation<<<{"description": "Formulation used to enforce the constraint"}>>> = penalty
    []
  []
[]
(test/tests/actions/EqualValueEmbeddedConstraintAction.i)

Input Parameters

  • penaltyPenalty parameter used in constraint enforcement for kinematic and penalty formulations.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Penalty parameter used in constraint enforcement for kinematic and penalty formulations.

  • primaryThe list of ids of the primary block (subdomain)

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

    Controllable:No

    Description:The list of ids of the primary block (subdomain)

  • secondaryThe list of ids of the secondary block (subdomain)

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

    Controllable:No

    Description:The list of ids of the secondary block (subdomain)

  • variableThe list of variables on the secondary side

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of variables on the secondary side

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

  • formulationkinematicFormulation used to enforce the constraint

    Default:kinematic

    C++ Type:MooseEnum

    Options:kinematic, penalty

    Controllable:No

    Description:Formulation used to enforce the constraint

  • 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.

  • primary_variableThe list of variables on the primary side (defaults to the specified value of 'variable')

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of variables on the primary side (defaults to the specified value of 'variable')

Optional 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.

Advanced Parameters

References

No citations exist within this document.