www.mooseframework.org
XFEMMaterialStateMarkerBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
12 #include "ElementUserObject.h"
13 
14 class XFEM;
15 
19 class XFEMMaterialStateMarkerBase : public ElementUserObject
20 {
21 public:
26  XFEMMaterialStateMarkerBase(const InputParameters & parameters);
27 
28  virtual void initialize() override;
29  virtual void execute() override;
30  virtual void threadJoin(const UserObject & y) override;
31  virtual void finalize() override;
32 
33 protected:
39  virtual bool doesElementCrack(RealVectorValue & direction);
40 
41 private:
42  MooseMesh & _mesh;
43  std::vector<BoundaryID> _initiation_boundary_ids;
45  std::shared_ptr<XFEM> _xfem;
46  std::map<unsigned int, RealVectorValue> _marked_elems;
47  std::set<unsigned int> _marked_frags;
48  std::map<unsigned int, unsigned int> _marked_elem_sides;
49 };
50 
51 template <>
53 
XFEMMaterialStateMarkerBase::_secondary_cracks
bool _secondary_cracks
Definition: XFEMMaterialStateMarkerBase.h:44
XFEMMaterialStateMarkerBase::threadJoin
virtual void threadJoin(const UserObject &y) override
Definition: XFEMMaterialStateMarkerBase.C:111
XFEMMaterialStateMarkerBase::_mesh
MooseMesh & _mesh
Definition: XFEMMaterialStateMarkerBase.h:42
XFEMMaterialStateMarkerBase::_initiation_boundary_ids
std::vector< BoundaryID > _initiation_boundary_ids
Definition: XFEMMaterialStateMarkerBase.h:43
XFEMMaterialStateMarkerBase::doesElementCrack
virtual bool doesElementCrack(RealVectorValue &direction)
Determine whether the current element should be cut by a new crack.
Definition: XFEMMaterialStateMarkerBase.C:167
validParams< XFEMMaterialStateMarkerBase >
InputParameters validParams< XFEMMaterialStateMarkerBase >()
Definition: XFEMMaterialStateMarkerBase.C:20
XFEMMaterialStateMarkerBase::XFEMMaterialStateMarkerBase
XFEMMaterialStateMarkerBase(const InputParameters &parameters)
Factory constructor, takes parameters so that all derived classes can be built using the same constru...
Definition: XFEMMaterialStateMarkerBase.C:30
XFEMMaterialStateMarkerBase::initialize
virtual void initialize() override
Definition: XFEMMaterialStateMarkerBase.C:53
XFEMMaterialStateMarkerBase::_xfem
std::shared_ptr< XFEM > _xfem
Definition: XFEMMaterialStateMarkerBase.h:45
XFEMMaterialStateMarkerBase::_marked_elem_sides
std::map< unsigned int, unsigned int > _marked_elem_sides
Definition: XFEMMaterialStateMarkerBase.h:48
XFEMMaterialStateMarkerBase::_marked_elems
std::map< unsigned int, RealVectorValue > _marked_elems
Definition: XFEMMaterialStateMarkerBase.h:46
XFEMMaterialStateMarkerBase
Coupled auxiliary value.
Definition: XFEMMaterialStateMarkerBase.h:19
XFEMMaterialStateMarkerBase::_marked_frags
std::set< unsigned int > _marked_frags
Definition: XFEMMaterialStateMarkerBase.h:47
XFEMMaterialStateMarkerBase::finalize
virtual void finalize() override
Definition: XFEMMaterialStateMarkerBase.C:138
XFEM
This is the XFEM class.
Definition: XFEM.h:61
XFEMMaterialStateMarkerBase::execute
virtual void execute() override
Definition: XFEMMaterialStateMarkerBase.C:62