AngularClass
Objects of this type carry information about angular discretization. At the moment, only \(S_{N}\) angular discretization is implemented, so we will describe only how to initialize that.
One can initialize an object of this type using:
Type (AngularClass) :: angular
Integer :: L ! Angular discretization parameter (described below)
Character (*) :: solver ! Solver type for the operators eventually built from this ('SI' or 'GMRES')
Logical :: slab ! Whether or not this is for a slab calculation
angular = AngularClass (L, solver, slab)
Note, the integer L corresponds to the Legendre order which fully integrates the polar angle in the discrete ordinates set. That is, if Nmu is the number of polar angles and Nphi is the number of azimuthal angles, then Nmu = L + 1 and Nphi = 2 * (L + 1).
Also, it may be rather clunky to include solver information in the angular object. The two options are SI and GMRES. We emphasize that this is where you’ll set the solvers to be used when inverting a given operator that this object is used to build. This could be changed in the future.
There are no type-bound procedures at the moment.