16 for (
size_t s = 0; s <
face_data_[f].sides.size(); s++)
24 double xi = xi_eta_zeta.
x;
25 double eta = xi_eta_zeta.
y;
26 double zeta = xi_eta_zeta.
z;
29 if ((xi >= -1.0e-12) and (eta >= -1.0e-12) and (zeta >= -1.0e-12) and
30 ((xi + eta + zeta) <= (1.0 + 1.0e-12)))
40 Ni = 1 - xi - eta - zeta;
66 for (
size_t s = 0; s <
face_data_[f].sides.size(); s++)
73 double xi = xi_eta_zeta.
x;
74 double eta = xi_eta_zeta.
y;
75 double zeta = xi_eta_zeta.
z;
78 if ((xi >= -1.0e-12) and (eta >= -1.0e-12) and (zeta >= -1.0e-12) and
79 ((xi + eta + zeta) <= (1.0 + 1.0e-12)))
89 if (side_map.part_of_face)
91 if (side_map.index == 0) Ni = 1 - xi - eta - zeta;
92 else if (side_map.index == 2)
98 shape_values[i] = Ni + Nf + Nc;
112 for (
size_t f = 0; f <
face_data_.size(); f++)
114 for (
size_t s = 0; s <
face_data_[f].sides.size(); s++)
122 double xi = xi_eta_zeta.
x;
123 double eta = xi_eta_zeta.
y;
124 double zeta = xi_eta_zeta.
z;
127 if ((xi >= -1.0e-12) and (eta >= -1.0e-12) and (zeta >= -1.0e-12) and
128 ((xi + eta + zeta) <= (1.0 + 1.0e-12)))
158 grad = (grad_i + grad_f + grad_c);
173 std::vector<chi_mesh::Vector3>& gradshape_values)
const
175 gradshape_values.clear();
const chi_mesh::MeshContinuum & ref_grid_
double ShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
std::vector< double > face_betaf_
Face Beta-factor.
std::vector< FEnodeMap > node_side_maps_
Maps nodes to side tets.
void ShapeValues(const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const override
std::vector< FEface_data > face_data_
Holds determinants and data tet-by-tet.
void GradShapeValues(const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const override
chi_mesh::Vector3 GradShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
double alphac_
Cell alpha-factor.