Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
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) |
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.
mesh | Finite elememt mesh |
boundingbox | XMin, YMin, ZMin, XMax, YMax, ZMax |
rootquadrant | Quadrant tree structure root |
References coordinatesystems::coordinatesystemdimension(), createchildquadrants(), and messages::info().
Referenced by computefieldsatpoint(), computeveloatpoint(), interpolatemeshtomeshq(), particleutils::locateparticleinmeshoctree(), and meshutils::pointinmesh().
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().
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.
element | Bulk element we are checking |
elementnodes | The nodal points of the bulk element |
point | Point under study. |
localcoordinates | Local coordinates corresponding to the global ones. |
globaleps | Required accuracy of global coordinates |
localeps | Required accuracy of local coordinates |
numericeps | Accuracy of numberical operations |
globaldistance | Returns the distance from the element in global coordinates. |
localdistance | Returns 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().