Chi-Tech
QuadraturePointData.cc
Go to the documentation of this file.
2
4{
6
8 std::vector<unsigned int> quadrature_point_indices,
9 VecVec3 qpoints_xyz,
10 std::vector<VecDbl> shape_value,
11 std::vector<VecVec3> shape_grad,
12 VecDbl JxW,
13 std::vector<std::vector<int>> face_dof_mappings,
14 size_t num_nodes)
15 : quadrature_point_indices_(std::move(quadrature_point_indices)),
16 qpoints_xyz_(std::move(qpoints_xyz)),
17 shape_value_(std::move(shape_value)),
18 shape_grad_(std::move(shape_grad)),
19 JxW_(std::move(JxW)),
20 face_dof_mappings_(std::move(face_dof_mappings)),
21 num_nodes_(num_nodes)
22{
23}
24
25const std::vector<unsigned int>&
27{
29}
32{
33 return qpoints_xyz_.at(qp);
34}
36 unsigned int qp) const
37{
38 auto& qp_data = shape_value_.at(i);
39 return qp_data.at(qp);
40}
43 unsigned int qp) const
44{
45 auto& qp_data = shape_grad_.at(i);
46 return qp_data.at(qp);
47}
48
50{
51 return qpoints_xyz_;
52}
53
54const std::vector<VecDbl>& VolumetricQuadraturePointData::ShapeValues() const
55{
56 return shape_value_;
57}
58const std::vector<VecVec3>&
60{
61 return shape_grad_;
62}
63const std::vector<double>& VolumetricQuadraturePointData::JxW_Values() const
64{
65 return JxW_;
66}
67double VolumetricQuadraturePointData::JxW(unsigned int qp) const
68{
69 return JxW_.at(qp);
70}
72 size_t face_node_index) const
73{
74 auto& face_data = face_dof_mappings_.at(face);
75 return face_data.at(face_node_index);
76}
78
80{}
81
83 std::vector<unsigned int> quadrature_point_indices,
84 VecVec3 qpoints_xyz,
85 std::vector<VecDbl> shape_value,
86 std::vector<VecVec3> shape_grad,
87 VecDbl JxW,
88 VecVec3 normals,
89 std::vector<std::vector<int>> face_dof_mappings,
90 size_t num_nodes)
91 : VolumetricQuadraturePointData(std::move(quadrature_point_indices),
92 std::move(qpoints_xyz),
93 std::move(shape_value),
94 std::move(shape_grad),
95 std::move(JxW),
96 std::move(face_dof_mappings),
97 num_nodes),
98 normals_(std::move(normals))
99{
100}
101
103{
104 return normals_.at(qp);
105}
106
108
109} // namespace chi_math::finite_element
std::vector< double > VecDbl
Definition: chi_math.h:12
chi_mesh::Vector3 Normal(unsigned int qp) const
std::vector< VecVec3 > shape_grad_
Node i, then qp.
double ShapeValue(unsigned int i, unsigned int qp) const
int FaceDofMapping(size_t face, size_t face_node_index) const
std::vector< std::vector< int > > face_dof_mappings_
Face f,then fi.
const std::vector< unsigned int > & QuadraturePointIndices() const
chi_mesh::Vector3 QPointXYZ(unsigned int qp) const
chi_mesh::Vector3 ShapeGrad(unsigned int i, unsigned int qp) const
const std::vector< VecVec3 > & ShapeGradValues() const
std::vector< VecDbl > shape_value_
Node i, then qp.
std::vector< unsigned int > quadrature_point_indices_
qp index only
std::vector< chi_mesh::Vector3 > VecVec3