Function opensn::QuadratureHalfRangeMoment

Function Documentation

double opensn::QuadratureHalfRangeMoment(const std::vector<Vector3> &omegas, const std::vector<double> &weights, const Vector3 &normal)

Helpers of the blended vacuum-boundary closure (“closure R”) of the MIP diffusion operator used by DSA.

On a face f with a prescribed incoming flux the closure adds

\[ b_\theta(\delta, v) = \beta_f (1 + \theta_f) \int_f \delta v - \frac{1 - \theta_f}{2} \int_f D (\partial_n \delta\, v + \partial_n v\, \delta), \]
which for \(\theta_f = 1\) is the Marshak condition with the quadrature’s half-range moment (coefficient \(2\beta_f\), no gradient terms; equal to the Marshak coefficient 1/2 only when \(\beta_f = 1/4\)) and for \(\theta_f = 0\) the half-range transport moment (coefficient \(\beta_f\), half-strength gradient terms). The blend is
\[ \theta_f = \max\left(\min\left(1, (s_0 / \sigma_t h_f)^2\right), \theta_{coer}\right), \qquad \frac{(1 - \theta_{coer})^2}{1 + \theta_{coer}} = \frac{6 \beta_f \sigma_t h_f}{C_{grad}\, n_{f}}, \]
where \(\sigma_t = 1/(3D)\), \(h_f\) is the face-dependent orthogonal length, \(C_{grad}\) the discrete normal-derivative trace constant of the basis on the face, \(n_f\) the number of faces of the cell carrying the closure and \(s_0 = 1 + p/2\). The second condition is the coercivity bound of the cell form with a safety factor 2, so the operator is SPD for every cell thickness. Half-range moment of a quadrature on a face with unit normal normal: \(\beta_f = \frac12 \sum_d w_d |\Omega_d \cdot n| / \sum_d w_d\), the outgoing partial current per unit scalar flux of an isotropic angular flux (1/4 for the exact angular integral).