- K_factorConversion factor between interaction integral and stress intensity factor K
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Conversion factor between interaction integral and stress intensity factor K
- crack_front_definitionThe CrackFrontDefinition user object name
C++ Type:UserObjectName
Unit:(no unit assumed)
Controllable:No
Description:The CrackFrontDefinition user object name
- displacementsThe displacements appropriate for the simulation geometry and coordinate system
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacements appropriate for the simulation geometry and coordinate system
- poissons_ratioPoisson's ratio for the material.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Poisson's ratio for the material.
- ring_indexRing ID
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:Ring ID
- sif_modeKIStress intensity factor to calculate. Choices are: KI KII KIII T
Default:KI
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Stress intensity factor to calculate. Choices are: KI KII KIII T
- youngs_modulusYoung's modulus of the material.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Young's modulus of the material.
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 solid_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
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Unit:(no unit assumed)
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- body_forceMaterial defining body force
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Material defining body force
- 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
Unit:(no unit assumed)
Controllable:No
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
- eigenstrain_gradientMaterial defining gradient of eigenstrain tensor
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Material defining gradient of eigenstrain tensor
- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Unit:(no unit assumed)
Controllable:No
Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
- functionally_graded_youngs_modulusSpatially varying elasticity modulus variable. This input is required when using the functionally graded material capability.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Spatially varying elasticity modulus variable. This input is required when using the functionally graded material capability.
- functionally_graded_youngs_modulus_crack_dir_gradientGradient of the spatially varying Young's modulus provided in 'functionally_graded_youngs_modulus' in the direction of crack extension.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Gradient of the spatially varying Young's modulus provided in 'functionally_graded_youngs_modulus' in the direction of crack extension.
- 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 performed, 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
Unit:(no unit assumed)
Controllable:No
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 performed, 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
Unit:(no unit assumed)
Controllable:No
Description:The method used to calculate position along crack front. Options are: Angle Distance
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- q_function_typeGeometryThe method used to define the integration domain. Options are: Geometry Topology
Default:Geometry
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
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
Unit:(no unit assumed)
Controllable:No
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>
Unit:(no unit assumed)
Controllable:No
Description:The temperature (optional). Must be provided to correctly compute stress intensity factors in models with thermal strain gradients.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Optional Parameters
- additional_eigenstrain_00Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 00 or XX).
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 00 or XX).
- additional_eigenstrain_01Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 01 or XY).
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 01 or XY).
- additional_eigenstrain_02Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 02 or XZ).
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 02 or XZ).
- additional_eigenstrain_11Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 11 or YY).
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 11 or YY).
- additional_eigenstrain_12Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 12 or XZ).
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 12 or XZ).
- additional_eigenstrain_22Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 22 or ZZ).
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Optional additional eigenstrain variable that will be accounted for in the interaction integral (component 22 or ZZ).
Generic Eigenstrains For The Computation Of The Interaction Integral. 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
Unit:(no unit assumed)
Controllable:No
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>
Unit:(no unit assumed)
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
Default:0
C++ Type:int
Unit:(no unit assumed)
Controllable:No
Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
- force_postauxFalseForces the UserObject to be executed in POSTAUX
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Forces the UserObject to be executed in POSTAUX
- force_preauxFalseForces the UserObject to be executed in PREAUX
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Forces the UserObject to be executed in PREAUX
- force_preicFalseForces the UserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Forces the UserObject to be executed in PREIC during initial setup
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Unit:(no unit assumed)
Controllable:No
Description:Vector of output names where 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
Unit:(no unit assumed)
Controllable:No
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
Unit:(no unit assumed)
Controllable:No
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.