Coupled auxiliary value.
More...
#include <XFEMMaterialStateMarkerBase.h>
|
virtual bool | doesElementCrack (RealVectorValue &direction) |
| Determine whether the current element should be cut by a new crack. More...
|
|
Coupled auxiliary value.
Definition at line 19 of file XFEMMaterialStateMarkerBase.h.
◆ XFEMMaterialStateMarkerBase()
XFEMMaterialStateMarkerBase::XFEMMaterialStateMarkerBase |
( |
const InputParameters & |
parameters | ) |
|
Factory constructor, takes parameters so that all derived classes can be built using the same constructor.
Definition at line 30 of file XFEMMaterialStateMarkerBase.C.
31 : ElementUserObject(parameters),
32 _mesh(_subproblem.mesh()),
35 FEProblemBase * fe_problem = dynamic_cast<FEProblemBase *>(&_subproblem);
36 if (fe_problem == NULL)
37 mooseError(
"Problem casting _subproblem to FEProblemBase in XFEMMaterialStateMarkerBase");
38 _xfem = MooseSharedNamespace::dynamic_pointer_cast<XFEM>(fe_problem->getXFEM());
40 mooseError(
"Problem casting to XFEM in XFEMMaterialStateMarkerBase");
42 mooseError(
"XFEMMaterialStateMarkerBase can only be run on an element variable");
44 if (isParamValid(
"initiate_on_boundary"))
46 std::vector<BoundaryName> initiation_boundary_names =
47 getParam<std::vector<BoundaryName>>(
"initiate_on_boundary");
◆ doesElementCrack()
bool XFEMMaterialStateMarkerBase::doesElementCrack |
( |
RealVectorValue & |
direction | ) |
|
|
protectedvirtual |
◆ execute()
void XFEMMaterialStateMarkerBase::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 62 of file XFEMMaterialStateMarkerBase.C.
64 RealVectorValue direction;
65 bool isCut =
_xfem->isElemCut(_current_elem);
66 bool isCTE =
_xfem->isElemAtCrackTip(_current_elem);
67 bool isOnBoundary =
false;
68 unsigned int boundarySide = 99999;
69 unsigned int _current_eid = _current_elem->id();
70 std::map<unsigned int, RealVectorValue>::iterator mit;
86 mooseError(
"ERROR: element ", _current_eid,
" already marked for crack growth.");
94 mooseError(
"ERROR: element ", _current_eid,
" already marked for crack growth.");
103 mooseError(
"ERROR: element ", _current_eid,
" already marked for crack growth.");
◆ finalize()
void XFEMMaterialStateMarkerBase::finalize |
( |
| ) |
|
|
overridevirtual |
Definition at line 138 of file XFEMMaterialStateMarkerBase.C.
144 _xfem->clearStateMarkedElems();
145 std::map<unsigned int, RealVectorValue>::iterator mit;
154 _xfem->addStateMarkedFrag(mit->first, mit->second);
158 _xfem->addStateMarkedElem(mit->first, mit->second);
◆ initialize()
void XFEMMaterialStateMarkerBase::initialize |
( |
| ) |
|
|
overridevirtual |
◆ threadJoin()
void XFEMMaterialStateMarkerBase::threadJoin |
( |
const UserObject & |
y | ) |
|
|
overridevirtual |
◆ _initiation_boundary_ids
std::vector<BoundaryID> XFEMMaterialStateMarkerBase::_initiation_boundary_ids |
|
private |
◆ _marked_elem_sides
std::map<unsigned int, unsigned int> XFEMMaterialStateMarkerBase::_marked_elem_sides |
|
private |
◆ _marked_elems
std::map<unsigned int, RealVectorValue> XFEMMaterialStateMarkerBase::_marked_elems |
|
private |
◆ _marked_frags
std::set<unsigned int> XFEMMaterialStateMarkerBase::_marked_frags |
|
private |
◆ _mesh
MooseMesh& XFEMMaterialStateMarkerBase::_mesh |
|
private |
◆ _secondary_cracks
bool XFEMMaterialStateMarkerBase::_secondary_cracks |
|
private |
◆ _xfem
std::shared_ptr<XFEM> XFEMMaterialStateMarkerBase::_xfem |
|
private |
The documentation for this class was generated from the following files: