www.mooseframework.org
Classes | Namespaces | Functions
CrackFrontDefinition.h File Reference

Go to the source code of this file.

Classes

class  CrackFrontDefinition
 Class used in fracture integrals to define geometric characteristics of the crack front. More...
 

Namespaces

 libMesh
 The following methods are specializations for using the Parallel::packed_range_* routines for a vector of Rays.
 

Functions

void addCrackFrontDefinitionParams (InputParameters &params)
 

Function Documentation

◆ addCrackFrontDefinitionParams()

void addCrackFrontDefinitionParams ( InputParameters params)

Definition at line 41 of file CrackFrontDefinition.C.

Referenced by DomainIntegralAction::validParams(), and CrackFrontDefinition::validParams().

42 {
43  MooseEnum direction_method("CrackDirectionVector CrackMouth CurvedCrackFront");
44  MooseEnum end_direction_method("NoSpecialTreatment CrackDirectionVector CrackTangentVector",
45  "NoSpecialTreatment");
46  params.addParam<std::vector<Point>>("crack_front_points", "Set of points to define crack front");
47  params.addParam<bool>("closed_loop", false, "Set of points forms forms a closed loop");
49  "crack_direction_method",
50  direction_method,
51  "Method to determine direction of crack propagation. Choices are: " +
52  direction_method.getRawNames());
53  params.addParam<MooseEnum>(
54  "crack_end_direction_method",
55  end_direction_method,
56  "Method to determine direction of crack propagation at ends of crack. Choices are: " +
57  end_direction_method.getRawNames());
58  params.addParam<RealVectorValue>("crack_direction_vector", "Direction of crack propagation");
59  params.addParam<RealVectorValue>(
60  "crack_direction_vector_end_1",
61  "Direction of crack propagation for the node at end 1 of the crack");
62  params.addParam<RealVectorValue>(
63  "crack_direction_vector_end_2",
64  "Direction of crack propagation for the node at end 2 of the crack");
65  params.addParam<RealVectorValue>("crack_tangent_vector_end_1",
66  "Direction of crack tangent for the node at end 1 of the crack");
67  params.addParam<RealVectorValue>("crack_tangent_vector_end_2",
68  "Direction of crack tangent for the node at end 2 of the crack");
69  params.addParam<std::vector<BoundaryName>>(
70  "crack_mouth_boundary", "Boundaries whose average coordinate defines the crack mouth");
71  params.addParam<std::vector<BoundaryName>>("intersecting_boundary",
72  "Boundaries intersected by ends of crack");
73  params.addParam<bool>("2d", false, "Treat body as two-dimensional");
74  params.addRangeCheckedParam<unsigned int>(
75  "axis_2d",
76  2,
77  "axis_2d>=0 & axis_2d<=2",
78  "Out of plane axis for models treated as two-dimensional (0=x, 1=y, 2=z)");
79  params.addParam<unsigned int>("symmetry_plane",
80  "Account for a symmetry plane passing through "
81  "the plane of the crack, normal to the specified "
82  "axis (0=x, 1=y, 2=z)");
83  params.addParam<bool>("t_stress", false, "Calculate T-stress");
84  params.addParam<bool>("q_function_rings", false, "Generate rings of nodes for q-function");
85  params.addParam<unsigned int>("last_ring", "The number of rings of nodes to generate");
86  params.addParam<unsigned int>("first_ring", "The number of rings of nodes to generate");
87  params.addParam<unsigned int>("nrings", "The number of rings of nodes to generate");
88  params.addParam<VariableName>("disp_x", "Variable containing the x displacement");
89  params.addParam<VariableName>("disp_y", "Variable containing the y displacement");
90  params.addParam<VariableName>("disp_z", "Variable containing the z displacement");
91  params.addParam<std::vector<Real>>(
92  "j_integral_radius_inner", {}, "Radius for J-Integral calculation");
93  params.addParam<std::vector<Real>>(
94  "j_integral_radius_outer", {}, "Radius for J-Integral calculation");
95  MooseEnum q_function_type("Geometry Topology", "Geometry");
96  params.addParam<MooseEnum>("q_function_type",
97  q_function_type,
98  "The method used to define the integration domain. Options are: " +
99  q_function_type.getRawNames());
100  params.addParam<UserObjectName>(
101  "crack_front_points_provider",
102  "The UserObject provides the crack front points from XFEM GeometricCutObject");
103 
104  params.addParam<unsigned int>(
105  "number_points_from_provider",
106  "The number of crack front points, only needed if crack_front_points_provider is used.");
107 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
std::string getRawNames() const
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)