|
| ElementProperty (const real_t *x0, const real_t *x1, const real_t *x2) |
|
| ElementProperty (const real_t *x0, const real_t *x1, const real_t *x2, const real_t *x3) |
|
real_t | area (const real_t *x0, const real_t *x1, const real_t *x2) const |
|
real_t | volume (const real_t *x0, const real_t *x1, const real_t *x2, const real_t *x3) const |
|
template<int dim> |
double | length (const real_t x0[], const real_t x1[], const double m[]) const |
|
double | lipnikov (const real_t *x0, const real_t *x1, const real_t *x2, const double *m0, const double *m1, const double *m2) |
|
double | lipnikov (const real_t *x0, const real_t *x1, const real_t *x2, double m00, double m01, double m11) |
|
void | lipnikov_grad (int moving, const double *x0, const double *x1, const double *x2, const double *m0, double *grad) |
|
double | lipnikov (const real_t *x0, const real_t *x1, const real_t *x2, const real_t *x3, const double *m0, const double *m1, const double *m2, const double *m3) |
|
double | lipnikov (const real_t *x0, const real_t *x1, const real_t *x2, const real_t *x3, const double *m0) |
|
void | lipnikov_grad (int moving, const double *x0, const double *x1, const double *x2, const double *x3, const double *m0, double *grad) |
|
real_t | sliver (const real_t *x0, const real_t *x1, const real_t *x2, const real_t *x3, const double *m0, const double *m1, const double *m2, const double *m3) |
|
double | condition (const real_t *x0, const real_t *x1, const real_t *x2, const double *m0, const double *m1, const double *m2) |
|
double | condition (const real_t *x0, const real_t *x1, const real_t *x2, double m00, double m01, double m11) |
|
double | condition (const real_t *x0, const real_t *x1, const real_t *x2, const real_t *x3, const double *m0, const double *m1, const double *m2, const double *m3) |
|
int | getOrientation () |
|
template<typename real_t>
class ElementProperty< real_t >
Calculates a number of element properties.
The constructor for this class requires a reference element so that the orientation convention can be established. After the orientation has been established a negative area or volume indicated an inverted element. Properties calculated are:
- Euclidean area (if 2D element).
- Euclidean Volume (if 3D element).
- Non-Euclidean edge length.
- 2D/3D Lipnikov quality functional.
- 3D sliver functional.
Definition at line 65 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::condition |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
const double * |
m0, |
|
|
const double * |
m1, |
|
|
const double * |
m2 |
|
) |
| |
|
inline |
Evaluates the 2D Condition number functional. The description for the functional is taken from: P. Knupp, Achieving finite element mesh quality via optimization, International Journal for Numerical Methods in Engineering, Vol. 48, No. 3, 2000, pp. 401 - 420.
- Parameters
-
x0 | pointer to 2D position for first point in triangle. |
x1 | pointer to 2D position for second point in triangle. |
x2 | pointer to 2D position for third point in triangle. |
m0 | 2x2 metric tensor for first point. |
m1 | 2x2 metric tensor for second point. |
m2 | 2x2 metric tensor for third point. |
Definition at line 540 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::condition |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
double |
m00, |
|
|
double |
m01, |
|
|
double |
m11 |
|
) |
| |
|
inline |
Evaluates the 2D Condition number functional. The description for the functional is taken from: P. Knupp, Achieving finite element mesh quality via optimization, International Journal for Numerical Methods in Engineering, Vol. 48, No. 3, 2000, pp. 401 - 420.
- Parameters
-
x0 | pointer to 2D position for first point in triangle. |
x1 | pointer to 2D position for second point in triangle. |
x2 | pointer to 2D position for third point in triangle. |
m00 | metric index (0,0) |
m01 | metric index (0,1) |
m11 | metric index (1,1) |
Definition at line 564 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::condition |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
const real_t * |
x3, |
|
|
const double * |
m0, |
|
|
const double * |
m1, |
|
|
const double * |
m2, |
|
|
const double * |
m3 |
|
) |
| |
|
inline |
Evaluates the 3D condition number functional. The description for the functional is taken from: L. Freitag, P M Knupp, Tetrahedral mesh improvement via optimization of the element condition number, meshes, Int. J. for Num. Meth. in Eng., Vol. 53, No. 6, pp. 1377-1391 (2002).
- Parameters
-
x0 | pointer to 3D position for first point in tetrahedral. |
x1 | pointer to 3D position for second point in tetrahedral. |
x2 | pointer to 3D position for third point in tetrahedral. |
x3 | pointer to 3D position for third point in tetrahedral. |
m0 | 3x3 metric tensor for first point. |
m1 | 3x3 metric tensor for second point. |
m2 | 3x3 metric tensor for third point. |
m3 | 3x3 metric tensor for forth point. |
Definition at line 610 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::lipnikov |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
const double * |
m0, |
|
|
const double * |
m1, |
|
|
const double * |
m2 |
|
) |
| |
|
inline |
Evaluates the 2D Lipnikov functional. The description for the functional is taken from: Yu. V. Vasileskii and K. N. Lipnikov, An Adaptive Algorithm for Quasioptimal Mesh Generation, Computational Mathematics and Mathematical Physics, Vol. 39, No. 9, 1999, pp. 1468 - 1486.
- Parameters
-
x0 | pointer to 2D position for first point in triangle. |
x1 | pointer to 2D position for second point in triangle. |
x2 | pointer to 2D position for third point in triangle. |
m0 | 2x2 metric tensor for first point. |
m1 | 2x2 metric tensor for second point. |
m2 | 2x2 metric tensor for third point. |
Definition at line 195 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::lipnikov |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
double |
m00, |
|
|
double |
m01, |
|
|
double |
m11 |
|
) |
| |
|
inline |
Evaluates the 2D Lipnikov functional. The description for the functional is taken from: Yu. V. Vasileskii and K. N. Lipnikov, An Adaptive Algorithm for Quasioptimal Mesh Generation, Computational Mathematics and Mathematical Physics, Vol. 39, No. 9, 1999, pp. 1468 - 1486.
- Parameters
-
x0 | pointer to 2D position for first point in triangle. |
x1 | pointer to 2D position for second point in triangle. |
x2 | pointer to 2D position for third point in triangle. |
m00 | metric index (0,0) |
m01 | metric index (0,1) |
m11 | metric index (1,1) |
Definition at line 218 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::lipnikov |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
const real_t * |
x3, |
|
|
const double * |
m0, |
|
|
const double * |
m1, |
|
|
const double * |
m2, |
|
|
const double * |
m3 |
|
) |
| |
|
inline |
Evaluates the 3D Lipnikov functional. The description for the functional is taken from: A. Agouzal, K Lipnikov, Yu. Vassilevski, Adaptive generation of quasi-optimal tetrahedral meshes, East-West J. Numer. Math., Vol. 7, No. 4, pp. 223-244 (1999).
- Parameters
-
x0 | pointer to 3D position for first point in tetrahedral. |
x1 | pointer to 3D position for second point in tetrahedral. |
x2 | pointer to 3D position for third point in tetrahedral. |
x3 | pointer to 3D position for third point in tetrahedral. |
m0 | 3x3 metric tensor for first point. |
m1 | 3x3 metric tensor for second point. |
m2 | 3x3 metric tensor for third point. |
m3 | 3x3 metric tensor for forth point. |
Definition at line 297 of file ElementProperty.h.
template<typename real_t>
double ElementProperty< real_t >::lipnikov |
( |
const real_t * |
x0, |
|
|
const real_t * |
x1, |
|
|
const real_t * |
x2, |
|
|
const real_t * |
x3, |
|
|
const double * |
m0 |
|
) |
| |
|
inline |
Evaluates the 3D Lipnikov functional. The description for the functional is taken from: A. Agouzal, K Lipnikov, Yu. Vassilevski, Adaptive generation of quasi-optimal tetrahedral meshes, East-West J. Numer. Math., Vol. 7, No. 4, pp. 223-244 (1999).
- Parameters
-
x0 | pointer to 3D position for first point in tetrahedral. |
x1 | pointer to 3D position for second point in tetrahedral. |
x2 | pointer to 3D position for third point in tetrahedral. |
x3 | pointer to 3D position for third point in tetrahedral. |
m0 | 3x3 metric tensor for first point. |
Definition at line 369 of file ElementProperty.h.