OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing a general abstraction for cell geometry. More...
#include <feinterpol.h>
Public Member Functions | |
FEICellGeometry () | |
virtual | ~FEICellGeometry () |
virtual int | giveNumberOfVertices () const =0 |
virtual const FloatArray * | giveVertexCoordinates (int i) const =0 |
Class representing a general abstraction for cell geometry.
The motivation for this class is that the interpolation classes require to pass underlying cell geometry. The aim here is to hide and encapsulate as much as possible from actual cell geometry specification, elements describe its geometry using nodes, which are independent objects, some cells may be directly specified using vertices, etc.
Definition at line 62 of file feinterpol.h.
|
inline |
Definition at line 65 of file feinterpol.h.
|
inlinevirtual |
Definition at line 66 of file feinterpol.h.
|
pure virtual |
|
pure virtual |
Implemented in oofem::FEIVertexListGeometryWrapper, oofem::UnstructuredGridField::Cell::FEICellGeometryWrapper, oofem::FEIElementGeometryWrapper, oofem::FEIVoidCellGeometry, and oofem::FEIIGAElementGeometryWrapper.
Referenced by oofem::FEInterpolation1d::boundaryLocal2Global(), oofem::FEI2dTrConst::edgeComputeLength(), oofem::FEI2dQuadConst::edgeComputeLength(), oofem::FEI2dTrLin::edgeComputeLength(), oofem::FEI2dQuadLin::edgeComputeLength(), oofem::FEI3dHexaLin::edgeComputeLength(), oofem::FEI2dLineLin::edgeComputeLength(), oofem::FEI3dTetLin::edgeComputeLength(), oofem::FEI2dTrQuad::edgeEvaldNds(), oofem::FEI2dLineLin::edgeEvaldNds(), oofem::FEI2dLineQuad::edgeEvaldNds(), oofem::FEI3dTetLin::edgeEvaldNdx(), oofem::FEI3dHexaQuad::edgeEvaldNdx(), oofem::FEI2dQuadLin::edgeEvalNormal(), oofem::FEI2dTrQuad::edgeEvalNormal(), oofem::FEI2dTrLin::edgeEvalNormal(), oofem::FEI2dLineHermite::edgeEvalNormal(), oofem::FEI2dLineLin::edgeEvalNormal(), oofem::FEI2dLineQuad::edgeEvalNormal(), oofem::FEI2dQuadQuad::edgeEvalNormal(), oofem::FEI3dTrQuad::edgeGiveTransformationJacobian(), oofem::FEI2dTrLinAxi::edgeGiveTransformationJacobian(), oofem::FEI3dHexaQuad::edgeGiveTransformationJacobian(), oofem::FEI2dQuadLinAxi::edgeGiveTransformationJacobian(), oofem::FEI2dQuadQuadAxi::edgeGiveTransformationJacobian(), oofem::FEI3dHexaLin::edgeLocal2global(), oofem::FEI3dTetLin::edgeLocal2global(), oofem::FEI2dTrConst::edgeLocal2global(), oofem::FEI2dTrQuad::edgeLocal2global(), oofem::FEI2dQuadLin::edgeLocal2global(), oofem::FEI3dTrLin::edgeLocal2global(), oofem::FEI2dTrLin::edgeLocal2global(), oofem::FEI3dWedgeQuad::edgeLocal2global(), oofem::FEI3dTrQuad::edgeLocal2global(), oofem::FEI3dWedgeLin::edgeLocal2global(), oofem::FEI3dTetQuad::edgeLocal2global(), oofem::FEI2dQuadQuad::edgeLocal2global(), oofem::FEI3dHexaQuad::edgeLocal2global(), oofem::FEI2dTrQuad::evald2Ndx2(), oofem::NURBSInterpolation::evaldNdx(), oofem::FEI3dHexaLin::evaldNdx(), oofem::FEI3dTetLin::evaldNdx(), oofem::FEI2dTrQuad::evaldNdx(), oofem::FEI2dTrLin::evaldNdx(), oofem::FEI2dQuadLin::evaldNdx(), oofem::FEI3dLineLin::evaldNdx(), oofem::FEI3dTetQuad::evaldNdx(), oofem::FEI3dWedgeQuad::evaldNdx(), oofem::FEI1dLin::evaldNdx(), oofem::FEI3dWedgeLin::evaldNdx(), oofem::FEI2dQuadQuad::evaldNdx(), oofem::FEI2dLineHermite::evaldNdx(), oofem::TSplineInterpolation::evaldNdx(), oofem::FEI3dHexaQuad::evaldNdx(), oofem::BSplineInterpolation::evaldNdx(), oofem::NURBSInterpolation::evalN(), oofem::TSplineInterpolation::evalN(), oofem::FEI3dHexaTriQuad::evalNXIntegral(), oofem::FEI2dTrQuad::evalNXIntegral(), oofem::FEI2dQuadLin::evalNXIntegral(), oofem::FEI2dTrLin::evalNXIntegral(), oofem::FEI2dLineQuad::evalNXIntegral(), oofem::FEI3dHexaLin::evalNXIntegral(), oofem::FEI2dLineLin::evalNXIntegral(), oofem::FEI3dTetLin::evalNXIntegral(), oofem::FEI2dQuadQuad::evalNXIntegral(), oofem::FEI3dTetQuad::evalNXIntegral(), oofem::FEI3dHexaQuad::evalNXIntegral(), oofem::FEI2dQuadLin::giveArea(), oofem::FEI2dTrQuad::giveArea(), oofem::FEI2dTrLin::giveArea(), oofem::FEI2dQuadQuad::giveArea(), oofem::FEI3dTrLin::giveArea(), oofem::FEI3dTrQuad::giveArea(), oofem::FEI3dWedgeLin::giveCharacteristicLength(), oofem::FEI3dTetQuad::giveCharacteristicLength(), oofem::FEI2dQuadQuad::giveCharacteristicLength(), oofem::FEI3dHexaQuad::giveCharacteristicLength(), oofem::NURBSInterpolation::giveJacobianMatrixAt(), oofem::FEI3dWedgeLin::giveJacobianMatrixAt(), oofem::FEInterpolation2d::giveJacobianMatrixAt(), oofem::FEI3dHexaLin::giveJacobianMatrixAt(), oofem::TSplineInterpolation::giveJacobianMatrixAt(), oofem::FEI3dWedgeQuad::giveJacobianMatrixAt(), oofem::FEI2dLineQuad::giveJacobianMatrixAt(), oofem::FEI3dTetQuad::giveJacobianMatrixAt(), oofem::FEI3dHexaQuad::giveJacobianMatrixAt(), oofem::BSplineInterpolation::giveJacobianMatrixAt(), oofem::FEI3dLineLin::giveLength(), oofem::FEI1dHermite::giveLength(), oofem::FEI2dLineHermite::giveLength(), oofem::FEI1dLin::giveLength(), oofem::FEI1dQuad::giveLength(), oofem::FEI3dTetLin::giveTransformationJacobian(), oofem::FEI2dTrConst::giveTransformationJacobian(), oofem::FEI2dTrLin::giveTransformationJacobian(), oofem::FEI1dLin::giveTransformationJacobian(), oofem::FEI1dQuad::giveTransformationJacobian(), oofem::FEI2dLineHermite::giveTransformationJacobian(), oofem::FEI2dLineLin::giveTransformationJacobian(), oofem::FEI2dLineQuad::giveTransformationJacobian(), oofem::FEI2dTrLinAxi::giveTransformationJacobian(), oofem::FEI2dQuadLinAxi::giveTransformationJacobian(), oofem::FEI2dQuadQuadAxi::giveTransformationJacobian(), oofem::FEI3dTetQuad::giveVolume(), oofem::FEI3dHexaLin::global2local(), oofem::FEI3dTetLin::global2local(), oofem::FEI2dTrConst::global2local(), oofem::FEI2dTrLin::global2local(), oofem::FEI2dQuadLin::global2local(), oofem::FEI2dLineLin::global2local(), oofem::FEI2dLineQuad::global2local(), oofem::FEI3dLineLin::global2local(), oofem::FEI3dTrQuad::global2local(), oofem::FEI1dHermite::global2local(), oofem::FEI2dLineHermite::global2local(), oofem::FEI1dLin::global2local(), oofem::FEI1dQuad::global2local(), oofem::NURBSInterpolation::local2global(), oofem::FEI3dTetLin::local2global(), oofem::FEI3dHexaLin::local2global(), oofem::FEI2dTrConst::local2global(), oofem::FEI2dQuadConst::local2global(), oofem::FEI2dTrLin::local2global(), oofem::FEI2dTrQuad::local2global(), oofem::FEI2dQuadLin::local2global(), oofem::FEI2dLineLin::local2global(), oofem::FEI3dTetQuad::local2global(), oofem::FEI3dTrLin::local2global(), oofem::FEI2dLineQuad::local2global(), oofem::FEI3dLineLin::local2global(), oofem::FEI3dTrQuad::local2global(), oofem::FEI1dHermite::local2global(), oofem::FEI2dLineHermite::local2global(), oofem::FEI1dQuad::local2global(), oofem::FEI3dWedgeQuad::local2global(), oofem::FEI1dLin::local2global(), oofem::FEI3dWedgeLin::local2global(), oofem::FEI2dQuadQuad::local2global(), oofem::TSplineInterpolation::local2global(), oofem::FEI3dHexaQuad::local2global(), oofem::BSplineInterpolation::local2global(), oofem::FEI3dTrLin::surfaceEvalBaseVectorsAt(), oofem::FEI3dTrQuad::surfaceEvalBaseVectorsAt(), oofem::FEI3dHexaTriQuad::surfaceEvalNormal(), oofem::FEI3dHexaLin::surfaceEvalNormal(), oofem::FEI3dTetLin::surfaceEvalNormal(), oofem::FEI3dWedgeQuad::surfaceEvalNormal(), oofem::FEI3dTetQuad::surfaceEvalNormal(), oofem::FEI3dHexaQuad::surfaceEvalNormal(), oofem::FEI3dHexaLin::surfaceLocal2global(), oofem::FEI3dTetLin::surfaceLocal2global(), oofem::FEI3dWedgeQuad::surfaceLocal2global(), oofem::FEI3dTrLin::surfaceLocal2global(), oofem::FEI3dWedgeLin::surfaceLocal2global(), oofem::FEI3dTetQuad::surfaceLocal2global(), oofem::FEI3dTrQuad::surfaceLocal2global(), and oofem::FEI3dHexaQuad::surfaceLocal2global().