|
OOFEM 3.0
|
#include <feinterpol.h>
Public Member Functions | |
| DummyFEInterpolation () | |
| integrationDomain | giveIntegrationDomain (const Element_Geometry_Type) const override |
| const Element_Geometry_Type | giveGeometryType () const override |
| 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 | local2global (FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| int | global2local (FloatArray &answer, const FloatArray &gcoords, const FEICellGeometry &cellgeo) const override |
| double | giveTransformationJacobian (const FloatArray &lcoords, const FEICellGeometry &cellgeo) 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 |
| integrationDomain | giveBoundaryEdgeIntegrationDomain (int boundary, const Element_Geometry_Type) const override |
| Returns boundary integration domain. | |
| IntArray | boundaryEdgeGiveNodes (int boundary, const Element_Geometry_Type, bool includeHierarchical=false) 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 |
| double | boundarySurfaceGiveTransformationJacobian (int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | boundarySurfaceLocal2global (FloatArray &answer, int isurf, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| integrationDomain | giveBoundarySurfaceIntegrationDomain (int boundary, const Element_Geometry_Type) const override |
| Returns boundary integration domain. | |
| IntArray | boundarySurfaceGiveNodes (int boundary, const Element_Geometry_Type, bool includeHierarchical=false) const override |
| void | boundaryLocal2Global (FloatArray &answer, int boundary, const FloatArray &lcoords, const FEICellGeometry &cellgeo) 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 |
| IntArray | boundaryGiveNodes (int boundary, const Element_Geometry_Type) const override |
| integrationDomain | giveBoundaryIntegrationDomain (int boundary, const Element_Geometry_Type) const override |
| Returns boundary integration domain. | |
| double | evalNXIntegral (int boundary, const FEICellGeometry &cellgeo) const override |
| int | giveNsd (const Element_Geometry_Type) const override |
| int | giveNumberOfEdges (const Element_Geometry_Type) const override |
| int | giveNumberOfNodes (const Element_Geometry_Type) const override |
| const Element_Geometry_Type | giveBoundaryGeometryType (int boundary) 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 | evald2Ndx2 (FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const |
| 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 std::unique_ptr< IntegrationRule > | giveIntegrationRule (int order, const Element_Geometry_Type) const |
| virtual std::unique_ptr< IntegrationRule > | giveBoundaryEdgeIntegrationRule (int order, int boundary, const Element_Geometry_Type) const |
| virtual std::unique_ptr< IntegrationRule > | giveBoundarySurfaceIntegrationRule (int order, int boundary, const Element_Geometry_Type) const |
| virtual std::unique_ptr< IntegrationRule > | giveBoundaryIntegrationRule (int order, int boundary, const Element_Geometry_Type) const |
| 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 void | initializeCell (Element *e) const |
| std::string | errorInfo (const char *func) const |
Additional Inherited Members | |
| Protected Attributes inherited from oofem::FEInterpolation | |
| int | order = 0 |
Definition at line 568 of file feinterpol.h.
|
inline |
Definition at line 571 of file feinterpol.h.
References oofem::FEInterpolation::FEInterpolation().
|
inlineoverridevirtual |
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 596 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Evaluates the normal out of the edge at given point.
| answer | Contains resulting normal vector. |
| isurf | Determines the surface number. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 600 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Gives the boundary nodes for requested boundary number.
| answer | Array to be filled with the boundary nodes. |
| boundary | Boundary number. |
| includeHierarchical | If true, include hierarchical nodes, introduced by interpolations on universal cells (mpm) |
Implements oofem::FEInterpolation.
Definition at line 615 of file feinterpol.h.
|
inlineoverridevirtual |
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 605 of file feinterpol.h.
|
inlineoverridevirtual |
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 609 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
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 651 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Evaluates the normal on the requested boundary.
| answer | The evaluated normal. |
| boundary | Boundary number. |
| lcoords | The local coordinates (on the boundary local coordinate system). |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 654 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Gives the boundary nodes for requested boundary number. Boundaries are defined as the corner nodes for 1D geometries, edges for 2D geometries and surfaces for 3D geometries.
| answer | Array to be filled with the boundary nodes. |
| boundary | Boundary number. |
Implements oofem::FEInterpolation.
Definition at line 662 of file feinterpol.h.
|
inlineoverridevirtual |
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 658 of file feinterpol.h.
|
inlineoverridevirtual |
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 647 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Evaluates the matrix of derivatives of edge 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 dNj/dxi. |
| isurf | Determines the surface number. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 624 of file feinterpol.h.
References oofem::FloatMatrix::clear().
|
inlineoverridevirtual |
Evaluates the array of edge interpolation functions (shape functions) at given point.
| answer | Contains resulting array of evaluated interpolation functions. |
| isurf | Surface number. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 620 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Evaluates the normal out of the surface at given point.
| answer | Contains resulting normal vector. |
| isurf | Determines the surface number. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 628 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Gives the boundary nodes for requested boundary number.
| answer | Array to be filled with the boundary nodes. |
| boundary | Boundary number. |
| includeHierarchical | If true, include hierarchical nodes, introduced by interpolations on universal cells (mpm) |
Implements oofem::FEInterpolation.
Definition at line 643 of file feinterpol.h.
|
inlineoverridevirtual |
Evaluates the edge jacobian of transformation between local and global coordinates.
| isurf | Determines the surface number. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 633 of file feinterpol.h.
|
inlineoverridevirtual |
Evaluates edge global coordinates from given local ones. These derivatives are in global coordinate system (where the nodal coordinates are defined).
| answer | Contains resulting global coordinates. |
| isurf | Determines the surface number. |
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Implements oofem::FEInterpolation.
Definition at line 637 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
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 578 of file feinterpol.h.
References oofem::FloatMatrix::clear().
|
inlineoverridevirtual |
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 574 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
Computes the integral \( \int_S n \cdot x \mathrm{d}s \).
| boundary | Boundary number. |
| cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 667 of file feinterpol.h.
|
inlineoverridevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 613 of file feinterpol.h.
References oofem::_UnknownIntegrationDomain.
|
inlineoverridevirtual |
Returns boundary geometry type
Implements oofem::FEInterpolation.
Definition at line 682 of file feinterpol.h.
|
inlineoverridevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 665 of file feinterpol.h.
References oofem::_UnknownIntegrationDomain.
|
inlineoverridevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 641 of file feinterpol.h.
References oofem::_UnknownIntegrationDomain.
|
inlineoverridevirtual |
Returns the geometry type fo the interpolator.
Implements oofem::FEInterpolation.
Definition at line 573 of file feinterpol.h.
|
inlineoverridevirtual |
Returns the integration domain of the interpolator.
Implements oofem::FEInterpolation.
Definition at line 572 of file feinterpol.h.
References oofem::_UnknownIntegrationDomain.
|
inlineoverridevirtual |
Returns number of spatial dimensions.
Implements oofem::FEInterpolation.
Definition at line 671 of file feinterpol.h.
|
inlineoverridevirtual |
Returns number of edges.
Reimplemented from oofem::FEInterpolation.
Definition at line 675 of file feinterpol.h.
|
inlineoverridevirtual |
Returns the number of geometric nodes of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 679 of file feinterpol.h.
|
inlineoverridevirtual |
Evaluates the determinant of the transformation.
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 592 of file feinterpol.h.
|
inlineoverridevirtual |
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 587 of file feinterpol.h.
References oofem::FloatArray::clear().
|
inlineoverridevirtual |
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 583 of file feinterpol.h.
References oofem::FloatArray::clear().