#include <LevelSetCutUserObject.h>
Public Member Functions | |
LevelSetCutUserObject (const InputParameters ¶meters) | |
virtual bool | cutElementByGeometry (const Elem *elem, std::vector< Xfem::CutEdge > &cut_edges, std::vector< Xfem::CutNode > &cut_nodes, Real time) const override |
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 override |
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 override |
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 override |
Check to see whether a fragment of a 3D element should be cut based on geometric conditions. More... | |
virtual const std::vector< Point > | getCrackFrontPoints (unsigned int num_crack_front_points) const override |
get a set of points along a crack front from a XFEM GeometricCutUserObject More... | |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | threadJoin (const UserObject &y) override |
virtual void | finalize () override |
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... | |
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 | |
const unsigned int | _level_set_var_number |
The variable number of the level set variable we using to define the cuts. More... | |
const System & | _system |
system reference More... | |
const NumericVector< Number > * | _solution |
the subproblem solution vector More... | |
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 20 of file LevelSetCutUserObject.h.
LevelSetCutUserObject::LevelSetCutUserObject | ( | const InputParameters & | parameters | ) |
Definition at line 28 of file LevelSetCutUserObject.C.
|
overridevirtual |
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 |
Implements GeometricCutUserObject.
Definition at line 42 of file LevelSetCutUserObject.C.
|
overridevirtual |
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 |
Implements GeometricCutUserObject.
Definition at line 87 of file LevelSetCutUserObject.C.
|
overridevirtual |
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 |
Implements GeometricCutUserObject.
Definition at line 147 of file LevelSetCutUserObject.C.
|
overridevirtual |
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 |
Implements GeometricCutUserObject.
Definition at line 155 of file LevelSetCutUserObject.C.
|
protectedinherited |
Definition at line 222 of file GeometricCutUserObject.C.
Referenced by GeometricCutUserObject::finalize().
|
overridevirtualinherited |
Reimplemented in MovingLineSegmentCutSetUserObject.
Definition at line 67 of file GeometricCutUserObject.C.
Referenced by MovingLineSegmentCutSetUserObject::execute().
|
overridevirtualinherited |
Reimplemented in MovingLineSegmentCutSetUserObject.
Definition at line 254 of file GeometricCutUserObject.C.
Referenced by MovingLineSegmentCutSetUserObject::finalize().
|
overridevirtual |
get a set of points along a crack front from a XFEM GeometricCutUserObject
Implements CrackFrontPointsProvider.
Definition at line 164 of file LevelSetCutUserObject.C.
|
inlineinherited |
Get the interface ID for this cutting object.
Definition at line 172 of file GeometricCutUserObject.h.
|
overridevirtualinherited |
Reimplemented in MeshCut3DUserObject, and MovingLineSegmentCutSetUserObject.
Definition at line 60 of file GeometricCutUserObject.C.
|
protectedinherited |
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 GeometricCutUserObject::finalize().
|
inlineinherited |
Set the interface ID for this cutting object.
the | interface ID |
Definition at line 178 of file GeometricCutUserObject.h.
Referenced by XFEM::addGeometricCut().
|
inlineinherited |
Should the elements cut by this cutting object be healed in the current time step?
Definition at line 185 of file GeometricCutUserObject.h.
|
overridevirtualinherited |
Definition at line 133 of file GeometricCutUserObject.C.
|
staticinherited |
Definition at line 15 of file CrackFrontPointsProvider.C.
|
protectedinherited |
Heal the mesh.
Definition at line 195 of file GeometricCutUserObject.h.
|
protectedinherited |
Associated interface id.
Definition at line 192 of file GeometricCutUserObject.h.
Referenced by GeometricCutUserObject::finalize(), and GeometricCutUserObject::GeometricCutUserObject().
|
protectedinherited |
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 |
The variable number of the level set variable we using to define the cuts.
Definition at line 45 of file LevelSetCutUserObject.h.
Referenced by cutElementByGeometry().
|
protectedinherited |
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 GeometricCutUserObject::deserialize(), GeometricCutUserObject::execute(), GeometricCutUserObject::finalize(), GeometricCutUserObject::initialize(), GeometricCutUserObject::serialize(), and GeometricCutUserObject::threadJoin().
|
protectedinherited |
|
protected |
the subproblem solution vector
Definition at line 51 of file LevelSetCutUserObject.h.
|
protected |
system reference
Definition at line 48 of file LevelSetCutUserObject.h.
Referenced by cutElementByGeometry().
|
protectedinherited |
Pointer to the XFEM controller object.
Definition at line 185 of file GeometricCutUserObject.h.
Referenced by GeometricCutUserObject::execute(), GeometricCutUserObject::finalize(), and GeometricCutUserObject::GeometricCutUserObject().