Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Functions/Subroutines | |
subroutine | interpolatemeshtomesh (OldMesh, NewMesh, OldVariables, NewVariables, UseQuadrantTree, Projector, MaskName) |
type(mesh_t) function, pointer | allocatemesh () |
subroutine | interpolatemeshtomeshq (OldMesh, NewMesh, OldVariables, NewVariables, UseQuadrantTree, Projector, MaskName, FoundNodes) |
subroutine | applyprojector |
type(mesh_t) function, pointer interpolatemeshtomesh::allocatemesh | ( | ) |
References messages::fatal().
Referenced by meshutils::createlinemesh(), interpolatemeshtomesh(), isosurfacesolver(), meshutils::loadmesh(), meshutils::meshextrude(), meshutils::periodicprojector(), meshutils::splitmeshequal(), and splitonelevel().
subroutine interpolatemeshtomeshq::applyprojector | ( | ) |
References crsmatrix::crs_applyprojector(), and lists::variableget().
Referenced by interpolatemeshtomeshq().
subroutine interpolatemeshtomesh | ( | type(mesh_t), target | OldMesh, |
type(mesh_t), target | NewMesh, | ||
type(variable_t), optional, pointer | OldVariables, | ||
type(variable_t), optional, pointer | NewVariables, | ||
logical, optional | UseQuadrantTree, | ||
type(projector_t), optional, pointer | Projector, | ||
character(len=*), optional | MaskName | ||
) |
Map results from mesh to mesh. The from-Mesh is stored in an octree from which it is relatively fast to find the to-nodes. When the node is found interpolation is performed. Optionally there may be an existing projector that speeds up the interpolation.
References allocatemesh(), interpolatemeshtomeshq(), sparitercomm::sparactivesum(), lists::variableadd(), and lists::variableget().
Referenced by resulttoresult(), and lists::variableget().
subroutine interpolatemeshtomeshq | ( | type(mesh_t), target | OldMesh, |
type(mesh_t), target | NewMesh, | ||
type(variable_t), optional, pointer | OldVariables, | ||
type(variable_t), optional, pointer | NewVariables, | ||
logical, optional | UseQuadrantTree, | ||
type(projector_t), optional, pointer | Projector, | ||
character(len=*), optional | MaskName, | ||
logical, dimension(:), optional | FoundNodes | ||
) |
Interpolates values of all variables from a mesh associated with the old model to the mesh of the new model.
oldmesh | Old mesh structure |
newmesh | New mesh structure |
oldvariables | Old model variable structure |
newvariables | New model variable structure. NewVariables defines the variables to be interpolated |
usequadranttree | If true use the RootQuadrant of the old mesh in interpolation. |
projector | Use projector between meshes for interpolation, if available |
maskname | Mask the old variable set by the given MaskName when trying to define the interpolation. |
foundnodes | List of nodes where the interpolation was a success |
References generalutils::allocatematrix(), applyprojector(), interpolation::buildquadranttree(), coordinatesystems::coordinatesystemdimension(), interpolation::findleafelements(), messages::info(), elementdescription::interpolateinelement(), lists::listcheckpresent(), lists::listgetconstreal(), lists::listgetinteger(), interpolation::pointinelement(), lists::variableget(), and messages::warn().
Referenced by interpolatemeshtomesh(), and lists::meshprojector().