user-defined solution transfer base More...
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 | |
virtual void | onRefine (Entity *parent, EntityArray &newEntities) |
perform solution transfer on refined entities | |
virtual void | onCavity (EntityArray &oldElements, EntityArray &newEntities) |
perform solution transfer on cavity replacement | |
int | getTransferDimension () |
for internal MeshAdapt use |
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.
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.
oldElements | all elements in the old cavity | |
newEntities | newly 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.
parent | the parent element | |
newEntities | entities 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
parent | MeshElement for the parent. can be given to apf::createElement so that element interpolation can be used. | |
xi | Coordinates of the vertex in the parent element's parametric space |
Reimplemented in ma::SolutionTransfers.