#include <XFEMCutElem.h>
Public Member Functions | |
| XFEMCutElem (Elem *elem, unsigned int n_qpoints, unsigned int n_sides) | |
| Constructor initializes XFEMCutElem object. More... | |
| virtual | ~XFEMCutElem () |
| void | setQuadraturePointsAndWeights (const std::vector< Point > &qp_points, const std::vector< Real > &qp_weights) |
| virtual void | computePhysicalVolumeFraction ()=0 |
| Computes the volume fraction of the element fragment. More... | |
| Real | getPhysicalVolumeFraction () const |
| Returns the volume fraction of the element fragment. More... | |
| virtual void | computePhysicalFaceAreaFraction (unsigned int side)=0 |
| Computes the surface area fraction of the element side. More... | |
| Real | getPhysicalFaceAreaFraction (unsigned int side) const |
| Returns the surface area fraction of the element side. More... | |
| virtual void | computeMomentFittingWeights ()=0 |
| Real | getMomentFittingWeight (unsigned int i_qp) const |
| virtual Point | getCutPlaneOrigin (unsigned int plane_id, MeshBase *displaced_mesh=nullptr) const =0 |
| virtual Point | getCutPlaneNormal (unsigned int plane_id, MeshBase *displaced_mesh=nullptr) const =0 |
| virtual void | getCrackTipOriginAndDirection (unsigned tip_id, Point &origin, Point &direction) const =0 |
| virtual void | getFragmentFaces (std::vector< std::vector< Point >> &frag_faces, MeshBase *displaced_mesh=nullptr) const =0 |
| virtual const EFAElement * | getEFAElement () const =0 |
| virtual unsigned int | numCutPlanes () const =0 |
| 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 |
| virtual void | getIntersectionInfo (unsigned int plane_id, Point &normal, std::vector< Point > &intersectionPoints, MeshBase *displaced_mesh=nullptr) const =0 |
Protected Member Functions | |
| virtual Point | getNodeCoordinates (EFANode *node, MeshBase *displaced_mesh=nullptr) const =0 |
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... | |
Definition at line 29 of file XFEMCutElem.h.
Constructor initializes XFEMCutElem object.
| elem | The element on which XFEMCutElem is built |
| n_qpoints | The number of quadrature points |
| n_sides | The number of sides which the element has |
Definition at line 22 of file XFEMCutElem.C.
|
virtual |
Definition at line 48 of file XFEMCutElem.C.
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by computeXFEMWeights().
Computes the surface area fraction of the element side.
| side | The side of the element |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by computeXFEMFaceWeights().
|
pure virtual |
Computes the volume fraction of the element fragment.
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by computeXFEMWeights(), and XFEM::getPhysicalVolumeFraction().
| void XFEMCutElem::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.
| 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 getFaceWeightMultipliers().
| void XFEMCutElem::computeXFEMWeights | ( | QBase * | qrule, |
| Xfem::XFEM_QRULE | xfem_qrule, | ||
| const MooseArray< Point > & | q_points | ||
| ) |
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 getWeightMultipliers().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by XFEM::storeCrackTipOriginAndDirection().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by XFEM::getCutPlane(), and isPointPhysical().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by XFEM::getCutPlane(), and isPointPhysical().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by XFEM::buildEFAMesh(), XFEM::getCutPlane(), XFEM::getPhysicalVolumeFraction(), XFEM::isElemCut(), and XFEM::storeCrackTipOriginAndDirection().
| void XFEMCutElem::getFaceWeightMultipliers | ( | MooseArray< Real > & | face_weights, |
| QBase * | qrule, | ||
| Xfem::XFEM_QRULE | xfem_qrule, | ||
| const MooseArray< Point > & | q_points, | ||
| unsigned int | side | ||
| ) |
Definition at line 77 of file XFEMCutElem.C.
Referenced by XFEM::getXFEMFaceWeights().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by XFEM::getFragmentFaces().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by XFEM::getXFEMIntersectionInfo().
|
protectedpure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
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 computeXFEMFaceWeights().
| Real XFEMCutElem::getPhysicalVolumeFraction | ( | ) | const |
Returns the volume fraction of the element fragment.
Definition at line 51 of file XFEMCutElem.C.
Referenced by computeXFEMWeights(), and XFEM::getPhysicalVolumeFraction().
| void XFEMCutElem::getWeightMultipliers | ( | MooseArray< Real > & | weights, |
| QBase * | qrule, | ||
| Xfem::XFEM_QRULE | xfem_qrule, | ||
| const MooseArray< Point > & | q_points | ||
| ) |
Definition at line 63 of file XFEMCutElem.C.
Referenced by XFEM::getXFEMWeights().
| bool XFEMCutElem::isPointPhysical | ( | const Point & | p | ) | const |
Definition at line 193 of file XFEMCutElem.C.
Referenced by computeXFEMWeights(), XFEM::healMesh(), and XFEM::isPointInsidePhysicalDomain().
|
pure virtual |
Implemented in XFEMCutElem2D, and XFEMCutElem3D.
Referenced by isPointPhysical().
| void XFEMCutElem::setQuadraturePointsAndWeights | ( | const std::vector< Point > & | qp_points, |
| const std::vector< Real > & | qp_weights | ||
| ) |
|
protected |
Definition at line 49 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computePhysicalFaceAreaFraction(), XFEMCutElem3D::computePhysicalFaceAreaFraction(), and XFEMCutElem().
|
protected |
Definition at line 48 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computePhysicalVolumeFraction(), XFEMCutElem3D::computePhysicalVolumeFraction(), and XFEMCutElem().
|
protected |
Definition at line 53 of file XFEMCutElem.h.
Referenced by computeXFEMFaceWeights(), getFaceWeightMultipliers(), and XFEMCutElem().
|
protected |
Definition at line 52 of file XFEMCutElem.h.
Referenced by computeXFEMWeights(), and getWeightMultipliers().
|
protected |
Definition at line 42 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), and XFEMCutElem().
|
protected |
Definition at line 43 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), XFEMCutElem3D::computeMomentFittingWeights(), and computeXFEMWeights().
|
protected |
Definition at line 44 of file XFEMCutElem.h.
Referenced by XFEMCutElem().
|
protected |
face quadrature weights from surface area fraction
Definition at line 57 of file XFEMCutElem.h.
Referenced by computeXFEMFaceWeights(), and getFaceWeightMultipliers().
|
protected |
quadrature weights from volume fraction and moment fitting
Definition at line 55 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), XFEMCutElem3D::computeMomentFittingWeights(), computeXFEMWeights(), and getWeightMultipliers().
|
protected |
Definition at line 45 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), XFEMCutElem3D::getNodeCoordinates(), XFEMCutElem2D::getNodeCoordinates(), and XFEMCutElem().
|
protected |
Definition at line 51 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computePhysicalFaceAreaFraction(), XFEMCutElem3D::computePhysicalFaceAreaFraction(), getPhysicalFaceAreaFraction(), and XFEMCutElem().
|
protected |
Definition at line 50 of file XFEMCutElem.h.
Referenced by XFEMCutElem2D::computeMomentFittingWeights(), XFEMCutElem3D::computeMomentFittingWeights(), XFEMCutElem3D::computePhysicalVolumeFraction(), XFEMCutElem2D::computePhysicalVolumeFraction(), computeXFEMWeights(), and getPhysicalVolumeFraction().
|
protected |
Definition at line 46 of file XFEMCutElem.h.
Referenced by computeXFEMWeights(), and XFEMCutElem2D::solveMomentFitting().
|
protected |
Definition at line 47 of file XFEMCutElem.h.
Referenced by computeXFEMWeights(), and XFEMCutElem2D::solveMomentFitting().
1.8.14