The KiT-RT framework is an open source project for radiation transport written in C++ programming language.
...
...
@@ -8,11 +8,13 @@ Based on the finite volume method (FVM), it provides an efficient tool to solve
Special attention has been paid to the application of radiation therapy and treatment planning.
The framework provides rich deterministic solver types for different domain-specific problems.
A list of current supported models and equations is as follows.
- linear Boltzmann (:math:`S_N`) equation
- spherical harmonics (:math:`P_N`) equations
- entropy-closure moment (:math:`M_N`) equations
- continuous slowing down equation
Design philosophy
------------------------
The code hierarchy is designed as intuitive and neat as possible.
...
...
@@ -25,18 +27,20 @@ What is new?
------------------------
Finite volume method is a proven approach for simulating conservation laws.
Compared with the existing open-source softwares, e.g. OpenFOAM, SU2 and Clawpack, Kit-RT holds the novelty through the following points:
- Comprehensive support for kinetic theory and phase-space equations
- radiation therapy
- Special focus on radiation therapy
- Lightweight design to ensure the flexibility for secondary development
How to get help?
------------------------
The software is being developed by members of the group `CSMM <https://www.scc.kit.edu/en/aboutus/rg-csmm.php>`_ at the Karlsruhe Institute of Technology (KIT).
If you are interested in using KiT-RT or are trying to figure out how to use it, please feel free to get in touch with `us <authors>`_.
If you are interested in using KiT-RT or are trying to figure out how to use it, please feel free to get in touch with `us <authors.html>`_.
Do open an issue or pull request if you have questions, suggestions or solutions.
where the left and right hand sides model particle transports and collisions correspondingly.
...
...
@@ -46,16 +47,14 @@ In the KiT-RT solver, we are interested in the linear Boltzmann equation, where
Therefore, the Boltzmann can be simplified as the linear equation with respect to :math:`f`.
.. math::
:label: linbz
\partial_{t} f(v)+v \cdot \nabla_{x} f(v)=\int k\left(v, v^{\prime}\right)\left(f\left(v^{\prime}\right)-f(v)\right) d v^{\prime}-\tau f(v)
For convenience, it is often reformulated with polar coordinates :math:`\{r, \phi, \theta \}`.
.. math::
:label: porbz
&\left[\frac{1}{v(E)} \frac{\partial}{\partial t}+\Omega \cdot \nabla+\Sigma_t (r, E, t)\right] \psi(r, \Omega, E, t) \\
&\left[\frac{1}{v(E)} \partial_{t} +\Omega \cdot \nabla+\Sigma_t (r, E, t)\right] \psi(r, \Omega, E, t) \\
&=\int_{0}^{\infty} d E^{\prime} \int_{\mathcal R^2} d \Omega^{\prime} \Sigma_{s}\left(r, \Omega^{\prime} \bullet \Omega, E^{\prime} \rightarrow E\right) \psi\left(r, \Omega^{\prime}, E^{\prime}, t\right) + Q(r, \Omega, E, t)
The particle distribution :math:`\psi(r, \Omega, E, t)` here is often named as angular flux, :math:`\{\Sigma_s, \Sigma_t \}` are the scattering and total cross sections correspondingly, and :math:`Q` denotes a source term.
Here, we define :math:`\widetilde\Sigma_{t}(\widetilde E):=\Sigma_t(E(\widetilde E))` and :math:`\widetilde\Sigma_{s}(\widetilde E,\Omega\cdot\Omega'):=\Sigma_s(E(\widetilde E),\Omega\cdot\Omega')`. Finally, to obtain a positive sign in front of the energy derivative, we transform to