SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | List of all members
ma::SolutionTransfer Class Referenceabstract

user-defined solution transfer base More...

Inheritance diagram for ma::SolutionTransfer:
ma::SolutionTransfers ma::AutoSolutionTransfer

Public Member Functions

virtual ~SolutionTransfer ()
 user-defined destructor
 
virtual bool hasNodesOn (int dimension)=0
 return true if this field has nodes on entities of this dimension
 
virtual void onVertex (apf::MeshElement *parent, Vector const &xi, Entity *vert)
 perform solution transfer on refined vertex More...
 
virtual void onRefine (Entity *parent, EntityArray &newEntities)
 perform solution transfer on refined entities More...
 
virtual void onCavity (EntityArray &oldElements, EntityArray &newEntities)
 perform solution transfer on cavity replacement More...
 
int getTransferDimension ()
 for internal MeshAdapt use
 

Detailed Description

user-defined solution transfer base

one of these classes should be defined for each field the user wants transferred during adaptivity. Then, use ma::SolutionTransfers to put them together into a single object to give to the MeshAdapt driver functions.

Definition at line 27 of file maSolutionTransfer.h.

Member Function Documentation

virtual void ma::SolutionTransfer::onCavity ( EntityArray oldElements,
EntityArray newEntities 
)
virtual

perform solution transfer on cavity replacement

this will be called for operations like edge collapses and edge swaps. Both the old and new cavity are given, and the code should transfer solution into into the new cavity.

Parameters
oldElementsall elements in the old cavity
newEntitiesnewly created entities which need transfer

Reimplemented in ma::SolutionTransfers.

virtual void ma::SolutionTransfer::onRefine ( Entity parent,
EntityArray newEntities 
)
virtual

perform solution transfer on refined entities

when there are nodes on entities other than vertices, it becomes necessary to transfer solution to these as well. If this is not the case, don't override this.

Parameters
parentthe parent element
newEntitiesentities created during refinement. this may contain some entities that don't have nodes, so check them

Reimplemented in ma::SolutionTransfers.

virtual void ma::SolutionTransfer::onVertex ( apf::MeshElement parent,
Vector const &  xi,
Entity vert 
)
virtual

perform solution transfer on refined vertex

this vertex was created while refining an element. Given coordinates in the parent element's parametric space, transfer the solution from the parent element to the vertex

Parameters
parentMeshElement for the parent. can be given to apf::createElement so that element interpolation can be used.
xiCoordinates of the vertex in the parent element's parametric space

Reimplemented in ma::SolutionTransfers.


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