Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
interpolation Module Reference

Public Member Functions

subroutine findleafelements (Point, dim, RootQuadrant, LeafQuadrant)
 
logical function pointinelement (Element, ElementNodes, Point, LocalCoordinates, GlobalEps, LocalEps, NumericEps, GlobalDistance, LocalDistance)
 
subroutine buildquadranttree (Mesh, BoundingBox, RootQuadrant)
 

Member Function/Subroutine Documentation

subroutine interpolation::buildquadranttree ( type(mesh_t)  Mesh,
real(kind=dp), dimension(6)  BoundingBox,
type(quadrant_t), pointer  RootQuadrant 
)

Builds a tree hierarchy recursively bisectioning the geometry bounding box, and partitioning the bulk elements in the last level of the tree hierarchy.

Parameters
meshFinite elememt mesh
boundingboxXMin, YMin, ZMin, XMax, YMax, ZMax
rootquadrantQuadrant tree structure root

References coordinatesystems::coordinatesystemdimension(), createchildquadrants(), and messages::info().

Referenced by computefieldsatpoint(), computeveloatpoint(), interpolatemeshtomeshq(), particleutils::locateparticleinmeshoctree(), and meshutils::pointinmesh().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine interpolation::findleafelements ( real(kind=dp), dimension(3)  Point,
integer  dim,
type(quadrant_t), pointer  RootQuadrant,
type(quadrant_t), pointer  LeafQuadrant 
)

References findpointsquadrant().

Referenced by computefieldsatpoint(), computeveloatpoint(), interpolatemeshtomeshq(), elementutils::lineintegrate(), particleutils::locateparticleinmeshoctree(), and meshutils::pointinmesh().

Here is the call graph for this function:

Here is the caller graph for this function:

logical function interpolation::pointinelement ( type(element_t), pointer  Element,
type(nodes_t)  ElementNodes,
real(kind=dp), dimension(:)  Point,
real(kind=dp), dimension(:)  LocalCoordinates,
real(kind=dp), optional  GlobalEps,
real(kind=dp), optional  LocalEps,
real(kind=dp), optional  NumericEps,
real(kind=dp), optional  GlobalDistance,
real(kind=dp), optional  LocalDistance 
)

Checks whether a given point belongs to a given bulk element If it does, returns the local coordinates in the bulk element.

Parameters
elementBulk element we are checking
elementnodesThe nodal points of the bulk element
pointPoint under study.
localcoordinatesLocal coordinates corresponding to the global ones.
globalepsRequired accuracy of global coordinates
localepsRequired accuracy of local coordinates
numericepsAccuracy of numberical operations
globaldistanceReturns the distance from the element in global coordinates.
localdistanceReturns the distance from the element in local coordinates.

References elementdescription::globaltolocal(), pelementmaps::ispelement(), and messages::warn().

Referenced by computefieldsatpoint(), computemissingintegrals(), computeveloatpoint(), creategridparticles(), findelement(), interpolatemeshtomeshq(), elementutils::lineintegrate(), particleutils::locateparticleinmeshmarch(), particleutils::locateparticleinmeshoctree(), particleutils::particleelementinfo(), meshutils::pointinmesh(), polylineintegrals(), projecttoplane(), and savescalars().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: