Interaction Integral

Computes the interaction integral, which is used to compute various fracture mechanics parameters at a crack tip, including KI, KII, KIII, and the T stress.

Description

This is used for the computation of interaction integrals at the points along a crack front within the tensor_mechanics system. This object is not typically defined by a user, but is set up automatically using the DomainIntegralAction.

Theory

Details on the theory behind the computation of the various fracture integrals, including the interaction integral, are provided here.

Input Parameters

  • K_factorConversion factor between interaction integral and stress intensity factor K

    C++ Type:double

    Options:

    Description:Conversion factor between interaction integral and stress intensity factor K

  • crack_front_definitionThe CrackFrontDefinition user object name

    C++ Type:UserObjectName

    Options:

    Description:The CrackFrontDefinition user object name

  • displacementsThe displacements appropriate for the simulation geometry and coordinate system

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

    Options:

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

  • poissons_ratioPoisson's ratio for the material.

    C++ Type:double

    Options:

    Description:Poisson's ratio for the material.

  • ring_indexRing ID

    C++ Type:unsigned int

    Options:

    Description:Ring ID

  • sif_modeKIStress intensity factor to calculate. Choices are: KI KII KIII T

    Default:KI

    C++ Type:MooseEnum

    Options:KI, KII, KIII, T

    Description:Stress intensity factor to calculate. Choices are: KI KII KIII T

  • youngs_modulusYoung's modulus of the material.

    C++ Type:double

    Options:

    Description:Young's modulus of the material.

Required Parameters

  • blockThe list of block ids (SubdomainID) that this object will be applied

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

    Options:

    Description:The list of block ids (SubdomainID) that this object will be applied

  • contains_complete_historyFalseSet this flag to indicate that the values in all vectors declared by this VPP represent a time history (e.g. with each invocation, new values are added and old values are never removed). This changes the output so that only a single file is output and updated with each invocation

    Default:False

    C++ Type:bool

    Options:

    Description:Set this flag to indicate that the values in all vectors declared by this VPP represent a time history (e.g. with each invocation, new values are added and old values are never removed). This changes the output so that only a single file is output and updated with each invocation

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

  • parallel_typeREPLICATEDSet how the data is represented within the VectorPostprocessor (VPP); 'distributed' indicates that data within the VPP is distributed and no auto communication is preformed, this setting will result in parallel output within the CSV output; 'replicated' indicates that the data within the VPP is correct on processor 0, the data will automatically be broadcast to all processors unless the '_auto_broadcast' param is set to false within the validParams function.

    Default:REPLICATED

    C++ Type:MooseEnum

    Options:DISTRIBUTED, REPLICATED

    Description:Set how the data is represented within the VectorPostprocessor (VPP); 'distributed' indicates that data within the VPP is distributed and no auto communication is preformed, this setting will result in parallel output within the CSV output; 'replicated' indicates that the data within the VPP is correct on processor 0, the data will automatically be broadcast to all processors unless the '_auto_broadcast' param is set to false within the validParams function.

  • 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

  • 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

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

  • temperatureThe temperature (optional). Must be provided to correctly compute stress intensity factors in models with thermal strain gradients.

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

    Options:

    Description:The temperature (optional). Must be provided to correctly compute stress intensity factors in models with thermal strain gradients.

Optional Parameters

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Options:

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

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

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

    Options:

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

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Options:

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Options:

    Description:Determines whether this object is calculated using an implicit or explicit form

  • outputsVector of output names were you would like to restrict the output of variables(s) associated with this object

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

    Options:

    Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Options:

    Description:The seed for the master random number generator

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Options:

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters