8finite_element::VolumetricQuadraturePointData
15 std::vector<unsigned int> V_quadrature_point_indices;
17 std::vector<VecDbl> V_shape_value;
18 std::vector<VecVec3> V_shape_grad;
23 V_quadrature_point_indices.reserve(ttl_num_vol_qpoints);
24 for (
unsigned int qp = 0; qp < ttl_num_vol_qpoints; ++qp)
25 V_quadrature_point_indices.push_back(qp);
34 node_shape_value.reserve(ttl_num_vol_qpoints);
35 node_shape_grad.reserve(ttl_num_vol_qpoints);
39 node_shape_value.push_back(
SlabShape(i, qpoint));
40 node_shape_grad.emplace_back(0.0,
45 V_shape_value.push_back(node_shape_value);
46 V_shape_grad.push_back(node_shape_grad);
49 V_JxW.reserve(ttl_num_vol_qpoints);
50 V_qpoints_xyz.reserve(ttl_num_vol_qpoints);
52 for (
size_t qp = 0; qp < ttl_num_vol_qpoints; ++qp)
55 V_JxW.push_back(J * w);
58 V_qpoints_xyz.push_back(
v0_ +
76 const bool ON_SURFACE =
true;
79 size_t num_srf_qpoints = 1;
81 const unsigned int f = face_index;
84 std::vector<unsigned int> F_quadrature_point_indices;
86 std::vector<VecDbl> F_shape_value;
87 std::vector<VecVec3> F_shape_grad;
92 size_t ttl_num_face_qpoints = num_srf_qpoints;
94 F_quadrature_point_indices.reserve(ttl_num_face_qpoints);
95 for (
unsigned int qp = 0; qp < ttl_num_face_qpoints; ++qp)
96 F_quadrature_point_indices.push_back(qp);
98 F_normals.reserve(ttl_num_face_qpoints);
99 for (
size_t qp = 0; qp < ttl_num_face_qpoints; ++qp)
109 node_shape_value.reserve(ttl_num_face_qpoints);
110 node_shape_grad.reserve(ttl_num_face_qpoints);
114 node_shape_value.push_back(
SlabShape(i, qpoint, ON_SURFACE, f));
115 node_shape_grad.emplace_back(0.0,
119 F_shape_value.push_back(node_shape_value);
120 F_shape_grad.push_back(node_shape_grad);
123 F_JxW.reserve(ttl_num_face_qpoints);
124 F_qpoints_xyz.reserve(ttl_num_face_qpoints);
125 const double JxW = 1.0;
126 for (
size_t qp = 0; qp < num_srf_qpoints; ++qp)
128 F_JxW.push_back(JxW);
const std::vector< std::vector< int > > face_node_mappings_
std::vector< chi_math::QuadraturePointXYZ > qpoints_
std::vector< double > weights_
std::vector< double > VecDbl
std::vector< chi_mesh::Vector3 > VecVec3
finite_element::VolumetricQuadraturePointData MakeVolumetricQuadraturePointData() const override
finite_element::SurfaceQuadraturePointData MakeSurfaceQuadraturePointData(size_t face_index) const override
double SlabShape(uint32_t index, const chi_mesh::Vector3 &qpoint, bool on_surface=false, uint32_t edge=0) const
const QuadratureLine & volume_quadrature_
double SlabGradShape(uint32_t index) const
std::array< chi_mesh::Normal, 2 > normals_