54 doesElementCrack(std::pair<RealVectorValue, RealVectorValue> & cutterElemNodes)
override;
59 const Point & direction,
63 Point & intersection_point,
64 Real & intersection_distance);
static InputParameters validParams()
bool lineLineIntersect2D(const Point &start, const Point &direction, const Real length, const Point &v0, const Point &v1, Point &intersection_point, Real &intersection_distance)
MeshCut2DRankTwoTensorNucleation(const InputParameters ¶meters)
MooseEnum _scalar_type
The type of scalar to be extracted from the tensor.
const Real _edge_extension_factor
scaling factor to extend the nucleated crack beyond the element edges.
const MooseArray< Real > & _JxW
Transformed Jacobian weights.
virtual bool doesElementCrack(std::pair< RealVectorValue, RealVectorValue > &cutterElemNodes) override
Determine whether the current element should be cut by a new crack.
const VariableValue & _nucleation_threshold
Threshold at which a crack is nucleated if exceeded.
const Real _nucleation_length
Length of the nucleated cracks.
OutputTools< Real >::VariableValue VariableValue
const MooseArray< Real > & _coord
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual ~MeshCut2DRankTwoTensorNucleation()
const InputParameters & parameters() const
const MaterialProperty< RankTwoTensor > & _tensor
The tensor from which the scalar quantity used as a nucleating criterion is extracted.
const bool _is_nucleation_length_provided
is the nucleation length provided in the input file.
const Point _point1
Points used to define an axis of rotation for some scalar quantities.
const bool _nucleate_across_full_element
should element be cut if the nucleation_length is smaller than the element length.