![]() |
SCOREC core
Parallel unstructured mesh tools
|
the curving functions are contained in this namespace More...
Classes | |
| class | MeshCurver |
| Base Mesh curving object. More... | |
| class | InterpolatingCurver |
| curves an already changed mesh More... | |
| class | BezierCurver |
| this curves a mesh with Bezier shapes More... | |
| class | GregoryCurver |
| this curves a mesh with 4th order G1 Patches More... | |
| class | Quality |
| class to store matrices used in quality assessment and validity checking More... | |
Functions | |
| void | setOrder (const int order) |
| sets order used in bezier shape functions | |
| int | getOrder () |
| gets order used in bezier shape functions | |
| void | setBlendingOrder (const int type, const int b) |
| sets the blending order, if shape blending is used | |
| int | getBlendingOrder (const int type) |
| gets the blending order | |
| int | countNumberInvalidElements (apf::Mesh2 *m) |
| count invalid elements of the mesh | |
| void | interpolatingToBezier (apf::Mesh2 *m) |
| converts Interpolating nodes to Control points for a Bezier mesh | |
| ma::Input * | configureShapeCorrection (ma::Mesh *m, ma::SizeField *f=0, ma::SolutionTransfer *s=0) |
| configure for fixing invalid elements | |
| void | adapt (ma::Input *in) |
| crv adapt with custom configuration More... | |
| void | adapt (const ma::Input *in) |
| crv adapt with custom configuration More... | |
| void | stats (ma::Input *in, std::vector< double > &edgeLengths, std::vector< double > &linearQualities, std::vector< double > &curvedQualities, bool inMetric=true) |
| crv stats to get statistic information about the mesh More... | |
| apf::FieldShape * | getBezier (int order) |
| Get the Bezier Curve or Shape of some order. More... | |
| apf::FieldShape * | getGregory () |
| Get the 4th order Gregory Surface. | |
| double | getQuality (apf::Mesh *m, apf::MeshEntity *e) |
| computes min det Jacobian / max det Jacobian. Quality::getQuality should be used if multiple elements checked in a row | |
| int | checkValidity (apf::Mesh *m, apf::MeshEntity *e, int algorithm=2) |
| checks validity of it and returns integer corresponding to invalid entity. Quality::checkValidity should be used if multiple elements checked in a row More... | |
| Quality * | makeQuality (apf::Mesh *m, int algorithm=2) |
| use this to make a quality object with the correct dimension | |
| double | interpolationError (apf::Mesh *m, apf::MeshEntity *e, int n) |
| computes interpolation error of a curved entity on a mesh More... | |
| void | writeCurvedVtuFiles (apf::Mesh *m, int type, int n, const char *prefix) |
| Visualization, writes file for specified type, n is number of subdivisions, higher number -> better resolution, but bigger file. | |
| void | writeCurvedWireFrame (apf::Mesh *m, int n, const char *prefix) |
| Visualization, writes wireframe of the curved mesh, n is number of subdivisions, higher number -> better resolution, but bigger file. | |
| void | writeControlPointVtuFiles (apf::Mesh *m, const char *prefix) |
| Visualization, writes file of control nodes for each entity. | |
| void | writeInterpolationPointVtuFiles (apf::Mesh *m, const char *prefix) |
| Visualization, writes file of shapes evaluated at node xi for each entity. | |
| int | getTriNodeIndex (int P, int i, int j) |
| publically accessible functions | |
| void | fail (const char *why) __attribute__((noreturn)) |
| crv fail function | |
the curving functions are contained in this namespace
| void crv::adapt | ( | const ma::Input * | in | ) |
crv adapt with custom configuration
see maInput.h for details. note that this function will delete the Input object
| void crv::adapt | ( | ma::Input * | in | ) |
crv adapt with custom configuration
see maInput.h for details. note that this function will delete the Input object
| int crv::checkValidity | ( | apf::Mesh * | m, |
| apf::MeshEntity * | e, | ||
| int | algorithm = 2 |
||
| ) |
checks validity of it and returns integer corresponding to invalid entity. Quality::checkValidity should be used if multiple elements checked in a row
Use an integer to determine the vuality tag 0 -> Not checked 1 -> Okay Quality 2-7 -> Vertex of index+2 is bad 8-13 -> Edge of index+6 is bad 14-17 -> Face of index+12 bad 20 -> Tet itself is bad, this one is the worst
6*dim + 2 + index
| apf::FieldShape* crv::getBezier | ( | int | order | ) |
Get the Bezier Curve or Shape of some order.
goes from first to sixth order
| double crv::interpolationError | ( | apf::Mesh * | m, |
| apf::MeshEntity * | e, | ||
| int | n | ||
| ) |
computes interpolation error of a curved entity on a mesh
this computes the Hausdorff distance by sampling n points per dimension of the entity through uniform sampling locations in parameter space
| void crv::stats | ( | ma::Input * | in, |
| std::vector< double > & | edgeLengths, | ||
| std::vector< double > & | linearQualities, | ||
| std::vector< double > & | curvedQualities, | ||
| bool | inMetric = true |
||
| ) |
crv stats to get statistic information about the mesh
statistic considered are (1)final/desired edge-lengths (2) linear quality (3) curved quality (minJ/maxJ)
1.9.1