Chi-Tech
sldfe_sq_01c_a_empirical.cc
Go to the documentation of this file.
1#include "sldfe_sq.h"
2
3//###################################################################
4/**Applies empirical quadrature point optimization.*/
9 chi_mesh::Vertex& sq_xy_tilde_centroid,
10 std::array<chi_mesh::Vector3, 4>& radii_vectors_xy_tilde,
11 std::array<double,4>& sub_sub_sqr_areas)
12{
13 FUNCTION_WEIGHT_FROM_RHO ComputeWeights(*this,
14 sq_xy_tilde_centroid,
15 radii_vectors_xy_tilde, sq, legendre);
16 double d = 1.0/sqrt(3.0);
17 chi_math::DynamicVector<double> rho = {d, d, d, d};
18
19 auto weights = ComputeWeights(rho);
20
21 for (int i=0; i<4; ++i)
22 {
23 auto xy_tilde = sq_xy_tilde_centroid +
24 rho[i]*radii_vectors_xy_tilde[i];
25 auto xyz_prime = sq.rotation_matrix*xy_tilde + sq.translation_vector;
26
27 sq.sub_sqr_points[i] = xyz_prime.Normalized();
28 sq.sub_sqr_weights[i] = weights[i];
29 }
30}
void EmpiricalQPOptimization(SphericalQuadrilateral &sq, chi_math::QuadratureGaussLegendre &legendre, chi_mesh::Vertex &sq_xy_tilde_centroid, std::array< chi_mesh::Vector3, 4 > &radii_vectors_xy_tilde, std::array< double, 4 > &sub_sub_sqr_areas)
std::array< chi_mesh::Vector3, 4 > sub_sqr_points
Definition: sldfe_sq.h:45