18 #include "libmesh/system.h" 26 params.
addClassDescription(
"Computes the crack extension size at all active crack front points.");
29 "the max growth size at the crack front in each increment of a fatigue simulation");
38 _max_growth_size(getParam<
Real>(
"max_growth_size")),
39 _paris_law_c(getParam<
Real>(
"paris_law_c")),
40 _paris_law_m(getParam<
Real>(
"paris_law_m"))
61 mooseAssert(k1.size() == k2.size(),
"KI and KII VPPs should have the same size");
62 unsigned int size_this_segment = k1.size();
66 for (
unsigned int i = 0; i < size_this_segment; ++i)
77 mooseError(
"index must be either -1 (inactive) or >= 0 (active)");
87 for (
unsigned int i = 0; i < size_this_segment; ++i)
CrackMeshCut3DUserObject: (1) reads in a mesh describing the crack surface, (2) uses the mesh to do i...
unsigned long int _dn
Number of cycles for this growth increament.
const Real _paris_law_c
Paris law parameters.
std::vector< int > getFrontPointsIndex()
Get crack front points in the active segment -1 means inactive; positive is the point's index in the ...
void findActiveBoundaryNodes()
Find all active boundary nodes in the cutter mesh Find boundary nodes that will grow; nodes outside o...
void setSubCriticalGrowthSize(std::vector< Real > &growth_size)
Return growth size at the active boundary to the mesh cutter.
ParisLaw(const InputParameters ¶meters)
virtual void initialize() override
std::vector< Real > _growth_size
Growth length for active cutter nodes.
static InputParameters validParams()
std::vector< Real > _effective_k
Effective K for active cutter nodes.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const Real _max_growth_size
Length of crack growth at the point with largest K.
virtual Real getValue() const override
std::vector< Real > VectorPostprocessorValue
Real _max_k
Maximum effective K.
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("XFEMApp", ParisLaw)
virtual void execute() override
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
void mooseError(Args &&... args) const
const VectorPostprocessorValue & getVectorPostprocessorValueByName(const VectorPostprocessorName &name, const std::string &vector_name) const
void ErrorVector unsigned int
CrackMeshCut3DUserObject * _cutter
Cutter mesh.