#include <XFEMCutElem2D.h>
Public Member Functions | |
XFEMCutElem2D (Elem *elem, const EFAElement2D *const CEMelem, unsigned int n_qpoints, unsigned int n_sides) | |
Constructor initializes XFEMCutElem2D object. More... | |
~XFEMCutElem2D () | |
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 |
void | getPhysicalQuadraturePoints (std::vector< std::vector< Real >> &tsg) |
void | solveMomentFitting (unsigned int nen, unsigned int nqp, std::vector< Point > &elem_nodes, std::vector< std::vector< Real >> &tsg, std::vector< std::vector< Real >> &wsg) |
Private Attributes | |
EFAElement2D | _efa_elem2d |
Definition at line 24 of file XFEMCutElem2D.h.
XFEMCutElem2D::XFEMCutElem2D | ( | Elem * | elem, |
const EFAElement2D *const | CEMelem, | ||
unsigned int | n_qpoints, | ||
unsigned int | n_sides | ||
) |
Constructor initializes XFEMCutElem2D object.
elem | The element on which XFEMCutElem2D is built |
CEMelem | The EFAFragment2D object that belongs to XFEMCutElem2D |
n_qpoints | The number of quadrature points |
n_sides | The number of sides which the element has |
Definition at line 24 of file XFEMCutElem2D.C.
XFEMCutElem2D::~XFEMCutElem2D | ( | ) |
Definition at line 33 of file XFEMCutElem2D.C.
|
virtual |
Implements XFEMCutElem.
Definition at line 105 of file XFEMCutElem2D.C.
Computes the surface area fraction of the element side.
side | The side of the element |
find a fragment edge which is covered by element side
Implements XFEMCutElem.
Definition at line 80 of file XFEMCutElem2D.C.
|
virtual |
Computes the volume fraction of the element fragment.
Implements XFEMCutElem.
Definition at line 63 of file XFEMCutElem2D.C.
Referenced by XFEMCutElem2D().
|
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 180 of file XFEMCutElem2D.C.
|
virtual |
Implements XFEMCutElem.
Definition at line 151 of file XFEMCutElem2D.C.
Referenced by getIntersectionInfo().
|
virtual |
Implements XFEMCutElem.
Definition at line 129 of file XFEMCutElem2D.C.
|
virtual |
|
inherited |
Definition at line 77 of file XFEMCutElem.C.
Referenced by XFEM::getXFEMFaceWeights().
|
virtual |
Implements XFEMCutElem.
Definition at line 220 of file XFEMCutElem2D.C.
|
virtual |
Implements XFEMCutElem.
Definition at line 441 of file XFEMCutElem2D.C.
|
privatevirtual |
Implements XFEMCutElem.
Definition at line 36 of file XFEMCutElem2D.C.
Referenced by computePhysicalFaceAreaFraction(), computePhysicalVolumeFraction(), getCrackTipOriginAndDirection(), getCutPlaneNormal(), getCutPlaneOrigin(), getFragmentFaces(), getIntersectionInfo(), and getPhysicalQuadraturePoints().
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().
Definition at line 252 of file XFEMCutElem2D.C.
Referenced by computeMomentFittingWeights().
|
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 242 of file XFEMCutElem2D.C.
|
inherited |
|
private |
Definition at line 324 of file XFEMCutElem2D.C.
Referenced by computeMomentFittingWeights().
|
private |
Definition at line 41 of file XFEMCutElem2D.h.
Referenced by computeMomentFittingWeights(), computePhysicalFaceAreaFraction(), computePhysicalVolumeFraction(), getCrackTipOriginAndDirection(), getCutPlaneNormal(), getCutPlaneOrigin(), getEFAElement(), getFragmentFaces(), getIntersectionInfo(), getNodeCoordinates(), getPhysicalQuadraturePoints(), and numCutPlanes().
|
protectedinherited |
Definition at line 49 of file XFEMCutElem.h.
Referenced by computePhysicalFaceAreaFraction(), XFEMCutElem3D::computePhysicalFaceAreaFraction(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 48 of file XFEMCutElem.h.
Referenced by computePhysicalVolumeFraction(), XFEMCutElem3D::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 computeMomentFittingWeights(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 43 of file XFEMCutElem.h.
Referenced by computeMomentFittingWeights(), XFEMCutElem3D::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 computeMomentFittingWeights(), XFEMCutElem3D::computeMomentFittingWeights(), XFEMCutElem::computeXFEMWeights(), and XFEMCutElem::getWeightMultipliers().
|
protectedinherited |
Definition at line 45 of file XFEMCutElem.h.
Referenced by computeMomentFittingWeights(), XFEMCutElem3D::getNodeCoordinates(), getNodeCoordinates(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
Definition at line 51 of file XFEMCutElem.h.
Referenced by computePhysicalFaceAreaFraction(), XFEMCutElem3D::computePhysicalFaceAreaFraction(), XFEMCutElem::getPhysicalFaceAreaFraction(), and XFEMCutElem::XFEMCutElem().
|
protectedinherited |
|
protectedinherited |
Definition at line 46 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMWeights(), and solveMomentFitting().
|
protectedinherited |
Definition at line 47 of file XFEMCutElem.h.
Referenced by XFEMCutElem::computeXFEMWeights(), and solveMomentFitting().