https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MeshCut2DRankTwoTensorNucleation.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
14
16{
17public:
19
22
23protected:
26
29
32
35
38
41
44
46 const Point _point1;
47 const Point _point2;
48
52
53 virtual bool
54 doesElementCrack(std::pair<RealVectorValue, RealVectorValue> & cutterElemNodes) override;
55
56 // FIXME Lynn Copy from TraceRayTools.C in rayTracing module. Remove once this function migrates
57 // to libmesh.
58 bool lineLineIntersect2D(const Point & start,
59 const Point & direction,
60 const Real length,
61 const Point & v0,
62 const Point & v1,
63 Point & intersection_point,
64 Real & intersection_distance);
65};
const Real _edge_extension_factor
scaling factor to extend the nucleated crack beyond the element edges.
const bool _is_nucleation_length_provided
is the nucleation length provided in the input file.
const VariableValue & _nucleation_threshold
Threshold at which a crack is nucleated if exceeded.
const bool _nucleate_across_full_element
should element be cut if the nucleation_length is smaller than the element length.
bool lineLineIntersect2D(const Point &start, const Point &direction, const Real length, const Point &v0, const Point &v1, Point &intersection_point, Real &intersection_distance)
virtual bool doesElementCrack(std::pair< RealVectorValue, RealVectorValue > &cutterElemNodes) override
Determine whether the current element should be cut by a new crack.
const MooseArray< Real > & _JxW
Transformed Jacobian weights.
const Point _point1
Points used to define an axis of rotation for some scalar quantities.
MooseEnum _scalar_type
The type of scalar to be extracted from the tensor.
const MaterialProperty< RankTwoTensor > & _tensor
The tensor from which the scalar quantity used as a nucleating criterion is extracted.
const Real _nucleation_length
Length of the nucleated cracks.
const InputParameters & parameters() const
VariableValueTempl< false > VariableValue