#include <XFEMCutElem3D.h>
Public Member Functions | |
XFEMCutElem3D (Elem *elem, const EFAElement3D *const CEMelem, unsigned int n_qpoints, unsigned int n_sides) | |
Constructor initializes XFEMCutElem3D object. More... | |
~XFEMCutElem3D () | |
virtual void | computePhysicalVolumeFraction () |
Computes the volume fraction of the element fragment. More... | |
virtual void | computePhysicalFaceAreaFraction (unsigned int side) |
Computes the surface area fraction of the element side. More... | |
virtual void | computeMomentFittingWeights () |
virtual Point | getCutPlaneOrigin (unsigned int plane_id, MeshBase *displaced_mesh=nullptr) const |
virtual Point | getCutPlaneNormal (unsigned int plane_id, MeshBase *displaced_mesh=nullptr) const |
virtual void | getCrackTipOriginAndDirection (unsigned tip_id, Point &origin, Point &direction) const |
virtual void | getFragmentFaces (std::vector< std::vector< Point >> &frag_faces, MeshBase *displaced_mesh=nullptr) const |
virtual const EFAElement * | getEFAElement () const |
virtual unsigned int | numCutPlanes () const |
virtual void | getIntersectionInfo (unsigned int plane_id, Point &normal, std::vector< Point > &intersectionPoints, MeshBase *displaced_mesh=nullptr) const |
void | setQuadraturePointsAndWeights (const std::vector< Point > &qp_points, const std::vector< Real > &qp_weights) |
Real | getPhysicalVolumeFraction () const |
Returns the volume fraction of the element fragment. More... | |
Real | getPhysicalFaceAreaFraction (unsigned int side) const |
Returns the surface area fraction of the element side. More... | |
Real | getMomentFittingWeight (unsigned int i_qp) const |
void | getWeightMultipliers (MooseArray< Real > &weights, QBase *qrule, Xfem::XFEM_QRULE xfem_qrule, const MooseArray< Point > &q_points) |
void | getFaceWeightMultipliers (MooseArray< Real > &face_weights, QBase *qrule, Xfem::XFEM_QRULE xfem_qrule, const MooseArray< Point > &q_points, unsigned int side) |
void | computeXFEMWeights (QBase *qrule, Xfem::XFEM_QRULE xfem_qrule, const MooseArray< Point > &q_points) |
Computes integration weights for the cut element. More... | |
void | computeXFEMFaceWeights (QBase *qrule, Xfem::XFEM_QRULE xfem_qrule, const MooseArray< Point > &q_points, unsigned int side) |
Computes face integration weights for the cut element side. More... | |
bool | isPointPhysical (const Point &p) const |
Protected Attributes | |
unsigned int | _n_nodes |
unsigned int | _n_qpoints |
unsigned int | _n_sides |
std::vector< Node * > | _nodes |
std::vector< Point > | _qp_points |
std::vector< Real > | _qp_weights |
Real | _elem_volume |
std::vector< Real > | _elem_side_area |
Real | _physical_volfrac |
std::vector< Real > | _physical_areafrac |
bool | _have_weights |
std::vector< bool > | _have_face_weights |
std::vector< Real > | _new_weights |
quadrature weights from volume fraction and moment fitting More... | |
std::vector< std::vector< Real > > | _new_face_weights |
face quadrature weights from surface area fraction More... | |
Private Member Functions | |
virtual Point | getNodeCoordinates (EFANode *node, MeshBase *displaced_mesh=nullptr) const |
Private Attributes | |
EFAElement3D | _efa_elem3d |
Definition at line 24 of file XFEMCutElem3D.h.
XFEMCutElem3D::XFEMCutElem3D | ( | Elem * | elem, |
const EFAElement3D *const | CEMelem, | ||
unsigned int | n_qpoints, | ||
unsigned int | n_sides | ||
) |
Constructor initializes XFEMCutElem3D object.
elem | The element on which XFEMCutElem3D is built |
CEMelem | The EFAFragment3D object that belongs to XFEMCutElem3D |
n_qpoints | The number of quadrature points |
n_sides | The number of sides which the element has |
Definition at line 23 of file XFEMCutElem3D.C.
XFEMCutElem3D::~XFEMCutElem3D | ( | ) |
Definition at line 33 of file XFEMCutElem3D.C.
|
virtual |
Implements XFEMCutElem.
Definition at line 152 of file XFEMCutElem3D.C.
Referenced by XFEMCutElem3D().
Computes the surface area fraction of the element side.
side | The side of the element |
find a fragment surface which is covered by element side
Implements XFEMCutElem.
Definition at line 108 of file XFEMCutElem3D.C.
|
virtual |
Computes the volume fraction of the element fragment.
Implements XFEMCutElem.
Definition at line 63 of file XFEMCutElem3D.C.
Referenced by XFEMCutElem3D().
|
inherited |
Computes face integration weights for the cut element side.
qrule | The standard MOOSE face quadrature rule |
xfem_qrule | The integration scheme for the cut element (We use surface area fraction only) |
q_points | The quadrature points for the element side |
side | The side of the element |
Definition at line 92 of file XFEMCutElem.C.
Referenced by XFEMCutElem::getFaceWeightMultipliers().
|
inherited |
Computes integration weights for the cut element.
qrule | The standard MOOSE quadrature rule |
xfem_qrule | The integration scheme for the cut element |
q_points | The quadrature points for the element |
Definition at line 109 of file XFEMCutElem.C.
Referenced by XFEMCutElem::getWeightMultipliers().
|
virtual |
Implements XFEMCutElem.
Definition at line 232 of file XFEMCutElem3D.C.
|
virtual |
Implements XFEMCutElem.
Definition at line 190 of file XFEMCutElem3D.C.
Referenced by getIntersectionInfo().
|
virtual |
Implements XFEMCutElem.
Definition at line 159 of file XFEMCutElem3D.C.
|
virtual |
|
inherited |
Definition at line 77 of file XFEMCutElem.C.
Referenced by XFEM::getXFEMFaceWeights().
|
virtual |
Implements XFEMCutElem.
Definition at line 241 of file XFEMCutElem3D.C.
|
virtual |
Implements XFEMCutElem.
Definition at line 265 of file XFEMCutElem3D.C.
|
privatevirtual |
Implements XFEMCutElem.
Definition at line 36 of file XFEMCutElem3D.C.
Referenced by computePhysicalFaceAreaFraction(), computePhysicalVolumeFraction(), getCutPlaneNormal(), getCutPlaneOrigin(), and getIntersectionInfo().
Returns the surface area fraction of the element side.
side | The side of the element |
Definition at line 57 of file XFEMCutElem.C.
Referenced by XFEMCutElem::computeXFEMFaceWeights().
|
inherited |
Returns the volume fraction of the element fragment.
Definition at line 51 of file XFEMCutElem.C.
Referenced by XFEMCutElem::computeXFEMWeights(), and XFEM::getPhysicalVolumeFraction().
|
inherited |
Definition at line 63 of file XFEMCutElem.C.
Referenced by XFEM::getXFEMWeights().
|
inherited |
Definition at line 193 of file XFEMCutElem.C.
Referenced by XFEMCutElem::computeXFEMWeights(), XFEM::healMesh(), and XFEM::isPointInsidePhysicalDomain().
|
virtual |
Implements XFEMCutElem.
Definition at line 255 of file XFEMCutElem3D.C.
|
inherited |
|
private |
Definition at line 41 of file XFEMCutElem3D.h.
Referenced by computePhysicalFaceAreaFraction(), computePhysicalVolumeFraction(), getCutPlaneNormal(), getCutPlaneOrigin(), getEFAElement(), getIntersectionInfo(), getNodeCoordinates(), and numCutPlanes().
|
protectedinherited |
Definition at line 49 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computePhysicalFaceAreaFraction(), computePhysicalFaceAreaFraction(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 48 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computePhysicalVolumeFraction(), computePhysicalVolumeFraction(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 53 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMFaceWeights(), XFEMCutElem::getFaceWeightMultipliers(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 52 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMWeights(), and XFEMCutElem::getWeightMultipliers().
|
protectedinherited |
Definition at line 42 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 43 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), computeMomentFittingWeights(), and XFEMCutElem::computeXFEMWeights().
|
protectedinherited |
Definition at line 44 of file XFEMCutElem.h.
Referenced by XFEMCutElem::XFEMCutElem().
|
protectedinherited |
face quadrature weights from surface area fraction
Definition at line 57 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMFaceWeights(), and XFEMCutElem::getFaceWeightMultipliers().
|
protectedinherited |
quadrature weights from volume fraction and moment fitting
Definition at line 55 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), computeMomentFittingWeights(), XFEMCutElem::computeXFEMWeights(), and XFEMCutElem::getWeightMultipliers().
|
protectedinherited |
Definition at line 45 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), getNodeCoordinates(), XFEMCutElem2D::getNodeCoordinates(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 51 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computePhysicalFaceAreaFraction(), computePhysicalFaceAreaFraction(), XFEMCutElem::getPhysicalFaceAreaFraction(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
|
protectedinherited |
Definition at line 46 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMWeights(), and XFEMCutElem2D::solveMomentFitting().
|
protectedinherited |
Definition at line 47 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMWeights(), and XFEMCutElem2D::solveMomentFitting().