Commit 5efeb31b authored by Tianbai Xiao's avatar Tianbai Xiao
Browse files

Update index


Former-commit-id: e16f1467
parent daac2d5d
......@@ -2,15 +2,39 @@
KiT-RT: a kinetic transport solver for radiation therapy
===========================================================
The KiT-RT framework is a powerful open source platform for radiation transport.
Its main focus is on radiotherapy planning in cancer treatment.
To allow problem-specific method selection, the framework provides different deterministic solver types.
This not only facilitates treatment planning, but also provides tools to investigate various research questions in the field of radiative transfer.
This goal is supported by an easily extensible code structure that allows straightforward implementation of additional methods and techniques.
The KiT-RT framework is an open source project for radiation transport written in C++ programming language.
It is interested in the evolution of many-particle systems, e.g. photons, neutrons, electrons, etc.
Based on the finite volume method (FVM), it provides an efficient tool to solve the Boltzmann and related equations in multiple dimensions.
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.
It's dedicated to providing a friendly interface for educational usage in kinetic theory and rich functionality for scientific research.
Benefiting from the brilliant expressiveness and low-overhead abstraction provided by the C++ programming language, we implement the easily extensible code structure,
which allow the users to focus on physics or easily extend the codes with their own methods.
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
- 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).
For more information, please feel free to get in touch with us (link to authors page).
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>`_.
Do open an issue or pull request if you have questions, suggestions or solutions.
--------
Contents
--------
......
......@@ -50,19 +50,15 @@ Therefore, the Boltzmann can be simplified as the linear equation with respect t
\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)
It is often reformulated with polar coordinates
where the particles don't interact with one another but scatter with the background material.
For convenience, we reformulate the particle velocity into polar coordinates :math:`\{r, \phi, \theta \}`.
For convenience, it is often reformulated with polar coordinates :math:`\{r, \phi, \theta \}`.
.. math::
:label: porbz
&\left[\frac{1}{\mathrm{~V}} \frac{\partial}{\partial t}+\Omega \cdot \nabla+\Sigma(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)
&\left[\frac{1}{v(E)} \frac{\partial}{\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.
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.
The continuous slowing down approximation
......@@ -74,7 +70,8 @@ For the radiation therapy, the main goal is to compute the radiation dose accura
D(x)=\frac{1}{\rho(x)}\int_0^{\infty}\int_{\mathbb{S}^2}S(E,x)\psi(E,x,\Omega)\,d\Omega dE.
The angular flux $\psi$ can be approximated by a further approximation equation, i.e. the continuous slowing down (CSD) equation which reads
where :math:`\rho(x)` is the background material density.
The angular flux :math:`\psi` can be approximated by a further approximation equation, i.e. the continuous slowing down (CSD) equation which reads
.. math::
&-\partial_E\left(S(E,x)\psi(E,x,\Omega)\right)+\Omega\cdot\nabla_x\psi(E,x,\Omega)+\Sigma_t(E,x)\psi(E,x,\Omega) \\
......@@ -86,27 +83,29 @@ The stopping power :math:`S` is given by
.. math::
S(E,x) = \int_0^{\infty} E'\int_{-1}^1\Sigma(E,E',x,\mu)d\mu dE'.
Since there are no absorption effects, the total cross section is given by
Let us assume there are no absorption effects, and thus the total cross section is given by
.. math::
\Sigma_t(E,x) = \Sigma_{s,0}(E,x)=2\pi \int_{-1}^1\Sigma_s(E,x,\mu)d\mu.
With a given background material density :math:`\rho(x)` now make the following assumptions
With a given :math:`\rho(x)`, we now make the following assumptions
.. math::
S(E,x) = S^{H_2O}(E)\rho(x), \\
\Sigma_t(E,x) = \Sigma_t^{H_2O}(E)\rho(x), \\
\Sigma_s(E,x,\Omega\cdot\Omega') = \Sigma_s(E,\Omega\cdot\Omega')\rho(x).
&S(E,x) = S^{H_2O}(E)\rho(x), \\
&\Sigma_t(E,x) = \Sigma_t^{H_2O}(E)\rho(x), \\
&\Sigma_s(E,x,\Omega\cdot\Omega') = \Sigma_s(E,\Omega\cdot\Omega')\rho(x).
Leaving out the superscript :math:`H_2O`, the CSD equation simplifies to
Leaving out the superscript :math:`H_2O`, the CSD equation can be simplified as
.. math::
:label: CSD2
-\partial_E\left(\rho(x)S(E)\psi(E,x,\Omega)\right)+\Omega\cdot\nabla_x\psi(E,x,\Omega)+\rho(x)\Sigma_t(E)\psi(E,x,\Omega) = \int_{\mathbb{S}^2}\rho(x)\Sigma_s(E,\Omega\cdot\Omega')\psi(E,x,\Omega')d\Omega'.
&-\partial_E\left(\rho(x)S(E)\psi(E,x,\Omega)\right)+\Omega\cdot\nabla_x\psi(E,x,\Omega)+\rho(x)\Sigma_t(E)\psi(E,x,\Omega) \\
&= \int_{\mathbb{S}^2}\rho(x)\Sigma_s(E,\Omega\cdot\Omega')\psi(E,x,\Omega')d\Omega'.
Now, we bring this system in a form which resembles the standard Boltzmann equation. Multiplying \eqref{eq:CSD2} with :math:`S(E)` gives
Now, we bring this system in a form which resembles the standard Boltzmann equation.
Multiplying :ref:`CSD2` with :math:`S(E)` gives
.. math::
:label: CSD3
......@@ -150,7 +149,7 @@ And by rearranging the terms, we finally get
\partial_{ E}\widetilde{\widehat{\psi}}(\widetilde E,x,\Omega) = \partial_{\widetilde{E}}\widetilde{\widehat{\psi}}(\widetilde E,x,\Omega)\frac{1}{S(E(\widetilde E))},
since :math:`S(E(\widetilde E))` is nonzero.
Therefore, substituting :math:`\widetilde E` in \eqref{eq:CSD4} gives
Therefore, substituting :math:`\widetilde E` in :ref:`CSD4` gives
.. math::
:label: CSD5
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment