All MeshAdapt symbols. More...
Classes | |
class | Input |
User configuration for a MeshAdapt run. More... | |
class | SolutionTransfer |
user-defined solution transfer base More... | |
class | SolutionTransfers |
a meta-object that carries out a series of transfers More... | |
class | AutoSolutionTransfer |
MeshAdapt's automatic solution transfer system. More... | |
class | AnisotropicFunction |
User-defined Anisotropic size function. More... | |
class | IsotropicFunction |
User-defined Isotropic size function. More... | |
Typedefs | |
typedef apf::Vector3 | Vector |
convenient vector name | |
typedef apf::Matrix3x3 | Matrix |
convenient matrix name | |
typedef apf::Mesh2 | Mesh |
convenient mesh name | |
typedef apf::MeshEntity | Entity |
convenient mesh entity name | |
typedef apf::MeshIterator | Iterator |
convenient mesh iterator name | |
typedef apf::MeshTag | Tag |
convenient mesh tag name | |
typedef apf::DynamicArray < Entity * > | EntityArray |
convenient mesh entity array name | |
typedef std::set< Entity * > | EntitySet |
convenient mesh entity set name | |
typedef EntityArray | Upward |
convenient mesh entity upward adjacencies name | |
typedef apf::Downward | Downward |
convenient mesh entity downward adjacencies name | |
typedef apf::ModelEntity | Model |
convenient geometric model entity name | |
typedef apf::Copies | Remotes |
convenient remote copies name | |
typedef apf::Parts | Parts |
part id set name | |
Functions | |
void | adapt (Mesh *m, IsotropicFunction *f, SolutionTransfer *s=0) |
adapt based on an isotropic function | |
void | adapt (Mesh *m, AnisotropicFunction *f, SolutionTransfer *s=0) |
adapt based on an anisotropic function | |
void | adapt (Input *in) |
adapt with custom configuration | |
void | adaptVerbose (Input *in, bool verbosef=false) |
adapt verbose for debugging | |
void | runUniformRefinement (Mesh *m, int n=1, SolutionTransfer *s=0) |
run uniform refinement, plus snapping and shape correction | |
void | adaptMatching (Mesh *m, int n=1, SolutionTransfer *s=0) |
run uniform refinement with matched entity support | |
void | localizeLayerStacks (Mesh *m) |
localize boundary layer stacks | |
Input * | configure (Mesh *m, AnisotropicFunction *f, SolutionTransfer *s=0) |
generate a configuration based on an anisotropic function. | |
Input * | configure (Mesh *m, IsotropicFunction *f, SolutionTransfer *s=0) |
generate a configuration based on an isotropic function | |
Input * | configure (Mesh *m, apf::Field *sizes, apf::Field *frames, SolutionTransfer *s=0) |
generate a configuration based on anisotropic fields | |
Input * | configure (Mesh *m, apf::Field *size, SolutionTransfer *s=0) |
generate a configuration based on an isotropic field | |
Input * | configureUniformRefine (Mesh *m, int n=1, SolutionTransfer *s=0) |
generate a uniform refinement configuration | |
Input * | configureMatching (Mesh *m, int n=1, SolutionTransfer *s=0) |
generate a matched uniform refinement configuration | |
Input * | configureIdentity (Mesh *m, SizeField *f=0, SolutionTransfer *s=0) |
generate a no-op configuration | |
void | validateInput (Input *in) |
used internally, but users can call this if they want | |
Vector | getPosition (Mesh *m, Entity *vertex) |
get vertex spatial coordinates | |
Entity * | rebuildElement (Mesh *m, Entity *original, Entity *oldVert, Entity *newVert, apf::BuildCallback *cb, RebuildCallback *rcb=0) |
rebuild an element with one vertex being different | |
double | getInsphere (Mesh *m, Entity *e) |
Computes the insphere radius of an element. | |
SolutionTransfer * | createFieldTransfer (apf::Field *f) |
Creates a default solution transfer object for a field. |
All MeshAdapt symbols.
void ma::adapt | ( | Mesh * | m, | |
IsotropicFunction * | f, | |||
SolutionTransfer * | s = 0 | |||
) |
adapt based on an isotropic function
see maSize.h for how to define a function
void ma::adapt | ( | Input * | in | ) |
void ma::adaptMatching | ( | Mesh * | m, | |
int | n = 1 , |
|||
SolutionTransfer * | s = 0 | |||
) |
run uniform refinement with matched entity support
currently this supports snapping but not shape correction
void ma::adaptVerbose | ( | Input * | in, | |
bool | verbosef = false | |||
) |
adapt verbose for debugging
see maInput.h for details. The mesh will be written (vtk-format) at each operation stage
Input* ma::configure | ( | Mesh * | m, | |
AnisotropicFunction * | f, | |||
SolutionTransfer * | s = 0 | |||
) |
generate a configuration based on an anisotropic function.
s | if non-zero, use that to transfer all fields. otherwise, transfer any associated fields with default algorithms |
Input* ma::configure | ( | Mesh * | m, | |
IsotropicFunction * | f, | |||
SolutionTransfer * | s = 0 | |||
) |
generate a configuration based on an isotropic function
s | if non-zero, use that to transfer all fields. otherwise, transfer any associated fields with default algorithms |
Input* ma::configure | ( | Mesh * | m, | |
apf::Field * | sizes, | |||
apf::Field * | frames, | |||
SolutionTransfer * | s = 0 | |||
) |
generate a configuration based on anisotropic fields
sizes | a vector field of desired element sizes along the axes of the anisotropic frame | |
frames | a matrix field containing anisotropic frames for each vertex | |
s | if non-zero, use that to transfer all fields. otherwise, transfer any associated fields with default algorithms |
Input* ma::configure | ( | Mesh * | m, | |
apf::Field * | size, | |||
SolutionTransfer * | s = 0 | |||
) |
generate a configuration based on an isotropic field
size | a scalar field of desired element size | |
s | if non-zero, use that to transfer all fields. otherwise, transfer any associated fields with default algorithms |
SolutionTransfer* ma::createFieldTransfer | ( | apf::Field * | f | ) |
Creates a default solution transfer object for a field.
MeshAdapt has good algorithms for transferring nodal fields as well as using the Voronoi system for transferring integration point fields.
double ma::getInsphere | ( | Mesh * | m, | |
Entity * | e | |||
) |
Computes the insphere radius of an element.
void ma::localizeLayerStacks | ( | Mesh * | m | ) |
localize boundary layer stacks
this will fail if parts are emptied
Entity* ma::rebuildElement | ( | Mesh * | m, | |
Entity * | original, | |||
Entity * | oldVert, | |||
Entity * | newVert, | |||
apf::BuildCallback * | cb, | |||
RebuildCallback * | rcb = 0 | |||
) |
rebuild an element with one vertex being different
uses the original to reconstruct geometric classification