17#include "libmesh/vector_value.h"
31 virtual void act()
override;
virtual void addRelationshipManagers(Moose::RelationshipManagerType when_type)
Action to set up all objects used in computation of fracture domain integrals.
const std::string _family
const bool _have_crack_direction_vector_end_2
Whether the crack direction vector at the 2nd end of the crack has been provided.
virtual void act() override
MooseEnum _q_function_type
How the q function is evaluated (geometric distance from crack front or ring of elements)
const RealVectorValue _crack_direction_vector_end_2
Vector optionally used to prescribe direction of crack extension at the 2nd end of the crack.
virtual void addRelationshipManagers(Moose::RelationshipManagerType input_rm_type) override
const bool _use_ad
Whether to create automatic differentiation objects from the action.
std::vector< BoundaryName > _crack_mouth_boundary_names
Names of boundaries optionally used to define the crack mouth location.
MooseEnum _end_direction_method_moose_enum
Enum used to define the method to compute crack front direction at ends of crack front.
std::vector< VariableName > _output_variables
List of variables for which values are to be sampled and output at the crack front points.
static InputParameters validParams()
Real _poissons_ratio
Poisson's ratio of material.
const RealVectorValue _crack_direction_vector
Vector optionally used to prescribe direction of crack extension.
bool _fgm_crack
Whether the crack lives in a functionally-graded material.
VariableName _temp
Temperature variable.
MaterialPropertyName _functionally_graded_youngs_modulus
Material property name for spatially-dependent Youngs modulus for functionally graded materials.
bool _convert_J_to_K
Whether to convert the J-integral to a stress intensity factor (K) –deprecated.
bool _get_equivalent_k
Whether to compute the equivalent K from the individual fracture integrals for mixed-mode fracture.
std::vector< Point > _crack_front_points
User-defined vector of crack front points.
bool _output_q
Whether to ouput the q function as a set of AuxVariables.
const bool _have_crack_direction_vector_end_1
Whether the crack direction vector at the 1st end of the crack has been provided.
unsigned int _ring_last
Number of elements away from the crack tip to outside of outer ring with the topological q function.
INTEGRAL
Enum used to select the type of integral to be performed.
@ INTERACTION_INTEGRAL_KIII
@ INTERACTION_INTEGRAL_KII
@ INTERACTION_INTEGRAL_KI
Real _youngs_modulus
Young's modulus of material.
Q_FUNCTION_TYPE
Enum used to select the method used to compute the Q function used in the fracture integrals.
UserObjectName _crack_front_points_provider
Name of crack front points provider user object used to optionally define the crack points.
bool _incremental
Whether the constitutive models for the mechanics calculations use an incremental form.
std::vector< unsigned int > _ring_vec
Vector of ids for the individual rings on which the fracture integral is computed.
std::vector< SubdomainName > _blocks
Blocks for which the domain integrals are to be computed.
unsigned int calcNumCrackFrontPoints()
Compute the number of points on the crack front.
const std::vector< BoundaryName > & _boundary_names
Boundaries containing the crack front points.
const bool _have_crack_direction_vector
Whether the crack direction vector has been provided.
MooseEnum _direction_method_moose_enum
Enum used to define the method to compute crack front direction.
bool _closed_loop
Indicates whether the crack forms a closed loop.
const RealVectorValue _crack_direction_vector_end_1
Vector optionally used to prescribe direction of crack extension at the 1st end of the crack.
MaterialPropertyName _functionally_graded_youngs_modulus_crack_dir_gradient
Material property name for the Youngs modulus derivative for functionally graded materials.
std::vector< Real > _radius_inner
Sets of inner and outer radii of the rings used for the domain form of the fracture integrals.
bool _use_displaced_mesh
Whether to compute the fracture integrals on the displaced mesh.
std::set< INTEGRAL > _integrals
Container for enumerations describing the individual integrals computed.
unsigned int _symmetry_plane
Identifier for which plane is the symmetry plane.
unsigned int _axis_2d
Out-of-plane axis for 3D models treated as 2D.
std::vector< VariableName > _displacements
Vector of displacement variables.
unsigned int _ring_first
Number of elements away from the crack tip to inside of inner ring with the topological q function.
std::vector< Real > _radius_outer
bool _has_symmetry_plane
Whether the model has a symmetry plane passing through the plane of the crack.
const std::string _order
Order and family of the AuxVariables optionally created to output the values of q.
bool _treat_as_2d
Whether fracture computations for a 3D model should be treated as though it were a 2D model.
bool _use_crack_front_points_provider
Whether to use a crack front points provider.
std::vector< BoundaryName > _intersecting_boundary_names
Names of boundaries optionally used for improved computation of crack extension direction at ends of ...
MooseEnum _position_type
How the distance along the crack front is measured (angle or distance)