|
OOFEM 3.0
|
#include <patchintegrationrule.h>
Public Member Functions | |
| PatchIntegrationRule (int n, Element *e, const std ::vector< Triangle > &iTriangles) | |
| Constructor. | |
| virtual | ~PatchIntegrationRule () |
| Destructor. | |
| const char * | giveClassName () const override |
| int | SetUpPointsOnTriangle (int nPoints, MaterialMode mode) override |
| int | SetUpPointsOnWedge (int nPointsTri, int nPointsDepth, MaterialMode mode) override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| Public Member Functions inherited from oofem::GaussIntegrationRule | |
| GaussIntegrationRule (int n, Element *e, int startIndx, int endIndx, bool dynamic=false) | |
| GaussIntegrationRule (int n, Element *e) | |
| virtual | ~GaussIntegrationRule () |
| Destructor. | |
| IntegrationRuleType | giveIntegrationRuleType () const override |
| void | initializeFrom (InputRecord &ir) override |
| int | getRequiredNumberOfIntegrationPoints (integrationDomain dType, int approxOrder) override |
| int | SetUpPointsOnLine (int nPoints, MaterialMode mode) override |
| int | SetUpPointsOnSquare (int nPoints, MaterialMode mode) override |
| int | SetUpPointsOn3dDegShell (int nPointsXY, int nPointsZ, MaterialMode mode) override |
| int | SetUpPointsOn3dDegShellLayers (int nPointsXY, int nPointsZ, MaterialMode mode, const FloatArray &layerThickness) override |
| int | SetUpPointsOnCubeLayers (int nPoints1, int nPoints2, int nPointsDepth, MaterialMode mode, const FloatArray &layerThickness) override |
| int | SetUpPointsOnCube (int nPoints, MaterialMode mode) override |
| int | SetUpPointsOnTetrahedra (int nPoints, MaterialMode mode) override |
| int | SetUpPointsOnWedgeLayers (int nPointsTri, int nPointsDepth, MaterialMode mode, const FloatArray &layerThickness) override |
| int | SetUpPointsOn2DEmbeddedLine (int nPoints, MaterialMode mode, const FloatArray &coord0, const FloatArray &coord1) override |
| Public Member Functions inherited from oofem::IntegrationRule | |
| std::vector< GaussPoint * >::iterator | begin () |
| std::vector< GaussPoint * >::iterator | end () |
| IntegrationRule (int n, Element *e, int startIndx, int endIndx, bool dynamic) | |
| IntegrationRule (int n, Element *e) | |
| virtual | ~IntegrationRule () |
| Destructor. | |
| int | giveNumberOfIntegrationPoints () const |
| GaussPoint * | getIntegrationPoint (int n) |
| GaussPoint * | findIntegrationPointClosestTo (const FloatArray &lcoord) |
| int | getStartIndexOfLocalStrainWhereApply () |
| int | getEndIndexOfLocalStrainWhereApply () |
| int | setUpIntegrationPoints (integrationDomain intdomain, int nPoints, MaterialMode matMode) |
| int | setUpIntegrationPoints (integrationDomain intdomain, int nPointsXY, int nPointsZ, MaterialMode matMode) |
| int | setUpEmbeddedIntegrationPoints (integrationDomain intdomain, int nPoints, MaterialMode matMode, const std ::vector< FloatArray > &coords) |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| void | updateYourself (TimeStep *tStep) |
| Element * | giveElement () |
| void | setElement (Element *e) |
| int | giveNumber () |
| integrationDomain | giveIntegrationDomain () const |
| void | clear () |
| virtual const IntArray * | giveKnotSpan () |
| Returns receiver sub patch indices (if apply). | |
| std::string | errorInfo (const char *func) const |
| Error printing helper. | |
| int | SetUpPoint (MaterialMode mode) |
Protected Attributes | |
| std ::vector< Triangle > | mTriangles |
| Protected Attributes inherited from oofem::IntegrationRule | |
| int | number |
| Number. | |
| Element * | elem |
| Element which integration rule is coupled to. | |
| integrationDomain | intdomain |
| Integration domain. | |
| std::vector< GaussPoint * > | gaussPoints |
| Array containing integration points. | |
| int | firstLocalStrainIndx |
| int | lastLocalStrainIndx |
| bool | isDynamic |
Static Protected Attributes | |
| static FEI2dTrLin | mTriInterp |
| static FEI3dTrQuad | mTriInterpQuad |
Additional Inherited Members | |
| Static Public Member Functions inherited from oofem::GaussIntegrationRule | |
| static void | giveTetCoordsAndWeights (int nPoints, FloatArray &coords_xi1, FloatArray &coords_xi2, FloatArray &coords_xi3, FloatArray &weights) |
| static void | giveTriCoordsAndWeights (int nPoints, FloatArray &coords_xi1, FloatArray &coords_xi2, FloatArray &weights) |
| static void | giveLineCoordsAndWeights (int nPoints, FloatArray &coords_xi, FloatArray &weights) |
PatchIntegrationRule provides integration over a triangle patch. Input to the constructor is: -int n: number of quadrature points per triangle. -Element *e: parent element pointer -iTriangles: array of triangles describing the subdivision of the element.
Definition at line 55 of file patchintegrationrule.h.
| oofem::PatchIntegrationRule::PatchIntegrationRule | ( | int | n, |
| Element * | e, | ||
| const std ::vector< Triangle > & | iTriangles ) |
Constructor.
Definition at line 53 of file patchintegrationrule.C.
References oofem::GaussIntegrationRule::GaussIntegrationRule(), and mTriangles.
|
virtual |
Destructor.
Definition at line 58 of file patchintegrationrule.C.
|
inlineoverridevirtual |
Reimplemented from oofem::GaussIntegrationRule.
Definition at line 72 of file patchintegrationrule.h.
|
overridevirtual |
Restores receiver's context to stream. Calls restoreContext service for all receiver's integration points. Note: does not call the FEMComponent::restoreContext service, in order not to write class id info for each integration rule.
| stream | Input stream. |
| mode | Determines amount of info available in stream (state, definition, ...). |
| ContextIOERR | If error encountered. |
Reimplemented from oofem::IntegrationRule.
Definition at line 329 of file patchintegrationrule.C.
References oofem::CIO_IOERR, oofem::DataStream::read(), and THROW_CIOERR.
|
overridevirtual |
Saves receiver's context to stream. Calls saveContext service for all receiver's integration points. Note: does not call the FEMComponent::saveContext service, in order not to write class id info for each integration rule.
| stream | Output stream. |
| mode | Determines amount of info required in stream (state, definition, ...). |
| ContextIOERR | If error encountered. |
Reimplemented from oofem::IntegrationRule.
Definition at line 308 of file patchintegrationrule.C.
References oofem::CIO_IOERR, OOFEM_ERROR, THROW_CIOERR, and oofem::DataStream::write().
|
overridevirtual |
Sets up receiver's integration points on triangular (area coords) integration domain. Default implementation does not sets up any integration points and returns 0. Must be overloaded by derived classes.
Reimplemented from oofem::GaussIntegrationRule.
Definition at line 65 of file patchintegrationrule.C.
References oofem::FloatArray::at(), oofem::IntegrationRule::elem, oofem::IntegrationRule::firstLocalStrainIndx, oofem::IntegrationRule::gaussPoints, oofem::EngngModel::giveCurrentStep(), oofem::FEMComponent::giveDomain(), oofem::Domain::giveEngngModel(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::IntegrationRule::giveNumberOfIntegrationPoints(), oofem::TimeStep::giveTargetTime(), oofem::GaussIntegrationRule::giveTriCoordsAndWeights(), oofem::XfemManager::giveVtkDebug(), oofem::GaussPoint::giveWeight(), oofem::IntegrationRule::lastLocalStrainIndx, mTriangles, mTriInterp, oofem::GaussPoint::setGlobalCoordinates(), oofem::GaussPoint::setNaturalCoordinates(), oofem::GaussPoint::setSubPatchCoordinates(), oofem::GaussPoint::setWeight(), and oofem::Vec2().
|
overridevirtual |
Sets up receiver's integration points on a wedge integration domain. Default implementation does not sets up any integration points and returns 0. Must be overloaded by derived classes.
| nPointsTri | Number of points over the triangle cross-section. |
| nPointsDepth | Number of points over the depth. |
Reimplemented from oofem::GaussIntegrationRule.
Definition at line 192 of file patchintegrationrule.C.
References oofem::FloatArray::at(), oofem::IntegrationRule::elem, oofem::IntegrationRule::firstLocalStrainIndx, oofem::IntegrationRule::gaussPoints, oofem::Triangle::getArea(), oofem::EngngModel::giveCurrentStep(), oofem::FEMComponent::giveDomain(), oofem::Domain::giveEngngModel(), oofem::GaussIntegrationRule::giveLineCoordsAndWeights(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::BasicGeometry::giveNrVertices(), oofem::IntegrationRule::giveNumberOfIntegrationPoints(), oofem::TimeStep::giveTargetTime(), oofem::GaussIntegrationRule::giveTriCoordsAndWeights(), oofem::BasicGeometry::giveVertex(), oofem::XfemManager::giveVtkDebug(), oofem::IntegrationRule::lastLocalStrainIndx, mTriangles, mTriInterp, oofem::GaussPoint::setGlobalCoordinates(), oofem::GaussPoint::setNaturalCoordinates(), oofem::GaussPoint::setSubPatchCoordinates(), and oofem::Vec3().
|
protected |
Definition at line 58 of file patchintegrationrule.h.
Referenced by PatchIntegrationRule(), SetUpPointsOnTriangle(), and SetUpPointsOnWedge().
|
staticprotected |
Definition at line 62 of file patchintegrationrule.h.
Referenced by SetUpPointsOnTriangle(), and SetUpPointsOnWedge().
|
staticprotected |
Definition at line 63 of file patchintegrationrule.h.