Theory
Governing Equations
VERTEX-SN solves the multi-group form of the linear neutral particle transport equations with an isotropic scattering kernel,
The energy group is represented by \(g\), the discrete angle is given by \(\mathbf{\Omega}_a\), and the spatial position is given by \(\mathbf{r}\). The total number of energy groups is \(G\) and the aniostropic scattering order is \(N\). The angular flux in group \(g\) in the discrete angle \(\mathbf{\Omega}_a\) is given by \(\psi_a^g \equiv \psi^g(\mathbf{\Omega}_a)\). \(\sigma_{sl}^{gg'}\) represents the scattering cross section from group \(g'\) to group \(g\) for the \(l^{th}\) Legendre scattering moment.
The even and odd angular flux moments, \(\phi\) and \(\theta\) are defined by
in 3D and by
in 2D.
Operator Form
The discrete ordinates equation in operator form can be given by \( \mathbf{L} \Psi = \mathbf{MS} \Phi + Q\:. \)
The dimensions of the operators are defined in discrete \((d)\) and moment \((m)\) space,
so that the dimension of the matrices in the operator form are
Neglecting space (\(N_c\times N_b\)), we have
Here,
The moment-to-discrete matrix \(\mathbf{M}\) has dimension \((N_a\times N_m)\) and is defined
The moments of the angular flux are calculated using the discrete-to-moment matrix \( \Phi=\mathbf{D}\Psi\:. \) From the quadrature integration rules we have \( \mathbf{D} = \mathbf{M}^T\mathbf{W}\:,\quad (N_m\times N_a)\:, \)
where
Accordingly, we have
with cross sections, \((N_m\times N_m)\), defined
FEM Equations
For any given group, angle, and source, the discrete ordinates transport equation has the following space-dependent form (where all other indices have been supressed)
We note that this will still be true for time-dependent equations where we solve the equations using implicit sweep operations (the time-absorption get rolled into \(\sigma\)). In matrix-form, we have \(\mathbf{L}\psi = s\)
Solving this equation implicitly by direct inversion of \(\mathbf{L}\), \( \psi=\mathbf{L}^{-1}s\:, \) requires sweeping the grid in the direction of particle travel determined by
The DG-FEM equations are:
where we have expanded using basis functions \(b_j\:,\ j=0,\ldots,B\),
On unstructured grids, we numerically integrate to build the linear system \(\mathbf{P}\Psi=q\) in each element. Numerical integration is done in natural coordinates.
Here, we do everything for 2D quads; however this is completely generalizable to other element types and dimensionalities. Mapping between natural and physical coordinates is done via the Jacobian of the system:
For now, we are assuming isoparametric FEM representations in which the mesh and function space are represented by the same basis. And we can expand \((x,y)\) in the basis as follows \( x = \sum_{i=0}^B b_i(\xi,\eta)x_i\:,\quad y = \sum_{i=0}^B b_i(\xi,\eta)y_i\:. \) Taking the partial derivatives gives
And \(\mathbf{J}\) becomes
The transform of the derivative of function \(f\) is
Which becomes
or
Numerically, we can integrate \([\mathbb{M}]\), \( [\mathbb{M}]_{ij} = \sum_{p=0}^{P} b_i(\xi_p,\eta_p)b_j(\xi_p,\eta_p)\det(\mathbf{J}_p)w(\xi_p)w(\eta_p)\:, \) where \(P+1\) is the number of quadrature points, generally set to be \(O(h^{2k+2})\) accurate where \(k\) is the polynomial order of the basis. So, for \(P1\) basis functions (first-order) we need to set the quadrature to integrate \(p=2k+1\) polynomials to achieve \(2k+2\) order accuracy. For example, Gauss-Legendre quadrature will integrate \(p=2n-1\), so \(n=2\) will integrate up to 3rd order polynomials exactly and will be \(O(h^{2n})\) accurate.
Expanding gradient term in the \([\mathbb{T}]\) Matrix, \( [\mathbb{T}]_{ij} = \mu\int_{y} \int_{x}\frac{\partial b_i}{\partial x}b_j\,dxdy + \eta\int_{y} \int_{x}\frac{\partial b_i}{\partial y}b_j\,dxdy\:. \) Numerically, we integrate \([\mathbb{T}]\) using
The leftmost term in the DG-FEM equation represents streaming inflow/outflow in a cell. Expanding as a sum over faces we define
To calculate \(\Gamma\) we define \( \Gamma(\psi) = \mathbb{G}^- + \mathbb{G}^+\:, \) where the \(\pm\) superscripts indicate incoming and outgoing terms, respectively, and \(\mathbb{G}^{-} = (N\times 1)\) and \(\mathbb{G}^{+}=(N\times N)\). Now for all incoming faces we have
where \(\psi_{mn}^{(m/n)}\) are the upwind fluxes on face \(\mathrm{f}\) at node \(m\) or \(n\), and \(F+1\) is the number of quadrature points used to integrate face \(\mathrm{f}\). For the outgoing faces, the terms are
And, the \(\beta_{p}\) are the quadrature points on face \(\mathrm{f}\). Each edge, \(\mathbf{f}_{mn}\), of the 2D quadrilateral is a vector defined by
and \(\mathbf{J} = \begin{pmatrix}\mathbf{J}_\xi & \mathbf{J}_\eta\end{pmatrix}^T\).
Integrating along the edge in natural coordinates requires a transformation of the differential line segment,
The coordinate transformations are defined
Finally, we note that the normals are defined by rotating the edge vectors through \(\theta = \pi/2\) at each edge center point in natural coordinates,
Thecomplete system that needs to be solved in each cell after upwinding is
Reference Discretizations
Here we give reference DG-FEM equations for a regular, Cartesian grid. On a regular grid, the basis functions can be integrated analytically. For example, in 2D the basis functions are:
and