DomainIntegralAction

!syntax description /DomainIntegral/DomainIntegralAction

Description

The DomainIntegral action is used to set up all of the objects used in computing all fracture domain integrals, including the -integral, interaction integral, and T-stress. To use the fracture domain integrals, one must set up a model that incorporates a crack using one of two techniques:

Meshed crack: The crack can be explicity included by creating a mesh with a topology that conforms to the crack. The location of the crack tip is provided to the code by defining a nodeset that includes all nodes in the finite element mesh that are located along the crack front. For 2D analyses, this nodeset would only contain a single node at the crack tip. For 3D analyses, the mesh connectivity is used to construct a set of line segments that connect these nodes, and this is used to order the crack nodes.

XFEM: Rather than defining the topology of the crack through the mesh, XFEM can be used to cut the mesh. In this case, a set of points, which does not need to conform to points in the mesh, must be provided by the user, and is used to define the location of the crack for coumputing the fracture integrals. Fracture integrals are computed at the locations of these points, in the order provided by the user.

Input Parameters

  • crack_direction_methodMethod to determine direction of crack propagation. Choices are: CrackDirectionVector CrackMouth CurvedCrackFront

    C++ Type:MooseEnum

    Options:CrackDirectionVector CrackMouth CurvedCrackFront

    Description:Method to determine direction of crack propagation. Choices are: CrackDirectionVector CrackMouth CurvedCrackFront

  • incrementalFalseFlag to indicate whether an incremental or total model is being used.

    Default:False

    C++ Type:bool

    Options:

    Description:Flag to indicate whether an incremental or total model is being used.

  • integralsDomain integrals to calculate. Choices are: JIntegral InteractionIntegralKI InteractionIntegralKII InteractionIntegralKIII InteractionIntegralT

    C++ Type:MultiMooseEnum

    Options:JIntegral InteractionIntegralKI InteractionIntegralKII InteractionIntegralKIII InteractionIntegralT

    Description:Domain integrals to calculate. Choices are: JIntegral InteractionIntegralKI InteractionIntegralKII InteractionIntegralKIII InteractionIntegralT

Required Parameters

  • crack_direction_vector_end_1Direction of crack propagation for the node at end 1 of the crack

    C++ Type:libMesh::VectorValue

    Options:

    Description:Direction of crack propagation for the node at end 1 of the crack

  • crack_direction_vector_end_2Direction of crack propagation for the node at end 2 of the crack

    C++ Type:libMesh::VectorValue

    Options:

    Description:Direction of crack propagation for the node at end 2 of the crack

  • familyLAGRANGESpecifies the family of FE shape functions to use for q AuxVariables

    Default:LAGRANGE

    C++ Type:std::string

    Options:

    Description:Specifies the family of FE shape functions to use for q AuxVariables

  • last_ringThe number of rings of nodes to generate

    C++ Type:unsigned int

    Options:

    Description:The number of rings of nodes to generate

  • intersecting_boundaryBoundaries intersected by ends of crack

    C++ Type:std::vector

    Options:

    Description:Boundaries intersected by ends of crack

  • orderFIRSTSpecifies the order of the FE shape function to use for q AuxVariables

    Default:FIRST

    C++ Type:std::string

    Options:

    Description:Specifies the order of the FE shape function to use for q AuxVariables

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector

    Options:

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

  • convert_J_to_KFalseConvert J-integral to stress intensity factor K.

    Default:False

    C++ Type:bool

    Options:

    Description:Convert J-integral to stress intensity factor K.

  • j_integral_radius_innerRadius for J-Integral calculation

    C++ Type:std::vector

    Options:

    Description:Radius for J-Integral calculation

  • radius_outerOuter radius for volume integral domain

    C++ Type:std::vector

    Options:

    Description:Outer radius for volume integral domain

  • crack_front_pointsSet of points to define crack front

    C++ Type:std::vector

    Options:

    Description:Set of points to define crack front

  • poissons_ratioPoisson's ratio

    C++ Type:double

    Options:

    Description:Poisson's ratio

  • eigenstrain_namesList of eigenstrains applied in the strain calculation

    C++ Type:std::vector

    Options:

    Description:List of eigenstrains applied in the strain calculation

  • number_points_from_providerThe number of crack front points, only needed if crack_front_points_provider is used.

    C++ Type:unsigned int

    Options:

    Description:The number of crack front points, only needed if crack_front_points_provider is used.

  • boundaryThe list of boundary IDs from the mesh where this boundary condition applies

    C++ Type:std::vector

    Options:

    Description:The list of boundary IDs from the mesh where this boundary condition applies

  • radius_innerInner radius for volume integral domain

    C++ Type:std::vector

    Options:

    Description:Inner radius for volume integral domain

  • ring_lastThe last ring of elements for volume integral domain

    C++ Type:unsigned int

    Options:

    Description:The last ring of elements for volume integral domain

  • displacementsThe displacements appropriate for the simulation geometry and coordinate system

    C++ Type:std::vector

    Options:

    Description:The displacements appropriate for the simulation geometry and coordinate system

  • solid_mechanicsFalseSet to true if the solid_mechanics system is used.

    Default:False

    C++ Type:bool

    Options:

    Description:Set to true if the solid_mechanics system is used.

  • j_integral_radius_outerRadius for J-Integral calculation

    C++ Type:std::vector

    Options:

    Description:Radius for J-Integral calculation

  • ring_firstThe first ring of elements for volume integral domain

    C++ Type:unsigned int

    Options:

    Description:The first ring of elements for volume integral domain

  • q_function_typeGeometryThe method used to define the integration domain. Options are: Geometry Topology

    Default:Geometry

    C++ Type:MooseEnum

    Options:Geometry Topology

    Description:The method used to define the integration domain. Options are: Geometry Topology

  • disp_zThe z displacement

    C++ Type:VariableName

    Options:

    Description:The z displacement

  • disp_yThe y displacement

    C++ Type:VariableName

    Options:

    Description:The y displacement

  • disp_xThe x displacement

    C++ Type:VariableName

    Options:

    Description:The x displacement

  • crack_end_direction_methodNoSpecialTreatmentMethod to determine direction of crack propagation at ends of crack. Choices are: NoSpecialTreatment CrackDirectionVector

    Default:NoSpecialTreatment

    C++ Type:MooseEnum

    Options:NoSpecialTreatment CrackDirectionVector

    Description:Method to determine direction of crack propagation at ends of crack. Choices are: NoSpecialTreatment CrackDirectionVector

  • symmetry_planeAccount for a symmetry plane passing through the plane of the crack, normal to the specified axis (0=x, 1=y, 2=z)

    C++ Type:unsigned int

    Options:

    Description:Account for a symmetry plane passing through the plane of the crack, normal to the specified axis (0=x, 1=y, 2=z)

  • nringsThe number of rings of nodes to generate

    C++ Type:unsigned int

    Options:

    Description:The number of rings of nodes to generate

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

    Default:__all__

    C++ Type:std::vector

    Options:

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

  • output_variableVariable values to be reported along the crack front

    C++ Type:std::vector

    Options:

    Description:Variable values to be reported along the crack front

  • youngs_modulusYoung's modulus

    C++ Type:double

    Options:

    Description:Young's modulus

  • crack_direction_vectorDirection of crack propagation

    C++ Type:libMesh::VectorValue

    Options:

    Description:Direction of crack propagation

  • closed_loopFalseSet of points forms forms a closed loop

    Default:False

    C++ Type:bool

    Options:

    Description:Set of points forms forms a closed loop

  • output_qTrueOutput q

    Default:True

    C++ Type:bool

    Options:

    Description:Output q

  • position_typeDistanceThe method used to calculate position along crack front. Options are: Angle Distance

    Default:Distance

    C++ Type:MooseEnum

    Options:Angle Distance

    Description:The method used to calculate position along crack front. Options are: Angle Distance

  • axis_2d2Out of plane axis for models treated as two-dimensional (0=x, 1=y, 2=z)

    Default:2

    C++ Type:unsigned int

    Options:

    Description:Out of plane axis for models treated as two-dimensional (0=x, 1=y, 2=z)

  • crack_mouth_boundaryBoundaries whose average coordinate defines the crack mouth

    C++ Type:std::vector

    Options:

    Description:Boundaries whose average coordinate defines the crack mouth

  • 2dFalseTreat body as two-dimensional

    Default:False

    C++ Type:bool

    Options:

    Description:Treat body as two-dimensional

  • crack_front_points_providerThe UserObject provides the crack front points from XFEM GeometricCutObject

    C++ Type:UserObjectName

    Options:

    Description:The UserObject provides the crack front points from XFEM GeometricCutObject

  • temperatureThe temperature

    C++ Type:VariableName

    Options:

    Description:The temperature

  • equivalent_kFalseCalculate an equivalent K from KI, KII and KIII, assuming self-similar crack growth.

    Default:False

    C++ Type:bool

    Options:

    Description:Calculate an equivalent K from KI, KII and KIII, assuming self-similar crack growth.

  • t_stressFalseCalculate T-stress

    Default:False

    C++ Type:bool

    Options:

    Description:Calculate T-stress

  • q_function_ringsFalseGenerate rings of nodes for q-function

    Default:False

    C++ Type:bool

    Options:

    Description:Generate rings of nodes for q-function

  • first_ringThe number of rings of nodes to generate

    C++ Type:unsigned int

    Options:

    Description:The number of rings of nodes to generate

  • blockThe block ids where integrals are defined

    C++ Type:std::vector

    Options:

    Description:The block ids where integrals are defined

Optional Parameters