4. METHODS
TITAN numerically solves the time-independent first order transport equation (Linear Boltzmann Equation) using a hybrid Discrete Ordinate (Sn) and Ray-tracing method. Two transport solvers, an Sn Solver and a ray-tracing solver, are integrated in the TITAN code. Both solvers work on the coarse mesh level in Cartesian geometry. Generally, a TITAN problem model contains more than one coarse mesh. This allows users to apply different solvers to different coarse mesh. This feature can be useful for problems containing a large region of low scattering medium. In such regions, the Sn method requires finer angular and spatial meshing and becomes less efficient. TITAN's ray-tracing solver is more efficient to solve the transport equation in such regions. The ray-tracing solver is essentially a 3-D Method of Characteristics solver, only it applies to an individual coarse mesh, instead of the whole spatial domain. Currently the ray-solver applies only on coarse mesh with one material region, and the total cross-section of the material should be close to zero to qualify as 'low scattering' medium. For a multi-region regular coarse mesh, the Sn solver should be used.
TITAN uses the object oriented programming paradigm with a layered and modular structure. Some features of the code include:
- Integrated SN and ray-tracing solvers
- Shared scattering source kernel allowing arbitrary order anisotropic scattering
- Backward ray-tracing
- Block-oriented data structure allowing localized quadrature sets and solvers
- Layered code structure
- Level-symmetric and Pn-Tn quadrature sets
- Incorporation of three ordinate splitting techniques (rectangular, local PN-TN, and circular)
- Fast and memory-efficient spatial and angular projections on the interfaces of coarse meshes by using sparse projection matrix
- wave-front interface flux handling
- A binary I/O library to visualize and post-process data with TECPLOT
- Extra Sweep technique with the fictitious quadrature technique for calculations of angular fluxes along arbitrary directions
What's new in Version 1.29:
1. Added the Lobatto-Chebyshev quadrature which includes a direction along an axis
2. Improved angular source handling
3. Improved parallel performance
(Refer to change.log in the package for more details)