|
OOFEM 3.0
|
CellTypeUnifiedInterpolation represent unification of interpolations of the same type (linear, quadratic) defined for specific elements set of cell types to work on set of different cell types. More...
#include <prototype2.h>
Public Member Functions | |
| CellTypeUnifiedInterpolation (int o) | |
| virtual const FEInterpolation * | getCellInterpolation (Element_Geometry_Type egt) const =0 |
| void | giveCellDofMans (IntArray &nodes, IntArray &internalDofMans, Element *elem) const override |
| Returns list of element nodes (and list of internal dof managers) (including on edges and surfaces) defining the approximation. | |
| 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 |
| virtual int | global2local (FloatArray &answer, const FloatArray &gcoords, const FEICellGeometry &cellgeo) const override |
| double | giveTransformationJacobian (const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| void | giveJacobianMatrixAt (FloatMatrix &jacobianMatrix, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override |
| std::unique_ptr< IntegrationRule > | giveIntegrationRule (int _order, Element_Geometry_Type egt) const override |
| virtual 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, Element_Geometry_Type egt) const override |
| Returns boundary integration domain. | |
| std::unique_ptr< IntegrationRule > | giveBoundaryEdgeIntegrationRule (int _order, int boundary, Element_Geometry_Type egt) const override |
| IntArray | boundaryEdgeGiveNodes (int boundary, Element_Geometry_Type gt, 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 |
| 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 |
| integrationDomain | giveBoundarySurfaceIntegrationDomain (int boundary, const Element_Geometry_Type egt) const override |
| Returns boundary integration domain. | |
| std::unique_ptr< IntegrationRule > | giveBoundarySurfaceIntegrationRule (int _order, int boundary, const Element_Geometry_Type egt) const override |
| IntArray | boundarySurfaceGiveNodes (int boundary, const Element_Geometry_Type gt, bool includeHierarchical=false) const override |
| IntArray | boundaryGiveNodes (int boundary, const Element_Geometry_Type gt) 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 |
| integrationDomain | giveBoundaryIntegrationDomain (int boundary, Element_Geometry_Type egt) const override |
| Returns boundary integration domain. | |
| std::unique_ptr< IntegrationRule > | giveBoundaryIntegrationRule (int _order, int boundary, Element_Geometry_Type egt) const override |
| int | giveKnotSpanBasisFuncMask (const IntArray &knotSpan, IntArray &mask) const override |
| int | giveNumberOfKnotSpanBasisFunctions (const IntArray &knotSpan) const override |
| bool | hasSubPatchFormulation () const override |
| const FloatArray * | giveKnotVector () const override |
| int | giveNumberOfKnotSpans (int dim) const override |
| const FloatArray * | giveKnotValues (int dim) const override |
| const IntArray * | giveKnotMultiplicity (int dim) const override |
| int | giveNumberOfEdges (Element_Geometry_Type gt) const override |
| int | giveNumberOfNodes (Element_Geometry_Type gt) const override |
| virtual void | giveCellDofManNumberingOffsets (Element_Geometry_Type egt, int order, int &dofManOffset, int &internalDofManOffset) const |
| 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) |
| virtual integrationDomain | giveIntegrationDomain (const Element_Geometry_Type) const =0 |
| virtual const Element_Geometry_Type | giveGeometryType () const =0 |
| int | giveInterpolationOrder () const |
| 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 double | evalNXIntegral (int boundary, const FEICellGeometry &cellgeo) const |
| virtual const Element_Geometry_Type | giveBoundaryGeometryType (int boundary) const =0 |
| virtual void | surfaceEvaldNdxi (FloatMatrix &answer, const FloatArray &lcoords) const |
| virtual void | surfaceEvald2Ndxi2 (FloatMatrix &answer, const FloatArray &lcoords) const |
| virtual int | giveNsd (const Element_Geometry_Type) const =0 |
| 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 |
CellTypeUnifiedInterpolation represent unification of interpolations of the same type (linear, quadratic) defined for specific elements set of cell types to work on set of different cell types.
Definition at line 41 of file prototype2.h.
|
inline |
Definition at line 43 of file prototype2.h.
References oofem::FEInterpolation::FEInterpolation().
Referenced by oofem::ConstantInterpolation::ConstantInterpolation(), oofem::LinearInterpolation::LinearInterpolation(), and oofem::QuadraticInterpolation::QuadraticInterpolation().
|
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 70 of file prototype2.h.
References oofem::FEInterpolation::boundaryEdgeEvalN(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 73 of file prototype2.h.
References oofem::FEInterpolation::boundaryEdgeEvalNormal(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 88 of file prototype2.h.
References oofem::FEInterpolation::boundaryEdgeGiveNodes(), and getCellInterpolation().
|
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 76 of file prototype2.h.
References oofem::FEInterpolation::boundaryEdgeGiveTransformationJacobian(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 79 of file prototype2.h.
References oofem::FEInterpolation::boundaryEdgeLocal2Global(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 121 of file prototype2.h.
References oofem::FEInterpolation::boundaryEvalN(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 124 of file prototype2.h.
References oofem::FEInterpolation::boundaryEvalNormal(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 118 of file prototype2.h.
References oofem::FEInterpolation::boundaryGiveNodes(), and getCellInterpolation().
|
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 127 of file prototype2.h.
References oofem::FEInterpolation::boundaryGiveTransformationJacobian(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 130 of file prototype2.h.
References oofem::FEInterpolation::boundaryLocal2Global(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 95 of file prototype2.h.
References oofem::FEInterpolation::boundarySurfaceEvaldNdx(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 92 of file prototype2.h.
References oofem::FEInterpolation::boundarySurfaceEvalN(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 98 of file prototype2.h.
References oofem::FEInterpolation::boundarySurfaceEvalNormal(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 114 of file prototype2.h.
References oofem::FEInterpolation::boundarySurfaceGiveNodes(), and getCellInterpolation().
|
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 105 of file prototype2.h.
References oofem::FEInterpolation::boundarySurfaceGiveTransformationJacobian(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 102 of file prototype2.h.
References oofem::FEInterpolation::boundarySurfaceLocal2global(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 52 of file prototype2.h.
References oofem::FEInterpolation::evaldNdx(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
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 49 of file prototype2.h.
References oofem::FEInterpolation::evalN(), getCellInterpolation(), and oofem::FEICellGeometry::giveGeometryType().
|
pure virtual |
Implemented in oofem::ConstantInterpolation, oofem::LinearInterpolation, and oofem::QuadraticInterpolation.
References oofem::FEInterpolation::FEInterpolation().
Referenced by boundaryEdgeEvalN(), boundaryEdgeEvalNormal(), boundaryEdgeGiveNodes(), boundaryEdgeGiveTransformationJacobian(), boundaryEdgeLocal2Global(), boundaryEvalN(), boundaryEvalNormal(), boundaryGiveNodes(), boundaryGiveTransformationJacobian(), boundaryLocal2Global(), boundarySurfaceEvaldNdx(), boundarySurfaceEvalN(), boundarySurfaceEvalNormal(), boundarySurfaceGiveNodes(), boundarySurfaceGiveTransformationJacobian(), boundarySurfaceLocal2global(), evaldNdx(), evalN(), giveBoundaryEdgeIntegrationDomain(), giveBoundaryEdgeIntegrationRule(), giveBoundaryIntegrationDomain(), giveBoundaryIntegrationRule(), giveBoundarySurfaceIntegrationDomain(), giveBoundarySurfaceIntegrationRule(), giveCellDofMans(), giveIntegrationRule(), giveJacobianMatrixAt(), giveNumberOfEdges(), giveNumberOfNodes(), giveTransformationJacobian(), global2local(), and local2global().
|
inlineoverridevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 82 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveBoundaryEdgeIntegrationDomain().
|
inlineoverridevirtual |
Sets up a suitable integration rule for integrating over the requested boundary. The required polynomial order for the determinant of the jacobian is added automatically.
| order | Polynomial order of the integrand (should NOT including determinant of jacobian). |
| boundary | Boundary number. |
Reimplemented from oofem::FEInterpolation.
Definition at line 85 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveBoundaryEdgeIntegrationRule().
|
inlineoverridevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 133 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveBoundaryIntegrationDomain().
|
inlineoverridevirtual |
Sets up a suitable integration rule for integrating over the requested boundary. The required polynomial order for the determinant of the jacobian is added automatically.
| order | Polynomial order of the integrand (should NOT including determinant of jacobian). |
| boundary | Boundary number. |
Reimplemented from oofem::FEInterpolation.
Definition at line 136 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveBoundaryIntegrationRule().
|
inlineoverridevirtual |
Returns boundary integration domain.
Implements oofem::FEInterpolation.
Definition at line 108 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveBoundarySurfaceIntegrationDomain().
|
inlineoverridevirtual |
Sets up a suitable integration rule for integrating over the requested boundary. The required polynomial order for the determinant of the jacobian is added automatically.
| order | Polynomial order of the integrand (should NOT including determinant of jacobian). |
| boundary | Boundary number. |
Reimplemented from oofem::FEInterpolation.
Definition at line 111 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveBoundarySurfaceIntegrationRule().
|
inlinevirtual |
Return dofmanager numbering offsets for given cell type and interpolation order
| egt | cell geometry type |
| order | interpolation order |
| dofManOffset | dofman numbering offset for new dofmanagers to be introduced for given interpolation order |
| internalDofManOffset | internal dofman numbering offset for new dofmanagers to be introduced for given interpolation order |
Definition at line 163 of file prototype2.h.
References OOFEM_ERROR, and oofem::FEInterpolation::order.
Referenced by oofem::QuadraticInterpolation::initializeCell().
|
inlineoverridevirtual |
Returns list of element nodes (and list of internal dof managers) (including on edges and surfaces) defining the approximation.
Returns local element node numbers defining the approximation. Typically this corresponds to all element nodes. But for elements with mixed interpolation, we need to select subset of nodes (quadratic triangle with linear interpolation). This method can query element geometry type (from given element) and compile the nodal set.
Reimplemented from oofem::FEInterpolation.
Definition at line 46 of file prototype2.h.
References getCellInterpolation(), oofem::FEInterpolation::giveCellDofMans(), and oofem::Element::giveGeometryType().
|
inlineoverridevirtual |
Sets up a suitable integration rule for numerical integrating over volume. The required polynomial order for the determinant of the jacobian is added automatically.
| order | Polynomial order of integrand (should NOT including determinant of jacobian). |
Reimplemented from oofem::FEInterpolation.
Definition at line 67 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveIntegrationRule().
|
inlineoverridevirtual |
Gives the jacobian matrix at the local coordinates.
| jacobianMatrix | The requested matrix. |
| lcoords | Local coordinates. |
| cellgeo | Element geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 64 of file prototype2.h.
References getCellInterpolation(), oofem::FEICellGeometry::giveGeometryType(), and oofem::FEInterpolation::giveJacobianMatrixAt().
|
inlineoverridevirtual |
Returns the knot multiplicity of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 145 of file prototype2.h.
|
inlineoverridevirtual |
Returns indices (zero based) of nonzero basis functions for given knot span. The knot span identifies the sub-region of the finite element.
Reimplemented from oofem::FEInterpolation.
Definition at line 139 of file prototype2.h.
|
inlineoverridevirtual |
Returns the knot values of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 144 of file prototype2.h.
|
inlineoverridevirtual |
Returns the subdivision of patch parametric space
Reimplemented from oofem::FEInterpolation.
Definition at line 142 of file prototype2.h.
|
inlineoverridevirtual |
Returns number of edges.
Reimplemented from oofem::FEInterpolation.
Definition at line 147 of file prototype2.h.
References getCellInterpolation(), and oofem::FEInterpolation::giveNumberOfEdges().
|
inlineoverridevirtual |
Returns the number of nonzero basis functions at individual knot span,
Reimplemented from oofem::FEInterpolation.
Definition at line 140 of file prototype2.h.
|
inlineoverridevirtual |
Returns the number of knot spans of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 143 of file prototype2.h.
|
inlineoverridevirtual |
Returns the number of geometric nodes of the receiver.
Reimplemented from oofem::FEInterpolation.
Definition at line 151 of file prototype2.h.
References getCellInterpolation(), and giveNumberOfNodes().
Referenced by giveNumberOfNodes().
|
inlineoverridevirtual |
Evaluates the determinant of the transformation.
| lcoords | Array containing (local) coordinates. |
| cellgeo | Underlying cell geometry. |
Reimplemented from oofem::FEInterpolation.
Definition at line 61 of file prototype2.h.
References getCellInterpolation(), oofem::FEICellGeometry::giveGeometryType(), and oofem::FEInterpolation::giveTransformationJacobian().
|
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 58 of file prototype2.h.
References getCellInterpolation(), oofem::FEICellGeometry::giveGeometryType(), and oofem::FEInterpolation::global2local().
|
inlineoverridevirtual |
Returns true, if receiver is formulated on sub-patch basis.
Reimplemented from oofem::FEInterpolation.
Definition at line 141 of file prototype2.h.
|
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 55 of file prototype2.h.
References getCellInterpolation(), oofem::FEICellGeometry::giveGeometryType(), and oofem::FEInterpolation::local2global().