OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::FEI1dHermite Class Reference

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 IntegrationRulegiveIntegrationRule (int order)
 Sets up a suitable integration rule for numerical integrating over volume. More...
 
virtual IntegrationRulegiveBoundaryIntegrationRule (int order, int boundary)
 Sets up a suitable integration rule for integrating over the requested boundary. More...
 
virtual IntegrationRulegiveBoundaryEdgeIntegrationRule (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 IntegrationRulegiveBoundarySurfaceIntegrationRule (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 $ \int_S n \cdot x \mathrm{d}s $. 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 FloatArraygiveKnotValues (int dim)
 Returns the knot values of the receiver. More...
 
virtual const IntArraygiveKnotMultiplicity (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
 

Detailed Description

Class representing a 1d Hermitian cubic isoparametric interpolation.

Author
Mikael Öhman

Definition at line 45 of file fei1dhermite.h.

Constructor & Destructor Documentation

oofem::FEI1dHermite::FEI1dHermite ( int  coordIndx)
inline

Definition at line 51 of file fei1dhermite.h.

Member Function Documentation

void oofem::FEI1dHermite::evald2Ndx2 ( FloatMatrix answer,
const FloatArray lcoords,
const FEICellGeometry cellgeo 
)
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)

Parameters
answerContains resulting matrix of derivatives, the member at i,j position contains value of dNi/dxj.
lcoordsArray containing (local) coordinates.
cellgeoUnderlying 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().

double oofem::FEI1dHermite::evaldNdx ( FloatMatrix answer,
const FloatArray lcoords,
const FEICellGeometry cellgeo 
)
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)

Parameters
answerContains resulting matrix of derivatives, the member at i,j position contains value of dNi/dxj.
lcoordsArray containing (local) coordinates.
cellgeoUnderlying cell geometry.
Returns
Determinant of the Jacobian.

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().

void oofem::FEI1dHermite::evalN ( FloatArray answer,
const FloatArray lcoords,
const FEICellGeometry cellgeo 
)
virtual

Evaluates the array of interpolation functions (shape functions) at given point.

Parameters
answerContains resulting array of evaluated interpolation functions.
lcoordsArray containing (local) coordinates.
cellgeoUnderlying 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().

virtual Element_Geometry_Type oofem::FEI1dHermite::giveGeometryType ( ) const
inlinevirtual

Returns the geometry type fo the interpolator.

Implements oofem::FEInterpolation.

Definition at line 56 of file fei1dhermite.h.

virtual integrationDomain oofem::FEI1dHermite::giveIntegrationDomain ( ) const
inlinevirtual

Returns the integration domain of the interpolator.

Implements oofem::FEInterpolation.

Definition at line 55 of file fei1dhermite.h.

References oofem::_Line.

double oofem::FEI1dHermite::giveLength ( const FEICellGeometry cellgeo) const
virtual

Computes the exact length.

Parameters
cellgeoCell geometry for the element.
Returns
Length of geometry.

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().

virtual int oofem::FEI1dHermite::giveNumberOfNodes ( ) const
inlinevirtual

Returns the number of geometric nodes of the receiver.

Reimplemented from oofem::FEInterpolation.

Definition at line 67 of file fei1dhermite.h.

double oofem::FEI1dHermite::giveTransformationJacobian ( const FloatArray lcoords,
const FEICellGeometry cellgeo 
)
virtual

Evaluates the determinant of the transformation.

Parameters
lcoordsArray containing (local) coordinates.
cellgeoUnderlying cell geometry.
Returns
Determinant of the transformation.

Reimplemented from oofem::FEInterpolation.

Definition at line 114 of file fei1dhermite.C.

References giveLength().

int oofem::FEI1dHermite::global2local ( FloatArray answer,
const FloatArray gcoords,
const FEICellGeometry cellgeo 
)
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.

Parameters
answerContains evaluated local coordinates.
gcoordsArray containing global coordinates.
cellgeoUnderlying cell geometry.
Returns
Nonzero is returned if point is within the element geometry, zero otherwise.

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().

void oofem::FEI1dHermite::local2global ( FloatArray answer,
const FloatArray lcoords,
const FEICellGeometry cellgeo 
)
virtual

Evaluates global coordinates from given local ones.

Parameters
answerContains resulting global coordinates.
lcoordsArray containing (local) coordinates.
cellgeoUnderlying 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().

Member Data Documentation

int oofem::FEI1dHermite::cindx
protected

Definition at line 48 of file fei1dhermite.h.

Referenced by giveLength(), global2local(), and local2global().


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:35 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011