https://mooseframework.inl.gov
CrackFrontNonlocalStress.C
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 
11 #include "RankTwoScalarTools.h"
12 #include "SolidMechanicsAppTypes.h"
13 
14 registerMooseObject("SolidMechanicsApp", CrackFrontNonlocalStress);
15 
18 {
20  params.addClassDescription("Computes the average stress normal to the crack face.");
21  params.addRequiredParam<MaterialPropertyName>(
22  "stress_name", "Get name of stress tensor to compute at crack front");
23  ExecFlagEnum & exec = params.set<ExecFlagEnum>("execute_on");
25  params.setDocString("execute_on", exec.getDocString());
26  params.set<ExecFlagEnum>("execute_on") = {EXEC_XFEM_MARK, EXEC_TIMESTEP_END};
27  return params;
28 }
29 
31  : CrackFrontNonlocalMaterialBase(parameters, parameters.get<MaterialPropertyName>("stress_name")),
32  _stress(getMaterialProperty<RankTwoTensor>(_base_name + _property_name))
33 {
34 }
35 
36 Real
38  const Point crack_face_normal) const
39 {
40  return RankTwoScalarTools::directionValueTensor(_stress[qp], crack_face_normal);
41 }
CrackFrontNonlocalStress(const InputParameters &parameters)
void setDocString(const std::string &name, const std::string &doc)
const ExecFlagType EXEC_XFEM_MARK
Exec flag used to execute MooseObjects while elements are being marked for cutting by XFEM...
T & set(const std::string &name, bool quiet_mode=false)
void addAvailableFlags(const ExecFlagType &flag, Args... flags)
static InputParameters validParams()
const ExecFlagType EXEC_TIMESTEP_END
Real getQPCrackFrontScalar(const unsigned int qp, const Point crack_face_normal) const override
Determine whether a point is located within a specified crack front oriented box. ...
void addRequiredParam(const std::string &name, const std::string &doc_string)
Computes the average material property in regions near points provided by the crack_front_definition ...
Computes the average stress magnitude in the direction normal to the crack front at points provided b...
registerMooseObject("SolidMechanicsApp", CrackFrontNonlocalStress)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
const MaterialProperty< RankTwoTensor > & _stress
The stress tensor.
T directionValueTensor(const RankTwoTensorTempl< T > &r2tensor, const Point &direction)
const Elem & get(const ElemType type_in)