|
OOFEM 3.0
|
#include <fei1dhermite.h>
Public Member Functions | |
| FEI1dHermite (int coordIndx) | |
| integrationDomain | giveIntegrationDomain (const Element_Geometry_Type) const override |
| const Element_Geometry_Type | giveGeometryType () const override |
| double | giveLength (const FEICellGeometry &cellgeo) const override |
| std::pair< double, FloatMatrixF< 1, 4 > > | evaldNdx (double ksi, const FEICellGeometry &cellgeo) const |
| FloatMatrixF< 1, 4 > | evald2Ndx2 (double ksi, const FEICellGeometry &cellgeo) const |
| void | evalN (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | evaldNdx (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | evald2Ndx2 (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | local2global (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| int | global2local (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | giveTransformationJacobian (const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| int | giveNumberOfNodes (const Element_Geometry_Type) const override |
| Public Member Functions inherited from oofem::FEInterpolation1d | |
| FEInterpolation1d (int o) | |
| int | giveNsd (const Element_Geometry_Type) const override |
| IntArray | boundaryGiveNodes (int boundary, const Element_Geometry_Type) const override |
| void | boundaryEvalN (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | boundaryEvalNormal (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | boundaryGiveTransformationJacobian (int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | boundaryLocal2Global (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| const Element_Geometry_Type | giveBoundaryGeometryType (int boundary) const override |
| void | boundarySurfaceEvalN (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | boundarySurfaceEvaldNdx (FloatMatrix &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | boundarySurfaceEvalNormal (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | boundarySurfaceLocal2global (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | boundarySurfaceGiveTransformationJacobian (int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| IntArray | boundarySurfaceGiveNodes (int boundary, const Element_Geometry_Type, bool includeHierarchical=false) const override |
| void | boundaryEdgeEvalN (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | boundaryEdgeEvalNormal (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| double | boundaryEdgeGiveTransformationJacobian (int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | boundaryEdgeLocal2Global (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| std::unique_ptr< IntegrationRule > | giveIntegrationRule (int order, const Element_Geometry_Type) const override |
| std::unique_ptr< IntegrationRule > | giveBoundaryIntegrationRule (int order, int boundary, const Element_Geometry_Type) const override |
| std::unique_ptr< IntegrationRule > | giveBoundaryEdgeIntegrationRule (int order, int boundary, const Element_Geometry_Type) const override |
| Public Member Functions inherited from oofem::FEInterpolation | |
| FEInterpolation (int o) | |
| virtual | ~FEInterpolation ()=default |
| virtual void | initializeFrom (InputRecord &ir, ParameterManager &pm, int elnum, int priority) |
| Initializes receiver according to object description stored in input record. | |
| virtual void | postInitialize (ParameterManager &pm, int elnum) |
| int | giveInterpolationOrder () const |
| virtual void | giveCellDofMans (IntArray &nodes, IntArray &internalDofMans, Element *elem) const |
| Returns list of element nodes (and list of internal dof managers) (including on edges and surfaces) defining the approximation. | |
| virtual void | evaldNdxi (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const |
| virtual void | giveLocalNodeCoords (FloatMatrix &answer, const Element_Geometry_Type) const |
| virtual void | giveJacobianMatrixAt (FloatMatrix &jacobianMatrix, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const |
| virtual integrationDomain | giveBoundaryEdgeIntegrationDomain (int boundary, const Element_Geometry_Type) const =0 |
| Returns boundary integration domain. | |
| virtual IntArray | boundaryEdgeGiveNodes (int boundary, const Element_Geometry_Type, bool includeHierarchical=false) const =0 |
| virtual integrationDomain | giveBoundarySurfaceIntegrationDomain (int boundary, const Element_Geometry_Type) const =0 |
| Returns boundary integration domain. | |
| virtual std::unique_ptr< IntegrationRule > | giveBoundarySurfaceIntegrationRule (int order, int boundary, const Element_Geometry_Type) const |
| virtual double | evalNXIntegral (int boundary, const FEICellGeometry &cellgeo) const |
| virtual integrationDomain | giveBoundaryIntegrationDomain (int boundary, const Element_Geometry_Type) const =0 |
| Returns boundary integration domain. | |
| virtual void | surfaceEvaldNdxi (FloatMatrix &answer, const FloatArray &lcoords) const |
| virtual void | surfaceEvald2Ndxi2 (FloatMatrix &answer, const FloatArray &lcoords) const |
| virtual int | giveKnotSpanBasisFuncMask (const IntArray &knotSpan, IntArray &mask) const |
| virtual int | giveNumberOfKnotSpanBasisFunctions (const IntArray &knotSpan) const |
| virtual bool | hasSubPatchFormulation () const |
| virtual const FloatArray * | giveKnotVector () const |
| virtual int | giveNumberOfKnotSpans (int dim) const |
| virtual const FloatArray * | giveKnotValues (int dim) const |
| virtual const IntArray * | giveKnotMultiplicity (int dim) const |
| virtual int | giveNumberOfEdges (const Element_Geometry_Type) const |
| virtual void | initializeCell (Element *e) const |
| std::string | errorInfo (const char *func) const |
Protected Attributes | |
| int | cindx |
| Protected Attributes inherited from oofem::FEInterpolation | |
| int | order = 0 |
Class representing a 1d Hermitian cubic isoparametric interpolation.
Definition at line 45 of file fei1dhermite.h.
|
inline |
Definition at line 51 of file fei1dhermite.h.
References cindx, and oofem::FEInterpolation1d::FEInterpolation1d().
| FloatMatrixF< 1, 4 > oofem::FEI1dHermite::evald2Ndx2 | ( | double | ksi, |
| const FEICellGeometry & | cellgeo ) const |
Definition at line 92 of file fei1dhermite.C.
References giveLength().
|
overridevirtual |
Evaluates the matrix of second derivatives of interpolation functions (shape functions) at given point. These derivatives are in global coordinate system (where the nodal coordinates are defined)
| answer | Contains resulting matrix of derivatives, the member at i,j position contains value of dNi/dxj. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 105 of file fei1dhermite.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), giveLength(), oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
| std::pair< double, FloatMatrixF< 1, 4 > > oofem::FEI1dHermite::evaldNdx | ( | double | ksi, |
| const FEICellGeometry & | cellgeo ) const |
Definition at line 60 of file fei1dhermite.C.
References giveLength().
|
overridevirtual |
Evaluates the matrix of derivatives of interpolation functions (shape functions) at given point. These derivatives are in global coordinate system (where the nodal coordinates are defined)
| answer | Contains resulting matrix of derivatives, the member at i,j position contains value of dNi/dxj. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 74 of file fei1dhermite.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), giveLength(), oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
|
overridevirtual |
Evaluates the array of interpolation functions (shape functions) at given point.
| answer | Contains resulting array of evaluated interpolation functions. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 45 of file fei1dhermite.C.
References oofem::FloatArray::at(), giveLength(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().
Referenced by local2global().
|
inlineoverridevirtual |
Returns the geometry type fo the interpolator.
Implements oofem::FEInterpolation.
Definition at line 54 of file fei1dhermite.h.
|
inlineoverridevirtual |
Returns the integration domain of the interpolator.
Implements oofem::FEInterpolation.
Definition at line 53 of file fei1dhermite.h.
References oofem::_Line.
|
overridevirtual |
Computes the exact length.
| cellgeo | Cell geometry for the element. |
Reimplemented from oofem::FEInterpolation1d.
Definition at line 152 of file fei1dhermite.C.
References oofem::FloatArray::at(), cindx, and oofem::FEICellGeometry::giveVertexCoordinates().
Referenced by evald2Ndx2(), evald2Ndx2(), evaldNdx(), evaldNdx(), evalN(), and giveTransformationJacobian().
|
inlineoverridevirtual |
Returns the number of geometric nodes of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 68 of file fei1dhermite.h.
|
overridevirtual |
Evaluates the determinant of the transformation.
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 144 of file fei1dhermite.C.
References giveLength().
|
overridevirtual |
Evaluates local coordinates from given global ones. If local coordinates cannot be found (generate elements, or point far outside geometry, then the center coordinate will be used as a last resort, and the return value will be zero.
| answer | Contains evaluated local coordinates. |
| gcoords | Array containing global coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 132 of file fei1dhermite.C.
References oofem::FloatArray::at(), cindx, oofem::clamp(), oofem::FEICellGeometry::giveVertexCoordinates(), and oofem::FloatArray::resize().
|
overridevirtual |
Evaluates global coordinates from given local ones.
| answer | Contains resulting global coordinates. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 120 of file fei1dhermite.C.
References oofem::FloatArray::at(), cindx, evalN(), oofem::FEICellGeometry::giveVertexCoordinates(), and oofem::FloatArray::resize().
|
protected |
Definition at line 48 of file fei1dhermite.h.
Referenced by FEI1dHermite(), giveLength(), global2local(), and local2global().