|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing a 1d Hermitian cubic isoparametric interpolation. More...
#include <fei1dhermite.h>
Inheritance diagram for oofem::FEI1dHermite:
Collaboration diagram for oofem::FEI1dHermite:Public Member Functions | |
| FEI1dHermite (int coordIndx) | |
| virtual integrationDomain | giveIntegrationDomain () const |
| Returns the integration domain of the interpolator. More... | |
| virtual Element_Geometry_Type | giveGeometryType () const |
| Returns the geometry type fo the interpolator. More... | |
| virtual double | giveLength (const FEICellGeometry &cellgeo) const |
| Computes the exact length. More... | |
| virtual void | evalN (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the array of interpolation functions (shape functions) at given point. More... | |
| virtual double | evaldNdx (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the matrix of derivatives of interpolation functions (shape functions) at given point. More... | |
| virtual void | evald2Ndx2 (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the matrix of second derivatives of interpolation functions (shape functions) at given point. More... | |
| virtual void | local2global (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates global coordinates from given local ones. More... | |
| virtual int | global2local (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates local coordinates from given global ones. More... | |
| virtual double | giveTransformationJacobian (const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the determinant of the transformation. More... | |
| virtual int | giveNumberOfNodes () const |
| Returns the number of geometric nodes of the receiver. More... | |
Public Member Functions inherited from oofem::FEInterpolation1d | |
| FEInterpolation1d (int o) | |
| virtual int | giveNsd () |
| Returns number of spatial dimensions. More... | |
| virtual void | boundaryGiveNodes (IntArray &answer, int boundary) |
| Gives the boundary nodes for requested boundary number. More... | |
| virtual void | boundaryEvalN (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the basis functions on the requested boundary. More... | |
| virtual double | boundaryEvalNormal (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the normal on the requested boundary. More... | |
| virtual double | boundaryGiveTransformationJacobian (int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the determinant of the transformation Jacobian on the requested boundary. More... | |
| virtual void | boundaryLocal2Global (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Maps the local boundary coordinates to global. More... | |
| virtual IntegrationRule * | giveIntegrationRule (int order) |
| Sets up a suitable integration rule for numerical integrating over volume. More... | |
| virtual IntegrationRule * | giveBoundaryIntegrationRule (int order, int boundary) |
| Sets up a suitable integration rule for integrating over the requested boundary. More... | |
| virtual IntegrationRule * | giveBoundaryEdgeIntegrationRule (int order, int boundary) |
| Sets up a suitable integration rule for integrating over the requested boundary. More... | |
| virtual void | boundarySurfaceEvalN (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the array of edge interpolation functions (shape functions) at given point. More... | |
| virtual void | boundarySurfaceEvaldNdx (FloatMatrix &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the matrix of derivatives of edge interpolation functions (shape functions) at given point. More... | |
| virtual double | boundarySurfaceEvalNormal (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the normal out of the surface at given point. More... | |
| virtual void | boundarySurfaceLocal2global (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates edge global coordinates from given local ones. More... | |
| virtual double | boundarySurfaceGiveTransformationJacobian (int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the edge jacobian of transformation between local and global coordinates. More... | |
| virtual void | boundarySurfaceGiveNodes (IntArray &answer, int boundary) |
| Gives the boundary nodes for requested boundary number. More... | |
Public Member Functions inherited from oofem::FEInterpolation | |
| FEInterpolation (int o) | |
| virtual | ~FEInterpolation () |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| Initializes receiver according to object description stored in input record. More... | |
| std::string | errorInfo (const char *func) const |
| int | giveInterpolationOrder () |
| Returns the interpolation order. More... | |
| virtual void | evaldNdxi (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Evaluates the matrix of derivatives of interpolation functions (shape functions) at given point. More... | |
| virtual void | giveLocalNodeCoords (FloatMatrix &answer) |
| Returns a matrix containing the local coordinates for each node corresponding to the interpolation. More... | |
| virtual void | giveJacobianMatrixAt (FloatMatrix &jacobianMatrix, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
| Gives the jacobian matrix at the local coordinates. More... | |
| virtual void | boundaryEdgeEvalN (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo)=0 |
| Evaluates the basis functions on the requested boundary. More... | |
| virtual double | boundaryEdgeGiveTransformationJacobian (int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo)=0 |
| Evaluates the determinant of the transformation Jacobian on the requested boundary. More... | |
| virtual void | boundaryEdgeLocal2Global (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo)=0 |
| Maps the local boundary coordinates to global. More... | |
| virtual integrationDomain | giveBoundaryEdgeIntegrationDomain (int boundary) const =0 |
| Returns boundary integration domain. More... | |
| virtual void | boundaryEdgeGiveNodes (IntArray &answer, int boundary)=0 |
| Gives the boundary nodes for requested boundary number. More... | |
| virtual integrationDomain | giveBoundarySurfaceIntegrationDomain (int boundary) const =0 |
| Returns boundary integration domain. More... | |
| virtual IntegrationRule * | giveBoundarySurfaceIntegrationRule (int order, int boundary) |
| Sets up a suitable integration rule for integrating over the requested boundary. More... | |
| virtual double | evalNXIntegral (int boundary, const FEICellGeometry &cellgeo) |
Computes the integral . More... | |
| virtual integrationDomain | giveBoundaryIntegrationDomain (int boundary) const =0 |
| Returns boundary integration domain. More... | |
| virtual int | giveKnotSpanBasisFuncMask (const IntArray &knotSpan, IntArray &mask) |
| Returns indices (zero based) of nonzero basis functions for given knot span. More... | |
| virtual int | giveNumberOfKnotSpanBasisFunctions (const IntArray &knotSpan) |
| Returns the number of nonzero basis functions at individual knot span,. More... | |
| virtual bool | hasSubPatchFormulation () |
| Returns true, if receiver is formulated on sub-patch basis. More... | |
| virtual const double *const * | giveKnotVector () |
| Returns the subdivision of patch parametric space. More... | |
| virtual int | giveNumberOfKnotSpans (int dim) |
| Returns the number of knot spans of the receiver. More... | |
| virtual const FloatArray * | giveKnotValues (int dim) |
| Returns the knot values of the receiver. More... | |
| virtual const IntArray * | giveKnotMultiplicity (int dim) |
| Returns the knot multiplicity of the receiver. More... | |
| virtual int | giveNumberOfEdges () const |
| Returns number of edges. More... | |
Protected Attributes | |
| int | cindx |
Protected Attributes inherited from oofem::FEInterpolation | |
| int | order |
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.
|
virtual |
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 75 of file fei1dhermite.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), giveLength(), oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
|
virtual |
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 57 of file fei1dhermite.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), giveLength(), oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
|
virtual |
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 42 of file fei1dhermite.C.
References oofem::FloatArray::at(), giveLength(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().
Referenced by local2global().
|
inlinevirtual |
Returns the geometry type fo the interpolator.
Implements oofem::FEInterpolation.
Definition at line 56 of file fei1dhermite.h.
|
inlinevirtual |
Returns the integration domain of the interpolator.
Implements oofem::FEInterpolation.
Definition at line 55 of file fei1dhermite.h.
References oofem::_Line.
|
virtual |
Computes the exact length.
| cellgeo | Cell geometry for the element. |
Reimplemented from oofem::FEInterpolation1d.
Definition at line 122 of file fei1dhermite.C.
References oofem::FloatArray::at(), cindx, and oofem::FEICellGeometry::giveVertexCoordinates().
Referenced by evald2Ndx2(), evaldNdx(), evalN(), and giveTransformationJacobian().
|
inlinevirtual |
Returns the number of geometric nodes of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 67 of file fei1dhermite.h.
|
virtual |
Evaluates the determinant of the transformation.
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 114 of file fei1dhermite.C.
References giveLength().
|
virtual |
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 100 of file fei1dhermite.C.
References oofem::FloatArray::at(), cindx, oofem::clamp(), oofem::FEICellGeometry::giveVertexCoordinates(), and oofem::FloatArray::resize().
|
virtual |
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 89 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 giveLength(), global2local(), and local2global().