https://mooseframework.inl.gov
XFEMMaterialStateMarkerBase.h
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 
10 #pragma once
11 
12 #include "ElementUserObject.h"
13 
14 class XFEM;
15 
20 {
21 public:
27 
29 
30  virtual void initialize() override;
31  virtual void execute() override;
32  virtual void threadJoin(const UserObject & y) override;
33  virtual void finalize() override;
34 
35 protected:
41  virtual bool doesElementCrack(RealVectorValue & direction);
42 
43 private:
45  std::vector<BoundaryID> _initiation_boundary_ids;
47  std::shared_ptr<XFEM> _xfem;
48  std::map<unsigned int, RealVectorValue> _marked_elems;
49  std::set<unsigned int> _marked_frags;
50  std::map<unsigned int, unsigned int> _marked_elem_sides;
51 };
static InputParameters validParams()
Factory constructor, takes parameters so that all derived classes can be built using the same constru...
const std::vector< double > y
XFEMMaterialStateMarkerBase(const InputParameters &parameters)
This is the XFEM class.
Definition: XFEM.h:107
std::map< unsigned int, unsigned int > _marked_elem_sides
std::vector< BoundaryID > _initiation_boundary_ids
virtual void threadJoin(const UserObject &y) override
std::set< unsigned int > _marked_frags
const InputParameters & parameters() const
std::map< unsigned int, RealVectorValue > _marked_elems
virtual bool doesElementCrack(RealVectorValue &direction)
Determine whether the current element should be cut by a new crack.