#include <MovingLineSegmentCutSetUserObject.h>
Public Member Functions | |
MovingLineSegmentCutSetUserObject (const InputParameters ¶meters) | |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | finalize () override |
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 Real | cutFraction (unsigned int cut_num, Real time) const override |
Find the fractional distance along a specified cut line for the current time that is currently active. More... | |
virtual std::vector< Real > | getCutData () const |
Get the cut location information. More... | |
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 void | threadJoin (const UserObject &y) 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 () |
Public Attributes | |
const XFEMMovingInterfaceVelocityBase * | _interface_velocity |
Pointer to XFEMMovingInterfaceVelocityBase object. More... | |
Protected Member Functions | |
bool | IntersectSegmentWithCutLine (const Point &segment_point1, const Point &segment_point2, const std::pair< Point, Point > &cutting_line_points, const Real &cutting_line_fraction, Real &segment_intersection_fraction) const |
Real | crossProduct2D (const Point &point_a, const Point &point_b) const |
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::vector< Real > | _cut_data |
std::vector< std::pair< Point, Point > > | _cut_line_endpoints |
std::vector< std::pair< Real, Real > > | _cut_time_ranges |
Vector of start/end times for each cut segment. 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 22 of file MovingLineSegmentCutSetUserObject.h.
MovingLineSegmentCutSetUserObject::MovingLineSegmentCutSetUserObject | ( | const InputParameters & | parameters | ) |
Definition at line 26 of file MovingLineSegmentCutSetUserObject.C.
|
protectedinherited |
Definition at line 196 of file GeometricCut2DUserObject.C.
Referenced by GeometricCut2DUserObject::IntersectSegmentWithCutLine().
|
overridevirtualinherited |
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 39 of file GeometricCut2DUserObject.C.
|
overridevirtualinherited |
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 98 of file GeometricCut2DUserObject.C.
|
overridevirtual |
Find the fractional distance along a specified cut line for the current time that is currently active.
Used for time-based propagation along a line
cut_num | Index of the cut being queried |
time | Current simulation time |
Reimplemented from GeometricCut2DUserObject.
Definition at line 110 of file MovingLineSegmentCutSetUserObject.C.
|
overridevirtualinherited |
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 107 of file GeometricCut2DUserObject.C.
|
overridevirtualinherited |
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 146 of file GeometricCut2DUserObject.C.
|
protectedinherited |
Definition at line 222 of file GeometricCutUserObject.C.
Referenced by GeometricCutUserObject::finalize().
|
overridevirtual |
Reimplemented from GeometricCutUserObject.
Definition at line 55 of file MovingLineSegmentCutSetUserObject.C.
|
overridevirtual |
Reimplemented from GeometricCutUserObject.
Definition at line 91 of file MovingLineSegmentCutSetUserObject.C.
|
overridevirtual |
get a set of points along a crack front from a XFEM GeometricCutUserObject
Reimplemented from LineSegmentCutSetUserObject.
Definition at line 33 of file MovingLineSegmentCutSetUserObject.C.
|
inlinevirtualinherited |
Get the cut location information.
Definition at line 32 of file LineSegmentCutSetUserObject.h.
Referenced by LineSegmentLevelSetAux::compute(), and PointValueAtXFEMInterface::execute().
|
inlineinherited |
Get the interface ID for this cutting object.
Definition at line 172 of file GeometricCutUserObject.h.
|
overridevirtual |
Reimplemented from GeometricCutUserObject.
Definition at line 40 of file MovingLineSegmentCutSetUserObject.C.
|
protectedinherited |
Definition at line 155 of file GeometricCut2DUserObject.C.
Referenced by GeometricCut2DUserObject::cutElementByGeometry(), and GeometricCut2DUserObject::cutFragmentByGeometry().
|
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 |
Definition at line 32 of file LineSegmentCutSetUserObject.h.
Referenced by execute(), finalize(), LineSegmentCutSetUserObject::getCutData(), and LineSegmentCutSetUserObject::LineSegmentCutSetUserObject().
|
protectedinherited |
Definition at line 41 of file GeometricCut2DUserObject.h.
Referenced by GeometricCut2DUserObject::cutElementByGeometry(), GeometricCut2DUserObject::cutFragmentByGeometry(), execute(), LineSegmentCutSetUserObject::LineSegmentCutSetUserObject(), and LineSegmentCutUserObject::LineSegmentCutUserObject().
|
protectedinherited |
Vector of start/end times for each cut segment.
Definition at line 61 of file GeometricCut2DUserObject.h.
Referenced by GeometricCut2DUserObject::cutFraction(), GeometricCut2DUserObject::GeometricCut2DUserObject(), LineSegmentCutSetUserObject::LineSegmentCutSetUserObject(), and LineSegmentCutUserObject::LineSegmentCutUserObject().
|
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().
const XFEMMovingInterfaceVelocityBase* MovingLineSegmentCutSetUserObject::_interface_velocity |
Pointer to XFEMMovingInterfaceVelocityBase object.
Definition at line 40 of file MovingLineSegmentCutSetUserObject.h.
Referenced by execute(), finalize(), and initialize().
|
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().
|
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 |
|
protectedinherited |
Pointer to the XFEM controller object.
Definition at line 185 of file GeometricCutUserObject.h.
Referenced by GeometricCutUserObject::execute(), GeometricCutUserObject::finalize(), and GeometricCutUserObject::GeometricCutUserObject().