#include <GeometricCutUserObject.h>
Public Member Functions | |
GeometricCutUserObject (const InputParameters ¶meters) | |
Factory constructor, takes parameters so that all derived classes can be built using the same constructor. More... | |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | threadJoin (const UserObject &y) override |
virtual void | finalize () override |
virtual bool | cutElementByGeometry (const Elem *elem, std::vector< Xfem::CutEdge > &cut_edges, std::vector< Xfem::CutNode > &cut_nodes, Real time) const =0 |
Check to see whether a specified 2D element should be cut based on geometric conditions. More... | |
virtual bool | cutElementByGeometry (const Elem *elem, std::vector< Xfem::CutFace > &cut_faces, Real time) const =0 |
Check to see whether a specified 3D element should be cut based on geometric conditions. More... | |
virtual bool | cutFragmentByGeometry (std::vector< std::vector< Point >> &frag_edges, std::vector< Xfem::CutEdge > &cut_edges, Real time) const =0 |
Check to see whether a fragment of a 2D element should be cut based on geometric conditions. More... | |
virtual bool | cutFragmentByGeometry (std::vector< std::vector< Point >> &frag_faces, std::vector< Xfem::CutFace > &cut_faces, Real time) const =0 |
Check to see whether a fragment of a 3D element should be cut based on geometric conditions. More... | |
unsigned int | getInterfaceID () const |
Get the interface ID for this cutting object. More... | |
void | setInterfaceID (unsigned int interface_id) |
Set the interface ID for this cutting object. More... | |
bool | shouldHealMesh () const |
Should the elements cut by this cutting object be healed in the current time step? More... | |
virtual const std::vector< Point > | getCrackFrontPoints (unsigned int) const =0 |
get a set of points along a crack front from a XFEM GeometricCutUserObject More... | |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
void | serialize (std::string &serialized_buffer) |
Methods to pack/unpack the _marked_elems_2d and _marked_elems_3d data into a structure suitable for parallel communication. More... | |
void | deserialize (std::vector< std::string > &serialized_buffers) |
Protected Attributes | |
std::shared_ptr< XFEM > | _xfem |
Pointer to the XFEM controller object. More... | |
unsigned int | _interface_id |
Associated interface id. More... | |
bool | _heal_always |
Heal the mesh. More... | |
unsigned int | _last_step_initialized |
Time step information needed to advance a 3D crack only at the real beginning of a time step. More... | |
std::map< unsigned int, std::vector< Xfem::GeomMarkedElemInfo2D > > | _marked_elems_2d |
Containers with information about all 2D and 3D elements marked for cutting by this object. More... | |
std::map< unsigned int, std::vector< Xfem::GeomMarkedElemInfo3D > > | _marked_elems_3d |
Definition at line 106 of file GeometricCutUserObject.h.
GeometricCutUserObject::GeometricCutUserObject | ( | const InputParameters & | parameters | ) |
Factory constructor, takes parameters so that all derived classes can be built using the same constructor.
Definition at line 39 of file GeometricCutUserObject.C.
|
pure virtual |
Check to see whether a specified 2D element should be cut based on geometric conditions.
elem | Pointer to the libMesh element to be considered for cutting |
cut_edges | Data structure filled with information about edges to be cut |
cut_nodes | Data structure filled with information about nodes to be cut |
time | Current simulation time |
Implemented in MeshCut3DUserObject, GeometricCut3DUserObject, GeometricCut2DUserObject, and LevelSetCutUserObject.
Referenced by execute().
|
pure virtual |
Check to see whether a specified 3D element should be cut based on geometric conditions.
elem | Pointer to the libMesh element to be considered for cutting |
cut_faces | Data structure filled with information about edges to be cut |
time | Current simulation time |
Implemented in MeshCut3DUserObject, GeometricCut3DUserObject, GeometricCut2DUserObject, and LevelSetCutUserObject.
|
pure virtual |
Check to see whether a fragment of a 2D element should be cut based on geometric conditions.
frag_edges | Data structure defining the current fragment to be considered |
cut_edges | Data structure filled with information about fragment edges to be cut |
time | Current simulation time |
Implemented in MeshCut3DUserObject, GeometricCut3DUserObject, GeometricCut2DUserObject, and LevelSetCutUserObject.
Referenced by execute().
|
pure virtual |
Check to see whether a fragment of a 3D element should be cut based on geometric conditions.
frag_faces | Data structure defining the current fragment to be considered |
cut_faces | Data structure filled with information about fragment faces to be cut |
time | Current simulation time |
Implemented in MeshCut3DUserObject, GeometricCut3DUserObject, GeometricCut2DUserObject, and LevelSetCutUserObject.
|
protected |
|
overridevirtual |
Reimplemented in MovingLineSegmentCutSetUserObject.
Definition at line 67 of file GeometricCutUserObject.C.
Referenced by MovingLineSegmentCutSetUserObject::execute().
|
overridevirtual |
Reimplemented in MovingLineSegmentCutSetUserObject.
Definition at line 254 of file GeometricCutUserObject.C.
Referenced by MovingLineSegmentCutSetUserObject::finalize().
|
pure virtualinherited |
get a set of points along a crack front from a XFEM GeometricCutUserObject
Implemented in LevelSetCutUserObject, MeshCut3DUserObject, MovingLineSegmentCutSetUserObject, LineSegmentCutSetUserObject, CircleCutUserObject, EllipseCutUserObject, LineSegmentCutUserObject, and RectangleCutUserObject.
Referenced by CrackFrontDefinition::initialSetup().
|
inline |
Get the interface ID for this cutting object.
Definition at line 172 of file GeometricCutUserObject.h.
|
overridevirtual |
Reimplemented in MeshCut3DUserObject, and MovingLineSegmentCutSetUserObject.
Definition at line 60 of file GeometricCutUserObject.C.
|
protected |
Methods to pack/unpack the _marked_elems_2d and _marked_elems_3d data into a structure suitable for parallel communication.
Definition at line 209 of file GeometricCutUserObject.C.
Referenced by finalize().
|
inline |
Set the interface ID for this cutting object.
the | interface ID |
Definition at line 178 of file GeometricCutUserObject.h.
Referenced by XFEM::addGeometricCut().
|
inline |
Should the elements cut by this cutting object be healed in the current time step?
Definition at line 185 of file GeometricCutUserObject.h.
|
overridevirtual |
Definition at line 133 of file GeometricCutUserObject.C.
|
staticinherited |
Definition at line 15 of file CrackFrontPointsProvider.C.
|
protected |
Heal the mesh.
Definition at line 195 of file GeometricCutUserObject.h.
|
protected |
Associated interface id.
Definition at line 192 of file GeometricCutUserObject.h.
Referenced by finalize(), and GeometricCutUserObject().
|
protected |
Time step information needed to advance a 3D crack only at the real beginning of a time step.
Definition at line 198 of file GeometricCutUserObject.h.
Referenced by MeshCut3DUserObject::initialize().
|
protected |
Containers with information about all 2D and 3D elements marked for cutting by this object.
Definition at line 201 of file GeometricCutUserObject.h.
Referenced by deserialize(), execute(), finalize(), initialize(), serialize(), and threadJoin().
|
protected |
Definition at line 202 of file GeometricCutUserObject.h.
Referenced by deserialize(), execute(), finalize(), initialize(), serialize(), and threadJoin().
|
protected |
Pointer to the XFEM controller object.
Definition at line 185 of file GeometricCutUserObject.h.
Referenced by execute(), finalize(), and GeometricCutUserObject().