OOFEM 3.0
Loading...
Searching...
No Matches
oofem::PatchIntegrationRule Class Reference

#include <patchintegrationrule.h>

Inheritance diagram for oofem::PatchIntegrationRule:
Collaboration diagram for oofem::PatchIntegrationRule:

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
GaussPointgetIntegrationPoint (int n)
GaussPointfindIntegrationPointClosestTo (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)
ElementgiveElement ()
void setElement (Element *e)
int giveNumber ()
integrationDomain giveIntegrationDomain () const
void clear ()
virtual const IntArraygiveKnotSpan ()
 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< TrianglemTriangles
Protected Attributes inherited from oofem::IntegrationRule
int number
 Number.
Elementelem
 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)

Detailed Description

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.

Author
Erik Svenning (Major modifications)

Definition at line 55 of file patchintegrationrule.h.

Constructor & Destructor Documentation

◆ PatchIntegrationRule()

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.

◆ ~PatchIntegrationRule()

oofem::PatchIntegrationRule::~PatchIntegrationRule ( )
virtual

Destructor.

Definition at line 58 of file patchintegrationrule.C.

Member Function Documentation

◆ giveClassName()

const char * oofem::PatchIntegrationRule::giveClassName ( ) const
inlineoverridevirtual

Reimplemented from oofem::GaussIntegrationRule.

Definition at line 72 of file patchintegrationrule.h.

◆ restoreContext()

void oofem::PatchIntegrationRule::restoreContext ( DataStream & stream,
ContextMode mode )
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.

Parameters
streamInput stream.
modeDetermines amount of info available in stream (state, definition, ...).
Exceptions
ContextIOERRIf error encountered.
Todo
Implement me

Reimplemented from oofem::IntegrationRule.

Definition at line 329 of file patchintegrationrule.C.

References oofem::CIO_IOERR, oofem::DataStream::read(), and THROW_CIOERR.

◆ saveContext()

void oofem::PatchIntegrationRule::saveContext ( DataStream & stream,
ContextMode mode )
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.

Parameters
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
Exceptions
ContextIOERRIf error encountered.
Todo
Implement me

Reimplemented from oofem::IntegrationRule.

Definition at line 308 of file patchintegrationrule.C.

References oofem::CIO_IOERR, OOFEM_ERROR, THROW_CIOERR, and oofem::DataStream::write().

◆ SetUpPointsOnTriangle()

◆ SetUpPointsOnWedge()

int oofem::PatchIntegrationRule::SetUpPointsOnWedge ( int nPointsTri,
int nPointsDepth,
MaterialMode mode )
overridevirtual

Member Data Documentation

◆ mTriangles

std :: vector< Triangle > oofem::PatchIntegrationRule::mTriangles
protected

◆ mTriInterp

FEI2dTrLin oofem::PatchIntegrationRule::mTriInterp
staticprotected

Definition at line 62 of file patchintegrationrule.h.

Referenced by SetUpPointsOnTriangle(), and SetUpPointsOnWedge().

◆ mTriInterpQuad

FEI3dTrQuad oofem::PatchIntegrationRule::mTriInterpQuad
staticprotected

Definition at line 63 of file patchintegrationrule.h.


The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011