https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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"
13
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
36Real
38 const Point crack_face_normal) const
39{
40 return RankTwoScalarTools::directionValueTensor(_stress[qp], crack_face_normal);
41}
registerMooseObject("SolidMechanicsApp", CrackFrontNonlocalStress)
const ExecFlagType EXEC_TIMESTEP_END
const ExecFlagType EXEC_XFEM_MARK
Exec flag used to execute MooseObjects while elements are being marked for cutting by XFEM.
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...
const MaterialProperty< RankTwoTensor > & _stress
The stress tensor.
CrackFrontNonlocalStress(const InputParameters &parameters)
static InputParameters validParams()
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 addAvailableFlags(const ExecFlagType &flag, Args... flags)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void setDocString(const std::string &name, const std::string &doc)
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
T directionValueTensor(const RankTwoTensorTempl< T > &r2tensor, const Point &direction)