www.mooseframework.org
XFEMMarkerUserObject.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef XFEMMARKERUSEROBJECT_H
9 #define XFEMMARKERUSEROBJECT_H
10 
11 #include "ElementUserObject.h"
12 
13 class XFEM;
14 
18 class XFEMMarkerUserObject : public ElementUserObject
19 {
20 public:
25  XFEMMarkerUserObject(const InputParameters & parameters);
26 
27  virtual ~XFEMMarkerUserObject() {}
28 
29  virtual void initialize();
30  virtual void execute();
31  virtual void threadJoin(const UserObject & y);
32  virtual void finalize();
33 
34 protected:
35  virtual bool doesElementCrack(RealVectorValue & direction);
36 
37 private:
38  MooseMesh & _mesh;
39  std::vector<BoundaryID> _initiation_boundary_ids;
41  MooseSharedPointer<XFEM> _xfem;
42  std::map<unsigned int, RealVectorValue> _marked_elems;
43  std::set<unsigned int> _marked_frags;
44  std::map<unsigned int, unsigned int> _marked_elem_sides;
45 };
46 
47 template <>
48 InputParameters validParams<XFEMMarkerUserObject>();
49 
50 #endif // XFEMMARKERUSEROBJECT_H
std::set< unsigned int > _marked_frags
virtual bool doesElementCrack(RealVectorValue &direction)
std::map< unsigned int, RealVectorValue > _marked_elems
std::vector< BoundaryID > _initiation_boundary_ids
MooseSharedPointer< XFEM > _xfem
XFEMMarkerUserObject(const InputParameters &parameters)
Factory constructor, takes parameters so that all derived classes can be built using the same constru...
This is the XFEM class.
Definition: XFEM.h:60
Coupled auxiliary value.
std::map< unsigned int, unsigned int > _marked_elem_sides
virtual void threadJoin(const UserObject &y)
InputParameters validParams< XFEMMarkerUserObject >()