diff --git a/docs/atomic/current_public_table.rst b/docs/atomic/current_public_table.rst index 37e749a0e13..a7e0d997cfa 100644 --- a/docs/atomic/current_public_table.rst +++ b/docs/atomic/current_public_table.rst @@ -2,7 +2,7 @@ | file name | uuid1 | data sources | macroatom | zeta | synpp references | database version | | | | | | | | | +=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+ -| `kurucz_cd23_chianti_H_He.zip `_ | 5ca3035ca8b311e3bb684437e69d75d7 | **kurucz:** | True | True | True | v0.9 | +| `kurucz_cd23_chianti_H_He.zip `_ | 6f7b09e887a311e7a06b246e96350010 | **kurucz:** | True | True | True | v0.9 | | | | | | | | | | | | Li I-II, Be I-IV, C I-IV, N I-VI | | | | | | | | O I-VI, F I-VI, Ne I-VI, Na I-VI | | | | | diff --git a/docs/credits.rst b/docs/credits.rst index 92d8eabaf0c..cd9a14133a0 100644 --- a/docs/credits.rst +++ b/docs/credits.rst @@ -54,15 +54,18 @@ Principle Investigator Core Team --------- - * Aoife Boyle * Vytautas Jancauskas - * Michael Klauser * Markus Kromer * Stefan Lietzau * Ulrich Noebauer * Stuart Sim * Christian Vogl +Past Members +------------ + + * Aoife Boyle + * Michael Klauser Current and Former GSoC and SOCIS Students ------------------------------------------ @@ -70,10 +73,13 @@ Current and Former GSoC and SOCIS Students * Aoife Boyle (GSoC 2015) * Tomas Bylund (SOCIS 2016) * Karan Desai (GSoC 2016) + * Vaibhav Gupta (GSoC 2017) * Vytautas Jancauskas (GSoC 2015) + * Stefan Lietzau (GSoC 2017) * Mikhail Mishin (GSoC 2016) * Fotis Tsamis (GSoC 2016) + Contributors ------------ diff --git a/docs/installation.rst b/docs/installation.rst index 5310e95d8af..a9b6f364cef 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -13,6 +13,10 @@ simple TARDIS calculations. .. _requirements_label: +.. note:: + We strongly recommond to install TARDIS within an Anaconda environment and + to always use the lastest github development version. + Requirements ============ diff --git a/docs/physics/index.rst b/docs/physics/index.rst index b640cf85ebe..cfcec209674 100644 --- a/docs/physics/index.rst +++ b/docs/physics/index.rst @@ -28,6 +28,6 @@ Old Physics Section of the TARDIS Docu (Outdated) * :doc:`physical_quantities` * :doc:`montecarlo` -* :doc:`plasma` +* :doc:`new_plasma` * :doc:`plasma/index` diff --git a/docs/physics/new_plasma.rst b/docs/physics/new_plasma.rst new file mode 100644 index 00000000000..d55a83557ad --- /dev/null +++ b/docs/physics/new_plasma.rst @@ -0,0 +1,41 @@ +****** +Plasma +****** + +The role of the plasma module is to determine the ionisation and excitation states of the elements of the +supernova ejecta, given the basic structure, including the elemental abundances, densities and radiation temperature. +After the calculation of the plasma state, the :math:`\tau_{\textrm{sobolev}}` values can be calculated. + +The Tardis plasma structure inherits from the `BasePlasma class`. The code currently uses the `LegacyPlasmaArray` +for generating a plasma from the information provided by `model`. A variety of different plasmas can be generated +depending on the options selected in the plasma section of the Tardis config. file. The options currently considered +by the Legacy Plasma when creating the plasma calculation structure include: + +plasma: + * ionization: lte/nebular + * excitation: lte/dilute-lte + * line_interaction_type: scatter/downbranch/macroatom + * helium_treatment: dilute-lte/recomb-nlte + * nlte: [can provide list of ion species to be treated in NLTE, as well as specifying the use of the coronal_approximation/classical_nebular settings. + +`LegacyPlasmaArray` uses these options to construct a map of the necessary plasma parameters that demonstrates how these parameters are dependent on one another (using networkx). Each time a particular parameter of the plasma is updated, all of the parameters dependent (directly or indirectly) on that particular one can be easily updated automatically, without requiring that all the plasma calculations are repeated. + +Properties, Inputs and Outputs +------------------------------ +Each Tardis plasma possesses an array of plasma properties, which are used to calculate plasma parameter values. Most plasma properties have a single output, e.g. + * `GElectron`: (`g_electron`,) + * `HeliumNLTE`: (`helium_population`,) + +but some have two or more, e.g. + * `IonNumberDensity`: (`ion_number_density`, `electron_densities`) + * `Levels`: (`levels`, `excitation_energy`, `metastability`, `g`) + +Every property has a `calculate` function that returns the values of its outputs. The arguments required for that function become the property inputs. Tardis will raise an error if it does not have all of the required inputs for a particular property. It will also raise an error if there is an output loop, i.e. if two properties are dependent on each other. Some different properties share output names, for example, `PhiSahaLTE` and `PhiSahaNebular` both have an output called `phi`. That is because the `phi` value is calculated differently depending on the ionization method selected, but once calculated both values interact in the same way with the rest of the plasma. Tardis will import only one of the `phi` properties when initialising the plasma. + +The Plasma Graph +---------------- +If the necessary Python modules (pygraphviz and dot2tex) are available, Tardis will automatically output a .tex file at the beginning of each run that can be compiled to produce a PDF image of the plasma module graph. The nodes on this graph are the names of plasma properties, e.g. `Levels`, `TauSobolev`, `IonNumberDensity`, along with a list of outputs from those properties and equations showing how they are calculated. These nodes are connected by arrows linking nodes with the sources of their inputs, and labelled with the name of the input/output linking the two properties, e.g. `levels`, :math:`\tau_{\textrm{sobolev}}`, :math:`n_{e}`. + +Updating the Plasma +------------------- +During each iteration of the main code, Tardis updates the plasma using the `update_radiationfield` function. This requires, at minimum, new values for `t_rad` (the radiation temperature), `w` (the dilution factor) and `j_blues` (the intensity in the blue part of each line).