Classes | |
class | VolMap |
Class representing a 3-D mapping function (e.g. shape function for volume element) More... | |
class | LinearHexMap |
Shape function for trilinear hexahedron. More... | |
Functions | |
bool | nat_coords_trilinear_hex (const CartVect *corner_coords, const CartVect &x, CartVect &xi, double tol) |
void | nat_coords_trilinear_hex2 (const CartVect hex[8], const CartVect &xyz, CartVect &ncoords, double etol) |
bool | point_in_trilinear_hex (const CartVect *hex, const CartVect &xyz, double etol) |
bool | point_in_trilinear_hex (const CartVect *hex, const CartVect &xyz, const CartVect &box_min, const CartVect &box_max, double etol) |
void | hex_findpt (realType *xm[3], int n, CartVect xyz, CartVect &rst, double &dist) |
void | hex_eval (realType *field, int n, CartVect rstCartVec, double &value) |
bool | integrate_trilinear_hex (const CartVect *hex_corners, double *corner_fields, double &field_val, int num_pts) |
void | nat_coords_trilinear_hex2 (const CartVect *hex_corners, const CartVect &x, CartVect &xi, double til) |
Variables | |
bool | debug = false |
const double | gauss_1 [1][2] = { { 2.0, 0.0 } } |
const double | gauss_2 [2][2] = { { 1.0, -0.5773502691 }, { 1.0, 0.5773502691 } } |
const double | gauss_3 [3][2] |
const double | gauss_4 [4][2] |
const double | gauss_5 [5][2] |
Definition at line 246 of file ElemUtil.cpp.
References moab::CartVect::get(), lagrange_0(), lagrange_free(), lagrange_setup(), lobatto_nodes(), tensor_i3(), and tmalloc.
void moab::ElemUtil::hex_findpt | ( | realType * | xm[3], |
int | n, | ||
CartVect | xyz, | ||
CartVect & | rst, | ||
double & | dist | ||
) |
Definition at line 201 of file ElemUtil.cpp.
References moab::CartVect::get(), lagrange_free(), lagrange_setup(), lobatto_nodes(), opt_alloc_3(), opt_findpt_3(), opt_free_3(), opt_no_constraints_3, and tmalloc.
Referenced by nat_coords_trilinear_hex2().
bool moab::ElemUtil::integrate_trilinear_hex | ( | const CartVect * | hex_corners, |
double * | corner_fields, | ||
double & | field_val, | ||
int | num_pts | ||
) |
Definition at line 312 of file ElemUtil.cpp.
References debug, moab::Matrix3::determinant(), moab::ElemUtil::LinearHexMap::evaluate_scalar_field(), gauss_1, gauss_2, gauss_3, gauss_4, gauss_5, hex_corners, and moab::ElemUtil::LinearHexMap::jacobian().
bool moab::ElemUtil::nat_coords_trilinear_hex | ( | const CartVect * | corner_coords, |
const CartVect & | x, | ||
CartVect & | xi, | ||
double | tol | ||
) |
Definition at line 119 of file ElemUtil.cpp.
References moab::ElemUtil::VolMap::solve_inverse().
Referenced by point_in_trilinear_hex().
void moab::ElemUtil::nat_coords_trilinear_hex2 | ( | const CartVect * | hex_corners, |
const CartVect & | x, | ||
CartVect & | xi, | ||
double | til | ||
) |
void moab::ElemUtil::nat_coords_trilinear_hex2 | ( | const CartVect | hex[8], |
const CartVect & | xyz, | ||
CartVect & | ncoords, | ||
double | etol | ||
) |
Definition at line 127 of file ElemUtil.cpp.
References moab::CartVect::get(), hex_findpt(), and MOAB_POLY_EPS.
bool moab::ElemUtil::point_in_trilinear_hex | ( | const CartVect * | hex, |
const CartVect & | xyz, | ||
const CartVect & | box_min, | ||
const CartVect & | box_max, | ||
double | etol | ||
) |
Definition at line 169 of file ElemUtil.cpp.
References box_max(), box_min(), dim, and point_in_trilinear_hex().
bool moab::ElemUtil::point_in_trilinear_hex | ( | const CartVect * | hex, |
const CartVect & | xyz, | ||
double | etol | ||
) |
Definition at line 162 of file ElemUtil.cpp.
References nat_coords_trilinear_hex().
Referenced by main(), and point_in_trilinear_hex().
bool moab::ElemUtil::debug = false |
Definition at line 13 of file ElemUtil.cpp.
Referenced by integrate_trilinear_hex().
const double moab::ElemUtil::gauss_1[1][2] = { { 2.0, 0.0 } } |
Definition at line 290 of file ElemUtil.cpp.
Referenced by integrate_trilinear_hex().
const double moab::ElemUtil::gauss_2[2][2] = { { 1.0, -0.5773502691 }, { 1.0, 0.5773502691 } } |
Definition at line 292 of file ElemUtil.cpp.
Referenced by integrate_trilinear_hex().
const double moab::ElemUtil::gauss_3[3][2] |
Definition at line 294 of file ElemUtil.cpp.
Referenced by integrate_trilinear_hex().
const double moab::ElemUtil::gauss_4[4][2] |
Definition at line 298 of file ElemUtil.cpp.
Referenced by integrate_trilinear_hex().
const double moab::ElemUtil::gauss_5[5][2] |
Definition at line 303 of file ElemUtil.cpp.
Referenced by integrate_trilinear_hex().