Action to set up all objects used in computation of fracture domain integrals. More...
#include <DomainIntegralAction.h>
Public Types | |
typedef DataFileName | DataFileParameterType |
Public Member Functions | |
DomainIntegralAction (const InputParameters ¶ms) | |
~DomainIntegralAction () | |
virtual void | act () override |
virtual void | addRelationshipManagers (Moose::RelationshipManagerType input_rm_type) override |
virtual void | addRelationshipManagers (Moose::RelationshipManagerType when_type) |
bool | addRelationshipManagers (Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars) |
void | timedAct () |
MooseObjectName | uniqueActionName () const |
const std::string & | specificTaskName () const |
const std::set< std::string > & | getAllTasks () const |
void | appendTask (const std::string &task) |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
PerfGraph & | perfGraph () |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static InputParameters | validParams () |
Public Attributes | |
const ConsoleStream | _console |
Static Public Attributes | |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
Protected Types | |
enum | INTEGRAL { J_INTEGRAL, C_INTEGRAL, K_FROM_J_INTEGRAL, INTERACTION_INTEGRAL_KI, INTERACTION_INTEGRAL_KII, INTERACTION_INTEGRAL_KIII, INTERACTION_INTEGRAL_T } |
Enum used to select the type of integral to be performed. More... | |
enum | Q_FUNCTION_TYPE { GEOMETRY, TOPOLOGY } |
Enum used to select the method used to compute the Q function used in the fracture integrals. More... | |
Protected Member Functions | |
unsigned int | calcNumCrackFrontPoints () |
Compute the number of points on the crack front. More... | |
bool | addRelationshipManagers (Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars) |
void | associateWithParameter (const std::string ¶m_name, InputParameters ¶ms) const |
void | associateWithParameter (const InputParameters &from_params, const std::string ¶m_name, InputParameters ¶ms) const |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
std::string | timedSectionName (const std::string §ion_name) const |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
std::set< INTEGRAL > | _integrals |
Container for enumerations describing the individual integrals computed. More... | |
const std::vector< BoundaryName > & | _boundary_names |
Boundaries containing the crack front points. More... | |
std::vector< Point > | _crack_front_points |
User-defined vector of crack front points. More... | |
bool | _closed_loop |
Indicates whether the crack forms a closed loop. More... | |
UserObjectName | _crack_front_points_provider |
Name of crack front points provider user object used to optionally define the crack points. More... | |
bool | _use_crack_front_points_provider |
Whether to use a crack front points provider. More... | |
MooseEnum | _direction_method_moose_enum |
Enum used to define the method to compute crack front direction. More... | |
MooseEnum | _end_direction_method_moose_enum |
Enum used to define the method to compute crack front direction at ends of crack front. More... | |
const bool | _have_crack_direction_vector |
Whether the crack direction vector has been provided. More... | |
const RealVectorValue | _crack_direction_vector |
Vector optionally used to prescribe direction of crack extension. More... | |
const bool | _have_crack_direction_vector_end_1 |
Whether the crack direction vector at the 1st end of the crack has been provided. More... | |
const RealVectorValue | _crack_direction_vector_end_1 |
Vector optionally used to prescribe direction of crack extension at the 1st end of the crack. More... | |
const bool | _have_crack_direction_vector_end_2 |
Whether the crack direction vector at the 2nd end of the crack has been provided. More... | |
const RealVectorValue | _crack_direction_vector_end_2 |
Vector optionally used to prescribe direction of crack extension at the 2nd end of the crack. More... | |
std::vector< BoundaryName > | _crack_mouth_boundary_names |
Names of boundaries optionally used to define the crack mouth location. More... | |
std::vector< BoundaryName > | _intersecting_boundary_names |
Names of boundaries optionally used for improved computation of crack extension direction at ends of the crack where it intersects the prescribed boundaries. More... | |
bool | _treat_as_2d |
Whether fracture computations for a 3D model should be treated as though it were a 2D model. More... | |
unsigned int | _axis_2d |
Out-of-plane axis for 3D models treated as 2D. More... | |
unsigned int | _ring_first |
Number of elements away from the crack tip to inside of inner ring with the topological q function. More... | |
unsigned int | _ring_last |
Number of elements away from the crack tip to outside of outer ring with the topological q function. More... | |
std::vector< VariableName > | _output_variables |
List of variables for which values are to be sampled and output at the crack front points. More... | |
Real | _poissons_ratio |
Poisson's ratio of material. More... | |
Real | _youngs_modulus |
Young's modulus of material. More... | |
std::vector< SubdomainName > | _blocks |
Blocks for which the domain integrals are to be computed. More... | |
std::vector< VariableName > | _displacements |
Vector of displacement variables. More... | |
VariableName | _temp |
Temperature variable. More... | |
bool | _has_symmetry_plane |
Whether the model has a symmetry plane passing through the plane of the crack. More... | |
unsigned int | _symmetry_plane |
Identifier for which plane is the symmetry plane. More... | |
MooseEnum | _position_type |
How the distance along the crack front is measured (angle or distance) More... | |
MooseEnum | _q_function_type |
How the q function is evaluated (geometric distance from crack front or ring of elements) More... | |
bool | _get_equivalent_k |
Whether to compute the equivalent K from the individual fracture integrals for mixed-mode fracture. More... | |
bool | _use_displaced_mesh |
Whether to compute the fracture integrals on the displaced mesh. More... | |
bool | _output_q |
Whether to ouput the q function as a set of AuxVariables. More... | |
std::vector< unsigned int > | _ring_vec |
Vector of ids for the individual rings on which the fracture integral is computed. More... | |
bool | _incremental |
Whether the constitutive models for the mechanics calculations use an incremental form. More... | |
bool | _convert_J_to_K |
Whether to convert the J-integral to a stress intensity factor (K) –deprecated. More... | |
bool | _fgm_crack |
Whether the crack lives in a functionally-graded material. More... | |
MaterialPropertyName | _functionally_graded_youngs_modulus_crack_dir_gradient |
Material property name for the Youngs modulus derivative for functionally graded materials. More... | |
MaterialPropertyName | _functionally_graded_youngs_modulus |
Material property name for spatially-dependent Youngs modulus for functionally graded materials. More... | |
const bool | _use_ad |
Whether to create automatic differentiation objects from the action. More... | |
const bool | _used_by_xfem_to_grow_crack |
This determines if fracture integrals should be executed on nonlinear in order to grow the crack when num_xfem_updates in the executioner block is greater than 1. More... | |
std::string | _registered_identifier |
std::string | _specific_task_name |
std::set< std::string > | _all_tasks |
ActionWarehouse & | _awh |
const std::string & | _current_task |
std::shared_ptr< MooseMesh > & | _mesh |
std::shared_ptr< MooseMesh > & | _displaced_mesh |
std::shared_ptr< FEProblemBase > & | _problem |
PerfID | _act_timer |
MooseApp & | _app |
const std::string | _type |
const std::string | _name |
const InputParameters & | _pars |
Factory & | _factory |
ActionFactory & | _action_factory |
MooseApp & | _pg_moose_app |
const std::string | _prefix |
const Parallel::Communicator & | _communicator |
const std::string | _order |
Order and family of the AuxVariables optionally created to output the values of q. More... | |
const std::string | _family |
std::vector< Real > | _radius_inner |
Sets of inner and outer radii of the rings used for the domain form of the fracture integrals. More... | |
std::vector< Real > | _radius_outer |
Action to set up all objects used in computation of fracture domain integrals.
Definition at line 22 of file DomainIntegralAction.h.
|
protected |
Enum used to select the type of integral to be performed.
Enumerator | |
---|---|
J_INTEGRAL | |
C_INTEGRAL | |
K_FROM_J_INTEGRAL | |
INTERACTION_INTEGRAL_KI | |
INTERACTION_INTEGRAL_KII | |
INTERACTION_INTEGRAL_KIII | |
INTERACTION_INTEGRAL_T |
Definition at line 38 of file DomainIntegralAction.h.
|
protected |
Enum used to select the method used to compute the Q function used in the fracture integrals.
Enumerator | |
---|---|
GEOMETRY | |
TOPOLOGY |
Definition at line 51 of file DomainIntegralAction.h.
DomainIntegralAction::DomainIntegralAction | ( | const InputParameters & | params | ) |
Definition at line 148 of file DomainIntegralAction.C.
DomainIntegralAction::~DomainIntegralAction | ( | ) |
Definition at line 355 of file DomainIntegralAction.C.
|
overridevirtual |
Implements Action.
Definition at line 358 of file DomainIntegralAction.C.
virtual void Action::addRelationshipManagers |
bool Action::addRelationshipManagers |
|
overridevirtual |
Reimplemented from Action.
Definition at line 1016 of file DomainIntegralAction.C.
|
protected |
Compute the number of points on the crack front.
This is either the number of points in the crack front nodeset, or the number of points from the crack front points provider.
Definition at line 981 of file DomainIntegralAction.C.
Referenced by act().
|
static |
Definition at line 32 of file DomainIntegralAction.C.
|
protected |
Out-of-plane axis for 3D models treated as 2D.
Definition at line 106 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Blocks for which the domain integrals are to be computed.
Definition at line 124 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Boundaries containing the crack front points.
Definition at line 68 of file DomainIntegralAction.h.
Referenced by act(), and calcNumCrackFrontPoints().
|
protected |
Indicates whether the crack forms a closed loop.
Definition at line 72 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether to convert the J-integral to a stress intensity factor (K) –deprecated.
Definition at line 148 of file DomainIntegralAction.h.
Referenced by DomainIntegralAction().
|
protected |
Vector optionally used to prescribe direction of crack extension.
Definition at line 89 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Vector optionally used to prescribe direction of crack extension at the 1st end of the crack.
Definition at line 93 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Vector optionally used to prescribe direction of crack extension at the 2nd end of the crack.
Definition at line 97 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
User-defined vector of crack front points.
Definition at line 70 of file DomainIntegralAction.h.
Referenced by act(), calcNumCrackFrontPoints(), and DomainIntegralAction().
|
protected |
Name of crack front points provider user object used to optionally define the crack points.
Definition at line 74 of file DomainIntegralAction.h.
Referenced by DomainIntegralAction().
|
protected |
Names of boundaries optionally used to define the crack mouth location.
Definition at line 99 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Enum used to define the method to compute crack front direction.
Definition at line 83 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Vector of displacement variables.
Definition at line 126 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Enum used to define the method to compute crack front direction at ends of crack front.
Definition at line 85 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Definition at line 80 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether the crack lives in a functionally-graded material.
Definition at line 150 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Material property name for spatially-dependent Youngs modulus for functionally graded materials.
Definition at line 154 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Material property name for the Youngs modulus derivative for functionally graded materials.
Definition at line 152 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Whether to compute the equivalent K from the individual fracture integrals for mixed-mode fracture.
Definition at line 138 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Whether the model has a symmetry plane passing through the plane of the crack.
Definition at line 130 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether the crack direction vector has been provided.
Definition at line 87 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether the crack direction vector at the 1st end of the crack has been provided.
Definition at line 91 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether the crack direction vector at the 2nd end of the crack has been provided.
Definition at line 95 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether the constitutive models for the mechanics calculations use an incremental form.
Definition at line 146 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Container for enumerations describing the individual integrals computed.
Definition at line 66 of file DomainIntegralAction.h.
Referenced by act(), addRelationshipManagers(), and DomainIntegralAction().
|
protected |
Names of boundaries optionally used for improved computation of crack extension direction at ends of the crack where it intersects the prescribed boundaries.
Definition at line 102 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Order and family of the AuxVariables optionally created to output the values of q.
Definition at line 79 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether to ouput the q function as a set of AuxVariables.
Definition at line 142 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
List of variables for which values are to be sampled and output at the crack front points.
Definition at line 118 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Poisson's ratio of material.
Definition at line 120 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
How the distance along the crack front is measured (angle or distance)
Definition at line 134 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
How the q function is evaluated (geometric distance from crack front or ring of elements)
Definition at line 136 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Sets of inner and outer radii of the rings used for the domain form of the fracture integrals.
These are defined in corresponding pairs for each ring.
Definition at line 110 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Definition at line 111 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Number of elements away from the crack tip to inside of inner ring with the topological q function.
Definition at line 114 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Number of elements away from the crack tip to outside of outer ring with the topological q function.
Definition at line 116 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Vector of ids for the individual rings on which the fracture integral is computed.
Definition at line 144 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Identifier for which plane is the symmetry plane.
Definition at line 132 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Temperature variable.
Definition at line 128 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().
|
protected |
Whether fracture computations for a 3D model should be treated as though it were a 2D model.
Definition at line 104 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether to create automatic differentiation objects from the action.
Definition at line 156 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Whether to use a crack front points provider.
Definition at line 76 of file DomainIntegralAction.h.
Referenced by act(), calcNumCrackFrontPoints(), and DomainIntegralAction().
|
protected |
Whether to compute the fracture integrals on the displaced mesh.
Definition at line 140 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
This determines if fracture integrals should be executed on nonlinear in order to grow the crack when num_xfem_updates in the executioner block is greater than 1.
Definition at line 162 of file DomainIntegralAction.h.
Referenced by act().
|
protected |
Young's modulus of material.
Definition at line 122 of file DomainIntegralAction.h.
Referenced by act(), and DomainIntegralAction().