OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing a 1d linear isoparametric interpolation. More...
#include <fei1dlin.h>
Public Member Functions | |
FEI1dLin (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 integrationDomain | giveBoundaryIntegrationDomain (int ib) const |
Returns boundary integration domain. More... | |
virtual integrationDomain | giveBoundarySurfaceIntegrationDomain (int isurf) const |
Returns boundary integration domain. More... | |
virtual integrationDomain | giveBoundaryEdgeIntegrationDomain (int iedge) const |
Returns boundary integration domain. 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 | 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... | |
virtual void | boundaryEdgeGiveNodes (IntArray &answer, int boundary) |
Gives the boundary nodes for requested boundary number. More... | |
virtual void | boundaryEdgeEvalN (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
Evaluates the basis functions on the requested boundary. More... | |
virtual double | boundaryEdgeGiveTransformationJacobian (int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) |
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) |
Maps the local boundary coordinates to global. 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 | 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 | 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 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 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 linear isoparametric interpolation.
Definition at line 44 of file fei1dlin.h.
|
inline |
Definition at line 50 of file fei1dlin.h.
|
virtual |
Evaluates the basis functions on the requested boundary.
Only basis functions that are nonzero anywhere on the boundary are given. Ordering can be obtained from giveBoundaryNodes. Boundaries are defined as the corner nodes for 1D geometries, edges for 2D geometries and surfaces for 3D geometries.
answer | Basis functions Array to be filled with the boundary nodes. |
boundary | Boundary number. |
lcoords | The local coordinates (on the boundary local coordinate system). |
cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 104 of file fei1dlin.C.
References evalN().
|
virtual |
Gives the boundary nodes for requested boundary number.
answer | Array to be filled with the boundary nodes. |
boundary | Boundary number. |
Implements oofem::FEInterpolation.
Definition at line 99 of file fei1dlin.C.
|
virtual |
Evaluates the determinant of the transformation Jacobian on the requested boundary.
Boundaries are defined as the corner nodes for 1D geometries, edges for 2D geometries and surfaces for 3D geometries.
boundary | Boundary number. |
lcoords | The local coordinates (on the boundary local coordinate system). |
cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 109 of file fei1dlin.C.
References giveTransformationJacobian().
|
virtual |
Maps the local boundary coordinates to global.
Boundaries are defined as the corner nodes for 1D geometries, edges for 2D geometries and surfaces for 3D geometries.
answer | Global coordinates. |
boundary | Boundary number. |
lcoords | The local coordinates (on the boundary local coordinate system). |
cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 114 of file fei1dlin.C.
References local2global().
|
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 58 of file fei1dlin.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), cindx, oofem::FEICellGeometry::giveVertexCoordinates(), and oofem::FloatMatrix::resize().
Referenced by oofem::QTruss1dGrad::computeBkappaMatrixAt(), and oofem::Truss1d::computeBmatrixAt().
|
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 48 of file fei1dlin.C.
References oofem::FloatArray::at(), and oofem::FloatArray::resize().
Referenced by boundaryEdgeEvalN(), oofem::QTruss1dGrad::computeField(), oofem::QTruss1dGrad::computeNkappaMatrixAt(), oofem::Truss1d::computeNmatrixAt(), and local2global().
|
inlinevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 58 of file fei1dlin.h.
References oofem::_UnknownIntegrationDomain.
|
inlinevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 56 of file fei1dlin.h.
References oofem::_Point.
|
inlinevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 57 of file fei1dlin.h.
References oofem::_UnknownIntegrationDomain.
|
inlinevirtual |
Returns the geometry type fo the interpolator.
Implements oofem::FEInterpolation.
Definition at line 55 of file fei1dlin.h.
|
inlinevirtual |
Returns the integration domain of the interpolator.
Implements oofem::FEInterpolation.
Definition at line 54 of file fei1dlin.h.
References oofem::_Line.
|
virtual |
Computes the exact length.
cellgeo | Cell geometry for the element. |
Reimplemented from oofem::FEInterpolation1d.
Definition at line 42 of file fei1dlin.C.
References oofem::FloatArray::at(), cindx, and oofem::FEICellGeometry::giveVertexCoordinates().
|
inlinevirtual |
Returns the number of geometric nodes of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 70 of file fei1dlin.h.
|
virtual |
Evaluates the determinant of the transformation.
lcoords | Array containing (local) coordinates. |
cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 94 of file fei1dlin.C.
References oofem::FloatArray::at(), cindx, and oofem::FEICellGeometry::giveVertexCoordinates().
Referenced by boundaryEdgeGiveTransformationJacobian(), and oofem::Truss1d::computeVolumeAround().
|
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 80 of file fei1dlin.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 69 of file fei1dlin.C.
References oofem::FloatArray::at(), cindx, evalN(), oofem::FEICellGeometry::giveVertexCoordinates(), and oofem::FloatArray::resize().
Referenced by boundaryEdgeLocal2Global().
|
protected |
Definition at line 47 of file fei1dlin.h.
Referenced by evaldNdx(), giveLength(), giveTransformationJacobian(), global2local(), and local2global().