diff --git a/docs/index.rst b/docs/index.rst index 9fd09123640..4fe15836cb4 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -46,62 +46,3 @@ Mission Statement We aim to build up a diverse group of researchers and developers using an open-community model that emphasizes interdisciplinary research and science reproducibility.* - -.. toctree:: - :maxdepth: 2 - :hidden: - - installation - quickstart - tutorials - how_to_guides - faq - API - - -.. toctree:: - :maxdepth: 3 - :caption: Input/Output - :hidden: - - io/hdf/index - io/configuration/index - io/model/index - io/optional/index - io/visualization/index - io/output/index - io/grid/TardisGridTutorial - -.. toctree:: - :maxdepth: 2 - :caption: Physics Walkthrough - :hidden: - - physics/intro/index - physics/setup/index - physics/montecarlo/index - physics/update_and_conv/update_and_conv - physics/spectrum/index - physics/tardisgamma/index - - -.. toctree:: - :maxdepth: 2 - :caption: Contributing to TARDIS - :hidden: - - contributing/CONTRIBUTING.md - contributing/development/index - contributing/tools/index - contributing/CHANGELOG.md - contributing/in_progress/index - - -.. toctree:: - :caption: Other Resources - :hidden: - - resources/credits - resources/research_done_using_TARDIS/research_papers - resources/code_comparison/index - resources/zreferences diff --git a/docs/io/configuration/components/atomic/atomic_data.rst b/docs/io/configuration/components/atomic/atomic_data.rst deleted file mode 100644 index f00fcccc683..00000000000 --- a/docs/io/configuration/components/atomic/atomic_data.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _atomic-data-download: - -*********** -Atomic Data -*********** - -Atomic data is provided as a filepath in the configuration file or as a keyword argument in the ``run_tardis`` -function. The `Carsus package `_ can generate atomic data in a format readable -by TARDIS. - -.. toctree:: - - atomic_data_description - current_public_table diff --git a/docs/io/configuration/components/atomic/atomic_data_description.rst b/docs/io/configuration/components/atomic/atomic_data_description.rst deleted file mode 100644 index 5e77056a7f7..00000000000 --- a/docs/io/configuration/components/atomic/atomic_data_description.rst +++ /dev/null @@ -1,226 +0,0 @@ -.. _atomic-data-descritpion: - -****************************** -Atomic Data Format Description -****************************** -.. currentmodule:: tardis.io.atomic - - -The atomic data for tardis is stored in `HDF5 files `_. TARDIS ships with a -relatively simple atomic dataset that only contains silicon lines and levels. TARDIS also has a full atomic dataset which contains -the complete Kurucz dataset (``_). This full dataset also contains recombination -coefficients from the ground state (:math:`\zeta-\textrm{factor}` used in :ref:`calc_zeta_label`) and data for calculating the -branching or macro atom line interaction (:ref:`macroatom`). - - - -HDF5 Dataset ------------- - -As mentioned previously, all atomic data is stored in `HDF5 files `_ that contain tables -that include mass, ionization, levels and lines data. The atom data that ships with TARDIS is located in data/atom. - -The dataset ``basic_atom_set`` contains the Atomic Number, Symbol of the elements and average mass of the elements. - -Basic Atomic Data -^^^^^^^^^^^^^^^^^ - -+------------------------+--------------------------------+---------+ -| Name | Description | Unit | -+========================+================================+=========+ -| atomic_number | Atomic Number (e.g. He = 2) | z | -+------------------------+--------------------------------+---------+ -| symbol | Symbol (e.g. He, Fe, Ca, etc.) | None | -+------------------------+--------------------------------+---------+ -| mass | Average mass of atom | u | -+------------------------+--------------------------------+---------+ - - -The ionization data is stored in ``ionization_data``. - -Ionization Data -^^^^^^^^^^^^^^^ - -+------------------------+------------------------------+----------+ -|Name | Description | Unit | -+========================+==============================+==========+ -| atomic_number(z) | Atomic Number | 1 | -+------------------------+------------------------------+----------+ -| ion_number | Ion Number | 1 | -+------------------------+------------------------------+----------+ -| ionization_energy | Ionization Energy of atom | eV | -+------------------------+------------------------------+----------+ - - -.. note:: In TARDIS, Ion 0 is neutral. - - -Levels Data -^^^^^^^^^^^ -The levels data is stored in ``levels_data``. - -+------------------------+------------------------------+----------+ -|Name | Description | Unit | -+========================+==============================+==========+ -| atomic_number(z) | Atomic Number | 1 | -+------------------------+------------------------------+----------+ -| ion_number | Ion Number | 1 | -+------------------------+------------------------------+----------+ -| level_number | Level Number | 1 | -+------------------------+------------------------------+----------+ -| energy | Energy of a particular level | eV | -+------------------------+------------------------------+----------+ -| g | | 1 | -+------------------------+------------------------------+----------+ -| metastable | | bool | -+------------------------+------------------------------+----------+ - -All lines are stored in ``lines_data``. - -Lines Data -^^^^^^^^^^ - -+------------------------+------------------------------+----------+ -|Name | Description | Unit | -+========================+==============================+==========+ -| wavelength | Waveslength | angstrom | -+------------------------+------------------------------+----------+ -| atomic_number(z) | Atomic Number | 1 | -+------------------------+------------------------------+----------+ -| ion_number | Ion Number | 1 | -+------------------------+------------------------------+----------+ -| f_ul | Upper level probability | 1 | -+------------------------+------------------------------+----------+ -| f_lu | Lower level probability | 1 | -+------------------------+------------------------------+----------+ -| level_id_lower | Upper level id | 1 | -+------------------------+------------------------------+----------+ -| level_id_upper | Lower level id | 1 | -+------------------------+------------------------------+----------+ - -The next three datasets are only contained in the full dataset available upon request from the authors. - -The factor correcting for photo-ionization from excited levels (needed in :ref:`calc_zeta_label`) is stored in the dataset ``zeta_data``. -The data is stored in a special way as one large :py:class:`numpy.ndarray` where the first two columns are Atomic Number and Ion -Number. All further columns are the :math:`\zeta-\textrm{factors}` for different temperatures. The temperatures are stored -in the attribute ``t_rads``. - -+------------------------+------------------------------+----------+ -|Name | Description | Unit | -+========================+==============================+==========+ -| atomic_number(z) | Atomic Number | 1 | -+------------------------+------------------------------+----------+ -| ion_number | Ion Number | 1 | -+------------------------+------------------------------+----------+ -| T_XXXX | Temperature for column | K | -+------------------------+------------------------------+----------+ -| ... | ... | ... | -+------------------------+------------------------------+----------+ -| T_XXXX | Temperature for column | K | -+------------------------+------------------------------+----------+ - - - -There are two datasets for using the macro atom and branching line interactions. The ``macro_atom_data`` and ``macro_atom_references``: - - -The ``macro_atom_data`` contains blocks of transition probabilities, several indices and flags. The Transition Type flag -has three states: - -* -1 for downwards emitting -* 0 for downwards internal -* 1 for upwards internal (for more explanations, please refer to :ref:`macroatom`). - - -Macro Atom Data -^^^^^^^^^^^^^^^ -+-------------------------+------------------------------+----------+ -|Name | Description | Unit | -+=========================+==============================+==========+ -| atomic_number(z) | Atomic Number | 1 | -+-------------------------+------------------------------+----------+ -| ion_number | Ion Number | 1 | -+-------------------------+------------------------------+----------+ -| source_level_number | Source Level Number | 1 | -+-------------------------+------------------------------+----------+ -| destination_level_number| Destination Level Number | 1 | -+-------------------------+------------------------------+----------+ -| transition_type | Transition Type | 1 | -+-------------------------+------------------------------+----------+ -| transition_probability | Transition Probability | 1 | -+-------------------------+------------------------------+----------+ -| transition_line_id | Transition Line ID | 1 | -+-------------------------+------------------------------+----------+ - -Here's the structure of the probability block. The atomic number, ion number and source level number are the same -within each block, the destination level number the transition type and transition probability are changing. -The transition probabilities are only part of the final probability and will be changed during the calculation. -For details on the macro atom, please refer to :ref:`macroatom`. - -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -|Atomic Number|Ion Number |Source Level Number|Destination Level Number| Transition Type |Transition probabilities |Transition Line ID | -+=============+============+===================+========================+=================+==========================+====================+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`1` | -1 | P\ :sub:`emission down` 1| k\ :sub:`1` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`2` | -1 | P\ :sub:`emission down` 2| k\ :sub:`2` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| ... | ... | ... | ... | ... | ... | ... | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`n` | -1 | P\ :sub:`emission down` n| k\ :sub:`n` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`1` | 0 | P\ :sub:`internal down` 1| k\ :sub:`1` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`2` | 0 | P\ :sub:`internal down` 2| k\ :sub:`2` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| ... | ... | ... | ... | ... | ... | ... | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`n` | 0 | P\ :sub:`internal down` n| k\ :sub:`n` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`1` | 1 | P\ :sub:`internal up` 1| k\ :sub:`1` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`2` | 1 | P\ :sub:`internal up` 2| k\ :sub:`2` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| ... | ... | ... | ... | ... | ... | ... | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ -| Z\ :sub:`1` | I\ :sub:`1`| i\ :sub:`1` | j\ :sub:`n` | 1 | P\ :sub:`internal up` n| k\ :sub:`n` | -+-------------+------------+-------------------+------------------------+-----------------+--------------------------+--------------------+ - -The ``macro_references`` dataset contains the numbers for each block: - -Macro Atom References -^^^^^^^^^^^^^^^^^^^^^ - -+-------------------------+------------------------------+----------+ -|Name | Description | Unit | -+=========================+==============================+==========+ -| atomic_number(z) | Atomic Number | 1 | -+-------------------------+------------------------------+----------+ -| ion_number | Ion Number | 1 | -+-------------------------+------------------------------+----------+ -| source_level_number | Source Level Number | 1 | -+-------------------------+------------------------------+----------+ -| count_down | Number of down transitions | 1 | -+-------------------------+------------------------------+----------+ -| count_up | Number of up transitions | 1 | -+-------------------------+------------------------------+----------+ -| count_total | Total number of transitions | 1 | -+-------------------------+------------------------------+----------+ - -The Atom Data Class -------------------- - -Atom Data is stored inside TARDIS in the :class:`AtomData`-class. The class method :func:`AtomData.from_hdf` will -instantiate a new `AtomData`-class from an HDF5 file. If none is given it will automatically -take the default HDF5-dataset shipped with TARDIS. A second function :func:`AtomData.prepare_atom_data` -will cut the levels and lines data to only the required atoms and ions. In addition, it will create the intricate system -of references needed by macro atom or branching line interactions. - - -Indexing fun ------------- - -The main problem with the atomic data is indexing. Most of these references require multiple numbers, e.g. atomic number, -ion number and level number. The `pandas `_ framework provides the ideal functions to accomplish this. In TARDIS, we extensively -use :py:class:`pandas.MultiIndex`, :py:class:`pandas.Series` and :py:class:`pandas.DataFrame`. - -TO BE BETTER DOCUMENTED ... diff --git a/docs/io/configuration/components/atomic/current_public_table.rst b/docs/io/configuration/components/atomic/current_public_table.rst deleted file mode 100644 index b6be1c09728..00000000000 --- a/docs/io/configuration/components/atomic/current_public_table.rst +++ /dev/null @@ -1,39 +0,0 @@ -******************************** -Current Public Atomic Data Table -******************************** - -+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| file name | uuid1 | data sources | macroatom | zeta | synpp references | database version | -| | | | | | | | -+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+=================================================================================================================================+ -| `kurucz_cd23_chianti_H_He.h5 `_ | 6f7b09e887a311e7a06b246e96350010 | **kurucz:** | True | True | True | v1.0 | -| | | | | | | | -| | | Li I-II, Be I-IV, C I-IV, N I-VI | | | | | -| | | O I-VI, F I-VI, Ne I-VI, Na I-VI | | | | | -| | | Mg I-VI, Al I-VI, Si I-VI | | | | | -| | | P I-VI, S I-VI, Cl I-V, Ar I-V | | | | | -| | | K I-V, Ca I-IX, Sc I-IX, Ti I-IX | | | | | -| | | V I-IX, Cr I-IX, Mn I-IX, Fe I-IX | | | | | -| | | Co I-IX, Ni I-IX, Cu I-II | | | | | -| | | Zn I-III | | | | | -| | | | | | | | -| | | **chianti:** | | | | | -| | | | | | | | -| | | H I,He I-II | | | | | -| | | | | | | | -| | | **tardis_artificial_missing_ion:** | | | | | -| | | | | | | | -| | | Li III, B V, C V-VI, N VII, O VII-VIII | | | | | -| | | F VII-IX, Ne VII-X, Na VII-XI | | | | | -| | | Mg VII-XII, Al VII-XIII | | | | | -| | | Si VII-XIV, P VII-XV, S VII-XVI | | | | | -| | | Cl VI-XVII, Ar VI-XVIII | | | | | -| | | K VI-XIX, Ca X-XX, Sc X-XXI | | | | | -| | | Ti X-XXII, V X-XXIII, Cr X-XXIV | | | | | -| | | Mn X-XXV, Fe X-XXVI, Co X-XXVII | | | | | -| | | Ni X-XXVIII, Cu III-XXIX | | | | | -| | | Zn IV-XXX | | | | | -| | | | | | | | -| | | | | | | | -| | | | | | | | -+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/io/configuration/components/debug.rst b/docs/io/configuration/components/debug.rst deleted file mode 100644 index f3208a600e0..00000000000 --- a/docs/io/configuration/components/debug.rst +++ /dev/null @@ -1,9 +0,0 @@ -******************* -Debug Configuration -******************* - -Coming soon! - -.. jsonschema:: schemas/debug.yml - -. \ No newline at end of file diff --git a/docs/io/configuration/components/index.rst b/docs/io/configuration/components/index.rst deleted file mode 100644 index 2757b50646c..00000000000 --- a/docs/io/configuration/components/index.rst +++ /dev/null @@ -1,42 +0,0 @@ -.. _config-components: - -************************ -Configuration Components -************************ - -TARDIS uses the `YAML markup language `_ -for its configuration files. There are several sections which allow different -settings for the different aspects of the TARDIS calculation. An example -configuration file (with a small subset of the options that can be specified) can be downloaded `here -`_. - - -.. warning:: - One should note that currently floats in YAML that are expressed in scientific notation - need to be specified in a special format: - any pure floats in scientific notation need to have a +/- after the "e", e.g. 2e+5 - - -The TARDIS configuration consists of multiple sections that pertain to certain parts of the code. We will use the -schemas to show what options are available. Our schema mark-up defines names in bold-fat as required and can be seen here: - -.. note:: - - The following shows all the options (and their default settings) that are available for TARDIS. No other options - are allowed or available. - -The base schema outlines the main components of the TARDIS configuration. Schemas for these components are linked -in the base schema, and important information about the configuration is linked below. - -.. jsonschema:: schemas/base.yml - -.. toctree:: - :maxdepth: 2 - - supernova - atomic/atomic_data - plasma - models/index - montecarlo - spectrum - debug \ No newline at end of file diff --git a/docs/io/configuration/components/models/Custom_TARDIS_Model_Tutorial.ipynb b/docs/io/configuration/components/models/Custom_TARDIS_Model_Tutorial.ipynb deleted file mode 100644 index 38f081d41f2..00000000000 --- a/docs/io/configuration/components/models/Custom_TARDIS_Model_Tutorial.ipynb +++ /dev/null @@ -1,796 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to run TARDIS with a custom ejecta model\n", - "\n", - "This notebook will go through multiple detailed examples of how to properly run TARDIS with a custom ejecta profile specified by a custom density file and a custom abundance file. " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import tardis\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Your custom density file\n", - "\n", - "First, let's look at an example of a custom density file." - ] - }, - { - "cell_type": "raw", - "metadata": {}, - "source": [ - "80 day\n", - "\n", - "0 9500 9e-16\n", - "1 10500 6e-16\n", - "2 12000 2e-17" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "* The first line specifies the time in days after the explosion\n", - "* After a skipped line, each row corresponds to a shell with index specified by the first column.\n", - "* The second column lists the velocities of the outer boundary of the cell in km/s.\n", - "* The third column lists the density of the cell.\n", - "\n", - "### Important: \n", - "The __default behavior__ of TARDIS is to use the first shell as the inner boundary. This means that v_inner_boundary = 9500, and the corresponding density 9e-16 is ignored because it is within the inner boundary. It can be replaced by an arbitrary number. The outer boundary of the last shell will be used as v_outer_boundary, so the default behavior will set v_outer_boundary = 12000." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Your custom abundance file\n", - "\n", - "Let's look at an example of a custom density file." - ] - }, - { - "cell_type": "raw", - "metadata": {}, - "source": [ - "H He\n", - "\n", - "0.0 1.0\n", - "0.4 0.6" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "* The first line indicates which elements (or isotopes) correspond to which columns.\n", - "* After a skipped line, each row specifies the chemical abundance of one shell. Therefore the numbers in a given row should sum to 1.0\n", - "\n", - "### Important: \n", - "Note that there are only 2 shells specified in this abundance file (despite the custom density file having 3 lines). This is because the custom density file specifies the boundaries of the shells, while the abundance file specifies the abundances within each shell." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running TARDIS with the custom files\n", - "\n", - "Now let's run TARDIS using the example custom files." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/importlib/_bootstrap.py:219: QAWarning: pyne.data is not yet QA compliant.\n", - " return f(*args, **kwds)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/importlib/_bootstrap.py:219: QAWarning: pyne.material is not yet QA compliant.\n", - " return f(*args, **kwds)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mtardis.model.base \u001b[0m][\u001b[1;33mWARNING\u001b[0m] Abundances have not been normalized to 1. - normalizing (\u001b[1mbase.py\u001b[0m:367)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/astropy/units/quantity.py:1067: AstropyDeprecationWarning: The truth value of a Quantity is ambiguous. In the future this will raise a ValueError.\n", - " AstropyDeprecationWarning)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mtardis.plasma.standard_plasmas\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Reading Atomic Data from /home/mew488/Research/TARDIS/tardis-refdata/atom_data/kurucz_cd23_chianti_H_He.h5 (\u001b[1mstandard_plasmas.py\u001b[0m:77)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/IPython/core/interactiveshell.py:3291: PerformanceWarning: indexing past lexsort depth may impact performance.\n", - " exec(code_obj, self.user_global_ns, self.user_ns)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mtardis.io.atomic \u001b[0m][\u001b[1;37mINFO\u001b[0m ] Read Atom Data with UUID=6f7b09e887a311e7a06b246e96350010 and MD5=864f1753714343c41f99cb065710cace. (\u001b[1matomic.py\u001b[0m:173)\n", - "[\u001b[1mtardis.io.atomic \u001b[0m][\u001b[1;37mINFO\u001b[0m ] Non provided atomic data: synpp_refs, ion_cx_th_data, ion_cx_sp_data (\u001b[1matomic.py\u001b[0m:176)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/src/dev/tardis/tardis/plasma/properties/ion_population.py:59: FutureWarning: \n", - "Passing list-likes to .loc or [] with any missing label will raise\n", - "KeyError in the future, you can use .reindex() as an alternative.\n", - "\n", - "See the documentation here:\n", - "https://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate-loc-reindex-listlike\n", - " partition_function.index].dropna())\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/astropy/units/equivalencies.py:90: RuntimeWarning: divide by zero encountered in double_scalars\n", - " (si.m, si.Hz, lambda x: _si.c.value / x),\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/astropy/units/quantity.py:1067: AstropyDeprecationWarning: The truth value of a Quantity is ambiguous. In the future this will raise a ValueError.\n", - " AstropyDeprecationWarning)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 1/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31327e+42 erg / s Luminosity absorbed = 3.85232e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 1/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6541.006187 6556.13016 0.343875 0.350118\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.915 K -- next t_inner 6482.755 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 2/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21734e+42 erg / s Luminosity absorbed = 2.64889e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 2/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6556.13016 6495.397989 0.350118 0.347789\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.755 K -- next t_inner 6551.611 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 3/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31324e+42 erg / s Luminosity absorbed = 2.21576e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 3/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6495.397989 6558.906259 0.347789 0.348258\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.611 K -- next t_inner 6482.500 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 4/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21685e+42 erg / s Luminosity absorbed = 3.70488e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 4/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6558.906259 6485.545593 0.348258 0.350397\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.500 K -- next t_inner 6552.082 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 5/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31359e+42 erg / s Luminosity absorbed = 2.20402e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 5/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6485.545593 6550.104752 0.350397 0.352096\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6552.082 K -- next t_inner 6482.479 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 6/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21697e+42 erg / s Luminosity absorbed = 2.64706e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 6/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6550.104752 6464.323819 0.352096 0.354247\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.479 K -- next t_inner 6551.873 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 7/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31327e+42 erg / s Luminosity absorbed = 2.76611e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 7/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6464.323819 6586.535643 0.354247 0.344429\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.873 K -- next t_inner 6482.711 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 8/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21723e+42 erg / s Luminosity absorbed = 2.12445e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 8/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6586.535643 6452.0629 0.344429 0.358012\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.711 K -- next t_inner 6551.731 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 9/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31306e+42 erg / s Luminosity absorbed = 3.30756e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 9/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6452.0629 6542.502642 0.358012 0.353289\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.731 K -- next t_inner 6482.870 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 10/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21734e+42 erg / s Luminosity absorbed = 3.17660e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 10/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6542.502642 6474.094395 0.353289 0.353484\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.870 K -- next t_inner 6551.733 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 11/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31318e+42 erg / s Luminosity absorbed = 2.21194e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 11/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6474.094395 6569.860807 0.353484 0.34756\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.733 K -- next t_inner 6482.698 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 12/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21741e+42 erg / s Luminosity absorbed = 1.59417e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 12/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6569.860807 6510.554611 0.34756 0.344308\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.698 K -- next t_inner 6551.446 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 13/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31272e+42 erg / s Luminosity absorbed = 2.20953e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 13/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6510.554611 6546.768598 0.344308 0.352781\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.446 K -- next t_inner 6483.070 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 14/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21777e+42 erg / s Luminosity absorbed = 2.64910e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 14/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6546.768598 6485.552351 0.352781 0.349363\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.070 K -- next t_inner 6551.293 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 15/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31237e+42 erg / s Luminosity absorbed = 2.76461e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 15/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6485.552351 6516.39366 0.349363 0.35982\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.293 K -- next t_inner 6483.402 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 16/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21811e+42 erg / s Luminosity absorbed = 2.64705e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 16/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6516.39366 6487.025434 0.35982 0.350732\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.402 K -- next t_inner 6551.133 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 17/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31225e+42 erg / s Luminosity absorbed = 2.21332e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 17/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6487.025434 6541.53332 0.350732 0.354308\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.133 K -- next t_inner 6483.406 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 18/20 (\u001b[1mbase.py\u001b[0m:266)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21806e+42 erg / s Luminosity absorbed = 3.18123e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 18/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6541.53332 6506.188917 0.354308 0.346155\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.406 K -- next t_inner 6551.206 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 19/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31238e+42 erg / s Luminosity absorbed = 2.76543e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 19/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6506.188917 6589.429688 0.346155 0.342891\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6551.206 K -- next t_inner 6483.296 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 20/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21775e+42 erg / s Luminosity absorbed = 5.09249e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Simulation finished in 20 iterations and took 2.68 s (\u001b[1mbase.py\u001b[0m:306)\n" - ] - } - ], - "source": [ - "model = tardis.run_tardis('./test_config.yml')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can check to make sure that the model loaded and used by TARDIS during the simulation is consistent with your expectations based on the custom files you provided:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "v_inner_boundary = 950000000.0 cm / s\n", - "v_outer_boundary = 1200000000.0 cm / s\n", - "\n", - "\n", - "velocities of shell boundaries: \n", - "[9.50e+08 1.05e+09 1.20e+09] cm / s\n", - "\n", - "\n", - "densities loaded by TARDIS: (NOTE that the density in the first line of the file was ignored! Densities are also rescaled.)\n", - "[7.5e-14 2.5e-15] g / cm3\n" - ] - } - ], - "source": [ - "print('v_inner_boundary = ',model.model.v_boundary_inner)\n", - "print('v_outer_boundary = ',model.model.v_boundary_outer)\n", - "print('\\n')\n", - "print('velocities of shell boundaries: ')\n", - "print(model.model.velocity)\n", - "print('\\n')\n", - "print('densities loaded by TARDIS: (NOTE that the density in the first line of the file was ignored! Densities are also rescaled.)')\n", - "print(model.model.density)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Specifying boundary velocities in the config file\n", - "\n", - "In addition to specifying custom density and abundance files, the user can set the v_inner_boundary and v_outer_boundary velocities in the YAML config file. This can cause some confusion, so we carefully go through some examples.\n", - "\n", - "### Important: \n", - "Boundary velocities set in the YAML config file must be __within__ the velocity range specified in the custom density file (if one is provided)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example 1) v_inner_boundary lower than first velocity in density file\n", - "\n", - "In this example, the first velocity in the density file is 9500 km/s. The user can specify in the config file the velocity of the inner boundary to a lower velocity, say v_inner_boundary = 9000 km/s. This will cause TARDIS to raise an error." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.model.base \u001b[0m][\u001b[1;33mWARNING\u001b[0m] Abundances have not been normalized to 1. - normalizing (\u001b[1mbase.py\u001b[0m:367)\n" - ] - }, - { - "ename": "ValueError", - "evalue": "v_boundary_inner is lower than the lowest shell in the model.", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtardis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_tardis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'./test_config_ex1.yml'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/src/dev/tardis/tardis/base.py\u001b[0m in \u001b[0;36mrun_tardis\u001b[0;34m(config, atom_data, simulation_callbacks)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0mtardis_config\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConfiguration\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_config_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0msimulation\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSimulation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_config\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtardis_config\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0matom_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0matom_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mcb\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msimulation_callbacks\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0msimulation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_callback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/src/dev/tardis/tardis/simulation/base.py\u001b[0m in \u001b[0;36mfrom_config\u001b[0;34m(cls, config, **kwargs)\u001b[0m\n\u001b[1;32m 430\u001b[0m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'model'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 431\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 432\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mRadial1DModel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_config\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 433\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m'plasma'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 434\u001b[0m \u001b[0mplasma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'plasma'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/src/dev/tardis/tardis/model/base.py\u001b[0m in \u001b[0;36mfrom_config\u001b[0;34m(cls, config)\u001b[0m\n\u001b[1;32m 383\u001b[0m \u001b[0mv_boundary_inner\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstructure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'v_inner_boundary'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 384\u001b[0m \u001b[0mv_boundary_outer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstructure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'v_outer_boundary'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 385\u001b[0;31m electron_densities=electron_densities)\n\u001b[0m", - "\u001b[0;32m~/src/dev/tardis/tardis/model/base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, velocity, homologous_density, abundance, isotope_abundance, time_explosion, t_inner, luminosity_requested, t_radiative, dilution_factor, v_boundary_inner, v_boundary_outer, electron_densities)\u001b[0m\n\u001b[1;32m 78\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_velocity\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw_velocity\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvelocity\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 80\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mv_boundary_inner\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv_boundary_inner\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 81\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mv_boundary_outer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv_boundary_outer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhomologous_density\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhomologous_density\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/src/dev/tardis/tardis/model/base.py\u001b[0m in \u001b[0;36mv_boundary_inner\u001b[0;34m(self, value)\u001b[0m\n\u001b[1;32m 237\u001b[0m 'the model range.')\n\u001b[1;32m 238\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw_velocity\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 239\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'v_boundary_inner is lower than the lowest shell in the model.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 240\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_v_boundary_inner\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 241\u001b[0m \u001b[0;31m# Invalidate the cached cut-down velocity array\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mValueError\u001b[0m: v_boundary_inner is lower than the lowest shell in the model." - ] - } - ], - "source": [ - "model = tardis.run_tardis('./test_config_ex1.yml')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example 2) v_outer_boundary larger than last velocity in density file\n", - "\n", - "In this example, the last velocity in the density file is 12000 km/s. The user can specify in the config file the velocity of the outer boundary to a larger velocity, say v_outer_boundary = 13000 km/s. This will cause TARDIS to raise an error." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.model.base \u001b[0m][\u001b[1;33mWARNING\u001b[0m] Abundances have not been normalized to 1. - normalizing (\u001b[1mbase.py\u001b[0m:367)\n" - ] - }, - { - "ename": "ValueError", - "evalue": "v_boundary_outer is larger than the largest shell in the model.", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtardis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_tardis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'./test_config_ex2.yml'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/src/dev/tardis/tardis/base.py\u001b[0m in \u001b[0;36mrun_tardis\u001b[0;34m(config, atom_data, simulation_callbacks)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[0mtardis_config\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mConfiguration\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_config_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0msimulation\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSimulation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_config\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtardis_config\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0matom_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0matom_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mcb\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msimulation_callbacks\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0msimulation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_callback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/src/dev/tardis/tardis/simulation/base.py\u001b[0m in \u001b[0;36mfrom_config\u001b[0;34m(cls, config, **kwargs)\u001b[0m\n\u001b[1;32m 430\u001b[0m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'model'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 431\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 432\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mRadial1DModel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_config\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 433\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m'plasma'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 434\u001b[0m \u001b[0mplasma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'plasma'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/src/dev/tardis/tardis/model/base.py\u001b[0m in \u001b[0;36mfrom_config\u001b[0;34m(cls, config)\u001b[0m\n\u001b[1;32m 383\u001b[0m \u001b[0mv_boundary_inner\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstructure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'v_inner_boundary'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 384\u001b[0m \u001b[0mv_boundary_outer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstructure\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'v_outer_boundary'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 385\u001b[0;31m electron_densities=electron_densities)\n\u001b[0m", - "\u001b[0;32m~/src/dev/tardis/tardis/model/base.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, velocity, homologous_density, abundance, isotope_abundance, time_explosion, t_inner, luminosity_requested, t_radiative, dilution_factor, v_boundary_inner, v_boundary_outer, electron_densities)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw_velocity\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvelocity\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mv_boundary_inner\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv_boundary_inner\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mv_boundary_outer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv_boundary_outer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 82\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhomologous_density\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhomologous_density\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_abundance\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mabundance\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/src/dev/tardis/tardis/model/base.py\u001b[0m in \u001b[0;36mv_boundary_outer\u001b[0;34m(self, value)\u001b[0m\n\u001b[1;32m 262\u001b[0m 'the model range.')\n\u001b[1;32m 263\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw_velocity\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 264\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'v_boundary_outer is larger than the largest shell in the model.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 265\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_v_boundary_outer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 266\u001b[0m \u001b[0;31m# Invalidate the cached cut-down velocity array\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mValueError\u001b[0m: v_boundary_outer is larger than the largest shell in the model." - ] - } - ], - "source": [ - "model = tardis.run_tardis('./test_config_ex2.yml')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example 3) v_boundaries in config file are within density file velocity range\n", - "\n", - "Here the user sets v_inner_boundary = 9700 and v_outer_boundary = 11500 in the config file. Both values fall within the velocity range specified by the custom density file." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.model.base \u001b[0m][\u001b[1;33mWARNING\u001b[0m] Abundances have not been normalized to 1. - normalizing (\u001b[1mbase.py\u001b[0m:367)\n", - "[\u001b[1mtardis.plasma.standard_plasmas\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Reading Atomic Data from /home/mew488/Research/TARDIS/tardis-refdata/atom_data/kurucz_cd23_chianti_H_He.h5 (\u001b[1mstandard_plasmas.py\u001b[0m:77)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/IPython/core/interactiveshell.py:3291: PerformanceWarning: indexing past lexsort depth may impact performance.\n", - " exec(code_obj, self.user_global_ns, self.user_ns)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mtardis.io.atomic \u001b[0m][\u001b[1;37mINFO\u001b[0m ] Read Atom Data with UUID=6f7b09e887a311e7a06b246e96350010 and MD5=864f1753714343c41f99cb065710cace. (\u001b[1matomic.py\u001b[0m:173)\n", - "[\u001b[1mtardis.io.atomic \u001b[0m][\u001b[1;37mINFO\u001b[0m ] Non provided atomic data: synpp_refs, ion_cx_th_data, ion_cx_sp_data (\u001b[1matomic.py\u001b[0m:176)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/src/dev/tardis/tardis/plasma/properties/ion_population.py:59: FutureWarning: \n", - "Passing list-likes to .loc or [] with any missing label will raise\n", - "KeyError in the future, you can use .reindex() as an alternative.\n", - "\n", - "See the documentation here:\n", - "https://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate-loc-reindex-listlike\n", - " partition_function.index].dropna())\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/astropy/units/equivalencies.py:90: RuntimeWarning: divide by zero encountered in double_scalars\n", - " (si.m, si.Hz, lambda x: _si.c.value / x),\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] /home/mew488/anaconda2/envs/tardis3/lib/python3.6/site-packages/astropy/units/quantity.py:1067: AstropyDeprecationWarning: The truth value of a Quantity is ambiguous. In the future this will raise a ValueError.\n", - " AstropyDeprecationWarning)\n", - " (\u001b[1mwarnings.py\u001b[0m:99)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 1/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31451e+42 erg / s Luminosity absorbed = 2.20992e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 1/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6475.378267 6488.637521 0.360681 0.366243\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6484.018 K -- next t_inner 6413.863 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 2/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21599e+42 erg / s Luminosity absorbed = 2.64272e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 2/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6488.637521 6427.216436 0.366243 0.363775\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6413.863 K -- next t_inner 6483.959 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 3/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31470e+42 erg / s Luminosity absorbed = 1.66285e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 3/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6427.216436 6492.265498 0.363775 0.364173\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.959 K -- next t_inner 6413.533 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 4/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21561e+42 erg / s Luminosity absorbed = 1.59276e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 4/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6492.265498 6417.052425 0.364173 0.366605\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6413.533 K -- next t_inner 6484.185 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 5/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31470e+42 erg / s Luminosity absorbed = 1.65313e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 5/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6417.052425 6482.377118 0.366605 0.368425\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6484.185 K -- next t_inner 6413.755 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 6/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21602e+42 erg / s Luminosity absorbed = 1.05695e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 6/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6482.377118 6394.506844 0.368425 0.371037\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6413.755 K -- next t_inner 6483.813 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 7/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31410e+42 erg / s Luminosity absorbed = 2.76180e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 7/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6394.506844 6519.309507 0.371037 0.36027\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.813 K -- next t_inner 6414.228 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 8/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21639e+42 erg / s Luminosity absorbed = 2.64764e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 8/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6519.309507 6383.889203 0.36027 0.374686\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6414.228 K -- next t_inner 6483.748 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 9/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31428e+42 erg / s Luminosity absorbed = 5.54016e+37 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 9/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6383.889203 6473.974678 0.374686 0.369973\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.748 K -- next t_inner 6413.915 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 10/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21596e+42 erg / s Luminosity absorbed = 2.63810e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 10/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6473.974678 6406.611113 0.369973 0.369657\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6413.915 K -- next t_inner 6484.063 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 11/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31457e+42 erg / s Luminosity absorbed = 2.20714e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 11/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6406.611113 6501.97906 0.369657 0.363763\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6484.063 K -- next t_inner 6413.825 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 12/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21609e+42 erg / s Luminosity absorbed = 1.59204e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 12/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6501.97906 6442.380908 0.363763 0.360018\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6413.825 K -- next t_inner 6483.774 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 13/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31415e+42 erg / s Luminosity absorbed = 1.64927e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 13/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6442.380908 6479.130222 0.360018 0.369277\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.774 K -- next t_inner 6414.121 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 14/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21646e+42 erg / s Luminosity absorbed = 1.59283e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 14/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6479.130222 6416.085322 0.369277 0.365588\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6414.121 K -- next t_inner 6483.538 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 15/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31368e+42 erg / s Luminosity absorbed = 2.20875e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 15/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6416.085322 6449.419113 0.365588 0.376548\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.538 K -- next t_inner 6414.538 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 16/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21696e+42 erg / s Luminosity absorbed = 1.05743e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 16/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6449.419113 6417.878262 0.376548 0.367147\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6414.538 K -- next t_inner 6483.218 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 17/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31321e+42 erg / s Luminosity absorbed = 2.75526e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 17/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6417.878262 6473.045585 0.367147 0.371157\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6483.218 K -- next t_inner 6414.863 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 18/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21737e+42 erg / s Luminosity absorbed = 1.58484e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 18/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6473.045585 6436.504989 0.371157 0.362441\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6414.863 K -- next t_inner 6482.959 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 19/20 (\u001b[1mbase.py\u001b[0m:266)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.31299e+42 erg / s Luminosity absorbed = 2.20411e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Iteration converged 19/4 consecutive times. (\u001b[1mbase.py\u001b[0m:194)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Plasma stratification:\n", - "\t t_rad next_t_rad w next_w\n", - "\tShell \n", - "\t0 6436.504989 6520.140466 0.362441 0.358913\n", - "\n", - " (\u001b[1mbase.py\u001b[0m:348)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] t_inner 6482.959 K -- next t_inner 6414.912 K (\u001b[1mbase.py\u001b[0m:350)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Starting iteration 20/20 (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Luminosity emitted = 2.21744e+42 erg / s Luminosity absorbed = 1.90600e+38 erg / s Luminosity requested = 2.26469e+42 erg / s (\u001b[1mbase.py\u001b[0m:357)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] Simulation finished in 20 iterations and took 2.44 s (\u001b[1mbase.py\u001b[0m:306)\n" - ] - } - ], - "source": [ - "model = tardis.run_tardis('./test_config_ex3.yml')" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "v_inner_boundary = 970000000.0 cm / s\n", - "v_outer_boundary = 1150000000.0 cm / s\n", - "\n", - "\n", - "velocities of shell boundaries: \n", - "[9.70e+08 1.05e+09 1.15e+09] cm / s\n", - "\n", - "\n", - "densities loaded by TARDIS: (NOTE that the density in the first line of the file was ignored! Densities are also rescaled.)\n", - "[7.5e-14 2.5e-15] g / cm3\n" - ] - } - ], - "source": [ - "print('v_inner_boundary = ',model.model.v_boundary_inner)\n", - "print('v_outer_boundary = ',model.model.v_boundary_outer)\n", - "print('\\n')\n", - "print('velocities of shell boundaries: ')\n", - "print(model.model.velocity)\n", - "print('\\n')\n", - "print('densities loaded by TARDIS: (NOTE that the density in the first line of the file was ignored! Densities are also rescaled.)')\n", - "print(model.model.density)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Important: \n", - "Notice that the inner and outer boundary velocities are the ones specifically set by the user." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.8" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} \ No newline at end of file diff --git a/docs/io/configuration/components/models/abundancecust/abund.dat b/docs/io/configuration/components/models/abundancecust/abund.dat deleted file mode 120000 index c34f6fb1209..00000000000 --- a/docs/io/configuration/components/models/abundancecust/abund.dat +++ /dev/null @@ -1 +0,0 @@ -../../../../../../tardis/io/tests/data/abund.dat \ No newline at end of file diff --git a/docs/io/configuration/components/models/abundancecust/abundancecust.rst b/docs/io/configuration/components/models/abundancecust/abundancecust.rst deleted file mode 100644 index b6f15a4754e..00000000000 --- a/docs/io/configuration/components/models/abundancecust/abundancecust.rst +++ /dev/null @@ -1,138 +0,0 @@ -.. _abundancecust: - -************************************* -Using a custom stratified composition -************************************* - -ASCII Format -============= - -To use a stratified ejecta composition in TARDIS, the elemental abundances may -be specified on a per-cell basis via an external ASCII file (similar to setting -up a :ref:`custom density ` profile). An ASCII file that could -work on a mesh with ten cells should be formatted like this: - -.. literalinclude:: abund.dat - -In this file: - -- there should be the same number of rows as there are cells specified in the velocity/density structure part of the TARDIS setup -- each row contains 31 numbers, the first of which is the index (i.e. matching the zone to the density profile file) -- the remaining 30 entries in each row give the set of elemental abundances for atomic number Z=1 to Z=30 (in order) - -The abundances are specified as mass fractions (i.e. the sum of columns 1 to 30 -in each row should be 1.0). TARDIS does not currently include any elements -heavier that Z=30. The mass fractions specified will be adopted directly in -the TARDIS calculations --- so if your model is, for example, based on an explosion -simulation, you may need to calculate the state of any radioactive decay chains -at the correct epoch. - -The example file shown here has three simple layers: - -- an innermost region (indices 0 to 2) that is composed of Si (Z=14), S (Z=16), Ar (Z=18), Ca (Z=20), Fe (Z=26), Co (Z=27) and Ni (Z=28) - -- a middle region (indices 3 to 7) that is composed of O (Z=8), Mg (Z=12), Si, S, Ar and Ca - -- an outer region (indices 8 and 9) that is composed of C (Z=6) and O (Z=8). - -.. warning:: - - The example given here is to show the format only. It is not a - realistic model. In any real calculation, better resolution - (i.e. more grid points) should be used. - -.. warning:: - - The calculation can be no better / more complete than the atomic - data set. For further information on the atomic database --- - including details of how to develop your own dataset to suit your - needs, please contact us. - -TARDIS ascii input file -======================= - -If you create a correctly formatted abundance profile file (called "abund.dat" -in this example), you can use it in TARDIS by putting the following lines in -the model section of the YAML file: - -.. literalinclude:: tardis_configv1_abundance_cust_example.yml - :language: yaml - - -CSV Format -========== - -In this format, both elemental and isotopic abundances may -be specified on a per-cell basis via an external CSV file. A CSV file that could -work on a mesh with ten cells should be formatted like this: - -.. literalinclude:: tardis_model_abund.csv - -.. note:: - - The file should always contain the cell index as a running index in the - first column. - -.. danger:: - - The header line for the isotopic abundance structure can under no - circumstances start with a '#'. - -In this file: - -- Header row contains element and isotopes symbol -- the remaining entries in each row give the set of elemental and isotopic abundances. -- the first column contains a running index - -The abundances are specified as mass fractions (i.e. the sum of columns -in each row should be 1.0). The mass fractions specified will be adopted directly in -the TARDIS calculations. - -The example file shown here has three simple layers: - -- an innermost region that is composed of Si and two Nickel Isotopes Ni56 and Ni58 - -- a middle region that is composed of O and Mg - -- an outer region that is composed of C and O - -.. note:: - - Suppose you specify Elemental and Isotopic abundances for the same element. For ex- - :code:`Ni` and :code:`Ni56`. - Here, Ni will refer to the stable Nickel (i.e. Z=26, A=58). - - -.. note:: - - As with the custom density file, the first row will be ignored. It is - supposed to give the composition below the photosphere. Thus, the first row - (after the header) can be filled with dummy values. - -.. warning:: - - The example given here is to show the format only. It is not a - realistic model. In any real calculation better resolution - (i.e. more grid points) should be used. - -TARDIS CSV input file -===================== - -If you create a correctly formatted abundance profile file (called "tardis_model_abund.csv" -in this example), you can use it in TARDIS by putting the following lines in -the model section of the YAML file: - -.. literalinclude:: tardis_configv1_isotope_abundance_cust_example.yml - :language: yaml - -Convert ASCII abundance file format to CSV format -================================================= - -If you want to convert an ASCII abundance file (say "abund.dat") to CSV format, you can use -:code:`convert_abundances_format` function for it. Here is an example to demonstrate this: - -.. code:: python - - from tardis.util import convert_abundances_format - df = convert_abundances_format('abund.dat') - df.to_csv('converted_abund.csv', index=False, sep=' ') diff --git a/docs/io/configuration/components/models/abundancecust/tardis_configv1_abundance_cust_example.yml b/docs/io/configuration/components/models/abundancecust/tardis_configv1_abundance_cust_example.yml deleted file mode 100644 index 48e58b831b4..00000000000 --- a/docs/io/configuration/components/models/abundancecust/tardis_configv1_abundance_cust_example.yml +++ /dev/null @@ -1,6 +0,0 @@ -model: - - abundances: - type: file - filename: abund.dat - filetype: simple_ascii diff --git a/docs/io/configuration/components/models/abundancecust/tardis_configv1_isotope_abundance_cust_example.yml b/docs/io/configuration/components/models/abundancecust/tardis_configv1_isotope_abundance_cust_example.yml deleted file mode 100644 index cfb1de22621..00000000000 --- a/docs/io/configuration/components/models/abundancecust/tardis_configv1_isotope_abundance_cust_example.yml +++ /dev/null @@ -1,5 +0,0 @@ -model: - abundances: - type: file - filename: tardis_model_abund.csv - filetype: custom_composition diff --git a/docs/io/configuration/components/models/abundancecust/tardis_model_abund.csv b/docs/io/configuration/components/models/abundancecust/tardis_model_abund.csv deleted file mode 100644 index 96a7b973be0..00000000000 --- a/docs/io/configuration/components/models/abundancecust/tardis_model_abund.csv +++ /dev/null @@ -1,11 +0,0 @@ -Index C O Mg Si Ni56 Ni58 -0 0 0 0 0.6 0.4 0 -1 0 0 0 0.1 0.5 0.4 -2 0 0 0 0.3 0 0.7 -3 0 0.2 0.8 0 0 0 -4 0 0.3 0.7 0 0 0 -5 0 0.2 0.8 0 0 0 -6 0 0.2 0.8 0 0 0 -7 0 0.2 0.8 0 0 0 -8 0.5 0.5 0 0 0 0 -9 0.5 0.5 0 0 0 0 diff --git a/docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb b/docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb deleted file mode 100644 index de330d8bf3d..00000000000 --- a/docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb +++ /dev/null @@ -1,529 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "c256186f", - "metadata": {}, - "source": [ - "# Converting Arepo snapshots to be usable by TARDIS" - ] - }, - { - "cell_type": "markdown", - "id": "2676a559", - "metadata": {}, - "source": [ - "
\n", - "\n", - "\n", - "\n", - "Note\n", - "\n", - "\n", - "This notebook cannot be run interactively!\n", - "\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "b4ffa8ca", - "metadata": {}, - "source": [ - "### What is [Arepo](https://arepo-code.org/)?\n", - "> *Arepo is a massively parallel gravity and magnetohydrodynamics code for astrophysics, designed for problems of large dynamic range. It employs a finite-volume approach to discretize the equations of hydrodynamics on a moving Voronoi mesh, and a tree-particle-mesh method for gravitational interactions. Arepo is originally optimized for cosmological simulations of structure formation, but has also been used in many other applications in astrophysics.*\n", - "\n", - "(Weinberger, 2020)" - ] - }, - { - "cell_type": "markdown", - "id": "e3b3a256", - "metadata": {}, - "source": [ - "This parser is intended for loading Arepo output files ('snapshots'), extracting the relevant (line-of-sight dependent) data and exporting it to `csvy` files, which can in turn be used in TARDIS models ([see CSVY model](../index.rst#csvy-model))." - ] - }, - { - "cell_type": "markdown", - "id": "e3ea3fbc", - "metadata": {}, - "source": [ - "
\n", - "\n", - "\n", - "\n", - "Note\n", - "\n", - "\n", - "This parser has been developed for the (not publicly available) development version of Arepo, not the public version. Although it should also work with snapshots from the public version, this has not been tested. If you run into trouble loading the snapshot using the built-in functions, try providing the data manually. \n", - "\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "998d5c4d", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00\n", - "\n", - "\n", - "\n", - "Note\n", - "\n", - "\n", - "The built in functionality only loads Arepo particle species `0`, i.e. gas particles. For most (if not all) purposes connected to TARDIS, gas particles should be the only species of interest. In case you need to load a different particle species, please manually load the data.\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "49203e1f", - "metadata": {}, - "source": [ - "This will fail with an error if you do not have the arepo-snap-util package installed. Since this is not a default dependency of TARDIS, the data can also be loaded manually. *(This manual load can effectively be used to load all kinds of models unrelated to Arepo, as long as the data comes in the correct format.)*\n", - "\n", - "The data could be loaded from a previously generated `json` file, where all necessary input from the snapshot has been dumped in. *(The `json` file is only an example and more for illustrative purposes. As long as the data is provided in the correct format (see below) it is up to the user how it is saved/loaded.)*\n", - "
\n", - "Code: (click to expand) \n", - " \n", - "```python\n", - " \n", - "### Dumping the data:\n", - "data = {\n", - " \"pos\" : pos.tolist(),\n", - " \"vel\" : vel.tolist(),\n", - " \"rho\" : rho.tolist(),\n", - " \"mass\" : mass.tolist(),\n", - " \"xnuc\": [xnuc[x].tolist() for x in list(xnuc.keys())],\n", - " \"time\": time,\n", - "}\n", - "json_string = json.dumps(data)\n", - "with open('arepo_snapshot.json', 'w') as outfile:\n", - " json.dump(json_string, outfile)\n", - " \n", - "### Loading the data:\n", - "with open('arepo_snapshot.json') as json_file:\n", - " data = json.loads(json.load(json_file))\n", - "\n", - "# The following lines only parse the .json file. You might not need this depending on how you saved \n", - "# the snapshot data \n", - "pos, vel, rho, mass, nucs, time = data[\"pos\"], data[\"vel\"], data[\"rho\"], data[\"mass\"], data[\"xnuc\"], data[\"time\"]\n", - "pos = np.array(pos)\n", - "vel = np.array(vel)\n", - "rho = np.array(rho)\n", - "mass = np.array(mass)\n", - "\n", - "# The nuclear data should be in a dict where each element has its own entry (with the key being the element name)\n", - "xnuc = {\n", - " \"ni56\" : np.array(nucs[0]),\n", - " \"si28\" : np.array(nucs[1]),\n", - "}\n", - "```\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6da0f3b9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Position data shape: (3, 1218054)\n", - "Velocity data shape: (3, 1218054)\n", - "Density data shape: (1218054,)\n", - "Mass data shape: (1218054,)\n", - "Nuclear data shape (per element): (1218054,)\n" - ] - } - ], - "source": [ - "print(\"Position data shape: \", pos.shape)\n", - "print(\"Velocity data shape: \", vel.shape)\n", - "print(\"Density data shape: \", rho.shape)\n", - "print(\"Mass data shape: \", mass.shape)\n", - "print(\"Nuclear data shape (per element): \", xnuc[\"ni56\"].shape)" - ] - }, - { - "cell_type": "markdown", - "id": "76522979", - "metadata": {}, - "source": [ - "In case you want to load the snapshot data itself with your own tools, you will need to provide the following data:\n", - "- Position in the center of mass frame (\"pos\") -> `np.array`\n", - "- Velocity (\"vel\") -> `np.array`\n", - "- Density (\"rho\") -> `np.array`\n", - "- Mass (\"mass\") -> `np.array`\n", - "- Nuclear fraction (\"xnuc\") of each element you want to include -> `dict` containing `np.array` \n", - "- Time of the snapshot (\"time\") -> `float`\n", - "\n", - "The data should have the same shape as the one provided by the built-in tool (see the given shapes above for an example)." - ] - }, - { - "cell_type": "markdown", - "id": "bf82ae2e", - "metadata": {}, - "source": [ - "### Extracting a profile and converting it to a csvy file\n", - "Now You can create a TARDIS model. There are two possibilities on how to extract the profiles from the snapshot: \n", - " \n", - "- **Cone profile**: This extracts the data within a specified cone \n", - "- **Full profile**: This averages over the whole simulation " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "cf051ded", - "metadata": {}, - "outputs": [], - "source": [ - "profile = arepo.ConeProfile(pos, vel, rho, mass, xnuc, time)" - ] - }, - { - "cell_type": "markdown", - "id": "ecf7d48d", - "metadata": {}, - "source": [ - "This loads the data (in this example for a cone profile), which can then be cut to the ranges which you want to include in your TARDIS model. The syntax for the other profiles is similar: \n", - " \n", - "- `arepo.FullProfile()` " - ] - }, - { - "cell_type": "markdown", - "id": "09cfe94f", - "metadata": {}, - "source": [ - "Next you can create the profiles according to the model option you selected. A diagnostic plot will be shown per default, but this behaviour can be turned off with the option `show_plot=False`. The plot will always show both the positive and negative axis." - ] - }, - { - "cell_type": "markdown", - "id": "7f2286b2", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, - "source": [ - "
\n", - "\n", - "\n", - "\n", - "Note\n", - "\n", - "\n", - "The keyword ``opening_angle=40`` is only needed for the cone profile. The other modes do not accept this keyword! The angle itself is the opening angle of the full cone and NOT the angle between the central x-axis and the cone!\n", - "\n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0aa59e7e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzMAAAKrCAYAAADF6dMsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAADfu0lEQVR4nOzdd3xb1fnH8c8jea/YjkdiZzjLcZwJGRAgEFbZYYcdoGxK6Q/oLgVKKXQAbSmUDWXvvQkjbEIGBLL33tvxHuf3h+TgJHZiO5avZH/ffamS7jjnkXyB++gsc84hIiIiIiISaXxeByAiIiIiItIcSmZERERERCQiKZkREREREZGIpGRGREREREQikpIZERERERGJSEpmREREREQkIimZEZGwZWYHmtk8M9tmZieZ2Ttmdn5w3wVm9nkrx7PYzI5ozTobiKPVP3tTmNkoM5uzm/3dgn9Tf2vGtTt1ry0REYkcSmZEpEUFb/hLgzera8zsUTNLamZxNwN3O+eSnHOvOueOcc491pLxhjszyzMzZ2ZRXsfSWM65z5xzfWvf75wEOueWBv+m1d5EuKv2eG2JiLQFSmZEJBROcM4lAfsCw4Hrdz6gkTfn3YEZLRybiIiItBFKZkQkZJxzK4B3gAEAwRaGn5nZPGBecNslZjbfzDaa2etmlhPcvgDoCbwRbOWJNbMJZnZxfXWZWYGZjQ+WM8fMxtbZd6yZzTSzIjNbYWa/bKCMXmb2kZltMLP1ZvaUmaU2cGysmf3LzFYGH/8ys9jgvtFmttzMrjOztWa2yswurHNuRzN7w8y2mtkkM7tlN93GPg0+bw5+DyPrlHO7mW0ys0Vmdkyd7R3M7OFgvSuC5dfbpcvMbjKzF83sueD3M9XMBtfZ3y/4vW82sxlmNmZP32vt5w++fgLoxo9/x1/XbW0yszPNbPJOMV1jZq/X+Z5vN7OlwZa++8wsvoHP0uDfL7hvo5ntG3yfEzxmdPD99mvLzHqb2SdmtiV4zHMN/G1ERMRjSmZEJGTMrCtwLPBtnc0nAfsBhWZ2GHAbMBboDCwBngVwzvUClhJs5XHOle+mnkRgPPA0kAWcBfzXzPoHD3kYuMw5l0wgsfqooaKC8eQA/YCuwE0NHPsHYH9gCDAYGMGOLVCdgA5ALnARcI+ZpQX33QMUB485P/hoyMHB59Tg9/BV8P1+wBwgA/g78LCZWXDfY0AV0BvYB/gJUG8SGHQi8AKQTuA7fNXMos0sGngDeJ/A9/pz4Ckzq+1Ctsfv1Tl3Hjv+Hf++0yGvA33NrE+dbWcH4wD4G5BP4HvuTeD7vKGBz9Hg3885twD4TTD+BOBR4H/OuQn1lPPn4GdOA7oA/2mgPhER8ZiSGREJhVfNbDPwOfAJcGudfbc55zY650qBc4BHnHNTg8nK74CRZpbXxPqOBxY75x51zlU556YCLwGnBfdXEkieUpxzm4L7d+Gcm++cG++cK3fOrQPuBA5poM5zgJudc2uDx/4JOK/O/srg/krn3NvANgI37X7gVOBG51yJc24mgeSjqZY45x4Mjjt5jEAymG1m2cAxwP8554qdc2uBfwJn7qasKc65F51zlcHPHEcgUdsfSAL+6pyrcM59BLxJIFms/Yx7/F53xzlXArxWW2YwqSkAXg8mZ5cA1wSvmSIC11K9n2VPfz/n3IMEWgQnEvi+/tBAWJUEujjmOOfKnHNhO9mCiEh7FzEDSkUkopzknPuggX3L6rzOAbbfADvntpnZBgK/vi9uQn3dgf2CCVStKOCJ4OtTCbSa/NXMvgd+W6eFYzszywLuAkYByQR+8NnUQJ05BFqSai0Jbqu1wTlXVed9CYHEIDMYW93voe7rxlpd+8I5VxJslEki0LoSDaz6saEG3x7q2L7POVcT7CJW+1mWOedq6hy7hMDfBxr5vTbC08AdBCZ8OBt4NfiZsoAEYEqdz2JAQ13mGvP3e5BAa9Clu2nt+zWB1plvzGwTcIdz7pFmfC4RacemTJmSFRUV9RCBlms1IDRfDTC9qqrq4qFDh67deaeSGRFpba7O65UEEhFge3exjsCKJpa5DPjEOXdkvRU6Nwk4Mdht6irgeQJdkHZ2WzC+Qc65DWZ2EnB3A3XWxl47QUG34LY9WUegC1gXYG5wW32xbA+/EWXWtQwoBzJ2SqZ2Z3v9ZuYLxlb7Wbqama9OQtONYNxN+F739BneBzLMbAiBFpprgtvXA6VA/+D4qz3Z7d/PArPq/YtA97ibzOwl59zGXYJ1bjWBFiHM7CDgAzP71Dk3vxExiIgAEBUV9VCnTp36ZWZmbvL5fE39d7kE1dTU2Lp16wpXr179EDBm5/3KEkXES08DF5rZkODg+VuBic65xU0s500g38zOqx3rYWbDg4PXY8zsHDPrEOxGtRVoaErgZALdwTabWS7wq93U+QxwvZllmlkGgXEcT+4p0GC3sJcJ3EwnmFkBMG43p6wj8KtUzz2VHSx/FYHk4A4zSzEzX3Dwe0Pd5QCGmtkpFphh7v8IJENfE+iOVQz8OvidjgZOAJ5t4ve6ZnfxB5OuF4F/EGhZGh/cXkOgJeWfwVYXzCzXzI5qoKg9/f3+TaBL3cXAW8B99RViZqebWZfg200EEqSwmUZaRCLGgMzMzK1KZPaOz+dzmZmZWwhOJrTL/laOR0RkO+fch8AfCYxvWQX0YvdjOxoqp4jAIPczCbQorCYwcDw2eMh5wGIz2wpcDpzbQFF/IjCd9BYCN7sv76baW4DJwPfADwS6y93SyJCvIjA5wGoCXeGeIZBA7CI4puQvwBfBGcX2b0T544AYYCaBm/EXCYwRachrwBnBY88DTgmO9akg8CvYMQRaSf4LjHPOzQ6e19jv9TYCid9ma2AmOQKJ7RHACzu1KP0GmA98HaznA6BvPefDbv5+ZnYicHQwToBrgX3N7Jx6yhkOTDSzbQS6pP3CObeogTpFRBriUyLTMoLfY715izmn71hExEtm9jegk3Ou1VegN7ObgN7OuYYSERERaYZp06YtHjx48Hqv42grpk2bljF48OC8nberZUZEpJVZYE2cQRYwgsDUza94HZeIiITG6tWr/QUFBYUFBQWFGRkZg7OysgYVFBQUJiQk7HPuued28zq+P//5z1l9+vTp37t37/4333xzVu32r776Kn7IkCEF+fn5hYcddljvjRs31ps7NHT+mjVr/AcccECf7t27DzjggAP6rFu3rt4JXPaGkhkRkdaXTKALVDGBQfN3EOjqJSIibVCnTp2qZ8+ePXP27Nkzx40bt+7yyy9fM3v27JklJSXfPvnkk0u9jG3SpElxjz/+eObUqVNnzZo1a8a7776b+sMPP8QCXHLJJXl/+ctfls+dO3fmmDFjNv3pT3/q1JTzb7zxxs6jR48uWrJkyfTRo0cX3XDDDbucv7eUzIiItDLn3CTnXG/nXIJzLs85d5vzqM+vc+4mdTETEfHGm2++mXzooYf2Brj22mtzTjnllLwDDzywT25u7sDHHnss9fLLL++Sn59fOGrUqD7l5eUG8NlnnyUMHz68b//+/fsddNBBfZYsWRK9NzH88MMP8fvuu++25OTkmujoaA488MCi5557LhVg8eLFccccc8w2gOOPP37rm2++mdaU8999993Uyy67bAPAZZddtuGdd97Z5fwlS5ZEDxs2rG9BQUFhnz59+r/77rtJTYlfyYyIiIiISBhYsmRJ7EcffTT/xRdfnH/55Zf3OOyww7bOnTt3ZlxcXM3zzz/foby83K6++upur7322oIZM2bMOv/889f/8pe/zN25nHvvvTe9tltb3cfRRx+9y8ySQ4YMKZ04cWLy6tWr/UVFRb7x48d3WLZsWQxAnz59Sp9++ulUgCeffDJ99erVMU05f8OGDVHdu3evBOjevXvlxo0bd1kW5pFHHkk//PDDt8yePXvmrFmzZuy3334lTfnOIm6dmYyMDJeXlxfyeoqLi0lMTAx5PdJ26JqR5tB1I82h60aao61eN1OmTFnvnMv0Oo6WcMQRR2yJjY11I0aMKK2urrbTTjttK0D//v1LFy1aFPP999/Hzps3L/6www7LB6ipqSEzM7Ny53KuuOKKjVdcccUu62jVZ9999y37xS9+sfqwww7LT0hIqCksLCyJigqkCI888sjiq666quttt93W+eijj94cHR29Sy+C3Z3fGPvvv3/xZZddlldZWek77bTTNh1wwAGljT6ZCExm8vLymDx5csjrmTBhAqNHjw55PdJ26JqR5tB1I82h60aao61eN2a2xOsYWkpsbKwD8Pv9REVFOZ8v0InK5/NRVVVlzjnr3bt36XfffTd7d+Xce++96f/+9793GZ+Sl5dX9u677y7cefs111yz/pprrlkPcNVVV+V26dKlAmCfffYp++KLL+YBfP/997Hvv/9+an31NXR+x44dq5YsWRLdvXv3yiVLlkSnp6fvspjzMcccs+3TTz+d89JLL3W44IILelx99dVrrrrqqg27+3x1RVwyIyIiIiLSHg0aNKhs48aNUR988EHiEUccUVxeXm4//PBD7LBhw8rqHteUlhmAFStWROXm5lbNmzcv5q233kr95ptvZtfdXl1dzY033tj5oosuWtuU84866qjN999/f8dbb7119f3339/x6KOP3rzzuXPnzo3p0aNHxXXXXbe+uLjYN3Xq1ARAyYyIiIiISFsSFxfnnn322QVXX311t6KiIn91dbVdccUVa3ZOZppqzJgxvTZv3hwVFRXl/vWvfy3NzMyshsB4locffjgL4Nhjj9109dVXbwBYvHhx9Pnnn9/9k08+mb+78//0pz+tOvnkk3t17949Iycnp+LVV19dsHPd7733XvJdd93VKSoqyiUkJFQ/9dRTTVqkOOIWzRw2bJhTNzMJR7pmpDl03Uhz6LqR5mir142ZTXHODfM6jp1p0cyWpUUzRURERESkTVEyIyIiIiIiEUnJjIiIiIiIRCQlMyIiIiIiEpGUzIiIiIiISEQKWTJjZo+Y2Vozm97AfjOzu8xsvpl9b2b7hioWERERERFpe0LZMvM/4Ojd7D8G6BN8XArcG8JYRERERETaNb/fP7SgoKCwd+/e/fv27Vt40003ZVdXV7doHX//+98z77777o4Ad911V8fFixdHt2gFOwnZopnOuU/NLG83h5wIPO4CC918bWapZtbZObcqVDG1pDVby7jvkwVcObo3mcmxXocjEnrOwdKv4PvnYORVkNHH64hERESkCWJjY2tmz549E2DFihVRp59+es8tW7b4//nPf65sqTp+/etfr6t9/eSTT2YMGTKkNC8vr7Klyt9ZyJKZRsgFltV5vzy4bZdkxswuJdB6Q3Z2NhMmTAh5cNu2bWuwnq3ljtu+KWVVsWPtyhWc3jcm5PFI+NvdNRPJrKaajPVf0XXZq6QUzQNg+ep1zO9zqceRtQ1t9bqR0NJ1I82h60bqys3NrXrooYcWH3DAAYV33HHHypqaGn72s591+eKLL5IrKirskksuWfurX/1q/Ztvvpl8880356Snp1fOmTMnfuDAgSWvvvrqIp/Px5VXXpn73nvvpfr9fjd69OitDzzwwPJrr702JykpqbpHjx4V06dPTxg3blzPuLi4mptuumnFww8/nDF+/PgFAK+88krKvffem/n+++8v2JvP4WUyY/Vsc/Ud6Jx7AHgAYNiwYa41Vq9taJXcTcUVnPXg12yqMPp1TmbiunL+dfHBRPs1l0J71+ZWVi7fBt8+CV/fA5uXQnpPOO4OmPUGXTbPpktb+qweanPXjbQKXTfSHLpuwsevXpzWde7qooSWLDO/U3LJP04bvGzPR/6osLCwoqamhhUrVkQ999xzqR06dKiePn36rNLSUhs+fHjBCSecsBVg1qxZ8d99993CvLy8yqFDhxaMHz8+aciQIaVvv/122sKFC6f7fD7Wr1/vr1v2hRdeuOnee+/Nuv3225cdfPDBJTU1Nfzud7/rsnLlyqicnJyqRx55pOMFF1ywfm8/t5d34MuBrnXedwFarIkrFLaUVnLeIxNZuL6Yh8YN55c/yWf9tnI+nLXW69BEWtaGBfCffeHd30ByDpzxFFw1GYZfDH2PhY0LYOMir6MUERGRvRQY8QEffPBByvPPP9+xoKCgcJ999um3adOmqJkzZ8YBDBw4sLhXr16Vfr+f/v37lyxYsCAmPT29OjY2tubMM8/s/thjj6UmJSXV7K4en8/H2LFjNzz44IPp69ev90+dOjXp9NNP37K38XvZMvM6cJWZPQvsB2wJ5/Ey28qruODRb5izuogHzhvGQX0yqKquoVNKHM9OWsrRAzp5HaJIyyjeAE+dBtWVcOG70H3kjvt7HR54XvAhpF/c+vGJiIhEuKa2oITKzJkzY/x+P7m5uVXOObvjjjuWnnrqqVvrHvPmm28mx8bGbu895ff7qaqqsujoaL777rtZr7/+esqzzz6bdu+992Z9/fXXc3dX3xVXXLHhuOOO6x0XF+dOOOGETdHRez83QCinZn4G+Aroa2bLzewiM7vczC4PHvI2sBCYDzwIXBmqWPZWSUUVP310Et8v38LdZ+/LoQVZAET5fYwd1oVP5q5jxeZSj6MUaQGVpfDMmbBlBZz17K6JDEDHXpDaHeZ/2PrxiYiISItYuXJl1CWXXNL9wgsvXOvz+TjyyCO33HvvvZnl5eUG8P3338du3bq1wVxhy5Ytvo0bN/rPOOOMLffdd9+yWbNm7dJtLikpqXrLli3bu5/l5eVVZmdnV95xxx2dL7nkkr3uYgahnc3srD3sd8DPQlV/SymrrOaSxyczeclG/n3mPhzVf8cWmLHDu/Kfj+fz/KRlXHNkvkdRirSAmmp4+RJYPgnGPgbd9qv/ODPofTh8/zxUVUCUJsAQERGJBOXl5b6CgoLCqqoq8/v97owzzthw4403rgG45ppr1i9evDh24MCB/Zxzlp6eXvn22283ODh/8+bN/uOPP753bfJzyy237NLaNG7cuPU///nPu//qV7+qmTx58qykpCR35plnbrjnnnuihg4dWtYSn8nLbmYRYfGGYqav2Mrtpw/mhME5QKBvYXFlMRvLNuL8jhF9HM99+x1j908myufD7/PjNz8+8xHliwo8WxR+X2CbSFh6/48w6w046lYoPHH3x/Y+AiY/AssmQo9RrROfiIiI7JXq6uopDe3z+/3cfffdK4AVdbcff/zxRccff3xR7fvHH398ae3rH374YdbO5dx5553bx8BfcMEFmy+44ILNdfd//vnnyS0x8L+Wkpk9yOhQwek/mcrXRR/wxrvrWFe6jrUlaymtqtOtzA9kw9Ev77k8n/mI9kUT5Yva/hzjiyEhOoGk6CQSYxIDz9GJpMSkkJ2QTafETnRO7Ex2YjYd4zpiVt9EcCJ74et7A7OW7XcFjGxEg2mPg8EXBfM/UDIjIiIijdK/f/9+8fHxNffff3+LjRlSMrMHldWVvLbgJbISssiIz6Bfej8O7nIwWfFZpMen4zMfFVXV/Pmt6XRLj+fckV2pqamh2lVT7aqpcTVU1VRtf66sqaTKVQVeVwdeV1RXUFxZTHFlMVvLt7Jy20qKK4rZXL6ZipqKHeKJ9kXTKbFT4JHQafvrzomdyUrIIj0undS4VKJ9Ow6oqq6pZmnRUuZtmsfcTXOZu2kuG8o2bG9Bqvt8WLfDGNt3bGt+zeKlWW/Au7+DguPhqL807pzYZOi6f2ASgCP/FNr4REREpE2YMWPGLi05e0vJzB50SuzEN+d8s8fWkDkL8nnos0UccvJhZKXEtUjdzjk2l29mVfEqVhevDjxKVrN6W+B58prJrC1ZS7Wr3uXc5JjkQGITm0plTSULNy+krDrQNdFnPvJS8shKyMI5R7Wr3p5wrdi2glkbZ3F6/ulqAWoP1syAly6BLsPglAfB59/zObV6Hw4f/gmKVkOyZvMTERGR1qdkZg8ae0N/5vBu3P/JQl6YspyfHdq7xepOi0sjLS6Nwo6F9R5TXVPNutJ1rC5ezdqStWwq28Sm8k2B57JNbCzfSAIJjO07lvy0fPqk9aFXai9i/bH1lvfyvJe58csbWbRlET1Te7bI55AwVbYFnjsP4joE1pGJaeLaXb2PCCQzCz6CIWeHJkYRERGR3VAy00J6ZCSyf890npu0jCsO6YXP1zqtGn6ff3tXs5YwPHs4AN+s/kbJTFvmHLz2M9i0GC54E5Kzm15G9gBIzApM0axkRkRERDygqbVa0FkjurF0YwlfLdzgdSjN1iW5C9kJ2UxaPcnrUCSUvro7MFbmyJuh+wHNK8PnC3Q1W/BRYFpnERERkVamZKYFHdW/E6kJ0TzzzdI9HxymzIzhnYYzec1kAksBSZuz+AsYfyP0G9O4mct2p/cRULoRVn7XIqGJiIhIaIwYMaLvSy+9lFJ3280335x17rnndmvo+E8//bSJfdDhqaee6vD73/++E8ATTzyROmXKlJYZTN4AJTMtKC7az8n75PL+jDVsLK7Y8wlhakSnEWws28iCzQ2ukySRqmgNvHghpOXBifcEFsDcGz0PBSwwq5mIiIiErdNPP33DM888k15320svvZR+7rnnbmzJes4555wtt95662qAV199NfX777+Pb8nyd6ZkpoWdum8XKqpr+Gj2Wq9DabZhnYYBMGmNupq1KdVVgUSmbCuc8QTEpez5nD1J7Ag5+wTWmxEREZGwdd5552368MMPO5SWlhrAnDlzYtauXRtdXFzsGzJkSEFhYWG/Y445pueWLVt2yQ/uv//+9Pz8/MI+ffr0v+KKK3Jrt7/44osphYWF/fr27Vs4cuTIfIC77rqr47hx47qNHz8+8YMPPki9/vrruxQUFBTOmDEjtrCwsF/tuT/88ENs//79++1cV1NpAoAWVtg5hYykGD6bt47ThnbxOpxm6ZLUhU6JnZi0ehJnFZzldTjSUj66GZZ8ASc/ANn9W67c3kfAZ7dD6SaIT2u5ckVERNqqV3/WlbUzm9yFa7eyCks46Z4GF6Ps1KlT9eDBg4tfeumlDueee+7mxx57LP3AAw8suu222zp/+umnc1NSUmr+8Ic/dPrzn/+cffvtt6+qPW/x4sXRN910U+6UKVNmZWZmVo0aNSr/iSeeSD388MO3XXXVVXkTJkyYXVBQULFmzZod1nc48sgji4844ojNxx9//JYLL7xwE0BycnL1l19+GX/AAQeU3n///Rlnn332Xg80V8tMC/P5jIN6Z/DF/PXU1ETmmBMzY0SnEUxerXEzbcasN+GLf8Own8LgM1q27N6Hg6uBhZ+0bLkiIiLSosaOHbvxueeeSwN4+eWX0/Py8soXLFgQN2LEiIKCgoLCZ599tuPSpUtj6p7z+eefJ+6///5FOTk5VdHR0ZxxxhkbP/nkk6QJEyYkjhgxoqigoKACIDs7e4+zAV1wwQXrH3zwwYyqqipee+21tIsuumivkxm1zITAQX0yefW7lcxavZX+OR28DqdZhmUP4/UFrzN/83z6pPXxOhzZGxsWwKtXBLqDHf3Xli8/dxjEdgh0Net/UsuXLyIi0tbspgUllM4555zN119/fdfPP/88oayszLfvvvuWzJkzZ+sbb7yxqKFzGvph2znX5AXWzz///E1/+9vfcp599tmigQMHlnTq1Gmvp0NVy0wIjOqTAcDn89Z7HEnzDe8UWG9GUzRHuIoSeH4c+Pww9nGIqn+x1L3ij4KehwTWm1FLnoiISNjq0KFDzf7771908cUX551yyikbR48eXTx58uSk6dOnxwIUFRX5vv/++x1uFg4++ODiiRMnJq9atSqqqqqKF154IX306NHbDj300OKJEycmz549OwZg525mAElJSdVbt27dnm8kJCS4Qw45ZMu1117b7YILLmiRG2UlMyGQnRJHfnYSn0VwMtMluQs5iTlMXjPZ61CkuZyDt66DNTPglIcgtd6ZF1tG7yOgaCWsmx26OkRERGSvnXnmmRvnzJkTf955523Mycmpuv/++xefeeaZPfPz8wuHDh1a8MMPP+wwlXL37t0rb7jhhhWHHHJIfr9+/foPGjSo5Nxzz92ck5NTdddddy0++eSTe/ft27fw5JNP3mW19XPOOWfjXXfd1alfv36FM2bMiAUYN27cRoBTTjlla0t8HnUzC5FRfTJ54usllFVWExe9S6IaEYZ1Gsanyz+lxtXgM+W9EWfqYzDtaTjkt9DniNDW1TtY/uw3IWuvJyYRERGREBk3btzmcePGTal9P2bMmKIxY8bM2vm4b775Zk7t68svv3zj5ZdfvssUzmPHjt06duzYmXW3XX311RuADQA/+clPihcsWDCj7v5PPvkk6ayzzlofFdUyaYjuUENkVJ8MKqpq+GZRi07d3aqGdxrO5vLNzN883+tQpKlWTIW3fwW9DodDfh36+jrkQtf9YPoroa9LREREItKRRx7Z69lnn+3429/+tsXWMFEyEyL79ehIjN/HZ/PWeR1Ks2ncTIQq2QjPnw+JWXDKg4HxMq1hwKmwdgasVVczERER2dX48eMXzJ07d2bnzp2rWqpMJTMhEh/jZ1heWkSPm8lNyiU3KZfJqzVuJmLU1MArl0PRqsCA/8SOrVd34YmAwYyXW69OERERadeUzITQQX0ymL26iLVFZV6H0mzDsocxac0kalyN16FIY3x5F8x7D46+DboMbd26kztB3kEw/WXNaiYiIiKtQslMCB3cJxOAL+ZHbuvM8E7D2VK+hXmb5nkdiuzJ0q/hw5uh8CQYfrE3MQw4BTbMg9U/eFO/iIiItCtKZkKosHMK6YkxfDY3spMZQFM0h7viDfDiTwPTL4+5C5q4iFWL6XcimF9dzURERKRVKJkJIZ/POLB3Bp/NX9/g6qnhLicph9ykXE0CEM5qauDVy6F4HZz+P4jr4F0siR2h52iY/pK6momIiIQZMxt6ySWXdKl9f8MNN2Rfe+21OQB///vfM+++++6OANdee21OVlbWoIKCgsKCgoLC5557bvvNxcSJE+OHDBlS0Lt37/75+fmFJSUlHv2CGqB1ZkJsVJ8M3pi2kjlriijolOJ1OM0yvNNwPl72sdabCVdf/hvmvQ/H3g45Q7yOJjCr2WtXBqaHbu1xOyIiItKgmJgY9/bbb6etWrVq9c4ziv3617/eYQreyy+/fM3NN9+8pu62yspKzjvvvB6PPfbYopEjR5auXr3aHxMT4+mvl7ozDbFRfTIAIrqr2YhOIzRuJlwt+Qo+/DP0P9m7cTI7KzgO/DGB1hkREREJG36/340bN27drbfemr3zvmuvvTbnhhtu2GV7XS+//HKHfv36lY4cObIUoFOnTtUttfhlc6llJsQ6d4ind1YSn81fzyUH9/Q6nGYZlj0MCKw30ze9r8fRyHZ1x8mc4OE4mZ3Fp0LvI2DGK/CTW8Cn30xERETq+uMXf+w6f9P8hJYss3da75I/H/jnZXs67le/+tXagQMH9r/ppptW7+64hx9+OOvZZ5/tOHjw4JL//ve/yzIzM6vnzJkTa2YcdNBBfTZu3Bh1yimnbLzlllvW7K6cUNNdRisY1SeDiQs3UFZZ7XUozdI5qTO5SblMXTvV61CkVk0NvHIZlKyHsY9BXJh1Yex/ChSthGVfex2JiIiI1JGenl5z+umnb/jrX/+a1dAx11xzzdolS5b8MGvWrJmdOnWqvPLKK7sCVFVV2aRJk5JeeOGFRRMnTpzz5ptvpr322mvJrRf9rtQy0wpG9cng0S8WM3nxJg4KdjuLND069GDFthVehyG1PrsD5o+H4+6AzoO9jmZXfY+BqPjAmjPdD/A6GhERkbDSmBaUUPrd7363Zt999y0888wz6x0H0bVr1+3jaa666qp1xx9/fB+ALl26VOy///5FteNtjjzyyC2TJ09OOPHEE4taJ/JdqWWmFezXoyPRfuOz+ev2fHCYyk7IZm3JWq/DEIAFH8PHf4GBY2HYRV5HU7/YJMj/Ccx8Faqr9ni4iIiItJ7s7OzqE044YdPTTz9d76/sS5Ysia59/eyzz6b27du3FODkk0/eOmvWrPiioiJfZWUlX3zxRXL//v09XR1eyUwrSIyNYt9uaRE9CUBWQhYbSjdQWVPpdSjt25YV8NJFkFkAJ/wrfMbJ1GfAqYHpopd87nUkIiIispM//OEPqzdv3lxvL61f/OIXXfLz8wvz8/MLP/nkk5R77rlnGUBmZmb1VVddtWafffbpV1hY2H/QoEElZ5555pbWjXxH6mbWSg7Oz+Qf781h/bZyMpJivQ6nyTITMnE4NpRuoFNiJ6/DaZ+qKuCFC6CqHMY+DjGJXke0e31+AjFJgVnNeo72OhoREZF2r6Sk5Nva1127dq0qLS3d/v7OO+9cWfv61VdfXdRQGVdeeeXGK6+8cmPoomwatcy0kgN6dQTgm0Vh87dvkuyEwEx9a0o8nbCiffvgRlj+DYz5D2Tmex3NnkXHQ99jYdYbgURMREREpIUpmWklA3I7EB/tj9hkJishMOHFupLIHfcT0Wa8Al//F/a7HAac4nU0jTfgFCjdBAs/9joSERERaYOUzLSSaL+PfbqlRnwyo5YZD6yfB69dBV2Gw5F/9jqapul1OMSnw7RnvY5ERERE2iAlM61oRI90Zq3eytayyBtEnxabRpQvSjOatbaKYnh+HETFwun/g6gYryNqmqgYGHgazH4LSjd7HY2IiIi0MUpmWtGIvHScgylLNnkdSpOZGVnxWUpmWpNz8Oa1sHYWnPIgdOjidUTNM/hMqC4PTNMsIiIi0oKUzLSifbqlEeWziO5qpmSmFU19DL5/Fkb/Fnof7nU0zZezL2T0VVczERERaXFKZlpRfIyfgV06MEnJjOzJyu/g7V9Dr8Pg4F95Hc3eMQu0ziz9CjYu9DoaERGRdu03v/lNp969e/fPz88vLCgoKPzoo48SzzjjjO5TpkyJKyoq8o0ePbp3jx49+vfu3bv/lVdemVt73rx582L222+//H79+hXm5+cXPvfccx28/By1lMy0shF56Xy/fAtlldVeh9JkSmZaSemmwDiZxAw45SHw+b2OaO8NGgsYTHvO60hERETarQ8++CDxvffeS/3hhx9mzp07d+bHH388t2fPnhXPPffckqFDh5YBXHfddWsWLVo0Y/r06TMnTpyY9Pzzz6cA3HDDDZ1POeWUTbNmzZr5zDPPLLz22mu7eftpApTMtLLheelUVNfw3bLNXofSZFkJWZRUlbCtYpvXobRdNTXwyhWwdQWc/hgkdvQ6opbRoQv0OBimPRMYCyQiIiKtbsWKFdHp6elV8fHxDqBz585VeXl5lSNGjOj76aefJiQnJ9eccMIJRQBxcXFu0KBBJcuWLYuBwPjprVu3+gE2bdrkz8rKCosZraK8DqC9GZaXBsCkRRvZv2dk3ajWTs+8tmQtSTFJHkfTRn15F8x9B47+G3Qd7nU0LWvI2fDKZbD0a+g+0utoREREPLPy93/oWj5vXkJLlhnbp09Jzq1/Wba7Y0466aStt912W05eXt6Agw46aOtZZ5218bjjjqv3V+r169f7x48fn/qrX/1qDcBtt9228sgjj+zz0EMPZZWWlvreeuutuS0Zf3OpZaaVpSbEUNApmW8WR964me3JTKm6moXE4s/hw5uh/8mw32VeR9PyCo6H6MRA64yIiIi0ug4dOtRMnz595t13370kMzOz6vzzz+9111137fLremVlJaecckrPSy+9dE1hYWEFwKOPPpp+1llnbVizZs33L7/88rwLLrigR3W198MmQtoyY2ZHA/8G/MBDzrm/7rS/A/Ak0C0Yy+3OuUdDGVM4GJ6XzstTl1NVXUOUP3LyyeyEbACNmwmFbWvhxZ9Ceg8Y85/AoPm2JjYJCsfAjFfhmL9BdLzXEYmIiHhiTy0ooRQVFcXxxx9fdPzxxxcNGjSo9IknntglmTn77LPzevbsWXbDDTdsv+l78sknM9599925AEcccURxeXm5b/Xq1VG5ublVrRn/zkJ2J21mfuAe4BigEDjLzAp3OuxnwEzn3GBgNHCHmUXYqoBNN7xHOsUV1cxctdXrUJokMyETUDLT4mqq4aWLoGwrjH0cYpO9jih0Bp8F5VtgztteRyIiItLuTJs2LfaHH36IrX3/7bffxnfp0qWi7jFXX311ztatW/0PP/zwDglXTk5Oxdtvv50CMHXq1LiKigrr3Lmzp4kMhLab2QhgvnNuoXOuAngWOHGnYxyQbGYGJAEbAc+/lFAbkZcOEHHrzcRHxZMck8ya4jVeh9K2TPgrLPoUjrsDsvt7HU1o5Y2ClC5ac0ZERMQDW7du9Y8bN65Hr169+ufn5xfOnj07/m9/+9vK2v0LFiyI/s9//tN53rx5cf379y8sKCgovPPOOzMA/vnPfy773//+l9m3b9/Cs88+u+d999232OfzvodRKLuZ5QJ1M7rlwH47HXM38DqwEkgGznDO1exckJldClwKkJ2dzYQJE0IR7w62bdsW0noy4413Js+ld/XSkNURCkkuiZlLZzKhbILXoYSd5lwzaRunMuj7f7C60+HM2ZILrXBte61H6v50m/cyX733ChWxaV6H47lQ/7tG2iZdN9Icum5k1KhRJd9+++3snbd/8803c2pfO+em1Hfu0KFDy6ZOnbrLuV4LZTJTX6f/nedkPQr4DjgM6AWMN7PPnHM79L9yzj0APAAwbNgwN3r06BYPdmcTJkwglPUcvHYaH89ZyyGHHIJF0PiIZ8Y/Q1FFUUi/m0jV5Gtmy3K470LIKqTzT5+kc0yLTmoSvvrnwD0vckDKShh5stfReC7U/66RtknXjTSHrhtpi0LZNrQc6FrnfRcCLTB1XQi87ALmA4uAghDGFDb265HOxuIKFqyLrDVbshKyWFOibmZ7rboyMOC/ugLGPgbtJZEByMyH3KHwnWY1ExERkb0TymRmEtDHzHoEB/WfSaBLWV1LgcMBzCwb6AssDGFMYWN4j9pxM5s8jqRpMuMz2VC6geoa76fii2gf3ATLJsKYuyCjj9fRtL7BZ8GaH2DNTK8jERERCZWampqayOl+E8aC3+MuQ1EghMmMc64KuAp4D5gFPO+cm2Fml5vZ5cHD/gwcYGY/AB8Cv3HOrQ9VTOEkr2MCGUmxfLNog9ehNEl2QjbVrpoNZZEVd1iZ/RZ8dTcMvwQGnOp1NN7IPzrwvPgzb+MQEREJnenr1q3roIRm79TU1Ni6des6ANPr2x/SdWacc28Db++07b46r1cCPwllDOHKzBjRI41JiyOrZWb7wpkla7e/libYuAheuQI6D4Gj/uJ1NN5J7RqY1Wzp121zgVAREWn3qqqqLl69evVDq1evHoAWqt8bNcD0qqqqi+vbGdJkRnZvRF46b/+wmuWbSuiSFhljJrISf0xmpImqyuGFCwKvxz4GUbG7PbzN67YfLPkKnGubi4SKiEi7NnTo0LXAGK/jaOuUJXqodtzMpMWRs95MVrySmWZ77w+w6js4+V5Iy/M6Gu91GwlFK2GLZ4sgi4iISIRTMuOhgk4pJMdGRdQkAOlx6fjNr2Smqaa/BJMehJFXQcFxXkcTHroGl51a+rW3cYiIiEjEUjLjIb/PGJaXFlEtM36fn4z4DE3P3BTr58PrV0OXEXDETV5HEz6y+0NMspIZERERaTYlMx4b3iOd+Wu3sWFbudehNFp2QjbrStZ5HUZkqCyF58eBPwZOfxT80V5HFD58fug6XMmMiIiINJuSGY8NzwuMm5m6dLO3gTRBZkKmupk11tu/grUz4JQHoUMXr6MJP91GwtqZULrZ60hEREQkAimZ8djA3A5E+43JSyKnq1lWQpaSmcb47hn49gkY9Uvoc4TX0YSnrvsBDpZP8joSERERiUBKZjwWF+1nQG4Hpi6JnEkAshKyKKosoqSyxOtQwtfaWfDWtdD9IBj9O6+jCV9dhoH51dVMREREmkXJTBgY1j2Nacu3UF5V7XUojZKdkA1oeuYGlW+D58+HmCQ47WHwazmnBsUkQudBSmZERESkWZTMhIGh3dOoqKph+oqtXofSKFkJgbVm1pVqEoBdOAdv/h9smBdIZJI7eR1R+Os2ElZMgaoKryMRERGRCKNkJgzs2z0NIGK6mmUmZAJoeub6TPkf/PACjP499DjY62giQ9f9oKoUVn/vdSQiIiISYZTMhIGs5Di6pSdEzCQA6mZWv6SihfDOb6DX4TDqOq/DiRzd9g88L/3K2zhEREQk4iiZCRPDuqcxZclmnHNeh7JHidGJJEYnKpmpq2wL/Wf8DRI6wikPgE//aDVacidIy9O4GREREWky3XGFiX27p7F+WzlLN0bGDGGanrkO5+C1q4grWxtYGDMxw+uIIk+3kYFkJgKSeREREQkfSmbCxLC8wLiZKREybiYrXsnMdt88ALNeZ2HPcT92mZKm6boflKyHjQu9jkREREQiiJKZMJGflUxybBSTIyWZUctMwIqp8N4fIP9olnU9yetoIle3kYFnjZsRERGRJlAyEyZ8PmOf7mlMWRw5ycy6knXUuBqvQ/FO6WZ44QJIyoaT7gUzryOKXBn5EJeqcTMiIiLSJEpmwsiw7mnMXVvEltJKr0PZo6yELKpcFRvLImMGthbnHLz+c9i6IjBOJiHd64gim88X6KKnZEZERESaQMlMGBnaPQ3n4Nul4d86Uzs987qSdrpw5qSHYNbrcPgN0HWE19G0DV33Cyw2Wrze60hEREQkQiiZCSNDuqbi91lELJ5Zu3Bmuxw3s/I7eO/30OcnMPLnXkfTdtSOm1k20ds4REREJGIomQkjibFR9OucHBGTAGQlZAGwpmSNx5G0srItgXEyiZlw0n1aT6Yl5ewD/hh1NRMREZFG051YmBnaLY3vlm2mqjq8B9ZnxGfgM1/7aplxDl6/GjYvhdMegcSOXkfUtkTHBRIaJTMiIiLSSEpmwszQvHRKKqqZvbrI61B2K8oXRce4ju0rmZn8MMx8FQ7/o9aTCZWu+8HKb6Gy1OtIREREJAIomQkzQ7sHFs+cvDj8ZwnLTMhkbWk7SWZWTYN3fwe9j4ADfuF1NG1X1/2gphJWT/c6EhEREYkASmbCTG5qPJ07xDFl6WavQ9mjdrNwZtnWwDiZhI5w8v0aJxNK2YWB53WzvI1DREREIoLuysLQ0O5pTImAlpnshOy2n8w4B2/8AjYtDo6TyfA6orYttTtExcPa2V5HIiIiIhFAyUwYGto9jZVbyli5ObzHDWQlZLGlfAtlVWVehxI6Ux6FGS/DoX+A7gd4HU3b5/NDRh+1zIiIiEijKJkJQ8O6B1aTnxLmUzRnxgfWmmmzC2eu/gHe+S30OgwOutbraNqPrH5qmREREZFGUTIThgo6JxMf7Q/7ZCY7IRugbU4CUF4Ez58P8Wlw8gMaJ9OaMgugaCWUbvY6EhEREQlzukMLQ9F+H0O6poZ9MlO7cGabGzfjHLzxf7BpEZz2MCRleh1R+5LVL/C8bo63cYiIiEjYUzITpoZ2T2Pmqq0Ul1d5HUqDshLbaDIz9TGY/iKM/j3kHeR1NO1PZkHgWeNmREREZA+UzISpYXlpVNc4pi3b7HUoDUqOTiY+Kp41JWu8DqXlrP4B3v419BwNozROxhOp3SE6QeNmREREZI+i9nSAmcUBxwOjgBygFJgOvOWcmxHa8NqvfbunYQaTFm/igN7hOR2wmZERn8H6kvVeh9IyyosC68nEp8EpDwVm1pLW5/NBRr5aZkRERGSPdpvMmNlNwAnABGAisBaIA/KBvwYTneucc9+HNsz2JyUumr7ZyUxeEt7rzaTGprK1YqvXYey92nEyGxfCuNc1TsZrWf1gwcdeRyEiIiJhbk8tM5Occzc1sO9OM8sCurVsSFJreF46L09dTlV1DVH+8OwRmByTTFFFkddh7L3acTKHXg89RnkdjWQWwLRnoHRToKVMREREpB67vUN2zr0FYGan77zPzE53zq11zk0OVXDt3bC8NIorqpm9OnyTheSY5Mhvmdk+TuZQGHWd19EIaEYzERERaZTG/tz/u0ZukxY0PC+weObkxeHb1SziW2Z2GCfzoNaTCRe1M5qt1bgZERERadiexswcAxwL5JrZXXV2pQDhO2dwG5GTGk9OhzgmLdnEBQf28DqcetW2zDjnMDOvw2mauuNkzn9D42TCSYeugRnN1mlGMxEREWnYnsbMrAQmA2OAKXW2FwHXhCoo+dGwvHQmLtoQtslCSkwKlTWVlFeXExcV53U4TTP5kcA4mcOu13oy4cbng8y+apkRERGR3dptMuOcmwZMM7OnnHNqifHA8Lw0Xp+2kuWbSumanuB1OLtIiUkBoKiiKLKSmeWT4Z3fQO8j4SCNkwlLmf1gwYdeRyEiIiJhbLcDBMzs+eDLb83s+50frRBfuzesdtxMmE7RnByTDBBZ42aK18Pz4yClM5zygMbJhKusAti2BkrC89oXERER7+2pm9kvgs/HhzoQqV9+djLJsVFMWryJk/fp4nU4u6hNZiJmRrPqKnjxQijZABe9DwnpXkckDcmsndFsNnQ/wNtYREREJCztqZvZquDzktYJR3bm9xn7dk8L2xnNIq5l5uNbYNGncOJ/ofNgr6OR3cmqM6OZkhkRERGpR6P615jZKWY2z8y2mNlWMysysz3+FG9mR5vZHDObb2a/beCY0Wb2nZnNMLNPmvoB2oPheWnMXbONzSUVXoeyi4hqmZn1Bnz+Txh6IexzjtfRyJ506AoxSZrRTERERBrU2MECfwfGOOc6OOdSnHPJzrmU3Z1gZn7gHuAYoBA4y8wKdzomFfhvsOz+wC6Lc8qP42amLt3kcSS7qjsBQFhbPx9euQJy9oVj/uZ1NNIYZprRTERERHarscnMGudcU+8oRgDznXMLnXMVwLPAiTsdczbwsnNuKYBzbm0T62gXBndJJdpvTFocfslMRHQzK98Gz50LUTEw9nGIivU6ImmszH5qmREREZEG7WkCgFqTzew54FWgvHajc+7l3ZyTCyyr8345sN9Ox+QD0WY2AUgG/u2ce3zngszsUuBSgOzsbCZMmNDIsJtv27ZtrVJPY3VNMj6ctoj94lZ7Hcouoi2aGQtmMGHjBK9D2ZVzFM68ncx1c/h+0I1s+m4BsCAkVYXbNdMWdCmKpnfxOr54/3UqY3bbGByxdN1Ic+i6kebQdSNtUWOTmRSgBPhJnW0O2F0yU98Kj66e+ocChwPxwFdm9rVzbu4OJzn3APAAwLBhw9zo0aMbGXbzTZgwgdaop7G+KJ7JY18tYeRBo4iN8nsdzg46PN+B1OxURh8w2utQdvXl3bDuczjiJgYf9H8hrSrcrpk2YV4VLHiUA/M7Qt6BXkcTErpupDl03Uhz6LqRtqhRyYxz7sJmlL0c6FrnfRdgZT3HrHfOFQPFZvYpMBiYi+xgWF46D362iOkrtjC0e3hNJ5wckxyeEwAs+gzG3wD9xsCB/+d1NNIctTOarZvVZpMZERERab5GJTNm9ii7tqrgnPvpbk6bBPQxsx7ACuBMAmNk6noNuNvMooAYAt3Q/tmYmNqbYd3TAJi0eFPYJTMpMSnhN2Zmywp44QLo2AtO+m9gMLlEnpRciEmGtRo3IyIiIrtqbDezN+u8jgNOZtdWlh0456rM7CrgPcAPPOKcm2Fmlwf33+ecm2Vm7wLfAzXAQ8656U39EO1Bx6RYemYkBtabOaSX1+HsIDkmmU1lYTQ5QVU5PH9e4PmMpyA22euIpLlqZzTTJAAiIiJSj8Z2M3up7nszewb4oBHnvQ28vdO2+3Z6/w/gH42Jo70blpfG+zPXUFPj8PnCp6UhOSaZpVuXeh3Gj975NayYAmc8CZn5XkcjeyurAOa863UUIiIiEoYaOzXzzvoA3VoyENmzYXnpbC6pZOH6bV6HsoOw6mY29XGY8j846Brod4LX0UhLyOwHJeuheL3XkYiIiEiYaVQyY2ZFZra19gG8AfwmtKHJzoYHF88Mt/VmaicAcG6XYVWta9U0eOuX0HM0HPZHb2ORllM7CYAWzxQREZGdNCqZcc4lO+dS6jzyd+56JqGX1zGBjokxTFq80etQdpAck0y1q6a0qtS7IMqL4IULIaEjnPoI+MJr+mrZC5n9As8aNyMiIiI7aW43M/GAmTEsL43JYdYykxJczNCz6Zmdg7eug02L4NSHILGjN3FIaKTkQGyKWmZERERkF0pmIszwvHSWbixh5WYPW0F2khwTmC3Ms3Ez056B75+DQ36rtUjaIjPILFDLjIiIiOxCyUyEOaBXBgBfLdjgcSQ/8jSZWT8v0CrT/SA4+JetX7+0jqyCQMuM1+OyREREJKwomYkwBZ2SSUuI5sswSmY862ZWWRZYGDM6Hk59UONk2rLMflC6UTOaiYiIyA6ancyY2Zt7Pkpams9njOzVka8WrPd+9rAgz1pm3r8e1kyHk+4NjKuQtiulc+C5eK23cYiIiEhY2ZuWmUtaLAppkpG9Mli5pYwlG0q8DgXwqGVm1hsw6UEYeRXkH9V69Yo34tMCz6XhNfmFiIiIeKvRyYyZxZjZIDMbaGYxzrlVoQxMGnZAr8BsXeHS1SwpJgloxZaZTUvgtZ9B5yFw+I2tU6d4a3sys9nTMERERCS8NHbRzOOABcBdwN3AfDM7JpSBScN6ZiSSnRLLlwvCY/xAtC+a+Kj41klmqioC42Scg9MfhaiY0Ncp3otLDTyrZUZERETqiGrkcXcAhzrn5gOYWS/gLeCdUAUmDTMzDuiVwadz1+Gcw8y8DonkmOTW6Wb2/vWwciqMfQLSe4a+PgkP6mYmIiIi9WhsN7O1tYlM0EJAI3E9NLJXRzYUVzB3zTavQwEC42ZC3jIz4xX45n7Y/0ooHBPauiS8xCaD+aFss9eRiIiISBjZbcuMmZ0SfDnDzN4GngcccDowKcSxyW78OG5mPX07JXscTSskM+vnw2s/hy7D4Yg/ha4eCU9mEJ+qlhkRERHZwZ5aZk4IPuKANcAhwGhgHZAW0shkt7qkJdC9Y0LYTAKQHJMcumSmshReOB/8UXCaxsm0W/FpSmZERERkB7ttmXHOXWhmfuBq59w/WykmaaQDenXkze9XUVVdQ5Tf2/VPk2OSmb95/p4PbI53fh1YT+acFyG1a2jqkPAXn6bZzERERGQHe7wDds5VAxqgEIZG9sqgqKyKGStbcX2XBoSsZea7Z2Dq4zDqOuhzZMuXL5EjLlUtMyIiIrKDxv6c/6WZ3W1mo8xs39pHSCOTPRrZM3zWm6lNZmpcTcsVumYmvHUtdD8IRv++5cqVyKRuZiIiIrKTxk7NfEDw+eY62xxwWMuGI02RmRxLfnYSXy5YzxWje3kaS0pMCg5HcWUxyTEtMCFBeRE8Pw5ikuC0hwPjZaR9i0/TbGYiIiKyg0bdITrnDg11INI8B/TK4NlJS6moqiEmyrtxMykxKQAUVRTtfTLjHLzxC9i4AMa9DsmdWiBCiXjxqVC2BWqqwef3OhoREREJA43+udvMjgP6E5jZDADn3M0NnyGtYWSvjvzvy8V8t2wzI3qkexZHbQLTIuNmJj0E01+Cw/4IPUbtfXnSNtQunFm2BRK8u9ZFREQkfDTqp3wzuw84A/g5YATWmekewrikkfbv0RGzwHozXqpNZrZW7OVkBCumwnu/hz4/gYOubYHIpM2oTWY0bkZERESCGtsv6QDn3Dhgk3PuT8BIQHPkhoEOCdEMyOng+SQALZLMlGyE58+HpGw4+X7weTvdtISZuNTAs6ZnFhERkaDG3i2WBp9LzCwHqAR6hCYkaaoDenXk26WbKK2o9iyGve5mVlMDr14BRavg9P+pG5HsSi0zIiIispPGJjNvmlkq8A9gKrAYeCZEMUkTjezVkcpqx+QlGz2Loe4EAM3y5b9h7rvwk1ugy7AWjEzajO1jZjZ7GoaIiIiEj0YlM865PzvnNjvnXiIwVqbAOXdDaEOTxhqel06UzzztapYUnQQ0M5lZ/AV8+GcoPAn2u6zZMbiaGrZ99jmuqqrZZUgYi08NPKtlRkRERIJ2m8yY2UE7b3POlTvntgT3p5jZgFAFJ42TGBvFPt1SPU1m/D4/SdFJTU9mtq2DF38Kad1hzH/ArNkxbHjwIZZdcglF77/f7DIkjG0fM6NkRkRERAL21DJzqpl9aWY3mNlxZjbCzA42s5+a2RPAm0B8K8QpezCyVwY/LN/M5pIKz2JIjklu2gQANdXw8sWBm9Oxj0NcSrPrLvn2W9bddVfw9XfNLkfCWFRMYBFVTQAgIiIiQbtNZpxz1wDHAasITMf8Z+BaoA9wv3PuYOfcpJBHKXt0SH4mNQ4+n+/dFM1NTmY+vR0WToBj/wGdBja73uqtW1l53S+J7tSJuP79KZ02rdllSZiLS1XLjIiIiGy3x0UznXObgAeDDwlTg7t0oEN8NJ/MWcfxg3I8iSElJqXx3cwWToAJt8GgM2Hfcc2u0znHqhtupHLNGvKeepKiDz9kw/8eo6a8HF9sbLPLlTAVn6ZkRkRERLbbYzIjkSHK7+Og3hl8MncdzjlsL8aeNFdyTDIrtq3Y84FFq+GliyEjH46/c5dxMq6mhvL58ymZNImyWbNIHj2apMMPr/czbX7xRYrefZfMa68lfsgQqtavh8pKymbOJGGffVrqo0m4iE/VbGYiIiKynZKZNuSQ/Eze+mEVs1cX0a9z88efNFdyTPKeW2aqq+DFi6CiGM5/E2ISAahYupRtEz6hZNIkSiZPpnpT4Nd3i49ny4svkTByf7J/9zvi8vO3F1U+fz5r/nIriQeMpOPFFwEQN2gQAKXTpimZaYviU2H9PK+jEBERkTChZKYNOTg/E4BP567zJJlJiUnZ85iZCbfBks/h5PshqwCAiiVLWDjmRFx5OdE5OSQdcggJw4eTMGI40Z07s+nZ51j3n/+w6ORTSDvzTDJ/fhUWF8eKa6/Dl5BA57/+FfMFhn9FZ2URnZOjcTNtlbqZiYiISB2NSmbMLAG4DujmnLvEzPoAfZ1zb4Y0OmmSTh3iKOiUzCdz13HZIb1avf7kmGSKK4upqqkiylfPpTVvPHx2O+xzHgw+c/vmtbffAX4/Pd96k9heu8adfu45pBx3LOv/czebnnmGrW++SWxhP8rnzqXrgw8QnZW1w/HxQwZT8t13Lf3xJBzEpwVmM3Nur6bxFhERkbahUYtmAo8C5cDI4PvlwC0hiUj2ysH5mUxavJHi8tZfODIlJtAaVFxZvOvOzUvh5Usge2Bg9rKgkkmTKBo/noxLL6k3kakVlZZGpxv+SI9XXiG2oICSr74m/cILSRo1apdj4wcPpmrlKirXrN37DyXhJS4VqsuhstTrSERERCQMNDaZ6eWc+ztQCeCcKwX0s2gYOiQ/k8pqx1ceLKCZHJMMsGtXs6pyeOGCwLoyYx+D6MDSRK6mhjV//RtRnTuTfsEFjaojrm8+3f73KD1ee42sX/2y3mPiBw8GoPR7dTVrc+LTAs/qaiYiIiI0PpmpMLN4wAGYWS8CLTUSZoblpREf7eeTuetave7aZGaXSQDevx5WTIGT/gsdf2x92frGG5TNmEHWtdfgi4trdD1mRlzf/O3jZHYW268fREdTpnEzbU9tMqMZzURERITGTwBwI/Au0NXMngIOBC4IVVDSfLFRfg7o1ZFP53mXzOzQMvPDi/DNAzDyKuh3wvbNNaWlrL3zn8QNHEjKcce1aBy+2Fji+vWj9DslM21OfGrgWS0zIiIiQiNbZpxz44FTCCQwzwDDnHMTQheW7I1D+mayZEMJi9fXM3YlhGrHzGxvmVk3B16/GrruD0fctMOxGx59lKo1a8j+7W8abGHZG/GDB1M6fTquqvXHDkkIqZuZiIiI1LHbu0gz27f2AXQHVgErgW7BbRKGDu4TmKK5tbua7dDNrKIYnh8XGB9z+qPgj95+XOWatWx48CGSjzqKhKFDQxJL/ODBuLIyyufODUn54pHtycxmT8MQERGR8LCnbmZ37GafAw5rwVikheRlJNK9YwKfzF3H+QfktVq921tmyrfCm9cEWmbOewVScnY4bt1d/4aqKrKuuzZkscQPCU4CMG0acYWFIatHWllcauBZLTMiIiLCHpIZ59yhrRWItKxD8jN5YfJyyquqiY3yt0qdCdEJ+MzH1iWfw/cvwOjfQ68dL6GyWbPY8vIrpF94ITHduoUslujcXPwdO1L63TTSzjorZPVIK4tNBvMrmRERERFgz93MDgs+n1LfY0+Fm9nRZjbHzOab2W93c9xwM6s2s9Oa/hGkPofkZ1JaWc3kxa130+czH0n+eLYu+hh6HQ4H/2qXY9b+4x/4O3Qg4/LLQhqLmQXGzWhGs7bFLNDVTLOZiYiICHueAODg4PMJ9TyO392JZuYH7gGOAQqBs8xsl/4+weP+BrzXpMhlt/bv2ZFov7XuuJnSzSSXF1MUEwenPAg7DeyvLiqi+MuvSDvnHPwpKSEPJ37wYCoWL6Zqk37Fb1Pi09QyIyIiIsCek5naO4aHnXMX7vT46R7OHQHMd84tdM5VAM8CJ9Zz3M+BlwAt196CEmOjGJ6XzidzWimZcQ5e+xkpVRUU5QyBxI67HFI+Zw4A8YMGtkpItYtnlv3wQ6vUJ60kPlXJjIiIiAB7ngDgQuDfwF1AU2cvywWW1Xm/HNiv7gFmlgucTGAigeENFWRmlwKXAmRnZzNhwoQmhtJ027Zta5V6QqlLVAVfrqnk5Xc/Ij2u5ac/3qGuZa/Re8GbRPUYzPIGvrv4jyeQAkzdtImaVvhurayMTDNmvfYaxTU1Ia+vLVwzkWBgSQ0xm5cxpY1817pupDl03Uhz6LqRtmhPycwsM1sMZJrZ93W2G+Ccc4N2c67Vs83t9P5fwG+cc9Vm9R0ePMm5B4AHAIYNG+ZGjx69h7D33oQJE2iNekKpU8FWnp/zGVUd+zB6eNfQVbR0Inz6OBQcT3Z2Jou3Lqn3u1v14YcUpaUx6sQT2d3fuyUtvPc+kjZvoZuumbZj49Ow9Os2813rupHm0HUjzaHrRtqiPc1mdpaZdSIwnmVME8teDtS9g+5CYI2auoYBzwZvbDOAY82syjn3ahPrknr0zU4mOyWWT+auY2yokpni9fDCBdChC5x4D8lT72RrxdZ6Dy2bNZvYgr6tlshAoKvZ1nfewdXUhGRxTvFAXKrWmRERERFgz2NmcM6tds4NJrBgZnLwsdI5t2QPp04C+phZDzOLAc4EXt+p7B7OuTznXB7wInClEpmWY2Yckp/Jp/PWUVkdgm5WNTXw8qVQsgHGPg7xqSTHJAcWzdyJq6qifN484gr6tXwcuxE/eDA1RUVULFrUqvVKCMWnQfkWqKn2OhIRERHxWKN+qjazQ4B5BGYn+y8w18wO3t05zrkq4CoCrTqzgOedczPM7HIzu3zvwpbGOqJfNkVlVUxcuLHlC//sDljwIRzzV+gcGGyfHJNMaVUpldWVOxxasXgxrrycuIK+LR/HbmxfPPM7TdHcZsSnBZ7Ltngbh4iIiHhuT2Nmat0J/MQ5NwfAzPKBZ4ChuzvJOfc28PZO2+5r4NgLGhmLNMGoPpnERfsYP3M1B/XJaLmCF30KE26FgafD0Au3b06JCUy5XFRZRLo/ffv2stmBmcxiW7llJqZHD3zJyZROm0bqqXtcGkkiQXxq4Ll0EySk7/ZQERERadsaO4ggujaRAXDOzQWiQxOStKT4GD+j+mQyfuYanNt5/oVm2rYWXroY0nvB8f8KLGQYlByTDLBLV7Py2bOw6Ghie/ZomRgayXw+4gcN0uKZbUlty4zGzYiIiLR7jU1mppjZw2Y2Ovh4EJgSysCk5RxZmM3KLWXMWFn/wPwmqamGly6Csq0w9jGITdph9/aWmZ2SmbLZc4jp3RuLbv0cOH7wYMrnzaN6W3Gr1y0hsD2Z0VozIiIi7V1jk5nLgRnA1cAvgJnBbRIBDi/Iwmfw/ozVe1/YJ38PdDE79h+Q3X+X3bUtM1vLd0ycyubMJq6gYO/rb4b4IYOhpoay6dM9qV9aWFxq4FnJjIiISLu3x2TGzHzAFOfcnc65U5xzJzvn/umcK2+F+KQFdEyKZVj3dN6fuWbvClrwMXzyNxh8Fuxzbr2HbE9mKn9MZqrWr6d63fpWH/xfK27AAADKZszwpH5pYdsnANjsaRgiIiLivcZMzVwDTDOzbq0Qj4TIkYXZzF5dxLKNJc0rYOsqePkSyOwLx92xwziZuuobM7N98H9fb1pmotLTic7JoWyGWmbahLoTAIiIiEi71thuZp2BGWb2oZm9XvsIZWDSso4szAZoXutMdVVgwH9FMZz+GMQkNnhofWNmymfPAvCsZQYCrTOl09Uy0yb4oyEmScmMiIiINHpq5j+FNAoJubyMRPKzkxg/czUXHdTEGcUm3ApLPoeT74es3beuxEfFE2VRu7TMRHXujD81tRmRt4y4/v0pev99qrdswd+hg2dxSAuJT9NsZiIiIrL7lhkzizOz/wNOBwqAL5xzn9Q+WiNAaTk/KezEN4s2sqm4ovEnzRsfWBxzn/Ng8Jl7PNzMSI5J3mECgHIPB//XihsQmKygbOZMT+OQFhKfqpYZERER2WM3s8eAYcAPwDHAHSGPSELmyMJsahx8NHtt407YshxevhSy+gdmL2uk5Jjk7S0zNeXllC9cRKyHXcwA4vsHkplSzWjWNsSlKpkRERGRPSYzhc65c51z9wOnAaNaISYJkYG5HchOieX9mY2Yorm6El78KVRXBNaTiY5vdD3JMcnbZzMrnzcfqquJ82jwfy1/airRXbtSpnEzbUN8mmYzExERkT0mM5W1L5xzVSGORULM5zOOLMzm07nrKaus3v3BH94MyybCCf+GjD5NqiclJmV7y8z2wf/9vE1mINDVTGvNtBHxaWqZERERkT0mM4PNbGvwUQQMqn1tZi2wnLy0tiMLO1FaWc3n89Y3fNCcd+DLu2DYT2HgaU2uo243s7LZc/AlJBDdtWtzQ24x8f37U7liBVWbdBMc8WrHzDjndSQiIiLiod0mM845v3MuJfhIds5F1Xmd0lpBSssZ2bMjybFRjG9oiubNS+GVy6HTIDjqtmbVUXcCgLLZs4jNz8d8jZ0FPHS2L56prmaRLz4t0AWystTrSERERMRD3t9hSquKifJxSN9MPpy9huqanX7VrqqAFy6Ammo4/X8QHdesOmq7mTnnKJ8zl9gw6GIGEFdYCEDZDCUzES8+LfCsrmYiIiLtmpKZdugn/TuxflsF3y7d6UZw/A2wYgqceDd07NXs8pNjkqmoqaB42SJqioo8H/xfy5+SQkz37pTN0LiZiBeXGnhWMiMiItKuKZlph0b3zSTabzt2NZv5Oky8F/a7HPqftFflp8QEeiBumf4dEB6D/2vFDRhAqbqZRb7alhnNaCYiItKuKZlph1Liotm/Z0fem7Ea5xxsXAivXQU5+8KRf97r8pNjkgEonjUTzIjt07TZ0EIpbsAAqlatomr9biZAkPCnbmYiIiKCkpl26yf9O7F4QwnzV64PjJMxAuNkomL2uuzaZKZi9hxiunfHl5Cw12W2lLj+GjfTJsSnBp6VzIiIiLRrSmbaqaMKszGD0jd/B6umwUn3QVr3Fim7Nplh3uKwGfxfK66wEMwoVTIT2ba3zGz2NAwRERHxlpKZdiorJY6rMqcxaNULcMDPoeDYFis7JSaF+DKHf/X6sBn8X8uflERMjx6anjnSxSSBL0otMyIiIu2ckpn2av18fl78HybX5LNsn1+1aNEpsSl0Xxd4HU6D/2vFDehP2XTNaBbRzAIzmimZERERadeUzLRHlaXwwvn4o2O5quLnvDd7Q4sWnxyTTPc1gTVsYgvCL5mJHzCAqrVrqVyz1utQZG/Ep2k2MxERkXZOyUx79PYvYc0M/Kc9RGqnPN6fsWbP5zRBrD+WXmuNiqRYorKyWrTslhA3YACgSQAiXnyaWmZERETaOSUz7c23TwYeB/8Keh/BUf07MWnJRtYVlbdoNT3W+djYtQNm1qLltoS4ggLw+dTVLNLFpyqZERERaeeUzLQnq6fDW9dBj0Ng9G8BOKp/J5yDD2a1XOuMc47O66tZnhmel5cvIYHYXj3VMhPp4tM0m5mIiEg7F553m9LyyrbC8+MCg6ZPfQh8fgD6dU6mW3oC781Y3WJVVW/eTExFDYsTS1qszJYW138ApTNmBBYNlcikZEZERKTdUzLTHjgHr/8cNi2G0x+FpB/HsZgZR/XP5ov569laVtki1VWuWAnAovhtlFWVtUiZLS1uwACq16+nak3LjheSVhSXCuVboKba60hERETEI0pm2oNvHoCZr8LhN0D3A3bZffSATlRWOz6e3TKze1WuWAHAug7G8qLlLVJmS4sf0B9A42YiWe3CmWVbvI1DREREPKNkpq1bPhne+wPkHwMHXF3vIft0TSMzObbFZjWrXBlomVnXAZYVLWuRMltabEEB+P2UKpmJXLXJjCYBEBERabeUzLRlJRvhhQsgpTOcfC/46v9z+3zGTwqz+XjOWsoq977LTuWKFVhiAsVxsLRo6V6XFwq+uDhie/embLomAYhY8amBZyUzIiIi7ZaSmbaqpgZeuQy2rYHTH/vxV+wGHNW/EyUV1Xw+b/1eV125ciUxuV1Ijk0J25YZgLgB/SnTJACRa3vLzGZPwxARERHvKJlpq774J8x7H466FXL33ePh+/fsSHJcVIvMala5YgXROTl0S+4W1slM/IABVG/apNaZSKVuZiIiIu2ekpm2aNFn8NEtMOBUGH5xo06JifJxRL9sPpi1hqrqmr2qvnLlSqJzc+ma3JWlW8OzmxlA8hFHEJWVxfIrr6Ri+Qqvw5GmiksNPCuZERERabeUzLQ1RWvgxZ9Cei844d9g1uhTj+qfzaaSSr5ZvLHZ1Vdv3UpNURHROTl0Te7KquJVVNa0zJTPLS0qM5NuDz9ETUUFSy/6KVUbNngdkjRF7ZiZss1eRiEiIiIeUjLTltRUw0sXQXkRjH0cYpObdPrB+ZnERft4b3rzu5rVTsscnZtLt5RuVLtqVm1b1ezyQi22Tx+63ncvVWvXsfSSS6jets3rkKSx/NEQk6yWGRERkXZMyUxb8vGtsPgzOP5OyC5s8ukJMVEc3i+bl79dwZaS5rWm1E7LXNvNDMJ3RrNaCfvsQ5e7/k353Hksv/Jn1JSXex2SNFZ8qpIZERGRdkzJTFsxbzx8djvscx4MObvZxVx1aG+2lVdx36cLmnX+jy0zgQkAIHzXmqkradQocm67jZJvvmHlL3+Jq6ryOiRpjPhUzWYmIiLSjimZaQs2L4OXL4HsgXDsP/aqqH6dUxgzOIdHv1jE2qKyJp9fuWIlFh+PPy2NjPgM4qPiw3oSgLo6nHA82X/4A0XjP2DVTTfhqvd+zR0Jsfg0tcyIiIi0Y0pmIl1VRWBhzOoqGPsYRMfvdZHXHJFPZbXjno/mN/ncypWBaZnNDDOjS3KXiGiZqZV+3rlkXHkFW158iaUXXUzl2rVehyS7o2RGRESkXVMyE+nG3wArJsNJ90DHXi1SZF5GImOHdeXpb5aybGNJk86tXLGS6Nyc7e/Dfa2Z+mT8/Od0/stfKJ02jUUnncy2zz7zOiRpSFyqZjMTERFpx5TMRLIZr8DEe2H/K6HwxBYt+urDe2Nm/PvDeU06r3bBzFpdk7uyrGgZ1TWR02XLzEg99RR6vPgCUR07suySS1l7++24yvCcYrpdq22Zcc7rSERERMQDSmYi1fr58NrPoctwOOJPLV585w7xjNu/Oy9PXc78tUWNOqd6WzHVW7YQnZu7fVvX5K5U1lSytiTyumvF9upF3gvPk3rGGWx46GEWn3uuFtcMN/FpUF0BFcVeRyIiIiIeUDITiSpL4YXzA+tsnP4/iIoJSTVXjO5FfLSfO8fPbVxYKwM3+jF1kpluKZEzo1l9fHFxdP7TTeT+659ULFjI4lNP3T79tISBtLzA8/o5noYhIiIi3ghpMmNmR5vZHDObb2a/rWf/OWb2ffDxpZkNDmU8bcbbv4Q1M+CUB6FDl5BV0zEplotG9eTtH1bzw/Itezx++7TMO3Uzg/Bfa2ZPUo4+mrznn6emspJV11+PU7em8JC7b+B5xVRv4xARERFPhCyZMTM/cA9wDFAInGVmO6/kuAg4xDk3CPgz8ECo4mkzvn0Kvn0SDv4l9Dki5NVdPKoHqQnR3P7+nn/5rrtgZq1OCZ2I8kVFbMtMXbE9e5D9619R/OVXbH7uea/DEYAOXSEhA1Z+63UkIiIi4oFQtsyMAOY75xY65yqAZ4EdRqk75750ztXOq/o1ELpmhrZg9XR461rocTCM/l2rVJkSF80Vh/Tik7nrmLhww26PrVyxEouJwd+x4/Ztfp+fLkmRNT3z7qSecQaJB4xkzd//TsXy5V6HI2aB1hm1zIiIiLRLUSEsOxeoewe7HNhvN8dfBLxT3w4zuxS4FCA7O5sJEya0UIgN27ZtW6vU01j+qhKGTrkOvy+eyZ0vovLT1psuOK/akRpr/PKZb7h+/zhi/VbvcR2++46otFQ++fTTHbYnVCYwc+XMsPo+94bvuOPoOPVbZv3sZ2z6xS/AF/hNINyumfYiryKd7us+4PMP3qE6au/XWWptum6kOXTdSHPoupG2KJTJTH13vPUONDCzQwkkMwfVt9859wDBLmjDhg1zo0ePbqEQGzZhwgRao55GcS6wMGbZGjj/DQ7MO7DVQ4jpspaf/m8S729I5/bTB2G265930T3/xd+7DwN3+t6+/uZrXpn3Cocccki950WiTTU1rP7jDQxatYr0c84BwuyaaU86l8GSZxnVOwU8+Gdjb+m6kebQdSPNoetG2qJQdjNbDnSt874LsMs0UGY2CHgIONE5t/t+TO3VNw/AzFfh8Bs8u1k7tG8WPz+sDy9NXc7T39Q/mH/nNWZqdU3uSklVCRvK2s6fN/W000g86CDW3n4HFUsje3KDiFc7CYDGzYiIiLQ7oUxmJgF9zKyHmcUAZwKv1z3AzLoBLwPnOecaN/9ve7N8Mrz3B8g/Bg642tNQfnF4Hw7Oz+RPr89k2rLNO+yrKS2leuPGHQb/16qd0Wx5UdsZY2JmdL7lz1hUFCt//3tcTY3XIbVfSVmQ0gVWatyMiIhIexOyZMY5VwVcBbwHzAKed87NMLPLzezy4GE3AB2B/5rZd2Y2OVTxRKSSjfD8+ZDSGU6+d/vYDK/4fca/zxhCZnIsVzw5hY3FFdv3/TiT2a4tM92SA2vNRPr0zDuL7tSJ7N/9jtLJU9j0xBNeh9O+5e6jSQBERETaoZDeHTvn3nbO5Tvnejnn/hLcdp9z7r7g64udc2nOuSHBx7BQxhNRamrg5UuheC2c/lhgpfMwkJYYw73n7sv64gp+8ey3VNcEhkHVNy1zrdykXHzmY+nWtpXMAHQ4+SSSRo9m7T//hW/LntfikRDJ2Rc2LQr8ACAiIiLthrc/9UvDPr8T5o+Ho2/7cUxAmBjUJZWbx/Tns3nr+dcHgd6B9S2YWSvaH03nxM5tZnrmusyM7N/+BldRQcIHH3gdTvulcTMiIiLtkpKZcLTwE/j4LzDgNBh2kdfR1OvMEd0YO6wL//loPu/PWE3lipUQHU1UZma9x3dJbjtrzewsJi+PlOOPI+GTT6naqJYBT3QeEnjWuBkREZF2RclMuNm6Cl66CDr2gRP+HVgUMEzdfOIABnXpwFVPf8vSmfOJ7twZ8/vrPbZbcrc2N2amrozLr4DKSjY++j+vQ2mf4lMhvRes/M7rSERERKQVKZkJJ9WV8OKFUFEMYx+H2CSvI9qtuGg/T/x0PwbkprB05kI2Jac3eGy35G5sKd/ClvK2Oa4ktmcPyoYNZdNTT1G1aZPX4bRPuftqEgAREZF2RslMOPnwZlj6FZxwF2QVeB1No3RIiOaJi/ajS8UWviiK4X9fLKr3uLY4PfPOio85hprSUjY+/rjXobRPOftC0UooWu11JCIiItJKlMyEi9lvwZd3BcbIDDrd62iaJJ5qkos3k9y9Cze9MZP/fDgP59wOx3RNCSQzbXXcDEB1Tg7JRx3FpieepFozm7W+2kkA1DojIiLSbiiZCQcbF8ErV0DOPoHZyyJM1apVAJx8zDBO2SeXO8bP5bZ3Zu+Q0HRJ6gK0vbVmdpZxxeXUbNvGxiee9DqU9qfTIDCfJgEQERFpR5TMeK2yDJ4fFxjof/pjEBXrdURNVhGcljm2Sy63nz6YcSO788CnC/nbu3O2H5MQnUBmfGabXGumrri+fUk+8gg2Pv441UVFXofTvsQkQGY/Tc8sIiLSjiiZ8do7v4bV38PJ90Nad6+jaZbaBTNjcnPx+Yw/jenP2ft1475PFvDhrDXbj+ua3LVNdzOrlXHFFdRs3cqmp57yOpT2J3efQDeznbo5ioiISNukZMZL3z4FUx+Dg66Fvkd7HU2zVa5YAX4/UdnZQGAhyRuOL6R/TgrXvTCNFZtLgfaTzMQVFpJ06KFsfPR/VG8r9jqc9iVnXyjdCJuXeB2JiIiItAIlM15Z/QO8dS3kjYJD/+B1NHulcsVKorOzsaio7dviov3cc/a+VFU7fv70VCqra+iW0o11pesoqSzxMNrWkXHlFVRv2cKmZ572OpT2RZMAiIiItCtKZrxQtiUwTiYuFU57BPxRezwlnFWuXEl0bu4u2/MyErntlIFMXbqZ29+fQ7fkbgAs39Z2p2euFT9wIIkHj2LjQw9TtWGD1+G0H1n9wR+jSQBERETaCSUzrc05ePVK2LwUxj4GSVleR7TXKlesIDonp959JwzO4ez9unH/JwtZsyERgGVb235XM4DsX/+amtJSVt900y5TVUuIRMVAp4GwQpMAiIiItAdKZlrbl/+B2W/CkTdDt/29jmavuYoKqtaurbdlptYNxxdS0CmZf74baKFYUtQ+xjPE9u5N5i+upmj8B2x9802vw2k/cvaBVd9BTY3XkYiIiEiIKZlpTYu/gA9ugsITYf8rvY6mRVSuWQM1NbtNZuKi/dxzzr5UVMQRU9OZ5+c8T2lVaStG6Z30Cy4gfp99WP3nWwLflYRezr5QsQ02zPM6EhEREQkxJTOtpWgNvHghpPeAMXcH1pVpAypXBKZljs6tv5tZrV6ZSdx68kA2LzueFdtW8MD3D7RGeJ4zv5+cv96Gq6xk1R//qO5mrUGTAIiIiLQbSmZaQ3VlIJEp2wpjH4e4FK8jajGVwQUzd9cyU+ukfXI5vf9oKjfvyyPTH2X+pvmhDi8sxHTvTtZ111H86WdsfvFFr8Np+zLyITpRkwCIiIi0A0pmWsMHN8GSL2DMXZDd3+toWlTlihVgRnRwjZk9uWlMf7oylpqqWK7//CZqXPsY15B29lkk7L8/a2/7KxXLV3gdTtvm80POELXMiIiItANKZkJtxqvw1d0w/BIYNNbraFpc5cqVRGVnYzExjTo+LtrP/WcfQs2G45ixcRovznk5xBGGB/P5yPnLLWDGqj/8AafB6aGVs09gLafK9jE2S0REpL1SMhNK6+fBaz+D3GFw1F+8jiYkdjctc0N6ZiZx65EXUVXcg799czsbStvHOizRublk/+63lEycyKYnn/I6nLat9xFQXQ7zP/Q6EhEREQkhJTOhUr4NnjsXomID68lExXodUYtz1dWUz59PTPfuTT73xCG5/CT7Sspryrjuw1tCEF146nDqqSQdcghr/vpXNj7+uCYECJW8gyA+DWa97nUkIiIiEkJKZkLBOXjjalg/F057BDp08TqikCj9/nuqN20iadRBzTr/b2OOpEP5T5iy4QPemPtJC0cXnsyM3DvvIOmwQ1lz622svuFGXEWF12G1Pf5o6HsczHkHqsq9jkZERERCRMlMKEy8H6a/BIddDz1Hex1NyGyb8An4/SQe1LxkJi7az6Mn/wYqM7jxi5spKm8f4xt8iYl0uesuOl52GZtfeIGlF11M1aZNXofV9hSOgfKtsLB9JMoiIiLtkZKZlrZ0Irz/B8g/Bg68xutoQmrbhAkkDB2KP6X5U03nZ3Xkkn6/pNK3lrOfv5Wq6vYxMN58PrKu+T9y/vF3SqdNY/EZZ1K+YIHXYbUtPUdDbArMes3rSERERCRElMy0pKLV8Pw46NAVTr4PfG33661cuZLyOXNIGj16r8u6+sDj6J1wEIuq3uSSp9+noqp9JDQAHU44ge6PP0ZNSQmLzziToo8+9jqktiMqFvKPhtlvQ3WV19GIiIhICLTdu+3WVlUBz58f6NZy5lMQn+p1RCG17ZNA152WSGYA7j32RqL9fr7a/D+ufGoK5VXVLVJuJIgfMoQezz9HdNeuLL/ySpZddrlaaVpK4Rgo3QhLPvc6EhEREQkBJTMt5f3rYdnXMOY/bW5hzPoUffwx0d27EdMjr0XK65TYiSuHXEZ0ygw+XvoFlzw+hbLK9pPQROfkkPfcs2T96peUTJnCwjEnsvrPt2gszd7qdThEJ8BMdTUTERFpi5TMtIRpz8E398PIq2DgaV5HE3I1JSWUfD2R5NGHYmYtVu75/c+na3JXuvZ+j8/mreKn/5tESUX76R7ki4mh40UX0ev990gdezqbnnmGBT85ig2PPEqNZjxrnpgE6HMkzHoTatpPciwiItJeKJnZW6u+hzd+AXmj4Ig/eR1Nqyj++mtcRQVJh45u0XJj/DH8dsRv2VCxnFMOXcTXCzdw/iPfsLWsskXrCXdR6el0vvFGer72KvFDhrD2739n4dHHsOm55zWNc3P0GwPFa2HZRK8jERERkRamZGZvlGwMLIwZnwanPQr+KK8jahXbPp6ALymJhH33bfGyD+5yMAd3OZjP1z3DLad149ulmznp7i+Ys7qoxesKd7F9+tDtwQfo+uCD+DMyWH3jjcw/+mg2PfusWmqaIv8o8MfCTC2gKSIi0tYomWmummp4+RIoWgVnPAFJmV5H1Cqcc2ybMIHEgw7CYmJCUsdvhv+GyppKppc8w1MX70dReRUn3fMFr3y7PCT1hbukUQeR99yzdH3wAaIzs1h9059Y8JOj2Pj009SUa0HIPYpNht6Hw6zXoab9zJQnIiLSHiiZaa73r4f5H8Axf4cuw7yOptWUzZhJ1bp1JI0+JGR1dEvpxvn9z+eNhW8Qm7SMt35+EAO7dOCa56Zx/as/tKuZzmqZGUmjRtH92Wfo+tBDRHfqxJqb/8y8gw9h1Y03UTJ5Mk436g3rNwa2roCVU72ORERERFqQkpnmmPgAfP1f2O8KGHah19G0qm0TJoAZSYeELpkBuGTgJWQnZHPrxFvpmBTN0xfvx2UH9+TJr5cy9r6vWL6pJKT1hyszI+mgA+n+zNN0e/QRkkaNYsvrr7Pk3PNYcMSRrL3zn5TPn+91mOGn79Hgi9KsZiIiIm2MkpmmmvMuvPsb6HscHPUXr6NpddsmTCB+yBCi0tJCWk9CdAK/HPZLZm2cxYtzXyTK7+N3x/bjvnOHsnBdMcf/53P+8tZMPp27rl1N4VzLzEgcOZLc2/9B/uefkfP3vxHTqxcbHnqIhcefwIKjjmbl9dez+ZVXqVi+HOec1yF7Kz4NehwS6GrW3r8LERGRNqR9jFhvKSu/gxcvhM6D4dQHwef3OqJWVbl2LWXTp5N5zTWtUt9ReUfx4twX+ffUf3N498PJiM/g6AGd6NspmZten8FjXy7hwc8WERvlY0SPdA7uk8lBfTLIz07G72u5KaPDnS8xkQ5jxtBhzBiq1q9n6zvvUvzVVxSN/4AtL74EQFSnTiQMG0bCiOEkjhxJTNeuHkftgcIxgZkHV38f+GdYREREIp6SmcbashyePgMSOsJZz0FMotcRtbriTz8FIGn06Fapz8z4w/5/4NTXT+X2ybfz11F/BaBHRiKP/XQEpRXVTFy0gU/nruezeev4y9uzAIiP9tOvczIDcjswIKcDhTkp5GcnExPV9hsiozIySD/vXNLPOxdXU0P5vPmUTJ5EyeTJFE/8mq1vvglAdG4uCSP3J3H/kSTuvx9RGRkeR94KCo6HN68JzGqmZEZERKRNUDLTGGVb4amxUFkC496H5GyvI/JE0YQJROV0Jja/T6vV2aNDDy4aeBH3TbuPk3qfxP6d99++Lz7Gz+i+WYzumwXAqi2lfDl/A9NXbmHGiq28PHUFj3+1BIC4aB8/P6wPlx7ck2h/209qAMznI65vPnF980k/5xycc1QsXEjxV19T/PVXFL33/o8tNzmdic3rQUzPnsT07EFsj8DrqKysFl0Y1VOJGdD9QJj+Eoy6LrCgpoiIiEQ0JTN7Ul0JL5wP6+fAOS9CVj+vI/JETXk5xV98SerJJ7X6ze3FAy/mrYVvccvXt/DSmJeI9cfWe1znDvGcOrQLpw7tAkBNjWPJxhKmr9jCm9+v5B/vzeGt71fx99MGMSC3Q2t+hLBgZsT26kVsr16kn3sOrrqaspkzKf76a8rnzqNi0SK2vPwyNSU/Tq5gsbFE5+QQnZtLdJdconNzicnNJW7QIKJzcyMv0Tng54EW1ufHwZlPQ1RophcXERGR1qFkZk/WzoSlE+H4f0KvQ72OxjMl33yDKy0l6dDW/w5i/bFcv//1XDb+Mh754RGuGHJFo87z+YweGYn0yEjkhME5vDt9FX98bQYn3vMFlx7ck18c3oe46PY17qku8/uJHziQ+IEDt29zzlG1dh0VixZSvnAhlctXULliBZXLl1M2fTrVmzdvPzaqc2cSRwwnYcQIEoYPJ7pr1/BPbvKPghP+FRg78+rlcEr7G/smIiLSliiZ2ZPOg+HqqZDcyetIPFX00UdYfDwJI0Z4Uv8BOQdwTI9jePCHBzm257F0T+ne5DKOHtCZkT0zuOWtmdw7YQHvTV/N304bxPC89BBEHJnMjOjsLKKzs0jcf/9d9ldvK6Zy6RJKvv2Wkm8mse2zz9ny2utAcJKBEcNJ3G8/Evbbj5guXVo7/MYZegGUboYPboS4DnDcnRDuSZiIiIjUS8lMY7TjRMbV1LD+3nvZ/OxzpBx7LL7Y+rt4tYZfD/81ny//nFu+voUHjnygWa0AHRKi+cfpgzlhcA6/e/kHTr/vK/bplsppQ7tw/KAcOsRHhyDytsOflIi/sJC4wsIfx+EsWEDxN99Q8s0kij//gq2vvwFAdE4OCfvtR8J+I0g68ECiMjM9jr6Og/4PSjfBF/+CuFQ44kaPAxIREZHmUDIjDaresoWVv/4N2z75hA4njqHTTTd5Gk9GfAZX73s1f5n4F95Z9A7H9jy22WUdnJ/J+9cczFMTl/DilOX84ZXp/OmNmfykMJvThnZhVJ/MdjW9c3OZGbG9exPbuzfpZ5+Nc47yefMomfgNJd9MZNtHH7HllVcAiOvfn6RDDibp4IOJGzgQ83vcveuIm6BsC3x+J8SnwoG/8DYeERERabKQJjNmdjTwb8APPOSc++tO+y24/1igBLjAOTc1lDFJ45TNmcPyq35O5apVZP/xetLOPjssxkOcnn86r81/jb9P+jt90/vSK7VXs8tKjI3i0oN7ccmonvywYgsvTVnOa9NW8ub3q+iYGENhTgp9s5PJ75RMQadkemclkRCj/H93zIy4/Hzi8vN/nB569my2ffoZ2z79lPX33c/6/96LPy2NxAMPJH6fIcQPHEhsQQG+mFYejG8Gx90RSGjG3wCuBvY5LzDrmYiIiESEkN2ZmZkfuAc4ElgOTDKz151zM+scdgzQJ/jYD7g3+Cwe2vL666y64Ub8KSl0f/xxEvbdx+uQtvP7/Pxx5B8Z9844TnrtJPJS8ji82+Ec3u1w+mf0x2dNn3bZzBjUJZVBXVL5/XH9+Hj2Wt6fuYa5a4p44usllFfVBI+DnA7xZCTHkpEYQ3piDB2TYslIiiEtIYbFa6qInr+epNgokuKiSIqNIiHGT2yUn2i/hUUy2NrM5yMu2C0t4/LLqN68mW1ffEHxp5+y7Ysvt697Q3R0IAkaOIC4foX4U1PxJSTgS0zc/vAnJ+FLTsZ8LTi1ts8PJ98PFcXwwU2BR6dBgck+eh0GXfeH6LiWq09ERERalDnnQlOw2UjgJufcUcH3vwNwzt1W55j7gQnOuWeC7+cAo51zqxoqd9iwYW7y5MkhibmuCRMmMHr0aKo2bWLTE0+EvD4vuMpKakpKqSkpoaa0lJqSYmq2bKV02jQShg0j9593htc4hzrWlqzlo6Uf8eHSD5m8ejJVroqshCxG5Y4iNTYVM8P4MXnY+X1jOQdbSivZUFzOhm0VbC6ppLSympKKKkorqimtrKa6pnH/DPl9RpTP8AcfPjN8PsMffPYZgW0WjDf43rbHH3xvBB/BfQT+r/bz1eZMdbfb9g119mE7HlufPe2vh9v+f9ufdiyutkznSNlSQs6KjeSu2EjOio10XrGJuPLKBsuu8RklCbGUJMZSkhBLcWIsZfExOJ+PGp/hDJzPcBZ87PQ5al+4nT+Qg+jqEuKqi4itLiKmuhhzDmc+Kn2x1JgfZz4cPpz5g887F2K7fN7GqKquJsrrLneyl1r/h4qq6iqi/Goplqapqq7CpWew7tg7Q1bH0Lx0Dslv3XsHM5vinBvWqpVK2AjlvwlzgWV13i9n11aX+o7JBXZIZszsUuBSgOzsbCZMmNDSse5i27ZtTJgwAf/atXS8976Q1+cJnw8XG/vjIyYGFxtLxbHHsua4Y1k0Y4bXEe5WJzpxTsw5nJx7MtNLp/N96fe8Nf8tqlwVLvg/YPtzi/EBcYFHNIFHgzXUs6M6+GgSt9NzM04NS9FAXvBBIMHpuDWKhHKIr3DEV0BcBcSXQ0K5I6UUUkrKA49SSFvpSCgDnwNfTeBP46sJvDdXW+aOVe78fvv2XQILcs36i4mIhKVlnYu4IW5+yMo/pkc0bqXW8JLWE8pkpr6fqur9oXYPx+CcewB4AAItM6NHj97r4PaktmUGgLFjQ16f7J1jaf5kAC1lh2tGpJF03Uhz6LqR5pgwYQJHjx7NIq8DEWlBLdj5fBfLga513ncBVjbjGBERERERkV2EMpmZBPQxsx5mFgOcCby+0zGvA+MsYH9gy+7Gy4iIiIiIiNQKWTcz51yVmV0FvEdgauZHnHMzzOzy4P77gLcJTMs8n8DUzBeGKh4REREREWlbQjoVinPubQIJS91t99V57YCfhTIGERERERFpm0LZzUxERERERCRklMyIiIiIiEhEUjIjIiIiIiIRScmMiIiIiIhEJCUzIiIiIiISkZTMiIiIiIhIRFIyIyIiIiIiEckCS71EDjNbByxphaoygPWtUI+0HbpmpDl03Uhz6LqR5mir101351ym10GINyIumWktZjbZOTfM6zgkcuiakebQdSPNoetGmkPXjbRF6mYmIiIiIiIRScmMiIiIiIhEJCUzDXvA6wAk4uiakebQdSPNoetGmkPXjbQ5GjMjIiIiIiIRSS0zIiIiIiISkZTMiIiIiIhIRFIysxMzO9rM5pjZfDP7rdfxSPgzs65m9rGZzTKzGWb2C69jkshgZn4z+9bM3vQ6FokcZpZqZi+a2ezgv3dGeh2ThDczuyb436fpZvaMmcV5HZNIS1EyU4eZ+YF7gGOAQuAsMyv0NiqJAFXAdc65fsD+wM903Ugj/QKY5XUQEnH+DbzrnCsABqNrSHbDzHKBq4FhzrkBgB8409uoRFqOkpkdjQDmO+cWOucqgGeBEz2OScKcc26Vc25q8HURgRuLXG+jknBnZl2A44CHvI5FIoeZpQAHAw8DOOcqnHObPQ1KIkEUEG9mUUACsNLjeERajJKZHeUCy+q8X45uSqUJzCwP2AeY6HEoEv7+BfwaqPE4DoksPYF1wKPBLooPmVmi10FJ+HLOrQBuB5YCq4Atzrn3vY1KpOUomdmR1bNNc1dLo5hZEvAS8H/Oua1exyPhy8yOB9Y656Z4HYtEnChgX+Be59w+QDGg8Z3SIDNLI9DLpAeQAySa2bneRiXScpTM7Gg50LXO+y6oKVYawcyiCSQyTznnXvY6Hgl7BwJjzGwxge6sh5nZk96GJBFiObDcOVfb+vsigeRGpCFHAIucc+ucc5XAy8ABHsck0mKUzOxoEtDHzHqYWQyBAXKvexyThDkzMwL912c55+70Oh4Jf8653znnujjn8gj8e+Yj55x+KZU9cs6tBpaZWd/gpsOBmR6GJOFvKbC/mSUE/3t1OJo0QtqQKK8DCCfOuSozuwp4j8BsH48452Z4HJaEvwOB84AfzOy74LbfO+fe9i4kEWnDfg48FfzRbSFwocfxSBhzzk00sxeBqQRm3/wWeMDbqERajjmnISEiIiIiIhJ51M1MREREREQikpIZERERERGJSEpmREREREQkIimZERERERGRiKRkRkRERERCxsweMbO1Zja9EccebGZTzazKzE7bad+7ZrbZzN4MXbQSaZTMiIiIiEgo/Q84upHHLgUuAJ6uZ98/CCyFILKdkhkRERERCRnn3KfAxrrbzKxXsKVlipl9ZmYFwWMXO+e+B2rqKedDoKhVgpaIoUUzRURERKS1PQBc7pybZ2b7Af8FDvM4JolASmZEREREpNWYWRJwAPCCmdVujvUuIolkSmZEREREpDX5gM3OuSFeByKRT2NmRERERKTVOOe2AovM7HQACxjscVgSocw553UMIiIiItJGmdkzwGggA1gD3Ah8BNwLdAaigWedczeb2XDgFSANKANWO+f6B8v5DCgAkoANwEXOufda99NIuFEyIyIiIiIiEUndzEREREREJCIpmRERERERkYikZEZERERERCKSkhkREREREYlISmZERERERCQiKZkREREREZGIpGRGREREREQikpIZERERERGJSEpmREREREQkIimZERERERGRiKRkRkREREREIpKSGRER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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "profile.create_profile(opening_angle=40)\n", - "profile.rebin(100)\n", - "profile.plot_profile()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "bfd37bad", - "metadata": {}, - "source": [ - "### Plotting the data\n", - "\n", - "Using `profile.plot_profile(save=, dpi=)` you can create a plot of the exported profile. Due to the large number of cells usually used in Arepo simulations, it is recommended to plot the data only **after** rebinning the profiles or exporting them to a `csvy` file (which automatically rebins the data).\n", - "\n", - "### Manually rebinning the data\n", - "Using `profile.rebin()`, you can manually rebin the data , using the mean value of the data in each bin. Rebinning only works when decreasing the number of bins. In case you need to increase resolution, you will need to create a new profile." - ] - }, - { - "cell_type": "markdown", - "id": "d619b5d0", - "metadata": {}, - "source": [ - "### Selecting a specific region\n", - "In many cases you only want a very specific region from the snapshot, e.g. cutting out the dense, optically thick regions. This can be achieved using the keywords `inner_radius` and `outer_radius`." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "bd934289", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "profile.create_profile(opening_angle=40, inner_radius=1e11, outer_radius=2e11)\n", - "profile.rebin(100)\n", - "profile.plot_profile()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "dd6310ec", - "metadata": {}, - "source": [ - "Once you have created a profile of the desired region, you can export the profile to a `csvy` file, which in turn can be used in a TARDIS model. Here you have to specify how many shells you want to export. The profiles are rebinned automatically using [Scipys binned_statistic function](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binned_statistic.html), using the mean value of the data in each bin." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e918835b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'snapshot_converted_to_tardis.csvy'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "profile.export(20, \"snapshot_converted_to_tardis.csvy\", overwrite=True)" - ] - }, - { - "cell_type": "markdown", - "id": "7c4e8922", - "metadata": {}, - "source": [ - "During the export, the `yaml` header is automatically written and includes the time of the screenshot as the time for both the nuclear data as well as the density profile. Per default, the positive axis will be exported. the negative axis can be exported with `direction=\"neg\"`.\n", - "\n", - "All abundences will normalised such that roughly sum to 1, but slight deviations are expected to occur." - ] - }, - { - "cell_type": "markdown", - "id": "c478ccec", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, - "source": [ - "
\n", - "\n", - "\n", - "\n", - "Note\n", - "\n", - "\n", - "The export function will not overwrite existing files, but rather add an incrementing number to the filename.\n", - "\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "da49c11a", - "metadata": {}, - "source": [ - "## Using the parser as a command line tool" - ] - }, - { - "cell_type": "markdown", - "id": "e0302a53", - "metadata": {}, - "source": [ - "You can also use the `tardis.io.arepo` package as a command line utility, e.g. if you are running batch jobs and want to automatically convert your snapshots from within you job-script.\n", - "\n", - "To export the same profile as in the example above you can run:\n", - "```bash\n", - "python .//arepo.py snapshot.hdf5 snapshot_converted.csvy -o 40 -n 20 --inner_radius 1e11 --outer_radius 2e11 -e ni56 si28 --plot plot.png\n", - "```\n", - "\n", - "This will also save diagnostic plots of both the raw and rebinned profiles. For more information on how to use the command line tool run:\n", - "```bash\n", - "python .//arepo.py --help\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "8f988111", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, - "source": [ - "
\n", - "\n", - "\n", - "\n", - "Note\n", - "\n", - "\n", - "The command line tool does only work with snapshot files, not with e.g. json files. It is in any case not advised to use json files as an intermediate step, as the become huge for higher resolutions.\n", - "\n", - "\n", - "
" - ] - } - ], - "metadata": { - "celltoolbar": "Raw Cell Format", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.13" - }, - "vscode": { - "interpreter": { - "hash": "c20eb03b6e6c860a5223c79131a5cfd0b7e61a9aa5d08c2b1400663bc6cc4e6d" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/io/configuration/components/models/converters/cmfgen.rst b/docs/io/configuration/components/models/converters/cmfgen.rst deleted file mode 100644 index d26d563016d..00000000000 --- a/docs/io/configuration/components/models/converters/cmfgen.rst +++ /dev/null @@ -1,12 +0,0 @@ -Convert CMFGEN files to TARDIS file format -========================================== - -This script converts `CMFGEN -`_ input files so that -they can be used as input for TARDIS. The script expects the path to the CMFGEN -files and the destination path for the TARDIS files as parameters -(:code:`cmfgen2tardis /path/to/input_file path/to/output/`): - -.. code-block:: bash - - $ cmfgen2tardis tardis_example/DDC15_SN_HYDRO_DATA_0.976d tardis_example/ diff --git a/docs/io/configuration/components/models/converters/mesa.stella.dat b/docs/io/configuration/components/models/converters/mesa.stella.dat deleted file mode 100644 index 0e0b4e74ca0..00000000000 --- a/docs/io/configuration/components/models/converters/mesa.stella.dat +++ /dev/null @@ -1,407 +0,0 @@ - days post max Lbol 50.0 - zones 400 - inner boundary mass 5.190242521200000E+33 2.609211000000000E+00 - total mass 2.618867335600000E+34 1.316543000000000E+01 - - mass of cell (g) cell center m (g) cell center R (cm) cell center v (cm/s) avg density radiation pressure avg temperature radiation temperature avg opacity tau outer edge m (g) outer edge r (cm) h1 he3 he4 c12 n14 o16 ne20 na23 mg24 si28 s32 ar36 ca40 ti44 cr48 cr60 fe52 fe54 fe56 co56 ni56 luminosity n_bar n_e - - 1 6.006769337200000E+29 5.190242521200000E+33 2.517208995922069E+13 3.930633463858500E+06 1.005529258105087E-11 1.123795450558407E+04 4.594345302259182E+04 4.594345302259182E+04 1.627115175247000E-01 5.403504880532457E+03 5.190874092200000E+33 2.743917483671189E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 7.648868494018999E+38 6.055413236609000E+12 2.412188329693000E+12 - 2 1.262405996000000E+30 5.191505663200000E+33 2.970625971420310E+13 5.050403113364500E+06 2.928088214842606E-11 1.123654402180205E+04 4.594218222923182E+04 4.594218222923182E+04 1.644115175247000E-01 5.381678444417913E+03 5.192138228800000E+33 3.084752490934893E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 9.609214019760001E+38 1.762303504940000E+13 6.969789895995001E+12 - 3 1.264623556160000E+30 5.192770794400000E+33 3.198879010449477E+13 5.680287938117499E+06 4.619658874727153E-11 1.113352676699529E+04 4.583651814225193E+04 4.583651814225193E+04 1.650115175247000E-01 5.364280083814479E+03 5.193402365400000E+33 3.278004423770521E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.050921401976000E+39 2.783915958398000E+13 1.091727628705000E+13 - 4 1.263066609320000E+30 5.194033936400000E+33 3.357129837091565E+13 6.135230350494000E+06 5.896887289487248E-11 1.113352676699529E+04 4.583651814225193E+04 4.583651814225193E+04 1.653103657722300E-01 5.348854703681713E+03 5.194663518200000E+33 3.418884043776321E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.100921401976000E+39 3.545182886115000E+13 1.392188329693000E+13 - 5 1.259386589320000E+30 5.195293099999999E+33 3.480638250461077E+13 6.495172762870502E+06 6.912716624103450E-11 1.103283871960936E+04 4.573236203052331E+04 4.573236203052331E+04 1.655103657722300E-01 5.334724892605372E+03 5.195921687200000E+33 3.532044191895871E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.140921401976000E+39 4.166219463338000E+13 1.632649030681000E+13 - 6 1.258090625520000E+30 5.196550274400000E+33 3.583450133330666E+13 6.805057587623500E+06 7.774308348390722E-11 1.103145398005769E+04 4.573109707592844E+04 4.573109707592844E+04 1.657092140197600E-01 5.321480960330699E+03 5.197178861599999E+33 3.627898123396824E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.180921401976000E+39 4.687025690067000E+13 1.832994556422000E+13 - 7 1.256430439200000E+30 5.197807448800000E+33 3.672346113462982E+13 7.075000000000001E+06 8.524104279923777E-11 1.103145398005769E+04 4.573109707592844E+04 4.573109707592844E+04 1.658092140197600E-01 5.308917604293943E+03 5.198434046800000E+33 3.711764413413297E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.210921401976000E+39 5.127831916796000E+13 2.013224906916000E+13 - 8 1.253971390160000E+30 5.199060644800000E+33 3.751182713363612E+13 7.310000000000000E+06 9.155071951057609E-11 1.103145398005769E+04 4.573109707592844E+04 4.573109707592844E+04 1.658195797919900E-01 5.296950387933184E+03 5.199687242800000E+33 3.786859739423271E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274956000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.240806226729000E+39 5.518407793031001E+13 2.153570432657000E+13 - 9 1.253772669080000E+30 5.200313840800000E+33 3.822536765482929E+13 7.520000000000000E+06 9.719899216272520E-11 1.093031700205559E+04 4.562591847132915E+04 4.562591847132915E+04 1.659357043265700E-01 5.285442617217990E+03 5.200940438800000E+33 3.855369204840971E+13 3.464691000000000E-05 0.000000000000000E+00 5.800994000000000E-01 1.190353000000000E-01 7.025597000000000E-07 2.461590000000000E-01 6.333397000000000E-03 3.274957000000000E-08 7.388660000000000E-03 3.112645000000000E-02 5.069225000000000E-03 4.829527000000000E-04 1.696820000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.070970000000000E-05 0.000000000000000E+00 4.079500000000000E-03 1.260806226729000E+39 5.848983669266000E+13 2.283800783151000E+13 - 10 1.252727742320000E+30 5.201567036800000E+33 3.888201644199014E+13 7.715000000000000E+06 1.017798395353652E-10 1.093031700205559E+04 4.562591847132915E+04 4.562591847132915E+04 1.664437665938600E-01 5.274319277721415E+03 5.202192640200000E+33 3.918782933873763E+13 4.154752000000000E-05 0.000000000000000E+00 5.841201000000000E-01 1.185549000000000E-01 7.856926000000000E-07 2.431931000000000E-01 6.325444000000000E-03 3.662477000000000E-08 7.302489000000000E-03 3.071376000000000E-02 5.003070000000000E-03 4.767893000000000E-04 1.676314000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.068415000000000E-05 0.000000000000000E+00 4.079380000000000E-03 1.290806226729000E+39 6.129444370254000E+13 2.403915958398000E+13 - 11 1.251315410320000E+30 5.202818243600000E+33 3.949364223548514E+13 7.899942412376500E+06 1.056026457897539E-10 1.093031700205559E+04 4.562591847132915E+04 4.562591847132915E+04 1.674426148413900E-01 5.263504963307480E+03 5.203442852400000E+33 3.977928982114709E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.310806226729000E+39 6.359789895995000E+13 2.504031133645000E+13 - 12 1.248464886720000E+30 5.204067461200000E+33 4.006493740680905E+13 8.069884824752999E+06 1.095624567086472E-10 1.093031700205559E+04 4.562591847132915E+04 4.562591847132915E+04 1.683437665938600E-01 5.252968552114717E+03 5.204689086199999E+33 4.033329407405283E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.330806226729000E+39 6.600135421736000E+13 2.594261484139000E+13 - 13 1.243739144280000E+30 5.205310711199999E+33 4.060165074129662E+13 8.224884824752999E+06 1.128950237403584E-10 1.083010725344128E+04 4.552098177080776E+04 4.552098177080776E+04 1.691426148413900E-01 5.242720454634525E+03 5.205932336200000E+33 4.085623968553272E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.350806226729000E+39 6.810365772230000E+13 2.674376659386000E+13 - 14 1.243958553040000E+30 5.206553961200000E+33 4.111082862976883E+13 8.374827237129501E+06 1.160579243824636E-10 1.083010725344128E+04 4.552098177080776E+04 4.552098177080776E+04 1.699414630889200E-01 5.232678533393097E+03 5.207176580799999E+33 4.135370636711265E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.380691051482000E+39 6.990711297971000E+13 2.744491834633000E+13 - 15 1.245056989280000E+30 5.207799200400000E+33 4.159658410445648E+13 8.514827237129500E+06 1.190314603547098E-10 1.083010725344128E+04 4.552098177080776E+04 4.552098177080776E+04 1.705414630889200E-01 5.222818388644689E+03 5.208415852400000E+33 4.182664731424838E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.400691051482000E+39 7.160941648465000E+13 2.814491834633000E+13 - 16 1.231934037960000E+30 5.209032504400000E+33 4.205671052404027E+13 8.644827237129500E+06 1.215239176795085E-10 1.083010725344128E+04 4.552098177080776E+04 4.552098177080776E+04 1.711414630889200E-01 5.213249349513649E+03 5.209640204999999E+33 4.227500312466951E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.420806226729000E+39 7.311171998959000E+13 2.864722185127000E+13 - 17 1.216115123880000E+30 5.210247905599999E+33 4.249329572529875E+13 8.769769649505999E+06 1.237832159909449E-10 1.073081623332446E+04 4.541628641800015E+04 4.541628641800015E+04 1.729414630889200E-01 5.203903812287533E+03 5.210856600800000E+33 4.270402303205376E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.440806226729000E+39 7.451402349453000E+13 2.924722185127000E+13 - 18 1.218288523800000E+30 5.211465296000000E+33 4.291475033880877E+13 8.889769649506001E+06 1.257945314501287E-10 1.073081623332446E+04 4.541628641800015E+04 4.541628641800015E+04 1.734414630889200E-01 5.194709057985139E+03 5.212075980400000E+33 4.311874033771442E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.470691051482000E+39 7.571632699947000E+13 2.974837360374000E+13 - 19 1.220635183040000E+30 5.212686664799999E+33 4.332273033662008E+13 9.009712061882500E+06 1.275483366087455E-10 1.073081623332446E+04 4.541628641800015E+04 4.541628641800015E+04 1.738414630889200E-01 5.185663371177895E+03 5.213296354599999E+33 4.351994817559711E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.490691051482000E+39 7.691747875194000E+13 3.014952535621000E+13 - 20 1.218599236840000E+30 5.213906044400000E+33 4.371716601457414E+13 9.119712061882500E+06 1.293227107193817E-10 1.073081623332446E+04 4.541628641800015E+04 4.541628641800015E+04 1.742403113364500E-01 5.176775981758805E+03 5.214514739599999E+33 4.390853926203266E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.510691051482000E+39 7.791978225688000E+13 3.054952535621000E+13 - 21 1.218527028880000E+30 5.215123434800000E+33 4.409991250949117E+13 9.224712061882501E+06 1.311178326528333E-10 1.073081623332446E+04 4.541628641800015E+04 4.541628641800015E+04 1.745414630889200E-01 5.168017132132754E+03 5.215732129999999E+33 4.428561489357539E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.530691051482000E+39 7.891978225688000E+13 3.094952535621000E+13 - 22 1.216195089720000E+30 5.216340825200000E+33 4.447131727765959E+13 9.329654474259000E+06 1.323350236218943E-10 1.063243551875173E+04 4.531183185782208E+04 4.531183185782208E+04 1.748403113364500E-01 5.159424248458041E+03 5.216947531200000E+33 4.465185383237795E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.560575876235000E+39 7.982093400935000E+13 3.125067710868000E+13 - 23 1.213956046200000E+30 5.217554237200000E+33 4.483239038709634E+13 9.429654474259000E+06 1.338633723734536E-10 1.063243551875173E+04 4.531183185782208E+04 4.531183185782208E+04 1.751403113364500E-01 5.150959409129642E+03 5.218160943200000E+33 4.500852584959350E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.580691051482000E+39 8.062208576182000E+13 3.155182886115000E+13 - 24 1.214387901520000E+30 5.218767649200000E+33 4.518466131209066E+13 9.524654474259000E+06 1.351019949078659E-10 1.063243551875173E+04 4.531183185782208E+04 4.531183185782208E+04 1.754403113364500E-01 5.142610227304026E+03 5.219374355200000E+33 4.535644726691923E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.600691051482000E+39 8.132323751429000E+13 3.185182886115000E+13 - 25 1.212674802480000E+30 5.219981061200000E+33 4.552823322174780E+13 9.619654474259000E+06 1.360384771977854E-10 1.063243551875173E+04 4.531183185782208E+04 4.531183185782208E+04 1.756403113364500E-01 5.134401424854060E+03 5.220586772599999E+33 4.569609344188388E+13 5.163466000000000E-05 0.000000000000000E+00 5.899974000000000E-01 1.178526000000000E-01 9.072140000000000E-07 2.388577000000000E-01 6.313819000000000E-03 4.228945000000000E-08 7.176527000000000E-03 3.011051000000000E-02 4.906365000000000E-03 4.677799000000000E-04 1.646339000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.064679000000000E-05 0.000000000000000E+00 4.079205000000000E-03 1.630575876235000E+39 8.202438926676000E+13 3.215182886115000E+13 - 26 1.210646614160000E+30 5.221192483999999E+33 4.586395366201997E+13 9.714654474258998E+06 1.369814508728242E-10 1.063243551875173E+04 4.531183185782208E+04 4.531183185782208E+04 1.758391595839800E-01 5.126315469650785E+03 5.221797200799999E+33 4.602932945875839E+13 5.448374000000000E-05 0.000000000000000E+00 5.911859000000000E-01 1.177102000000000E-01 9.409300000000000E-07 2.379806000000000E-01 6.311451000000000E-03 4.386111000000000E-08 7.151046000000000E-03 2.998848000000000E-02 4.886803000000000E-03 4.659575000000000E-04 1.640276000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.063923000000000E-05 0.000000000000000E+00 4.079156000000000E-03 1.650575876235000E+39 8.252554101923000E+13 3.235182886115000E+13 - 27 1.209411122040000E+30 5.222401917599999E+33 4.619470525549680E+13 9.799654474259000E+06 1.369814508728242E-10 1.063111310274632E+04 4.531058138304271E+04 4.531058138304271E+04 1.758391595839800E-01 5.118349188692644E+03 5.223003650600000E+33 4.635613851833191E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.670691051482000E+39 8.242554101923000E+13 3.255182886115000E+13 - 28 1.204719593840000E+30 5.223605383600000E+33 4.651757178116701E+13 9.884654474259000E+06 1.379268297413249E-10 1.053495676399177E+04 4.520761753646595E+04 4.520761753646595E+04 1.759403113364500E-01 5.110514634938473E+03 5.224207116600000E+33 4.667574501850436E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.690691051482000E+39 8.292669277170000E+13 3.275182886115000E+13 - 29 1.203252558840000E+30 5.224808849600000E+33 4.683391825584172E+13 9.969654474259000E+06 1.385676213176606E-10 1.053495676399177E+04 4.520761753646595E+04 4.520761753646595E+04 1.761391595839800E-01 5.102793921722409E+03 5.225411577199999E+33 4.698937388624833E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.720575876235000E+39 8.342669277170000E+13 3.285298061362000E+13 - 30 1.204574382240000E+30 5.226014304799999E+33 4.714482951665495E+13 1.005459688663550E+07 1.392072203970389E-10 1.053495676399177E+04 4.520761753646595E+04 4.520761753646595E+04 1.762403113364500E-01 5.095166449759044E+03 5.226616037799999E+33 4.729740091630819E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.740575876235000E+39 8.382669277170000E+13 3.305298061362000E+13 - 31 1.203128432760000E+30 5.227217770799999E+33 4.744997231596144E+13 1.013953929901200E+07 1.398497717316301E-10 1.053495676399177E+04 4.520761753646595E+04 4.520761753646595E+04 1.764391595839800E-01 5.087637455379388E+03 5.227818509200000E+33 4.759995299724170E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.770575876235000E+39 8.422669277170000E+13 3.315413236609000E+13 - 32 1.202779527080000E+30 5.228419247600000E+33 4.774993367852195E+13 1.021459688663550E+07 1.404910809561199E-10 1.053495676399177E+04 4.520761753646595E+04 4.520761753646595E+04 1.765391595839800E-01 5.080198143859343E+03 5.229019985999999E+33 4.789736173632684E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.790575876235000E+39 8.452784452417000E+13 3.335298061362000E+13 - 33 1.201842613880000E+30 5.229620724400000E+33 4.804478979413171E+13 1.028959688663550E+07 1.408191640382741E-10 1.053364647196917E+04 4.520636993769876E+04 4.520636993769876E+04 1.781391595839800E-01 5.072801943519852E+03 5.230221462800000E+33 4.818968421482151E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.810575876235000E+39 8.492784452417000E+13 3.345413236609000E+13 - 34 1.200077198880000E+30 5.230822201200000E+33 4.833457863551130E+13 1.036953929901200E+07 1.414691557666537E-10 1.043837169982715E+04 4.510364290139763E+04 4.510364290139763E+04 1.782391595839800E-01 5.065495196509356E+03 5.231419955800001E+33 4.847689391639477E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.840575876235000E+39 8.522784452417000E+13 3.355413236609000E+13 - 35 1.197014626560000E+30 5.232017710400000E+33 4.861920919727826E+13 1.044453929901200E+07 1.421178910019751E-10 1.043837169982715E+04 4.510364290139763E+04 4.510364290139763E+04 1.783391595839800E-01 5.058281546805312E+03 5.232615465000000E+33 4.875906400136149E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.860575876235000E+39 8.552784452417000E+13 3.365413236609000E+13 - 36 1.193635174680000E+30 5.233213219599999E+33 4.889891880544473E+13 1.051453929901200E+07 1.424455065758637E-10 1.043837169982715E+04 4.510364290139763E+04 4.510364290139763E+04 1.784391595839800E-01 5.051172285322529E+03 5.233809979600000E+33 4.903694050540465E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.890575876235000E+39 8.572899627664000E+13 3.375413236609000E+13 - 37 1.194906074560000E+30 5.234406739599999E+33 4.917496220536456E+13 1.058453929901200E+07 1.427738773816480E-10 1.043837169982715E+04 4.510364290139763E+04 4.510364290139763E+04 1.784391595839800E-01 5.044140029764931E+03 5.235004494199999E+33 4.931113897068456E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.910575876235000E+39 8.602899627664000E+13 3.385413236609000E+13 - 38 1.195203261040000E+30 5.235602248800000E+33 4.944731573600456E+13 1.065453929901200E+07 1.431072913850401E-10 1.043837169982715E+04 4.510364290139763E+04 4.510364290139763E+04 1.785391595839800E-01 5.037181678880548E+03 5.236197019599999E+33 4.958097907713568E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.940460700988000E+39 8.622899627664000E+13 3.395413236609000E+13 - 39 1.188840804840000E+30 5.236791790399999E+33 4.971464241826679E+13 1.072453929901200E+07 1.434371877623661E-10 1.043707342063402E+04 4.510239817202799E+04 4.510239817202799E+04 1.786391595839800E-01 5.030332176822147E+03 5.237383577400001E+33 4.984615165492705E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.960575876235000E+39 8.643014802911000E+13 3.405413236609000E+13 - 40 1.184461581040000E+30 5.237975364400000E+33 4.997766089158733E+13 1.079448171138850E+07 1.437635386203457E-10 1.043707342063402E+04 4.510239817202799E+04 4.510239817202799E+04 1.786391595839800E-01 5.023577721732046E+03 5.238568146000000E+33 5.010769736884806E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 1.990460700988000E+39 8.663014802911000E+13 3.415413236609000E+13 - 41 1.185873117360000E+30 5.239160927599999E+33 5.023773384610881E+13 1.085948171138850E+07 1.440949478037869E-10 1.034267213285332E+04 4.499990740135403E+04 4.499990740135403E+04 1.787391595839800E-01 5.016879763521018E+03 5.239753709200000E+33 5.036605223094619E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 2.010575876235000E+39 8.682899627664000E+13 3.415413236609000E+13 - 42 1.184179512480000E+30 5.240346490800000E+33 5.049437061578358E+13 1.092448171138850E+07 1.444271209642971E-10 1.034267213285332E+04 4.499990740135403E+04 4.499990740135403E+04 1.787391595839800E-01 5.010255063402822E+03 5.240937283200000E+33 5.062099608921266E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 2.030575876235000E+39 8.693014802911000E+13 3.425413236609000E+13 - 43 1.182131432160000E+30 5.241528075600000E+33 5.074762156264175E+13 1.098942412376500E+07 1.444314468489687E-10 1.034267213285332E+04 4.499990740135403E+04 4.499990740135403E+04 1.788391595839800E-01 5.003713913943664E+03 5.242118868000000E+33 5.087283925525538E+13 7.576387000000001E-05 0.000000000000000E+00 6.000626999999999E-01 1.166470000000000E-01 1.192759000000000E-06 2.314296000000000E-01 6.293762000000000E-03 5.560002000000000E-08 6.960729000000000E-03 2.907703000000000E-02 4.740693000000000E-03 4.523451000000000E-04 1.594986000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058276000000000E-05 0.000000000000000E+00 4.078789000000000E-03 2.060575876235000E+39 8.703014802911000E+13 3.425528411856000E+13 - 44 1.181971898320000E+30 5.242709660400000E+33 5.099805694786903E+13 1.104948171138850E+07 1.447600598630256E-10 1.034267213285332E+04 4.499990740135403E+04 4.499990740135403E+04 1.788391595839800E-01 4.997230762822934E+03 5.243298463599999E+33 5.112242343664109E+13 7.645219000000001E-05 0.000000000000000E+00 6.002724000000000E-01 1.166218000000000E-01 1.200780000000000E-06 2.312747000000000E-01 6.293340000000000E-03 5.597394000000000E-08 6.956230000000000E-03 2.905549000000000E-02 4.737240000000000E-03 4.520234000000000E-04 1.593916000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.058142000000000E-05 0.000000000000000E+00 4.078777000000000E-03 2.080575876235000E+39 8.713129978158000E+13 3.435413236609000E+13 - 45 1.177439506120000E+30 5.243887266800000E+33 5.124678992541316E+13 1.111448171138850E+07 1.437635386203457E-10 1.034267213285332E+04 4.499990740135403E+04 4.499990740135403E+04 1.786391595839800E-01 4.990843161622332E+03 5.244487010600000E+33 5.137223749160197E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467000000000E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.110460700988000E+39 8.662899627664000E+13 3.435413236609000E+13 - 46 1.199910901760000E+30 5.245086754400000E+33 5.149768505779078E+13 1.118448171138850E+07 1.440949478037869E-10 1.034138575635538E+04 4.499866553478249E+04 4.499866553478249E+04 1.787391595839800E-01 4.984381565669059E+03 5.245802866400000E+33 5.164555467485615E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.130575876235000E+39 8.672899627664000E+13 3.435413236609000E+13 - 47 1.431021926440000E+30 5.246518978399999E+33 5.179342429192152E+13 1.125953929901200E+07 1.440949478037869E-10 1.024784994478334E+04 4.489641048633996E+04 4.489641048633996E+04 1.787391595839800E-01 4.976765045074344E+03 5.247321620600000E+33 5.195673752387437E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.160575876235000E+39 8.673014802911000E+13 3.435528411856000E+13 - 48 1.605304093080000E+30 5.248124262800000E+33 5.212005075582720E+13 1.134448171138850E+07 1.440949478037869E-10 1.024784994478334E+04 4.489641048633996E+04 4.489641048633996E+04 1.787391595839800E-01 4.968353047774323E+03 5.248919942799999E+33 5.228001093056375E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.200460700988000E+39 8.683014802911000E+13 3.445413236609000E+13 - 49 1.591239454480000E+30 5.249715622800000E+33 5.243997110530028E+13 1.142448171138850E+07 1.444271209642971E-10 1.024784994478334E+04 4.489641048633996E+04 4.489641048633996E+04 1.802391595839800E-01 4.960025463010164E+03 5.250509313600000E+33 5.259754858899822E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.230460700988000E+39 8.693014802911000E+13 3.445413236609000E+13 - 50 1.588995835800000E+30 5.251303004400000E+33 5.275512607269612E+13 1.149948171138850E+07 1.444271209642971E-10 1.024784994478334E+04 4.489641048633996E+04 4.489641048633996E+04 1.802391595839800E-01 4.951821920693121E+03 5.252094706000000E+33 5.291016854880295E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.260575876235000E+39 8.703014802911000E+13 3.445528411856000E+13 - 51 1.583069810080000E+30 5.252886407599999E+33 5.306521102490976E+13 1.157942412376500E+07 1.447600598630256E-10 1.024657536185602E+04 4.489517147598229E+04 4.489517147598229E+04 1.802391595839800E-01 4.943731743053600E+03 5.253678109199999E+33 5.321828932275423E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.290575876235000E+39 8.713014802911000E+13 3.445528411856000E+13 - 52 1.582185212840000E+30 5.254469810800000E+33 5.337136762059868E+13 1.165936653614150E+07 1.447600598630256E-10 1.024657536185602E+04 4.489517147598229E+04 4.489517147598229E+04 1.802391595839800E-01 4.935744056310312E+03 5.255261512400000E+33 5.352284510113288E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.330460700988000E+39 8.713014802911000E+13 3.455413236609000E+13 - 53 1.584359010600000E+30 5.256053214000000E+33 5.367432258166705E+13 1.173436653614150E+07 1.447600598630256E-10 1.015389709175888E+04 4.479315160762490E+04 4.479315160762490E+04 1.803391595839800E-01 4.927835515134628E+03 5.256841931799999E+33 5.382336686823468E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.360460700988000E+39 8.723014802911000E+13 3.455413236609000E+13 - 54 1.576955009280000E+30 5.257630649600000E+33 5.397241115480229E+13 1.180442412376500E+07 1.447600598630256E-10 1.015389709175888E+04 4.479315160762490E+04 4.479315160762490E+04 1.803391595839800E-01 4.920054007770228E+03 5.258414394399999E+33 5.411895969861387E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.390460700988000E+39 8.723014802911000E+13 3.455413236609000E+13 - 55 1.567575334520000E+30 5.259198139200000E+33 5.426550824242547E+13 1.187442412376500E+07 1.447600598630256E-10 1.015389709175888E+04 4.479315160762490E+04 4.479315160762490E+04 1.803391595839800E-01 4.912402800337659E+03 5.259981884000000E+33 5.441052263858226E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.420460700988000E+39 8.723014802911000E+13 3.455413236609000E+13 - 56 1.568038221360000E+30 5.260765628800000E+33 5.455553703473905E+13 1.194936653614150E+07 1.447600598630256E-10 1.015389709175888E+04 4.479315160762490E+04 4.479315160762490E+04 1.803391595839800E-01 4.904831688572423E+03 5.261549373600000E+33 5.469905356014048E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.460460700988000E+39 8.723014802911000E+13 3.455413236609000E+13 - 57 1.568036630000000E+30 5.262333118400000E+33 5.484257008554189E+13 1.202430894851800E+07 1.447600598630256E-10 1.015263419427808E+04 4.479191544691196E+04 4.479191544691196E+04 1.803391595839800E-01 4.897338779498666E+03 5.263115868600000E+33 5.498521058187249E+13 1.068460000000000E-04 0.000000000000000E+00 6.095323000000000E-01 1.155094000000000E-01 1.554977000000000E-06 2.244369000000000E-01 6.274709000000000E-03 7.248467999999999E-08 6.757602000000000E-03 2.810425000000000E-02 4.584750000000000E-03 4.378168000000000E-04 1.546649000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.052243000000000E-05 0.000000000000000E+00 4.078257000000000E-03 2.490460700988000E+39 8.723014802911000E+13 3.455413236609000E+13 - 58 1.564241037480000E+30 5.263898618800000E+33 5.512785107820308E+13 1.209430894851800E+07 1.437635386203457E-10 1.006080560366852E+04 4.469013021774071E+04 4.469013021774071E+04 1.801391595839800E-01 4.889951075962655E+03 5.264680374400000E+33 5.526915409637256E+13 1.404520000000000E-04 0.000000000000000E+00 6.172320000000000E-01 1.145812000000000E-01 1.941466000000000E-06 2.187470000000000E-01 6.259039000000000E-03 9.050075000000000E-08 6.592341000000000E-03 2.731282000000000E-02 4.457879000000000E-03 4.259968000000000E-04 1.507322000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.047331000000000E-05 0.000000000000000E+00 4.077687000000000E-03 2.520460700988000E+39 8.662899627664000E+13 3.445528411856000E+13 - 59 1.563356241320000E+30 5.265462130000000E+33 5.541045711454202E+13 1.216430894851800E+07 1.437635386203457E-10 1.006080560366852E+04 4.469013021774071E+04 4.469013021774071E+04 1.800403113364500E-01 4.882636654893881E+03 5.266242891000000E+33 5.555019577534471E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.550460700988000E+39 8.652899627664000E+13 3.445528411856000E+13 - 60 1.561216458880000E+30 5.267023652000001E+33 5.568993443614738E+13 1.223430894851800E+07 1.437635386203457E-10 1.006080560366852E+04 4.469013021774071E+04 4.469013021774071E+04 1.800391595839800E-01 4.875403260484462E+03 5.267802423799999E+33 5.582808433626166E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.580460700988000E+39 8.652899627664000E+13 3.445413236609000E+13 - 61 1.557930300480000E+30 5.268581195600000E+33 5.596623423637595E+13 1.229936653614150E+07 1.434328916568751E-10 1.006080560366852E+04 4.469013021774071E+04 4.469013021774071E+04 1.800391595839800E-01 4.868268552030053E+03 5.269355988999999E+33 5.610240846638455E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.610460700988000E+39 8.642899627664000E+13 3.445413236609000E+13 - 62 1.549748919800000E+30 5.270130782400000E+33 5.623858269639318E+13 1.236436653614150E+07 1.434328916568751E-10 1.005955428450142E+04 4.468889690011853E+04 4.468889690011853E+04 1.800391595839800E-01 4.861235876775526E+03 5.270902592000000E+33 5.637313643491681E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.640460700988000E+39 8.632899627664000E+13 3.445413236609000E+13 - 63 1.543620791360000E+30 5.271674401600000E+33 5.650769017344044E+13 1.242936653614150E+07 1.434328916568751E-10 1.005955428450142E+04 4.468889690011853E+04 4.468889690011853E+04 1.800391595839800E-01 4.854286889229287E+03 5.272448200399999E+33 5.664163933331418E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.680345525741000E+39 8.632899627664000E+13 3.435413236609000E+13 - 64 1.547183647480000E+30 5.273221999200000E+33 5.677558849318790E+13 1.249436653614150E+07 1.431030051603175E-10 9.968567583470907E+03 4.458734577047810E+04 4.458734577047810E+04 1.799403113364500E-01 4.847388821374890E+03 5.273994803399999E+33 5.690904996241377E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.710345525741000E+39 8.622899627664000E+13 3.435413236609000E+13 - 65 1.545456425120000E+30 5.274767607600000E+33 5.704251143163963E+13 1.256430894851800E+07 1.431030051603175E-10 9.968567583470907E+03 4.458734577047810E+04 4.458734577047810E+04 1.813391595839800E-01 4.840462441372802E+03 5.275536433399999E+33 5.717611876567019E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.740345525741001E+39 8.612899627664000E+13 3.435413236609000E+13 - 66 1.539180499120000E+30 5.276305259200000E+33 5.730972609970071E+13 1.262930894851800E+07 1.431030051603175E-10 9.968567583470907E+03 4.458734577047810E+04 4.458734577047810E+04 1.812403113364500E-01 4.833532267264272E+03 5.277074085000001E+33 5.744505981274482E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.770345525741000E+39 8.612784452417000E+13 3.425413236609000E+13 - 67 1.537342677240000E+30 5.277842910800000E+33 5.758039352578892E+13 1.269430894851800E+07 1.427738773816480E-10 9.968567583470907E+03 4.458734577047810E+04 4.458734577047810E+04 1.812403113364500E-01 4.826528690524168E+03 5.278610742000001E+33 5.771789858118911E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.800345525741000E+39 8.602899627664000E+13 3.425413236609000E+13 - 68 1.535467458400000E+30 5.279378573200000E+33 5.785540363658930E+13 1.276430894851800E+07 1.427738773816480E-10 9.967327736466885E+03 4.458611528940774E+04 4.458611528940774E+04 1.812391595839800E-01 4.819412792704015E+03 5.280144415199999E+33 5.799421470062543E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.840345525741000E+39 8.592899627664000E+13 3.425413236609000E+13 - 69 1.531762971240000E+30 5.280910257200000E+33 5.813302576466156E+13 1.283430894851800E+07 1.427696108503392E-10 9.967327736466885E+03 4.458611528940774E+04 4.458611528940774E+04 1.812391595839800E-01 4.812229517714191E+03 5.281675104600000E+33 5.827219387386395E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333389000000001E-08 6.566352000000000E-03 2.718836000000000E-02 4.437928000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.870345525741000E+39 8.592784452417000E+13 3.425298061362000E+13 - 70 1.529602898960000E+30 5.282439952000000E+33 5.841136198306632E+13 1.289930894851800E+07 1.424455065758637E-10 9.877175206525444E+03 4.448479772088423E+04 4.448479772088423E+04 1.811403113364500E-01 4.805048033443673E+03 5.283203804800000E+33 5.854999383667591E+13 1.457368000000000E-04 0.000000000000000E+00 6.184428000000000E-01 1.144352000000000E-01 2.002244000000000E-06 2.178523000000000E-01 6.256575000000000E-03 9.333390000000000E-08 6.566352000000000E-03 2.718836000000000E-02 4.437927000000000E-03 4.241380000000000E-04 1.501138000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.046558000000000E-05 0.000000000000000E+00 4.077597000000000E-03 2.900345525741001E+39 8.582784452417000E+13 3.415413236609000E+13 - 71 1.527372210080000E+30 5.283967657599999E+33 5.868862569028551E+13 1.296430894851800E+07 1.421178910019751E-10 9.877175206525444E+03 4.448479772088423E+04 4.448479772088423E+04 1.810403113364500E-01 4.797914614522894E+03 5.284689737199999E+33 5.882193552394690E+13 1.617690000000000E-04 0.000000000000000E+00 6.212834000000000E-01 1.140913000000000E-01 2.184485000000000E-06 2.157513000000000E-01 6.250716000000000E-03 1.018290000000000E-07 6.505341000000000E-03 2.689618000000000E-02 4.391089000000000E-03 4.197743000000000E-04 1.486619000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.044743000000000E-05 0.000000000000000E+00 4.077327000000000E-03 2.940345525741000E+39 8.552669277170000E+13 3.415298061362000E+13 - 72 1.444053772400000E+30 5.285411816799999E+33 5.895524535760829E+13 1.304430894851800E+07 1.411395583217985E-10 9.877175206525444E+03 4.448479772088423E+04 4.448479772088423E+04 1.809391595839800E-01 4.791106075222792E+03 5.286478028000000E+33 5.913839382719280E+13 1.912826000000000E-04 0.000000000000000E+00 6.265125000000000E-01 1.134583000000000E-01 2.519971000000000E-06 2.118838000000000E-01 6.239931000000000E-03 1.174675000000000E-07 6.393024000000000E-03 2.635831000000000E-02 4.304865000000000E-03 4.117412000000000E-04 1.459891000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.041400000000000E-05 0.000000000000000E+00 4.076830000000000E-03 2.970345525741000E+39 8.502669277170000E+13 3.405413236609000E+13 - 73 2.132957494800000E+30 5.287544239200000E+33 5.932154229677730E+13 1.317425136089450E+07 1.411395583217985E-10 9.877175206525444E+03 4.448479772088423E+04 4.448479772088423E+04 1.821391595839800E-01 4.781690088472412E+03 5.289480725399999E+33 5.967177557194812E+13 1.912826000000000E-04 0.000000000000000E+00 6.265125000000000E-01 1.134583000000000E-01 2.519971000000000E-06 2.118838000000000E-01 6.239931000000000E-03 1.174675000000000E-07 6.393024000000000E-03 2.635831000000000E-02 4.304865000000000E-03 4.117412000000000E-04 1.459891000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.041400000000000E-05 0.000000000000000E+00 4.076830000000000E-03 3.020230350494000E+39 8.492669277170000E+13 3.405298061362000E+13 - 74 3.872498970400000E+30 5.291417211600000E+33 6.002200884711894E+13 1.336425136089450E+07 1.408149463455453E-10 9.875946726507078E+03 4.448357006984179E+04 4.448357006984179E+04 1.820403113364500E-01 4.763735122348797E+03 5.294179215800000E+33 6.047501614317666E+13 1.912826000000000E-04 0.000000000000000E+00 6.265125000000000E-01 1.134583000000000E-01 2.519971000000000E-06 2.118838000000000E-01 6.239931000000000E-03 1.174675000000000E-07 6.393024000000000E-03 2.635831000000000E-02 4.304865000000000E-03 4.117412000000000E-04 1.459891000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.041400000000000E-05 0.000000000000000E+00 4.076830000000000E-03 3.110230350494000E+39 8.482554101923000E+13 3.395298061362000E+13 - 75 5.523815447599999E+30 5.296941220000000E+33 6.092802343923437E+13 1.359430894851800E+07 1.404868826419289E-10 9.786620719928278E+03 4.438248552525961E+04 4.438248552525961E+04 1.819403113364500E-01 4.740578174939372E+03 5.300310924800001E+33 6.146142505868634E+13 1.912826000000000E-04 0.000000000000000E+00 6.265125000000000E-01 1.134583000000000E-01 2.519971000000000E-06 2.118838000000000E-01 6.239931000000000E-03 1.174675000000000E-07 6.393024000000000E-03 2.635831000000000E-02 4.304865000000000E-03 4.117412000000000E-04 1.459891000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.041400000000000E-05 0.000000000000000E+00 4.076830000000000E-03 3.230230350494000E+39 8.452554101923000E+13 3.385298061362000E+13 - 76 6.740623012000000E+30 5.303680629600000E+33 6.199482667813830E+13 1.383430894851800E+07 1.391988911600244E-10 9.696896441854366E+03 4.428040864115504E+04 4.428040864115504E+04 1.816403113364500E-01 4.713606120725508E+03 5.306958831200000E+33 6.248086763553174E+13 2.310003000000000E-04 0.000000000000000E+00 6.320732000000000E-01 1.127819000000000E-01 2.966680000000000E-06 2.077668000000000E-01 6.228286000000000E-03 1.382907000000000E-07 6.273485000000000E-03 2.578586000000000E-02 4.213098000000000E-03 4.031917000000000E-04 1.431445000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.037838000000000E-05 0.000000000000000E+00 4.076165000000000E-03 3.370230350494000E+39 8.372438926676000E+13 3.365298061362000E+13 - 77 6.554716358399999E+30 5.310237032800000E+33 6.296690859292517E+13 1.405430894851800E+07 1.379268297413249E-10 9.695690384123296E+03 4.427918663065678E+04 4.427918663065678E+04 1.814403113364500E-01 4.689280321573676E+03 5.313381958000000E+33 6.342191948155235E+13 2.473451000000000E-04 0.000000000000000E+00 6.343615000000000E-01 1.125035000000000E-01 3.150512000000000E-06 2.060726000000000E-01 6.223494000000000E-03 1.468600000000000E-07 6.224292000000000E-03 2.555028000000000E-02 4.175333000000000E-03 3.996733000000000E-04 1.419739000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.036372000000000E-05 0.000000000000000E+00 4.075891000000000E-03 3.510230350494000E+39 8.312208576182000E+13 3.345182886115000E+13 - 78 6.290646079999999E+30 5.316526883200000E+33 6.387693037017954E+13 1.426425136089450E+07 1.372890107737439E-10 9.607994760906291E+03 4.417856652736908E+04 4.417856652736908E+04 1.812403113364500E-01 4.666637806655718E+03 5.319657884000000E+33 6.432207350048184E+13 2.473451000000000E-04 0.000000000000000E+00 6.343615000000000E-01 1.125035000000000E-01 3.150512000000000E-06 2.060726000000000E-01 6.223494000000000E-03 1.468600000000000E-07 6.224292000000000E-03 2.555028000000000E-02 4.175333000000000E-03 3.996733000000000E-04 1.419739000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.036372000000000E-05 0.000000000000000E+00 4.075891000000000E-03 3.650230350494000E+39 8.262208576182000E+13 3.325182886115000E+13 - 79 6.261371023599999E+30 5.322788884800000E+33 6.476721663078414E+13 1.446919377327100E+07 1.366582250670168E-10 9.519908135468348E+03 4.407695864394511E+04 4.407695864394511E+04 1.810414630889200E-01 4.644612281024952E+03 5.325898999000000E+33 6.520195926556188E+13 2.473451000000000E-04 0.000000000000000E+00 6.343615000000000E-01 1.125035000000000E-01 3.150512000000000E-06 2.060726000000000E-01 6.223494000000000E-03 1.468600000000000E-07 6.224292000000000E-03 2.555028000000000E-02 4.175333000000000E-03 3.996733000000000E-04 1.419739000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.036372000000000E-05 0.000000000000000E+00 4.075891000000000E-03 3.790115175247000E+39 8.222093400935000E+13 3.305182886115000E+13 - 80 6.221901317200000E+30 5.329009113200000E+33 6.563670190033962E+13 1.466419377327100E+07 1.347832039263715E-10 9.518724090771706E+03 4.407574224807508E+04 4.407574224807508E+04 1.807403113364500E-01 4.623431801878862E+03 5.332098340800000E+33 6.605898452070074E+13 3.172061000000000E-04 0.000000000000000E+00 6.421076000000000E-01 1.115556000000000E-01 3.927966000000000E-06 2.003302000000000E-01 6.206966000000000E-03 1.831007000000000E-07 6.057593000000000E-03 2.475201000000000E-02 4.047364000000000E-03 3.877510000000000E-04 1.380071000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.031397000000000E-05 0.000000000000000E+00 4.074730000000000E-03 3.930115175247000E+39 8.121863050441000E+13 3.285067710868000E+13 - 81 6.177024965200000E+30 5.335187568399999E+33 6.648126714106186E+13 1.484919377327100E+07 1.341639313563057E-10 9.432629093066556E+03 4.397558445216805E+04 4.397558445216805E+04 1.830403113364500E-01 4.602692288220763E+03 5.338209163200000E+33 6.688486768582183E+13 3.225396000000000E-04 0.000000000000000E+00 6.426989000000000E-01 1.114833000000000E-01 3.987320000000000E-06 1.998918000000000E-01 6.205704000000000E-03 1.858675000000000E-07 6.044866000000000E-03 2.469107000000000E-02 4.037594000000000E-03 3.868408000000000E-04 1.377042000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.031017000000000E-05 0.000000000000000E+00 4.074642000000000E-03 4.070115175247000E+39 8.081863050441000E+13 3.274952535621000E+13 - 82 6.044098664399999E+30 5.341230758000000E+33 6.728846823058180E+13 1.507419377327100E+07 1.338553628768709E-10 9.431455903756942E+03 4.397437085393089E+04 4.397437085393089E+04 1.829414630889200E-01 4.582926557609838E+03 5.345722371600000E+33 6.787697651928216E+13 3.225396000000000E-04 0.000000000000000E+00 6.426990000000000E-01 1.114833000000000E-01 3.987320000000000E-06 1.998918000000000E-01 6.205704000000000E-03 1.858675000000000E-07 6.044866000000000E-03 2.469106000000000E-02 4.037594000000000E-03 3.868408000000000E-04 1.377042000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.031017000000000E-05 0.000000000000000E+00 4.074642000000000E-03 4.210115175247000E+39 8.061747875194000E+13 3.264952535621000E+13 - 83 8.982473293199999E+30 5.350213985199999E+33 6.846548480798253E+13 1.535919377327100E+07 1.323231332083583E-10 9.346150229735285E+03 4.387444341456219E+04 4.387444341456219E+04 1.826403113364500E-01 4.554482071520186E+03 5.355504262599999E+33 6.913981640587820E+13 4.184927000000000E-04 0.000000000000000E+00 6.510960000000000E-01 1.104480000000000E-01 5.043425000000000E-06 1.936565000000000E-01 6.187366000000000E-03 2.350974000000000E-07 5.863903000000000E-03 2.382451000000000E-02 3.898680000000000E-03 3.738986000000000E-04 1.333980000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.025605000000000E-05 0.000000000000000E+00 4.073059000000000E-03 4.410115175247000E+39 7.981517524700000E+13 3.244952535621000E+13 - 84 1.058142010200000E+31 5.360794540000000E+33 6.981414800377385E+13 1.562419377327100E+07 1.320187984471793E-10 9.260464209388570E+03 4.377353499488768E+04 4.377353499488768E+04 1.824414630889200E-01 4.521999809188801E+03 5.364870410799999E+33 7.032218559271389E+13 4.189031000000000E-04 0.000000000000000E+00 6.511261000000000E-01 1.104443000000000E-01 5.047903000000000E-06 1.936341000000000E-01 6.187299000000000E-03 2.353062000000000E-07 5.863254000000000E-03 2.382140000000000E-02 3.898181000000000E-03 3.738521000000000E-04 1.333826000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.025586000000000E-05 0.000000000000000E+00 4.073053000000000E-03 4.650115175247000E+39 7.941632699947000E+13 3.234952535621000E+13 - 85 8.151805254399998E+30 5.368946281599999E+33 7.083022318165394E+13 1.583913618564750E+07 1.308045427350605E-10 9.175563763198314E+03 4.367285865813818E+04 4.367285865813818E+04 1.821426148413900E-01 4.497792630441830E+03 5.372548722799999E+33 7.126633581034194E+13 5.311735000000000E-04 0.000000000000000E+00 6.589526999999999E-01 1.094707000000000E-01 6.270084000000000E-06 1.878108000000000E-01 6.169733000000000E-03 2.922777000000000E-07 5.694297000000000E-03 2.301237000000000E-02 3.768487000000000E-03 3.617689000000000E-04 1.293621000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.020521000000000E-05 0.000000000000000E+00 4.071215000000000E-03 4.840000000000000E+39 7.871402349453000E+13 3.224837360374000E+13 - 86 7.203625225599999E+30 5.376151163999999E+33 7.170244843902994E+13 1.603907859802400E+07 1.305075917578498E-10 9.174422546554422E+03 4.367165341425251E+04 4.367165341425251E+04 1.821414630889200E-01 4.477059888143435E+03 5.379953519799999E+33 7.215192974099116E+13 5.311736000000000E-04 0.000000000000000E+00 6.589526999999999E-01 1.094707000000000E-01 6.270085000000000E-06 1.878108000000000E-01 6.169733000000000E-03 2.922777000000000E-07 5.694297000000000E-03 2.301237000000000E-02 3.768487000000000E-03 3.617689000000000E-04 1.293621000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.020521000000000E-05 0.000000000000000E+00 4.071215000000000E-03 5.000000000000000E+39 7.851517524700000E+13 3.214837360374000E+13 - 87 7.605654480799999E+30 5.383755875600000E+33 7.260141104295234E+13 1.628407859802400E+07 1.302074326261344E-10 9.090310935070620E+03 4.357121139863622E+04 4.357121139863622E+04 1.820426148413900E-01 4.455752304968317E+03 5.389323646400000E+33 7.324829639490162E+13 5.432076000000000E-04 0.000000000000000E+00 6.596257000000000E-01 1.093860000000000E-01 6.399654000000000E-06 1.873088000000000E-01 6.168174000000000E-03 2.983176000000000E-07 5.679739000000000E-03 2.294267000000000E-02 3.757312000000000E-03 3.607278000000000E-04 1.290157000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.020083000000000E-05 0.000000000000000E+00 4.071020000000000E-03 5.170000000000000E+39 7.841402349453000E+13 3.204952535621000E+13 - 88 1.113508209480000E+31 5.394891417199999E+33 7.389518174685091E+13 1.657407859802400E+07 1.293072355159299E-10 9.008090850568675E+03 4.347220009953831E+04 4.347220009953831E+04 1.818414630889200E-01 4.425332475484333E+03 5.400617329399999E+33 7.453583937816650E+13 6.761233000000000E-04 0.000000000000000E+00 6.670584000000001E-01 1.084515000000000E-01 7.830749000000000E-06 1.817650000000000E-01 6.150954000000000E-03 3.650275000000000E-07 5.518951000000000E-03 2.217279000000000E-02 3.633893000000000E-03 3.492292000000000E-04 1.251897000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.015249000000000E-05 0.000000000000000E+00 4.068862000000000E-03 5.419884824753000E+39 7.781287174206000E+13 3.204837360374000E+13 - 89 1.145252857680000E+31 5.406343241599999E+33 7.517649700948211E+13 1.684407859802400E+07 1.293072355159299E-10 8.925504177239673E+03 4.337221681381614E+04 4.337221681381614E+04 1.858426148413900E-01 4.394542601582139E+03 5.411463442400000E+33 7.572927364979686E+13 7.069149000000000E-04 0.000000000000000E+00 6.684466000000000E-01 1.082748000000000E-01 8.158566000000000E-06 1.807264000000000E-01 6.147616000000000E-03 3.803086000000000E-07 5.488843000000000E-03 2.202863000000000E-02 3.610783000000000E-03 3.470761000000000E-04 1.244733000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.014341000000000E-05 0.000000000000000E+00 4.068367000000000E-03 5.669884824753001E+39 7.781287174206000E+13 3.204837360374000E+13 - 90 1.024059654160000E+31 5.416583643199999E+33 7.628205029011159E+13 1.710907859802400E+07 1.290136837084467E-10 8.843674663082953E+03 4.327246348327003E+04 4.327246348327003E+04 1.857437665938600E-01 4.368050679101013E+03 5.422712368400000E+33 7.692508203098175E+13 8.430807000000000E-04 0.000000000000000E+00 6.745857000000000E-01 1.074930000000000E-01 9.608229000000000E-06 1.761337000000000E-01 6.132855000000000E-03 4.478841000000000E-07 5.355699000000000E-03 2.139114000000000E-02 3.508588000000000E-03 3.375547000000000E-04 1.213051000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.010324000000000E-05 0.000000000000000E+00 4.066174000000000E-03 5.889884824753000E+39 7.781287174206000E+13 3.214952535621000E+13 - 91 1.225635832920000E+31 5.428841093600000E+33 7.756811377185191E+13 1.738402101040050E+07 1.296053194789891E-10 8.762595366421345E+03 4.317293957901759E+04 4.317293957901759E+04 1.858437665938600E-01 4.337075252784402E+03 5.434534183999999E+33 7.814918886970233E+13 9.157210000000000E-04 0.000000000000000E+00 6.772203000000000E-01 1.071523000000000E-01 1.037254000000000E-05 1.741554000000000E-01 6.126235000000000E-03 4.835122000000000E-07 5.298377000000000E-03 2.111670000000000E-02 3.464593000000000E-03 3.334557000000000E-04 1.199411000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.008587000000000E-05 0.000000000000000E+00 4.065015000000000E-03 6.159769649505999E+39 7.801287174206000E+13 3.224952535621000E+13 - 92 1.138593413920000E+31 5.440227274399999E+33 7.873026396755275E+13 1.763402101040050E+07 1.293110909647017E-10 8.682259409219656E+03 4.307364457339315E+04 4.307364457339315E+04 1.858437665938600E-01 4.309147895216154E+03 5.445573249400000E+33 7.925785615445247E+13 1.076355000000000E-03 0.000000000000000E+00 6.830464000000001E-01 1.063988000000000E-01 1.206272000000000E-05 1.697806000000000E-01 6.111593000000000E-03 5.622991000000000E-07 5.171616000000000E-03 2.050982000000000E-02 3.367302000000000E-03 3.243912000000000E-04 1.169249000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.004747000000000E-05 0.000000000000000E+00 4.062451000000000E-03 6.399769649506000E+39 7.791402349453000E+13 3.244837360374000E+13 - 93 1.069159592240000E+31 5.450919224400000E+33 7.978544834135217E+13 1.785907859802400E+07 1.299079638412652E-10 8.602659976500619E+03 4.297457793994428E+04 4.297457793994428E+04 1.860426148413900E-01 4.283646721204081E+03 5.456043403600000E+33 8.027889465273700E+13 1.076355000000000E-03 0.000000000000000E+00 6.830464000000001E-01 1.063988000000000E-01 1.206272000000000E-05 1.697806000000000E-01 6.111593000000000E-03 5.622992000000000E-07 5.171616000000000E-03 2.050982000000000E-02 3.367302000000000E-03 3.243912000000000E-04 1.169249000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.004747000000000E-05 0.000000000000000E+00 4.062451000000000E-03 6.629654474259000E+39 7.821402349453000E+13 3.254952535621000E+13 - 94 1.024980653760000E+31 5.461167582799999E+33 8.077234096412186E+13 1.807402101040050E+07 1.299040905965504E-10 8.601590015133635E+03 4.297339196657564E+04 4.297339196657564E+04 1.859437665938600E-01 4.259809348045044E+03 5.465973489999999E+33 8.122463914107541E+13 1.234700000000000E-03 0.000000000000000E+00 6.876067000000000E-01 1.057970000000000E-01 1.370700000000000E-05 1.663392000000000E-01 6.099482000000000E-03 6.389467000000000E-07 5.071970000000000E-03 2.003279000000000E-02 3.290827000000000E-03 3.172660000000000E-04 1.145539000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 2.001711000000000E-05 0.000000000000000E+00 4.059948000000000E-03 6.849539299012001E+39 7.821287174206000E+13 3.264837360374000E+13 - 95 9.611633382799999E+30 5.470779397199999E+33 8.167693731802897E+13 1.827896342277700E+07 1.296091838154882E-10 8.522730163865044E+03 4.287455590772408E+04 4.287455590772408E+04 1.859437665938600E-01 4.238009376691649E+03 5.475703661799999E+33 8.212981295721180E+13 1.377559000000000E-03 0.000000000000000E+00 6.917210000000000E-01 1.052540000000000E-01 1.519048000000000E-05 1.632343000000000E-01 6.088555000000000E-03 7.080989000000000E-07 4.982068000000000E-03 1.960240000000000E-02 3.221832000000000E-03 3.108376000000000E-04 1.124147000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.998972000000000E-05 0.000000000000000E+00 4.057690000000000E-03 7.049539299012001E+39 7.801402349453000E+13 3.264952535621000E+13 - 96 9.848634627600001E+30 5.480627926400000E+33 8.258268859639461E+13 1.848402101040050E+07 1.299079638412652E-10 8.444593304058699E+03 4.277594716550000E+04 4.277594716550000E+04 1.860437665938600E-01 4.216119489748159E+03 5.485834657400000E+33 8.305097870039655E+13 1.377559000000000E-03 0.000000000000000E+00 6.917210000000000E-01 1.052540000000000E-01 1.519048000000000E-05 1.632343000000000E-01 6.088555000000000E-03 7.080989000000000E-07 4.982068000000000E-03 1.960240000000000E-02 3.221832000000000E-03 3.108376000000000E-04 1.124147000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.998972000000000E-05 0.000000000000000E+00 4.057690000000000E-03 7.249539299012000E+39 7.821402349453000E+13 3.274952535621000E+13 - 97 1.041222272840000E+31 5.491041388399999E+33 8.351926880439848E+13 1.869902101040050E+07 1.296091838154882E-10 8.367172807288900E+03 4.267756521708949E+04 4.267756521708949E+04 1.907437665938600E-01 4.192966106242700E+03 5.496493785600001E+33 8.399613709889031E+13 1.612118000000000E-03 0.000000000000000E+00 6.971712000000000E-01 1.045183000000000E-01 1.759459000000000E-05 1.590975000000000E-01 6.073186000000000E-03 8.201656000000000E-07 4.862380000000000E-03 1.902948000000000E-02 3.129983000000000E-03 3.022799000000000E-04 1.095669000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.995303000000000E-05 0.000000000000000E+00 4.054019000000000E-03 7.459424123764999E+39 7.811402349453000E+13 3.275067710868000E+13 - 98 1.090650909040000E+31 5.501946182800000E+33 8.447300539338214E+13 1.891396342277700E+07 1.302074326261344E-10 8.291493365719571E+03 4.258058464118079E+04 4.258058464118079E+04 1.908449183463300E-01 4.169267197763668E+03 5.507478148000000E+33 8.494632917688588E+13 1.696406000000000E-03 0.000000000000000E+00 6.991298000000000E-01 1.042539000000000E-01 1.845851000000000E-05 1.576110000000000E-01 6.067663000000000E-03 8.604365000000000E-07 4.819370000000000E-03 1.882360000000000E-02 3.096978000000000E-03 2.992048000000000E-04 1.085436000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.993985000000000E-05 0.000000000000000E+00 4.052699000000000E-03 7.669424123765000E+39 7.841517524700000E+13 3.295067710868000E+13 - 99 1.106322224480000E+31 5.513010113200000E+33 8.541965296038961E+13 1.912890583515350E+07 1.302074326261344E-10 8.215476497621437E+03 4.248265201410775E+04 4.248265201410775E+04 1.908449183463300E-01 4.145744445554332E+03 5.518576889400000E+33 8.588450999222605E+13 2.010318000000000E-03 0.000000000000000E+00 7.051430000000000E-01 1.034223000000000E-01 2.163681000000000E-05 1.530178000000000E-01 6.049629000000000E-03 1.008592000000000E-06 4.686586000000000E-03 1.818804000000000E-02 2.995089000000000E-03 2.897114000000000E-04 1.053843000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.989887000000000E-05 0.000000000000000E+00 4.047831000000000E-03 7.889308948517999E+39 7.841402349453000E+13 3.314952535621000E+13 - 100 1.113388459640000E+31 5.524143665600000E+33 8.634936702406248E+13 1.933890583515350E+07 1.305075917578498E-10 8.214454692448639E+03 4.248147961646399E+04 4.248147961646399E+04 1.910437665938600E-01 4.122565097205196E+03 5.529738290599999E+33 8.680570888908288E+13 2.063620000000000E-03 0.000000000000000E+00 7.061640000000000E-01 1.032810000000000E-01 2.217648000000000E-05 1.522378000000000E-01 6.046566000000000E-03 1.033749000000000E-06 4.664040000000000E-03 1.808013000000000E-02 2.977788000000000E-03 2.880994000000000E-04 1.048478000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.989192000000000E-05 0.000000000000000E+00 4.047004000000000E-03 8.099308948518000E+39 7.861517524700000E+13 3.325067710868000E+13 - 101 1.118831507600000E+31 5.535332915600000E+33 8.726205075410327E+13 1.954390583515350E+07 1.308084428278250E-10 8.139144119152385E+03 4.238377492462259E+04 4.238377492462259E+04 1.911449183463300E-01 4.099745802612503E+03 5.540853940200000E+33 8.770407201133533E+13 2.063620000000000E-03 0.000000000000000E+00 7.061640000000000E-01 1.032810000000000E-01 2.217648000000000E-05 1.522378000000000E-01 6.046566000000000E-03 1.033749000000000E-06 4.664040000000000E-03 1.808013000000000E-02 2.977788000000000E-03 2.880994000000000E-04 1.048478000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.989192000000000E-05 0.000000000000000E+00 4.047004000000000E-03 8.309308948517999E+39 7.881632699947000E+13 3.335067710868000E+13 - 102 1.104339588840000E+31 5.546374964800001E+33 8.814609326856742E+13 1.979884824753000E+07 1.302113237489345E-10 8.064523997342329E+03 4.228629494733676E+04 4.228629494733676E+04 1.909449183463300E-01 4.077766543323558E+03 5.554758448200001E+33 8.881339908434250E+13 2.468878000000000E-03 0.000000000000000E+00 7.126200000000000E-01 1.023637000000000E-01 2.622973000000000E-05 1.472702000000000E-01 6.025883000000000E-03 1.222689000000000E-06 4.520567000000000E-03 1.739349000000000E-02 2.867708000000000E-03 2.778427000000000E-04 1.014343000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.984731000000000E-05 0.000000000000000E+00 4.040776000000000E-03 8.519193773271000E+39 7.851517524700000E+13 3.335067710868000E+13 - 103 1.676635412640000E+31 5.563141931600000E+33 8.948070490011761E+13 2.010384824753000E+07 1.305075917578498E-10 7.990587996921068E+03 4.218903916777715E+04 4.218903916777715E+04 1.910449183463300E-01 4.044492204600503E+03 5.571970995800000E+33 9.014876518513588E+13 2.479266000000000E-03 0.000000000000000E+00 7.127855000000000E-01 1.023402000000000E-01 2.633363000000000E-05 1.471429000000000E-01 6.025352000000000E-03 1.227532000000000E-06 4.516889000000000E-03 1.737589000000000E-02 2.864886000000000E-03 2.775798000000000E-04 1.013468000000000E-04 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.984617000000000E-05 0.000000000000000E+00 4.040617000000000E-03 8.829193773270999E+39 7.851517524700000E+13 3.335067710868000E+13 - 104 1.765824775200000E+31 5.580800060000000E+33 9.081682547015412E+13 2.037384824753000E+07 1.290136837084467E-10 7.845719145861835E+03 4.199635711778005E+04 4.199635711778005E+04 1.906460700988000E-01 4.011630304094290E+03 5.587589199600000E+33 9.132762899555362E+13 3.104324000000000E-03 0.000000000000000E+00 7.209510000000000E-01 1.011400000000000E-01 3.250084000000000E-05 1.407998000000000E-01 5.997034000000000E-03 1.515015000000000E-06 4.333908000000000E-03 1.650030000000000E-02 2.724511000000000E-03 2.645000000000000E-04 9.699353999999999E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.978875000000000E-05 0.000000000000000E+00 4.031108000000000E-03 9.149078598024000E+39 7.771402349453000E+13 3.324952535621000E+13 - 105 1.357841645480000E+31 5.594378339199999E+33 9.183843252095312E+13 2.060890583515350E+07 1.290136837084467E-10 7.772822290350505E+03 4.189861186497885E+04 4.189861186497885E+04 1.949460700988000E-01 3.985937150326271E+03 5.601584216200000E+33 9.237463883877405E+13 3.109868000000000E-03 0.000000000000000E+00 7.210095000000000E-01 1.011310000000000E-01 3.255470000000000E-05 1.407538000000000E-01 5.996811000000000E-03 1.517525000000000E-06 4.332584000000000E-03 1.649397000000000E-02 2.723495000000000E-03 2.644053000000000E-04 9.696204000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.978833000000000E-05 0.000000000000000E+00 4.031025000000000E-03 9.388963422777000E+39 7.761402349453000E+13 3.315067710868000E+13 - 106 1.441209614240000E+31 5.608790093200000E+33 9.291084515659494E+13 2.084390583515350E+07 1.278308791466206E-10 7.701560627253885E+03 4.180224773176583E+04 4.180224773176583E+04 1.946472218512700E-01 3.959254470192826E+03 5.615874629000000E+33 9.341743288535817E+13 3.827858000000000E-03 0.000000000000000E+00 7.285775000000000E-01 9.996972000000000E-02 3.952863000000000E-05 1.348006000000000E-01 5.967939000000000E-03 1.842613000000000E-06 4.161109000000000E-03 1.567359000000000E-02 2.591968000000000E-03 2.521496000000000E-04 9.288269000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.973388000000000E-05 0.000000000000000E+00 4.020231000000000E-03 9.648963422777000E+39 7.701287174206000E+13 3.314952535621000E+13 - 107 1.416737282320000E+31 5.622959164800000E+33 9.392402061412142E+13 2.107884824753000E+07 1.275368762830766E-10 7.630952295011509E+03 4.170610522990892E+04 4.170610522990892E+04 1.946460700988000E-01 3.934103798727329E+03 5.630376891600000E+33 9.444025484297742E+13 3.876744000000000E-03 0.000000000000000E+00 7.289979000000000E-01 9.990208000000000E-02 3.999612000000000E-05 1.344651000000000E-01 5.966167000000000E-03 1.864404000000000E-06 4.151461000000000E-03 1.562744000000000E-02 2.584569000000000E-03 2.514601000000000E-04 9.265317999999999E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.973077000000000E-05 0.000000000000000E+00 4.019504000000000E-03 9.898848247530000E+39 7.691171998959000E+13 3.304952535621000E+13 - 108 1.483683410480000E+31 5.637794618400000E+33 9.495648907183342E+13 2.134884824753000E+07 1.263676111731090E-10 7.560991303850158E+03 4.161018384967023E+04 4.161018384967023E+04 1.942472218512700E-01 3.908761194612620E+03 5.647585460800000E+33 9.563428143411222E+13 4.647231000000000E-03 0.000000000000000E+00 7.356234000000000E-01 9.883594000000000E-02 4.736410000000000E-05 1.291769000000000E-01 5.938235000000000E-03 2.207860000000000E-06 3.999400000000000E-03 1.490009000000000E-02 2.467954000000000E-03 2.405935000000000E-04 8.903590000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.968184000000000E-05 0.000000000000000E+00 4.008055000000000E-03 1.019884824753000E+40 7.611056823712000E+13 3.294952535621000E+13 - 109 1.958178823840000E+31 5.657376303199999E+33 9.631207379639103E+13 2.169379065990650E+07 1.254977026566311E-10 7.491671718911192E+03 4.151448308248421E+04 4.151448308248421E+04 1.940472218512700E-01 3.875750554708823E+03 5.669947052600000E+33 9.717152639215859E+13 4.745619000000000E-03 0.000000000000000E+00 7.363452000000000E-01 9.871479000000000E-02 4.829347000000000E-05 1.285930000000000E-01 5.934924000000000E-03 2.251183000000000E-06 3.982635000000000E-03 1.481991000000000E-02 2.455099000000000E-03 2.393956000000000E-04 8.863710000000001E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.967638000000000E-05 0.000000000000000E+00 4.006606000000000E-03 1.049884824753000E+40 7.561056823712000E+13 3.274837360374000E+13 - 110 2.514036495600000E+31 5.682517802000000E+33 9.803097898792614E+13 2.206379065990650E+07 1.232071114368812E-10 7.354933299822008E+03 4.132374135885304E+04 4.132374135885304E+04 1.933472218512700E-01 3.834804700495653E+03 5.694537543000000E+33 9.884307790984673E+13 5.851036000000000E-03 0.000000000000000E+00 7.439444000000000E-01 9.741540999999999E-02 5.867489000000000E-05 1.224075000000000E-01 5.898792000000000E-03 2.735109000000000E-06 3.805162000000000E-03 1.397123000000000E-02 2.319027000000000E-03 2.267154000000000E-04 8.441565000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.961830000000000E-05 0.000000000000000E+00 3.990400000000000E-03 1.099884824753000E+40 7.420826473218000E+13 3.234837360374000E+13 - 111 2.403944221600000E+31 5.706557284000000E+33 9.965517683176734E+13 2.240379065990650E+07 1.204025751825707E-10 7.220690638149455E+03 4.113387601383569E+04 4.113387601383569E+04 1.925472218512700E-01 3.797151969990961E+03 5.717522749000000E+33 1.003891763589626E+14 6.905274000000000E-03 0.000000000000000E+00 7.498231000000000E-01 9.634212000000000E-02 6.840493000000000E-05 1.175142000000000E-01 5.867210000000000E-03 3.188671000000000E-06 3.665098000000000E-03 1.330164000000000E-02 2.211667000000000E-03 2.167103000000000E-04 8.108433999999999E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.957162000000000E-05 0.000000000000000E+00 3.975142000000000E-03 1.139884824753000E+40 7.260480947477000E+13 3.174837360374000E+13 - 112 2.193234233200000E+31 5.728488214000000E+33 1.011231758861579E+14 2.273379065990650E+07 1.179331166087460E-10 7.154490948466661E+03 4.103927072427291E+04 4.103927072427291E+04 1.917472218512700E-01 3.763956766237455E+03 5.740098179800000E+33 1.018894008516455E+14 7.452147000000000E-03 0.000000000000000E+00 7.525421000000000E-01 9.582557000000000E-02 7.340433000000000E-05 1.152186000000000E-01 5.851531000000000E-03 3.421716000000000E-06 3.599488000000000E-03 1.298803000000000E-02 2.161383000000000E-03 2.120241000000000E-04 7.952391000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.954951000000000E-05 0.000000000000000E+00 3.967282000000000E-03 1.179884824753000E+40 7.100365772230000E+13 3.114722185127000E+13 - 113 2.321851926800000E+31 5.751708145600000E+33 1.026556258171332E+14 2.307379065990650E+07 1.160474964800288E-10 7.023906772012197E+03 4.085071240309712E+04 4.085071240309712E+04 1.981506771086800E-01 3.728719447765625E+03 5.763955650000000E+33 1.034526524697013E+14 7.948410000000000E-03 0.000000000000000E+00 7.546819000000000E-01 9.539681000000000E-02 7.788402000000000E-05 1.133758000000000E-01 5.838012000000000E-03 3.630535000000000E-06 3.546923000000000E-03 1.273685000000000E-02 2.121106000000000E-03 2.082703000000000E-04 7.827384000000001E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.953153000000000E-05 0.000000000000000E+00 3.960217000000000E-03 1.219884824753000E+40 6.990135421736000E+13 3.074607009880000E+13 - 114 2.449550610000000E+31 5.776203154400000E+33 1.042496791222696E+14 2.340373307228300E+07 1.141886206628069E-10 6.895706025387131E+03 4.066302042871210E+04 4.066302042871210E+04 1.975506771086800E-01 3.692761920380701E+03 5.787420253199999E+33 1.049692320923227E+14 9.420783000000000E-03 0.000000000000000E+00 7.607274000000001E-01 9.416192000000000E-02 9.111489000000000E-05 1.081309000000000E-01 5.798569000000000E-03 4.247287000000000E-06 3.397424000000000E-03 1.202252000000000E-02 2.006564000000000E-03 1.975950000000000E-04 7.471864000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.948012000000000E-05 0.000000000000000E+00 3.939323000000000E-03 1.269884824753000E+40 6.879905071242000E+13 3.044491834633000E+13 - 115 2.243342181200000E+31 5.798637352000000E+33 1.056887850623758E+14 2.370373307228300E+07 1.126218940522507E-10 6.832485812543085E+03 4.056949807694383E+04 4.056949807694383E+04 1.969506771086800E-01 3.660842213317558E+03 5.809325323600000E+33 1.063672136232389E+14 1.027863000000000E-02 0.000000000000000E+00 7.636500000000001E-01 9.351605000000000E-02 9.869933999999999E-05 1.055150000000000E-01 5.776913000000000E-03 4.600834000000000E-06 3.323081000000000E-03 1.166743000000000E-02 1.949624000000000E-03 1.922879000000000E-04 7.295090999999999E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.945399000000000E-05 0.000000000000000E+00 3.927295000000000E-03 1.309884824753000E+40 6.779789895995000E+13 3.014376659386000E+13 - 116 2.137650017600000E+31 5.820013295200001E+33 1.070456421841019E+14 2.399873307228300E+07 1.108211944992684E-10 6.707778892177413E+03 4.038309816502227E+04 4.038309816502227E+04 1.963506771086800E-01 3.631318201673040E+03 5.831021527999999E+33 1.077377627573395E+14 1.124199000000000E-02 0.000000000000000E+00 7.666495000000000E-01 9.282565000000000E-02 1.071455000000000E-04 1.027843000000000E-01 5.753234000000000E-03 4.994550000000000E-06 3.245597000000000E-03 1.129740000000000E-02 1.890287000000000E-03 1.867572000000000E-04 7.110858000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.942646000000000E-05 0.000000000000000E+00 3.913869000000000E-03 1.349884824753000E+40 6.669559545501000E+13 2.974376659386000E+13 - 117 2.201736074000000E+31 5.842029760799999E+33 1.084298833305770E+14 2.429373307228300E+07 1.090492861409947E-10 6.646281605646833E+03 4.029021961659520E+04 4.029021961659520E+04 1.957506771086800E-01 3.601770476668473E+03 5.852897755000000E+33 1.091093482276184E+14 1.220706000000000E-02 0.000000000000000E+00 7.693859000000000E-01 9.216728000000000E-02 1.155352000000000E-04 1.002455000000000E-01 5.730127000000000E-03 5.385629000000000E-06 3.173679000000000E-03 1.095403000000000E-02 1.835223000000000E-03 1.816245000000000E-04 6.939869000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.940059000000000E-05 0.000000000000000E+00 3.900502000000000E-03 1.389884824753000E+40 6.569329195007000E+13 2.934376659386000E+13 - 118 2.173491423200000E+31 5.863765749200000E+33 1.097888131246597E+14 2.457373307228300E+07 1.068126836910720E-10 6.524973295075297E+03 4.010510287264155E+04 4.010510287264155E+04 1.949506771086800E-01 3.573474095902363E+03 5.874152357000000E+33 1.104352268676465E+14 1.393432000000000E-02 0.000000000000000E+00 7.735661000000000E-01 9.107830000000000E-02 1.303309000000000E-04 9.622664000000000E-02 5.690449000000000E-03 6.075325000000000E-06 3.060179000000000E-03 1.041232000000000E-02 1.748351000000000E-03 1.735265000000000E-04 6.670049000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.935888000000000E-05 0.000000000000000E+00 3.876834000000000E-03 1.420000000000000E+40 6.439214019760000E+13 2.894261484139000E+13 - 119 2.077440912000000E+31 5.884538964800000E+33 1.110816406106332E+14 2.484367548465950E+07 1.048631325021542E-10 6.465151980332862E+03 4.001286369564460E+04 4.001286369564460E+04 1.941506771086800E-01 3.547153926456088E+03 5.894486954000000E+33 1.116988529514433E+14 1.542783000000000E-02 0.000000000000000E+00 7.767676999999999E-01 9.018849000000000E-02 1.429776000000000E-04 9.305350000000000E-02 5.657132000000000E-03 6.664851000000000E-06 2.970785000000000E-03 9.985805000000000E-03 1.679948000000000E-03 1.671498000000000E-04 6.457553999999999E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.932546000000000E-05 0.000000000000000E+00 3.856539000000000E-03 1.460000000000000E+40 6.309098844513000E+13 2.844261484139000E+13 - 120 1.989448650000000E+31 5.904434943200000E+33 1.123160652922535E+14 2.510867548465950E+07 1.027123881244455E-10 6.347149658003325E+03 3.982902128639281E+04 3.982902128639281E+04 1.933518288611500E-01 3.522639461932865E+03 5.914711150400000E+33 1.129485715944968E+14 1.676063000000000E-02 0.000000000000000E+00 7.792340000000000E-01 8.944371000000000E-02 1.541106000000000E-04 9.050738000000000E-02 5.628358000000000E-03 7.183808000000000E-06 2.899282000000000E-03 9.644784000000000E-03 1.625254000000000E-03 1.620507000000000E-04 6.287607000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.929814000000000E-05 0.000000000000000E+00 3.838606000000000E-03 1.500000000000000E+40 6.188868494019000E+13 2.804146308892000E+13 - 121 2.055321008000000E+31 5.924987357600000E+33 1.135810778967401E+14 2.537873307228300E+07 1.013031213273312E-10 6.288958640164933E+03 3.973741707942399E+04 3.973741707942399E+04 2.009518288611500E-01 3.496888342366021E+03 5.936038358199999E+33 1.142512930007579E+14 1.818130000000000E-02 0.000000000000000E+00 7.815797000000000E-01 8.868582000000000E-02 1.658527000000000E-04 8.800015999999999E-02 5.598398000000000E-03 7.731164000000000E-06 2.829051000000000E-03 9.309939999999999E-03 1.571549000000000E-03 1.570436000000000E-04 6.120701000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.927084000000000E-05 0.000000000000000E+00 3.819635000000000E-03 1.530000000000000E+40 6.098753318772000E+13 2.774146308892000E+13 - 122 2.210162325200000E+31 5.947089358799999E+33 1.149215081047756E+14 2.565873307228300E+07 1.003743687284676E-10 6.174172208719695E+03 3.955484023241576E+04 3.955484023241576E+04 2.007506771086800E-01 3.469879211809458E+03 5.958328338800000E+33 1.155942272067774E+14 1.968343000000000E-02 0.000000000000000E+00 7.837777000000000E-01 8.792052000000000E-02 1.781317000000000E-04 8.555490000000000E-02 5.567447000000000E-03 8.303543000000000E-06 2.760748000000000E-03 8.984400999999999E-03 1.519334000000000E-03 1.521751000000000E-04 5.958391000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.924379000000000E-05 0.000000000000000E+00 3.799734000000000E-03 1.570000000000000E+40 6.048638143525000E+13 2.764031133645000E+13 - 123 2.247907395200000E+31 5.969567318800000E+33 1.162669463087793E+14 2.593873307228300E+07 9.945117246169967E-11 6.117567057668589E+03 3.946386662437207E+04 3.946386662437207E+04 2.007449183463300E-01 3.443019321327713E+03 5.981057932600000E+33 1.169478284810355E+14 2.119060000000000E-02 0.000000000000000E+00 7.857351000000000E-01 8.718457000000000E-02 1.903194000000000E-04 8.328209000000000E-02 5.537045000000000E-03 8.871669000000000E-06 2.697443000000000E-03 8.682791000000000E-03 1.470956000000000E-03 1.476640000000000E-04 5.807975000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.921824000000000E-05 0.000000000000000E+00 3.779919000000000E-03 1.610115175247000E+40 5.988522968278000E+13 2.744031133645000E+13 - 124 2.298017332400000E+31 5.992548546400000E+33 1.176287106532918E+14 2.621873307228300E+07 9.808665122094592E-11 6.005908875152966E+03 3.928254662753809E+04 3.928254662753809E+04 2.007391595839800E-01 3.416207318677828E+03 6.004265929000000E+33 1.183208576164509E+14 2.275471000000000E-02 0.000000000000000E+00 7.875404000000000E-01 8.645012000000001E-02 2.028350000000000E-04 8.108795000000001E-02 5.506106000000000E-03 9.455079000000000E-06 2.636504000000000E-03 8.392564000000000E-03 1.424401000000000E-03 1.433227000000000E-04 5.663197000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.919319000000000E-05 0.000000000000000E+00 3.759510000000000E-03 1.650115175247000E+40 5.908292617784000E+13 2.714031133645000E+13 - 125 2.343566034000000E+31 6.015983311599999E+33 1.190130045796100E+14 2.650867548465950E+07 9.629636807388228E-11 5.950846371616532E+03 3.919219927740716E+04 3.919219927740716E+04 2.006299455642200E-01 3.389463845521448E+03 6.028557044799999E+33 1.197483035010838E+14 2.557572000000000E-02 0.000000000000000E+00 7.902967000000000E-01 8.519079000000000E-02 2.250861000000000E-04 7.749369000000000E-02 5.451693000000000E-03 1.049231000000000E-05 2.537091000000000E-03 7.919351999999999E-03 1.348489000000000E-03 1.362432000000000E-04 5.427050000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.915124000000000E-05 0.000000000000000E+00 3.723072000000000E-03 1.690115175247000E+40 5.788177442537001E+13 2.673915958398000E+13 - 126 2.514581536400000E+31 6.041130777999999E+33 1.204836024225574E+14 2.681861789703600E+07 9.497231350278104E-11 5.842231184562477E+03 3.901212747865170E+04 3.901212747865170E+04 2.005241868018700E-01 3.361458481157182E+03 6.055142702800000E+33 1.213047756675378E+14 2.560439000000000E-02 0.000000000000000E+00 7.903208000000000E-01 8.517851000000000E-02 2.253095000000000E-04 7.746003999999999E-02 5.451151000000000E-03 1.050272000000000E-05 2.536164000000000E-03 7.914941000000000E-03 1.347781000000000E-03 1.361772000000000E-04 5.424848000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.915084000000000E-05 0.000000000000000E+00 3.722705000000000E-03 1.740115175247000E+40 5.717947092043001E+13 2.633915958398000E+13 - 127 2.802396895200000E+31 6.069154627600000E+33 1.221259489125182E+14 2.712861789703600E+07 9.217431260754641E-11 5.787955829630898E+03 3.892133037109394E+04 3.892133037109394E+04 2.002138210296400E-01 3.331150939603086E+03 6.082745836600000E+33 1.229274163000014E+14 2.908491000000000E-02 0.000000000000000E+00 7.929967000000000E-01 8.372093999999999E-02 2.522158000000000E-04 7.355112000000000E-02 5.386137000000000E-03 1.175695000000000E-05 2.428692000000000E-03 7.403758000000000E-03 1.265770000000000E-03 1.285280000000000E-04 5.169613000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.910379000000000E-05 0.000000000000000E+00 3.678381000000000E-03 1.800115175247000E+40 5.557601566302001E+13 2.583685607904000E+13 - 128 2.718371098000000E+31 6.096337045600000E+33 1.237288836874846E+14 2.741861789703600E+07 8.924769685681600E-11 5.682313730030672E+03 3.874250310191543E+04 3.874250310191543E+04 1.998023035049400E-01 3.302568838557565E+03 6.109156444999999E+33 1.244810099768240E+14 3.227876000000000E-02 0.000000000000000E+00 7.949190000000000E-01 8.245515000000000E-02 2.764491000000000E-04 7.034996000000000E-02 5.328108000000000E-03 1.288657000000000E-05 2.341205000000000E-03 6.987962000000000E-03 1.199057000000000E-03 1.223047000000000E-04 4.961890000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.906408000000000E-05 0.000000000000000E+00 3.638236000000000E-03 1.860115175247000E+40 5.377371215808001E+13 2.513570432657000E+13 - 129 2.563852031200000E+31 6.121975844400000E+33 1.252331362661634E+14 2.769861789703600E+07 8.741722529204262E-11 5.579287467080402E+03 3.856555934817215E+04 3.856555934817215E+04 2.079953929901200E-01 3.275219201706874E+03 6.135006098999999E+33 1.259955068141417E+14 3.276228000000000E-02 0.000000000000000E+00 7.951362000000000E-01 8.227365000000000E-02 2.800437000000000E-04 6.991855000000000E-02 5.319563000000000E-03 1.305413000000000E-05 2.329494000000000E-03 6.932355000000000E-03 1.190134000000000E-03 1.214722000000000E-04 4.934093000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.905855000000000E-05 0.000000000000000E+00 3.632244000000000E-03 1.920000000000000E+40 5.267140865314001E+13 2.463570432657000E+13 - 130 2.606094682400000E+31 6.148036353600000E+33 1.267578773621201E+14 2.799361789703600E+07 8.562176115967057E-11 5.477453994323332E+03 3.838836669836233E+04 3.838836669836233E+04 2.076988482475300E-01 3.248105061688262E+03 6.163032932399999E+33 1.276275927951725E+14 3.627512000000000E-02 0.000000000000000E+00 7.967144000000000E-01 8.095498000000000E-02 3.061585000000000E-04 6.678436000000000E-02 5.257480000000000E-03 1.427147000000000E-05 2.244417000000000E-03 6.528368000000000E-03 1.125309000000000E-03 1.154242000000000E-04 4.732142000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.901837000000000E-05 0.000000000000000E+00 3.588711000000000E-03 1.980000000000000E+40 5.156910514820000E+13 2.433340082163000E+13 - 131 2.999204364800000E+31 6.178029511200000E+33 1.284973082282249E+14 2.831856030941250E+07 8.425276387594302E-11 5.377479191913539E+03 3.821198817482682E+04 3.821198817482682E+04 2.072069105148200E-01 3.217739687664980E+03 6.194417535400000E+33 1.294492662437318E+14 3.693887000000000E-02 0.000000000000000E+00 7.969398000000000E-01 8.071597000000000E-02 3.110112000000000E-04 6.624457000000000E-02 5.245998000000000E-03 1.449767000000000E-05 2.229850000000000E-03 6.459256000000000E-03 1.114218000000000E-03 1.143893000000000E-04 4.697574000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.901126000000000E-05 0.000000000000000E+00 3.580580000000000E-03 2.050115175247000E+40 5.076680164326000E+13 2.393340082163000E+13 - 132 3.277608818400000E+31 6.210805559600000E+33 1.304012242592388E+14 2.865350272178900E+07 8.176573123192848E-11 5.279329135293896E+03 3.803642003699514E+04 3.803642003699514E+04 2.066172762870500E-01 3.185575603360326E+03 6.227016544999999E+33 1.313493766652959E+14 4.177754000000000E-02 0.000000000000000E+00 7.983396000000000E-01 7.900826000000000E-02 3.460681000000000E-04 6.248373000000000E-02 5.163178000000000E-03 1.613184000000000E-05 2.128674000000000E-03 5.979402000000000E-03 1.037207000000000E-03 1.072030000000000E-04 4.457496000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.896100000000000E-05 0.000000000000000E+00 3.521671000000000E-03 2.140000000000000E+40 4.926449813832000E+13 2.343224906916000E+13 - 133 3.242236864000000E+31 6.243227530399999E+33 1.322975290713529E+14 2.898344513416550E+07 7.880818489916962E-11 5.182970519100263E+03 3.786165856148314E+04 3.786165856148314E+04 2.058276420592800E-01 3.154816708328172E+03 6.259019789200000E+33 1.332380518190313E+14 4.611983000000000E-02 0.000000000000000E+00 7.990718000000000E-01 7.755078000000000E-02 3.768126000000000E-04 5.948398000000000E-02 5.090785000000000E-03 1.756498000000000E-05 2.048664000000000E-03 5.600384000000000E-03 9.763716000000000E-04 1.015249000000000E-04 4.267707000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.891930000000000E-05 0.000000000000000E+00 3.469617000000000E-03 2.220000000000000E+40 4.746334638585000E+13 2.273109731669000E+13 - 134 3.158491543999999E+31 6.274812048000000E+33 1.341785745667097E+14 2.929844513416550E+07 7.526123229651355E-11 5.088370645859877E+03 3.768770004201408E+04 3.768770004201408E+04 2.048368560790400E-01 3.125818722379553E+03 6.289504279200000E+33 1.350691359952914E+14 5.100808000000000E-02 0.000000000000000E+00 7.993958000000000E-01 7.598470000000000E-02 4.106305000000000E-04 5.646283000000000E-02 5.011359000000000E-03 1.914139000000000E-05 1.968804000000000E-03 5.222492000000000E-03 9.157088000000001E-04 9.586191000000001E-05 4.078336000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.887590000000000E-05 0.000000000000000E+00 3.411978000000000E-03 2.300000000000000E+40 4.535989112844000E+13 2.183109731669000E+13 - 135 2.938497959200000E+31 6.304196510399999E+33 1.359596974238731E+14 2.958344513416550E+07 7.203960535256682E-11 4.995497414896212E+03 3.751454078934020E+04 3.751454078934020E+04 2.039449183463300E-01 3.099650828684737E+03 6.316817984400000E+33 1.367387225435791E+14 5.283310000000000E-02 0.000000000000000E+00 7.994297000000000E-01 7.541258000000001E-02 4.231045000000000E-04 5.539719000000000E-02 4.982030000000000E-03 1.972286000000000E-05 1.940772000000000E-03 5.089967000000000E-03 8.944324000000000E-04 9.387541000000001E-05 4.011881000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.886014000000000E-05 0.000000000000000E+00 3.390602000000000E-03 2.380000000000000E+40 4.335643587103000E+13 2.092879381175000E+13 - 136 2.524211253600000E+31 6.329439458399999E+33 1.375177476632850E+14 2.982838754654200E+07 6.895588314189727E-11 4.904319311436017E+03 3.734217713116410E+04 3.734217713116410E+04 2.030506771086800E-01 3.077836132257430E+03 6.339606259600001E+33 1.381546476905256E+14 5.491474000000000E-02 0.000000000000000E+00 7.993630000000000E-01 7.477646000000000E-02 4.371351000000000E-04 5.425598000000000E-02 4.949068000000000E-03 2.037689000000000E-05 1.910925000000000E-03 4.948957000000000E-03 8.717920000000000E-04 9.176133000000000E-05 3.941139000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.884297000000000E-05 0.000000000000000E+00 3.366468000000000E-03 2.449884824753000E+40 4.155413236609000E+13 2.012764205928000E+13 - 137 2.033286639600000E+31 6.349773060800000E+33 1.387915477177660E+14 3.003838754654200E+07 6.661292782166749E-11 4.858757322716815E+03 3.725526667811908E+04 3.725526667811908E+04 2.166403113364500E-01 3.059454293487160E+03 6.359265523200000E+33 1.393820592796068E+14 6.099373000000000E-02 0.000000000000000E+00 7.988717000000000E-01 7.296538000000000E-02 4.774821000000000E-04 5.113221000000000E-02 4.854200000000000E-03 2.225766000000000E-05 1.829733000000000E-03 4.565692000000000E-03 8.102493000000000E-04 8.601385000000000E-05 3.748745000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.879482000000000E-05 0.000000000000000E+00 3.296711000000000E-03 2.500000000000000E+40 4.015182886115000E+13 1.962649030681000E+13 - 138 1.898495662720000E+31 6.368757985600000E+33 1.399725708414476E+14 3.024338754654200E+07 6.585235716307236E-11 4.770662994715138E+03 3.708511539193623E+04 3.708511539193623E+04 2.161449183463300E-01 3.042644398606498E+03 6.378414557000000E+33 1.405724598881985E+14 6.216291000000000E-02 0.000000000000000E+00 7.987320000000000E-01 7.262414000000000E-02 4.851466000000000E-04 5.056325000000000E-02 4.836166000000000E-03 2.261493000000000E-05 1.815027000000000E-03 4.496327000000000E-03 7.991099000000000E-04 8.497340000000000E-05 3.713905000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.878586000000000E-05 0.000000000000000E+00 3.283404000000000E-03 2.550000000000000E+40 3.965182886115000E+13 1.942649030681000E+13 - 139 1.931450341280000E+31 6.388071128400000E+33 1.411723489349493E+14 3.045338754654200E+07 6.494691436414201E-11 4.726342696678775E+03 3.699880322624170E+04 3.699880322624170E+04 2.155495253562100E-01 3.025848727078071E+03 6.397776435200000E+33 1.417703787452311E+14 6.599466000000000E-02 0.000000000000000E+00 7.980983000000000E-01 7.153442000000000E-02 5.098399000000000E-04 4.882179000000000E-02 4.777960000000000E-03 2.376600000000000E-05 1.770340000000000E-03 4.285770000000000E-03 7.652925000000001E-04 8.181423000000000E-05 3.608073000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.875771000000000E-05 0.000000000000000E+00 3.240282000000000E-03 2.599884824753000E+40 3.905182886115000E+13 1.922649030681000E+13 - 140 1.940982985520000E+31 6.407481741999999E+33 1.423684085555129E+14 3.065838754654200E+07 6.435147747420681E-11 4.683011326379982E+03 3.691370834017947E+04 3.691370834017947E+04 2.150541323660900E-01 3.009296721324107E+03 6.416994096400000E+33 1.429501341561412E+14 6.702814999999999E-02 0.000000000000000E+00 7.979274000000000E-01 7.124050000000000E-02 5.165000000000000E-04 4.835209000000000E-02 4.762260000000000E-03 2.407646000000000E-05 1.758288000000000E-03 4.228979000000000E-03 7.561714000000000E-04 8.096215000000000E-05 3.579528000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.875011000000000E-05 0.000000000000000E+00 3.228651000000000E-03 2.649884824753000E+40 3.875067710868000E+13 1.902764205928000E+13 - 141 1.902494352560000E+31 6.426506450800000E+33 1.435318597567695E+14 3.089838754654200E+07 6.376337922360991E-11 4.598103456235316E+03 3.674511701036492E+04 3.674511701036492E+04 2.145575876235000E-01 2.993379934626356E+03 6.439469072600000E+33 1.443276237698998E+14 6.702824000000000E-02 0.000000000000000E+00 7.979273000000000E-01 7.124047999999999E-02 5.165006000000000E-04 4.835205000000000E-02 4.762259000000000E-03 2.407649000000000E-05 1.758287000000000E-03 4.228974000000000E-03 7.561707000000000E-04 8.096207999999999E-05 3.579526000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.875011000000000E-05 0.000000000000000E+00 3.228650000000000E-03 2.699884824753000E+40 3.844952535621000E+13 1.892649030681000E+13 - 142 2.592554198000000E+31 6.452431694399999E+33 1.451233877830302E+14 3.118338754654200E+07 6.231011065596897E-11 4.555386266652208E+03 3.665959615936189E+04 3.665959615936189E+04 2.137621946333800E-01 2.972181840677508E+03 6.466560981999999E+33 1.460011184081916E+14 7.134930000000000E-02 0.000000000000000E+00 7.969986999999999E-01 7.004705000000000E-02 5.437908000000000E-04 4.653740000000000E-02 4.697759000000000E-03 2.534861000000000E-05 1.712139000000000E-03 4.011812000000000E-03 7.212872000000000E-04 7.770260000000000E-05 3.470273000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.871983000000000E-05 0.000000000000000E+00 3.180658000000000E-03 2.769884824753000E+40 3.754837360374000E+13 1.852649030681000E+13 - 143 2.825861498400000E+31 6.480690269599999E+33 1.468788490333530E+14 3.144838754654200E+07 6.019473716915143E-11 4.472792371692168E+03 3.649116061494809E+04 3.649216540409844E+04 2.127668016432600E-01 2.949699174664599E+03 6.491704469999999E+33 1.475667805494754E+14 7.671566000000000E-02 0.000000000000000E+00 7.956231000000000E-01 6.860292000000000E-02 5.770397999999999E-04 4.443776000000000E-02 4.618924000000000E-03 2.689850000000000E-05 1.659199000000000E-03 3.762993000000000E-03 6.813126000000000E-04 7.396663999999999E-05 3.344984000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.868376000000000E-05 0.000000000000000E+00 3.121793000000000E-03 2.839884824753000E+40 3.624607009880000E+13 1.802533855434000E+13 - 144 2.202834112400000E+31 6.502718670399999E+33 1.482547120655979E+14 3.168338754654200E+07 5.855426346727620E-11 4.431239344117645E+03 3.632449913412750E+04 3.640723327449273E+04 2.118702569006700E-01 2.932630552983685E+03 6.513588653800000E+33 1.489376985005082E+14 7.680555000000000E-02 0.000000000000000E+00 7.955985000000000E-01 6.857899000000001E-02 5.775923000000000E-04 4.440366000000000E-02 4.617612000000000E-03 2.692425000000000E-05 1.658342000000000E-03 3.758970000000000E-03 6.806662000000000E-04 7.390623000000000E-05 3.342958000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.868316000000000E-05 0.000000000000000E+00 3.120812000000000E-03 2.889884824753000E+40 3.524607009880000E+13 1.752533855434000E+13 - 145 2.173905176800000E+31 6.524458637200000E+33 1.496206849354185E+14 3.191838754654200E+07 5.708980012476803E-11 4.350360111116731E+03 3.623995723221085E+04 3.623995723221085E+04 2.207656498907900E-01 2.915414815751107E+03 6.535382328999999E+33 1.503058411154404E+14 8.155376000000000E-02 0.000000000000000E+00 7.941809000000000E-01 6.733628000000000E-02 6.063864000000000E-04 4.268408000000000E-02 4.549060000000000E-03 2.826648000000000E-05 1.615415000000000E-03 3.557508000000000E-03 6.482945000000000E-04 7.088006000000000E-05 3.241410000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.865264000000000E-05 0.000000000000000E+00 3.069442000000000E-03 2.949884824753000E+40 3.444376659386000E+13 1.722418680187000E+13 - 146 2.184726424800000E+31 6.546306020800000E+33 1.509909972954624E+14 3.215338754654200E+07 5.617699734845503E-11 4.310475769881692E+03 3.607344975353034E+04 3.615660764350333E+04 2.200691051482000E-01 2.898474126830089E+03 6.556998965400000E+33 1.516544127560026E+14 8.640918000000000E-02 0.000000000000000E+00 7.925651000000000E-01 6.609545999999999E-02 6.352623000000000E-04 4.103949000000000E-02 4.480023000000000E-03 2.961252000000000E-05 1.574734000000000E-03 3.366848000000000E-03 6.176535000000000E-04 6.801503999999999E-05 3.145213000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.862259000000000E-05 0.000000000000000E+00 3.017562000000000E-03 2.999884824753000E+40 3.384376659386000E+13 1.702418680187000E+13 - 147 2.138746066800000E+31 6.567691909999999E+33 1.523178282165428E+14 3.238338754654200E+07 5.579192227433288E-11 4.231800720518845E+03 3.599048312139686E+04 3.599048312139686E+04 2.193725604056100E-01 2.882234972936995E+03 6.578518131000000E+33 1.529885409593302E+14 8.652701000000000E-02 0.000000000000000E+00 7.925222000000000E-01 6.606604000000001E-02 6.359493000000000E-04 4.100212000000000E-02 4.478372000000000E-03 2.964454000000000E-05 1.573819000000000E-03 3.362562000000000E-03 6.169646000000000E-04 6.795061000000000E-05 3.143049000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.862189000000000E-05 0.000000000000000E+00 3.016319000000000E-03 3.049884824753000E+40 3.364261484139000E+13 1.692418680187000E+13 - 148 2.165154686000000E+31 6.589344351999999E+33 1.536592537021174E+14 3.266338754654200E+07 5.489825277044616E-11 4.193003338310288E+03 3.582512187213715E+04 3.590770730722213E+04 2.186748639105500E-01 2.866131538724314E+03 6.604585602400000E+33 1.545936343358670E+14 9.140109000000000E-02 0.000000000000000E+00 7.907458000000001E-01 6.484906999999999E-02 6.643641000000000E-04 3.945624000000000E-02 4.410113000000000E-03 3.096909000000000E-05 1.535941000000000E-03 3.185296000000000E-03 5.884712000000000E-04 6.528574999999999E-05 3.053519000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.859281000000000E-05 0.000000000000000E+00 2.964893000000000E-03 3.099769649506000E+40 3.304261484139000E+13 1.672418680187000E+13 - 149 3.048321691200000E+31 6.619826852799999E+33 1.555280149696166E+14 3.303338754654200E+07 5.439494256375599E-11 4.116472402462064E+03 3.574272637828196E+04 3.574272637828196E+04 2.177783191679600E-01 2.843994351112019E+03 6.638970913600000E+33 1.567131481651797E+14 9.203222000000000E-02 0.000000000000000E+00 7.904938000000000E-01 6.469571000000000E-02 6.679543000000000E-04 3.927094000000000E-02 4.401433000000000E-03 3.113644000000000E-05 1.531455000000000E-03 3.164336000000000E-03 5.851014000000000E-04 6.497049000000000E-05 3.042920000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.858920000000000E-05 0.000000000000000E+00 2.958335000000000E-03 3.169769649506000E+40 3.274261484139000E+13 1.652418680187000E+13 - 150 3.828674905200000E+31 6.658114974400000E+33 1.578982813607428E+14 3.346838754654200E+07 5.242742438130689E-11 4.041338313615670E+03 3.549667518059003E+04 3.557850346785519E+04 2.164817744253700E-01 2.817093081436883E+03 6.678750935199999E+33 1.591798876739961E+14 1.015930000000000E-01 0.000000000000000E+00 7.866173000000000E-01 6.238402000000000E-02 7.220810000000000E-04 3.650304000000000E-02 4.270395000000000E-03 3.365955000000000E-05 1.464581000000000E-03 2.852040000000000E-03 5.348910000000000E-04 6.027282000000000E-05 2.884952000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.853497000000000E-05 0.000000000000000E+00 2.859297000000000E-03 3.249769649506000E+40 3.154146308892000E+13 1.612303504940000E+13 - 151 4.127220008800000E+31 6.699386896000000E+33 1.604614939872492E+14 3.394844513416550E+07 5.064905245874492E-11 3.931200624913121E+03 3.533358277272683E+04 3.533358277272683E+04 2.149852296827800E-01 2.789183048052343E+03 6.721064203000000E+33 1.618283864881679E+14 1.059462000000000E-01 0.000000000000000E+00 7.846845000000000E-01 6.136488000000000E-02 7.459755000000000E-04 3.535512000000000E-02 4.212032000000000E-03 3.477338000000000E-05 1.437277000000000E-03 2.724840000000000E-03 5.144341000000000E-04 5.835810000000000E-05 2.820500000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.851149000000000E-05 0.000000000000000E+00 2.815058000000000E-03 3.329769649505999E+40 3.053915958398000E+13 1.562303504940000E+13 - 152 4.335507151600000E+31 6.742741509999999E+33 1.631952789890866E+14 3.444844513416550E+07 4.825822289412489E-11 3.858976750423353E+03 3.509034809980444E+04 3.517027348882672E+04 2.132886849401900E-01 2.761044662276931E+03 6.763535612200000E+33 1.645053435472222E+14 1.120057000000000E-01 0.000000000000000E+00 7.818510000000000E-01 5.997625000000000E-02 7.785096000000000E-04 3.385155000000000E-02 4.132015000000000E-03 3.628994000000000E-05 1.401895000000000E-03 2.560285000000000E-03 4.879643000000000E-04 5.587986000000000E-05 2.737019000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.847986000000000E-05 0.000000000000000E+00 2.754305000000000E-03 3.399654474259000E+40 2.913685607904000E+13 1.502188329693000E+13 - 153 4.158842321199999E+31 6.784329714399999E+33 1.658154081053578E+14 3.492838754654200E+07 4.683370569783407E-11 3.753808920594169E+03 3.484878784259279E+04 3.492816302910712E+04 2.292829261778400E-01 2.732909692656315E+03 6.804430580399999E+33 1.670505265620634E+14 1.201035000000000E-01 0.000000000000000E+00 7.778897000000000E-01 5.815804000000000E-02 8.210504000000000E-04 3.195683000000000E-02 4.026637000000000E-03 3.827296000000000E-05 1.357791000000000E-03 2.355532000000000E-03 4.550216000000000E-04 5.279466000000000E-05 2.633016000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.843887000000000E-05 0.000000000000000E+00 2.674181000000000E-03 3.459654474259000E+40 2.813685607904000E+13 1.462188329693000E+13 - 154 4.020077718400000E+31 6.824531446399999E+33 1.682856450187690E+14 3.537838754654200E+07 4.651267585387234E-11 3.651953240232571E+03 3.468771924606901E+04 3.468867220665093E+04 2.279875331877200E-01 2.706714870125322E+03 6.844311056599999E+33 1.694831822278011E+14 1.258656000000000E-01 0.000000000000000E+00 7.749068000000000E-01 5.690068000000000E-02 8.503748000000000E-04 3.071526000000000E-02 3.953202000000000E-03 3.963991000000000E-05 1.329357000000000E-03 2.223873000000000E-03 4.338322000000000E-04 5.080931000000000E-05 2.566013000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.841093000000000E-05 0.000000000000000E+00 2.618243000000000E-03 3.509654474259000E+40 2.803570432657000E+13 1.462188329693000E+13 - 155 3.955918061600000E+31 6.864090666800000E+33 1.706807194368331E+14 3.581838754654200E+07 4.587314571060675E-11 3.584859688508562E+03 3.444987706683823E+04 3.452834365310592E+04 2.266898366926600E-01 2.681808831784585E+03 6.883840439000000E+33 1.718658858811367E+14 1.321229000000000E-01 0.000000000000000E+00 7.715537000000000E-01 5.556171000000000E-02 8.814964000000000E-04 2.943997000000000E-02 3.874616000000000E-03 4.109064000000000E-05 1.300484000000000E-03 2.090442000000000E-03 4.123527000000000E-04 4.879612000000000E-05 2.498016000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.838146000000000E-05 0.000000000000000E+00 2.558316000000000E-03 3.569539299012000E+40 2.763570432657000E+13 1.452073154446000E+13 - 156 3.949954440000000E+31 6.903590211200000E+33 1.730510523254402E+14 3.625844513416550E+07 4.503586644124420E-11 3.487588268919068E+03 3.429065220729257E+04 3.429159425942491E+04 2.253909884451300E-01 2.657748606091394E+03 6.923667206799999E+33 1.742484711603998E+14 1.384956000000000E-01 0.000000000000000E+00 7.680220000000000E-01 5.422596000000000E-02 9.124067000000000E-04 2.821537000000000E-02 3.795827000000000E-03 4.253151000000000E-05 1.273109000000000E-03 1.964209000000000E-03 3.920267000000000E-04 4.689034000000000E-05 2.433588000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.835233000000000E-05 0.000000000000000E+00 2.498175000000000E-03 3.619424123765000E+40 2.713455257410000E+13 1.432073154446000E+13 - 157 4.015520461200000E+31 6.943744202399999E+33 1.754458899953592E+14 3.670850272178900E+07 4.401202236749542E-11 3.423514424452794E+03 3.405553258497405E+04 3.413310097165615E+04 2.239932919500700E-01 2.634139588252838E+03 6.964041999200000E+33 1.766519254095804E+14 1.446613000000000E-01 0.000000000000000E+00 7.644993000000000E-01 5.295966000000000E-02 9.415554000000000E-04 2.709698000000000E-02 3.720785000000000E-03 4.389026000000000E-05 1.248435000000000E-03 1.850680000000000E-03 3.737414000000000E-04 4.517524000000000E-05 2.375551000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.832497000000000E-05 0.000000000000000E+00 2.440845000000000E-03 3.669424123765000E+40 2.653455257410000E+13 1.402188329693000E+13 - 158 4.059443986399999E+31 6.984339796000000E+33 1.778579608238015E+14 3.717356030941250E+07 4.301018642705622E-11 3.330620939913048E+03 3.389813035732389E+04 3.389906162587464E+04 2.225944437025400E-01 2.611047084721103E+03 7.004882264399999E+33 1.790791738601122E+14 1.508140000000000E-01 0.000000000000000E+00 7.608883000000000E-01 5.172048000000000E-02 9.699104000000000E-04 2.604053000000000E-02 3.647038000000000E-03 4.521202000000000E-05 1.225427000000000E-03 1.745062000000000E-03 3.567256000000000E-04 4.357859000000000E-05 2.321470000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.829842000000000E-05 0.000000000000000E+00 2.384465000000000E-03 3.709308948518000E+40 2.593340082163000E+13 1.382073154446000E+13 - 159 4.108607064400000E+31 7.025424732799999E+33 1.803003868964227E+14 3.764856030941250E+07 4.183803944104868E-11 3.269430893489841E+03 3.374238259576839E+04 3.374238259576839E+04 2.210967472074800E-01 2.588454276549428E+03 7.045090958600000E+33 1.814827104287751E+14 1.568987000000000E-01 0.000000000000000E+00 7.572327000000000E-01 5.051714000000000E-02 9.972711999999999E-04 2.504762000000000E-02 3.575152000000000E-03 4.648743000000000E-05 1.204072000000000E-03 1.647254000000000E-03 3.409637000000000E-04 4.209904000000000E-05 2.271308000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.827283000000000E-05 0.000000000000000E+00 2.329476000000000E-03 3.739193773271000E+40 2.523224906916000E+13 1.342073154446000E+13 - 160 3.933229246399999E+31 7.064757184400000E+33 1.826650339611274E+14 3.810856030941250E+07 4.032471670480713E-11 3.209757054529648E+03 3.351102227622466E+04 3.358735043017575E+04 2.194978989599500E-01 2.567524602230071E+03 7.082957369800001E+33 1.837582202985689E+14 1.641927000000000E-01 0.000000000000000E+00 7.527416000000000E-01 4.910427000000000E-02 1.029136000000000E-03 2.392377000000000E-02 3.490402000000000E-03 4.797281000000000E-05 1.180255000000000E-03 1.538455000000000E-03 3.234251000000000E-04 4.045194000000000E-05 2.215403000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.824302000000000E-05 0.000000000000000E+00 2.264614000000000E-03 3.749193773271000E+40 2.423224906916000E+13 1.302073154446000E+13 - 161 3.640009231200000E+31 7.101157555200000E+33 1.848514066360103E+14 3.853861789703600E+07 3.931734258011370E-11 3.151172385878372E+03 3.335613673614529E+04 3.343303057268111E+04 2.418944437025400E-01 2.546731149044072E+03 7.119229437200000E+33 1.859025247333717E+14 1.743337000000000E-01 0.000000000000000E+00 7.463168000000000E-01 4.719094000000000E-02 1.071777000000000E-03 2.246938000000000E-02 3.375078000000000E-03 4.996051000000000E-05 1.150019000000000E-03 1.400834000000000E-03 3.012306000000000E-04 3.836633000000000E-05 2.144506000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.820306000000000E-05 0.000000000000000E+00 2.176307000000000E-03 3.759193773270999E+40 2.363224906916000E+13 1.282073154446000E+13 - 162 3.614300810400000E+31 7.137301319200000E+33 1.869536428307330E+14 3.895861789703600E+07 3.967996907420166E-11 3.093657007937474E+03 3.320287920907732E+04 3.327941975052601E+04 2.410955954550100E-01 2.526620077452808E+03 7.155644727000000E+33 1.880033967764116E+14 1.751725000000000E-01 0.000000000000000E+00 7.457808000000000E-01 4.703396000000000E-02 1.075263000000000E-03 2.235178000000000E-02 3.365601000000000E-03 5.012297000000000E-05 1.147590000000000E-03 1.389790000000000E-03 2.994493000000000E-04 3.819890000000000E-05 2.138812000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.819979000000000E-05 0.000000000000000E+00 2.169050000000000E-03 3.778963422777000E+40 2.393109731669000E+13 1.292073154446000E+13 - 163 3.668705430400000E+31 7.173988134799999E+33 1.890531507220902E+14 3.935861789703599E+07 3.940681408843601E-11 3.037191403951955E+03 3.305032583638396E+04 3.312651470598895E+04 2.400967472074800E-01 2.506755988215771E+03 7.191124098200000E+33 1.900279680764703E+14 1.813811000000000E-01 0.000000000000000E+00 7.417450000000000E-01 4.589270000000000E-02 1.100359000000000E-03 2.152164000000000E-02 3.296504000000000E-03 5.129283000000000E-05 1.130671000000000E-03 1.313070000000000E-03 2.870709000000000E-04 3.703494000000000E-05 2.099182000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.817617000000000E-05 0.000000000000000E+00 2.116124000000000E-03 3.788963422776999E+40 2.373109731669000E+13 1.282073154446000E+13 - 164 3.427228485600000E+31 7.208260061600000E+33 1.910027854308503E+14 3.972361789703600E+07 3.886613232950746E-11 2.981756413387817E+03 3.289847338276975E+04 3.297431219631644E+04 2.388978989599500E-01 2.488653816092414E+03 7.223970763200000E+33 1.918830467300176E+14 1.905900000000000E-01 0.000000000000000E+00 7.356394000000001E-01 4.423652000000000E-02 1.136323000000000E-03 2.035931000000000E-02 3.195879000000000E-03 5.296927000000000E-05 1.107381000000000E-03 1.207813000000000E-03 2.700811000000000E-04 3.543645000000000E-05 2.044680000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.814214000000000E-05 0.000000000000000E+00 2.039038000000000E-03 3.808848247530000E+40 2.333109731669000E+13 1.272073154446000E+13 - 165 3.142060752000000E+31 7.239681464800000E+33 1.927633080291849E+14 4.007367548465951E+07 3.868755867229300E-11 2.927333225430140E+03 3.282280899365392E+04 3.282280899365392E+04 2.379990507124200E-01 2.472443849575888E+03 7.255489637199999E+33 1.936506270282799E+14 1.907013000000000E-01 0.000000000000000E+00 7.355653000000000E-01 4.421664000000000E-02 1.136753000000000E-03 2.034552000000000E-02 3.194670000000000E-03 5.298931000000000E-05 1.107106000000000E-03 1.206572000000000E-03 2.698808000000000E-04 3.541760000000000E-05 2.044037000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.814173000000000E-05 0.000000000000000E+00 2.038112000000000E-03 3.818733072282999E+40 2.323109731669000E+13 1.262073154446000E+13 - 166 3.161674264000000E+31 7.271297809599999E+33 1.945379460273747E+14 4.042867548465950E+07 3.789407627942249E-11 2.873903372600103E+03 3.267200188497755E+04 3.267200188497755E+04 2.369002024648900E-01 2.456512943132645E+03 7.287210414999999E+33 1.954224687526801E+14 2.002177000000000E-01 0.000000000000000E+00 7.291125000000001E-01 4.255070000000000E-02 1.172313000000000E-03 1.922597000000000E-02 3.093040000000000E-03 5.464695000000000E-05 1.085155000000000E-03 1.107802000000000E-03 2.539297000000000E-04 3.391571000000000E-05 1.992734000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.810779000000000E-05 0.000000000000000E+00 1.960254000000000E-03 3.818848247529999E+40 2.282994556422000E+13 1.251957979199000E+13 - 167 3.182525058400000E+31 7.303123020400000E+33 1.963069914779856E+14 4.077867548465950E+07 3.754777066607345E-11 2.847555268107235E+03 3.252188767202591E+04 3.259685836585266E+04 2.360002024648900E-01 2.440837157779554E+03 7.318076831400000E+33 1.971439188407680E+14 2.003215000000000E-01 0.000000000000000E+00 7.290407000000000E-01 4.253299000000000E-02 1.172684000000000E-03 1.921454000000000E-02 3.091956000000000E-03 5.466424000000000E-05 1.084936000000000E-03 1.106820000000000E-03 2.537711000000000E-04 3.390076000000000E-05 1.992223000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.810743000000000E-05 0.000000000000000E+00 1.959424000000000E-03 3.828733072283000E+40 2.262994556422000E+13 1.232073154446000E+13 - 168 2.990716448400000E+31 7.333030642400000E+33 1.979808462035505E+14 4.111373307228300E+07 3.669199494483945E-11 2.795581527100004E+03 3.244708940601019E+04 3.244708940601019E+04 2.348013542173600E-01 2.426416563481115E+03 7.347420515200000E+33 1.987758877250738E+14 2.093136000000000E-01 0.000000000000000E+00 7.228200000000000E-01 4.099979000000000E-02 1.204804000000000E-03 1.822537000000000E-02 2.998083000000000E-03 5.616151000000000E-05 1.065958000000000E-03 1.021805000000000E-03 2.400338000000000E-04 3.260630000000000E-05 1.947922000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.807643000000000E-05 0.000000000000000E+00 1.887517000000000E-03 3.828617897036000E+40 2.202994556422000E+13 1.212073154446000E+13 - 169 2.878068052400000E+31 7.361810387999999E+33 1.995709292465971E+14 4.146873307228300E+07 3.652448967443715E-11 2.769616232135107E+03 3.229800857203190E+04 3.237157586212960E+04 2.492002024648900E-01 2.411944023395182E+03 7.378975194799999E+33 2.005078508271629E+14 2.096028000000000E-01 0.000000000000000E+00 7.226175000000000E-01 4.095135000000000E-02 1.205805000000000E-03 1.819494000000000E-02 2.995110000000000E-03 5.620817000000000E-05 1.065382000000000E-03 1.019237000000000E-03 2.396186000000000E-04 3.256715000000000E-05 1.946580000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.807546000000000E-05 0.000000000000000E+00 1.885240000000000E-03 3.828617897036000E+40 2.202879381175000E+13 1.202073154446000E+13 - 170 3.432947435600000E+31 7.396140001599999E+33 2.014447724077288E+14 4.187373307228300E+07 3.635560071319082E-11 2.719394169328694E+03 3.222372521365758E+04 3.222372521365758E+04 2.483025059698300E-01 2.395028760773990E+03 7.415661015800000E+33 2.024974386675272E+14 2.167377000000000E-01 0.000000000000000E+00 7.175992000000000E-01 3.976332000000000E-02 1.230237000000000E-03 1.745504000000000E-02 2.922149000000000E-03 5.734705000000000E-05 1.051464000000000E-03 9.571516000000000E-04 2.295813000000000E-04 3.162064000000000E-05 1.914130000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.805159000000000E-05 0.000000000000000E+00 1.829366000000000E-03 3.828502721789000E+40 2.182994556422000E+13 1.202073154446000E+13 - 171 3.904290364800000E+31 7.435182030000000E+33 2.035501049273257E+14 4.230373307228300E+07 3.610533051825342E-11 2.669759631998991E+03 3.207567064492176E+04 3.207567064492176E+04 2.474013542173600E-01 2.376223163150142E+03 7.455147630400000E+33 2.046135828140216E+14 2.230957000000000E-01 0.000000000000000E+00 7.130716000000000E-01 3.872439000000000E-02 1.251267000000000E-03 1.682560000000000E-02 2.858199000000000E-03 5.832737000000000E-05 1.039813000000000E-03 9.053658000000000E-04 2.212054000000000E-04 3.083032000000000E-05 1.886993000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.803082000000000E-05 0.000000000000000E+00 1.780404000000000E-03 3.828502721789000E+40 2.172879381175000E+13 1.201957979199000E+13 - 172 3.993010674000000E+31 7.475113230800000E+33 2.056770607007173E+14 4.273373307228300E+07 3.577537185827460E-11 2.621031027072784E+03 3.192829632513842E+04 3.192829632513842E+04 2.463025059698300E-01 2.357481649630084E+03 7.494960473799999E+33 2.067262896615550E+14 2.289140000000000E-01 0.000000000000000E+00 7.088852000000000E-01 3.778936000000000E-02 1.269916000000000E-03 1.627242000000000E-02 2.800531000000000E-03 5.919669000000000E-05 1.029721000000000E-03 8.606510000000000E-04 2.139703000000000E-04 3.014725000000000E-05 1.863508000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.801220000000000E-05 0.000000000000000E+00 1.736266000000000E-03 3.828387546542000E+40 2.152879381175000E+13 1.192073154446000E+13 - 173 3.969516232800000E+31 7.514807716800000E+33 2.077755186223927E+14 4.315873307228300E+07 3.528451535464433E-11 2.596686953015093E+03 3.178159912884765E+04 3.185399015932460E+04 2.452036577223000E-01 2.339326297626568E+03 7.534052232200000E+33 2.087915988230191E+14 2.362806000000000E-01 0.000000000000000E+00 7.035187000000001E-01 3.663032000000000E-02 1.292572000000000E-03 1.560658000000000E-02 2.728883000000000E-03 6.025277000000000E-05 1.017796000000000E-03 8.080418000000001E-04 2.054534000000000E-04 2.934257000000000E-05 1.835791000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.798923000000000E-05 0.000000000000000E+00 1.681449000000000E-03 3.828272371295000E+40 2.122879381175000E+13 1.181957979199000E+13 - 174 3.848915015200000E+31 7.553296747599999E+33 2.098076790236454E+14 4.357379065990650E+07 3.464050036987914E-11 2.549600655018355E+03 3.163557594494953E+04 3.170850347923414E+04 2.440036577223000E-01 2.322149917071926E+03 7.572245866800000E+33 2.108009164941545E+14 2.465423000000000E-01 0.000000000000000E+00 6.959542000000000E-01 3.504994000000000E-02 1.322797000000000E-03 1.472446000000000E-02 2.630972000000000E-03 6.166170000000000E-05 1.002294000000000E-03 7.399556000000000E-04 1.944247000000000E-04 2.829977000000000E-05 1.799804000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.795806000000000E-05 0.000000000000000E+00 1.606578000000000E-03 3.828157196048000E+40 2.082879381175000E+13 1.162073154446000E+13 - 175 3.789762174800000E+31 7.591194986000000E+33 2.117941539646637E+14 4.399884824753000E+07 3.424397384110886E-11 2.503065198586660E+03 3.156281613933936E+04 3.156281613933936E+04 2.429048094747700E-01 2.305626628046094E+03 7.611124780799999E+33 2.128343299947375E+14 2.499970000000000E-01 0.000000000000000E+00 6.933799000000000E-01 3.452878000000000E-02 1.332543000000000E-03 1.444144000000000E-02 2.598618000000000E-03 6.211600000000000E-05 9.974134000000001E-04 7.186165000000000E-04 1.909663000000000E-04 2.797249000000000E-05 1.788488000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.794783000000000E-05 0.000000000000000E+00 1.581850000000000E-03 3.818157196047999E+40 2.062764205928000E+13 1.151957979199000E+13 - 176 3.986026592800000E+31 7.631054575600000E+33 2.138745060248115E+14 4.448390583515351E+07 3.377412890597745E-11 2.457379109957367E+03 3.141779817196862E+04 3.141779817196862E+04 2.419048094747700E-01 2.288630183194427E+03 7.655350664399999E+33 2.151351100913571E+14 2.526643000000000E-01 0.000000000000000E+00 6.913824000000000E-01 3.413038000000000E-02 1.339909000000000E-03 1.422785000000000E-02 2.573862000000000E-03 6.245938000000001E-05 9.937628999999999E-04 7.026914000000000E-04 1.883845000000000E-04 2.772808000000000E-05 1.780030000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.794002000000000E-05 0.000000000000000E+00 1.562935000000000E-03 3.808042020801000E+40 2.032764205928000E+13 1.132073154446000E+13 - 177 4.859243619599999E+31 7.679646753200000E+33 2.163957141579028E+14 4.503390583515351E+07 3.323411793088997E-11 2.434555031027088E+03 3.127344650163449E+04 3.134468007958130E+04 2.633059612272400E-01 2.266568174195589E+03 7.706242357200000E+33 2.177466330563875E+14 2.635643000000000E-01 0.000000000000000E+00 6.831423000000000E-01 3.253444000000000E-02 1.368717000000000E-03 1.339286000000000E-02 2.474518000000000E-03 6.380225000000000E-05 9.797428999999999E-04 6.418021000000001E-04 1.785077000000000E-04 2.679234000000000E-05 1.747585000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.790886000000000E-05 0.000000000000000E+00 1.487076000000000E-03 3.797926845554000E+40 2.002649030681000E+13 1.122073154446000E+13 - 178 5.318941771999999E+31 7.732837961200000E+33 2.190975519548722E+14 4.557890583515350E+07 3.315768158073515E-11 2.368493308224161E+03 3.112975806698014E+04 3.112975806698014E+04 2.622071129797100E-01 2.243078333426027E+03 7.757958573400000E+33 2.203498852529793E+14 2.726322000000000E-01 0.000000000000000E+00 6.762099000000000E-01 3.123925000000000E-02 1.391363000000000E-03 1.273538000000000E-02 2.393723000000000E-03 6.485790000000000E-05 9.689520000000000E-04 5.952130000000000E-04 1.709449000000000E-04 2.607508000000000E-05 1.722653000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.788369000000000E-05 0.000000000000000E+00 1.425434000000000E-03 3.777926845554000E+40 1.992764205928000E+13 1.122073154446000E+13 - 179 5.024200018800000E+31 7.783079185599999E+33 2.216022185510864E+14 4.611896342277700E+07 3.300533587228073E-11 2.325263433405654E+03 3.098672982071438E+04 3.098672982071438E+04 2.611071129797100E-01 2.221493679164357E+03 7.810541086200001E+33 2.229526341250234E+14 2.796552000000000E-01 0.000000000000000E+00 6.707786999999999E-01 3.026306000000000E-02 1.407796000000000E-03 1.225539000000000E-02 2.332696000000000E-03 6.562390000000000E-05 9.612705000000000E-04 5.622723000000000E-04 1.655930000000000E-04 2.556689000000000E-05 1.704938000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.786480000000000E-05 0.000000000000000E+00 1.378920000000000E-03 3.777696495060000E+40 1.982764205928000E+13 1.121957979199000E+13 - 180 5.492489526000000E+31 7.838002986799999E+33 2.243030496989604E+14 4.670896342277700E+07 3.262752691673481E-11 2.282822592725591E+03 3.084351330483774E+04 3.084435872954722E+04 2.598082647321800E-01 2.198599396813334E+03 7.868165226399999E+33 2.257625150420634E+14 2.882217000000000E-01 0.000000000000000E+00 6.640920000000000E-01 2.910002000000000E-02 1.426690000000000E-03 1.169844000000000E-02 2.259861000000000E-03 6.650463000000000E-05 9.525491000000001E-04 5.250987000000000E-04 1.595488000000000E-04 2.499234000000000E-05 1.684858000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.784238000000000E-05 0.000000000000000E+00 1.323459000000000E-03 3.767581319813000E+40 1.962649030681000E+13 1.111957979199000E+13 - 181 6.032334535600000E+31 7.898327466000000E+33 2.272219803851664E+14 4.727896342277700E+07 3.225404270454077E-11 2.241156384687901E+03 3.063202765756566E+04 3.070264177412518E+04 2.585094164846500E-01 2.174261846047819E+03 7.924131368399999E+33 2.284592715478133E+14 2.958529000000000E-01 0.000000000000000E+00 6.580852000000000E-01 2.808688000000000E-02 1.442560000000000E-03 1.122491000000000E-02 2.196313000000000E-03 6.724442000000000E-05 9.452866000000000E-04 4.943279000000000E-04 1.545417000000000E-04 2.451588000000000E-05 1.668164000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.782291000000000E-05 0.000000000000000E+00 1.275115000000000E-03 3.757581319813000E+40 1.942649030681000E+13 1.101957979199000E+13 - 182 5.160824242400000E+31 7.949935270799999E+33 2.296965627104602E+14 4.774396342277700E+07 3.188483373077085E-11 2.199984372535606E+03 3.049128627480268E+04 3.056073827515835E+04 2.572094164846500E-01 2.153967952848229E+03 7.970194278199999E+33 2.306637726855662E+14 3.023868000000000E-01 0.000000000000000E+00 6.529015000000000E-01 2.723836000000000E-02 1.455348000000000E-03 1.083746000000000E-02 2.143013000000000E-03 6.784050000000000E-05 9.394660000000000E-04 4.698173000000000E-04 1.505502000000000E-04 2.413562000000000E-05 1.654806000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.780665000000000E-05 0.000000000000000E+00 1.234608000000000E-03 3.747466144566000E+40 1.922533855434000E+13 1.082073154446000E+13 - 183 4.051729868800000E+31 7.990453285600001E+33 2.316309826606721E+14 4.814896342277700E+07 3.137595962311826E-11 2.160091570042359E+03 3.042032443735474E+04 3.042115826240235E+04 2.560105682371200E-01 2.138429846977682E+03 8.009469043000001E+33 2.325427213126917E+14 3.086414000000000E-01 0.000000000000000E+00 6.479082000000000E-01 2.644098000000000E-02 1.466957000000000E-03 1.048018000000000E-02 2.092865000000000E-03 6.838165000000000E-05 9.341906000000000E-04 4.477196000000000E-04 1.469491000000000E-04 2.379224000000000E-05 1.642717000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.779141000000000E-05 0.000000000000000E+00 1.196529000000000E-03 3.747350969319000E+40 1.892533855434000E+13 1.071957979199000E+13 - 184 3.803292713200000E+31 8.028484800400000E+33 2.334544599647112E+14 4.853896342277700E+07 3.073243823343201E-11 2.140028690736717E+03 3.028138573650349E+04 3.035035963265165E+04 2.549105682371200E-01 2.124144952078650E+03 8.046662110000001E+33 2.343257349798942E+14 3.174309000000000E-01 0.000000000000000E+00 6.408373000000001E-01 2.534648000000000E-02 1.482155000000000E-03 1.000116000000000E-02 2.023934000000000E-03 6.909012000000000E-05 9.272728000000000E-04 4.189447000000000E-04 1.422556000000000E-04 2.334413000000000E-05 1.626894000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.777056000000000E-05 0.000000000000000E+00 1.144248000000000E-03 3.727350969319000E+40 1.852533855434000E+13 1.052073154446000E+13 - 185 3.635396276400000E+31 8.064839419599999E+33 2.351970099950772E+14 4.897402101040050E+07 3.031077337306225E-11 2.101223077862745E+03 3.021174048194492E+04 3.021174048194492E+04 2.807128717420601E-01 2.109318569594972E+03 8.089663640999999E+33 2.363553741671267E+14 3.284786000000000E-01 0.000000000000000E+00 6.318639000000000E-01 2.401336000000000E-02 1.499421000000000E-03 9.434947000000001E-03 1.939824000000000E-03 6.989495000000000E-05 9.193330999999999E-04 3.862378000000000E-04 1.369140000000000E-04 2.283324000000000E-05 1.608780000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.774524000000000E-05 0.000000000000000E+00 1.080557000000000E-03 3.717235794072000E+40 1.822533855434000E+13 1.051957979199000E+13 - 186 4.964846269200000E+31 8.114487862399998E+33 2.375137383391761E+14 4.949902101040050E+07 3.059032961708208E-11 2.081958948892304E+03 3.007293014334636E+04 3.014225540702684E+04 2.802128717420600E-01 2.089460423852349E+03 8.142578350199998E+33 2.388052974644507E+14 3.285587000000000E-01 0.000000000000000E+00 6.317987000000000E-01 2.400376000000000E-02 1.499543000000000E-03 9.430902999999999E-03 1.939218000000000E-03 6.990062999999999E-05 9.192768000000000E-04 3.860066000000000E-04 1.368762000000000E-04 2.282962000000000E-05 1.608652000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.774506000000000E-05 0.000000000000000E+00 1.080099000000000E-03 3.707120618825000E+40 1.842533855434000E+13 1.051957979199000E+13 - 187 5.618165192799999E+31 8.170668838000000E+33 2.400968565897253E+14 5.001902101040050E+07 3.044977981941233E-11 2.043958915527073E+03 2.993475758032101E+04 3.000376432334789E+04 2.791140234945300E-01 2.067507027895304E+03 8.195617384400000E+33 2.412288971736790E+14 3.367099000000000E-01 0.000000000000000E+00 6.251180000000000E-01 2.305077000000000E-02 1.510948000000000E-03 9.037599000000000E-03 1.878991000000000E-03 7.043230000000000E-05 9.139213000000000E-04 3.641672000000000E-04 1.333047000000000E-04 2.248739000000000E-05 1.596466000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.772703000000000E-05 0.000000000000000E+00 1.034572000000000E-03 3.697120618825000E+40 1.832533855434000E+13 1.051957979199000E+13 - 188 4.989613798400000E+31 8.220565930800000E+33 2.423609377576327E+14 5.054907859802401E+07 3.024016500954232E-11 2.006652460936049E+03 2.979721986255624E+04 2.986590954839891E+04 2.780151752470000E-01 2.048472746436417E+03 8.251147891600001E+33 2.437334746874475E+14 3.448435000000000E-01 0.000000000000000E+00 6.184041000000000E-01 2.212454000000000E-02 1.521246000000000E-03 8.664065000000000E-03 1.820378000000000E-03 7.091234000000000E-05 9.089581000000000E-04 3.441061000000000E-04 1.300200000000000E-04 2.217215000000000E-05 1.585200000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.770954000000000E-05 0.000000000000000E+00 9.903310999999999E-04 3.697005443578000E+40 1.822418680187000E+13 1.041957979199000E+13 - 189 6.116396138399999E+31 8.281729852399999E+33 2.451060116172623E+14 5.111413618564750E+07 2.989489397146802E-11 1.970026925879961E+03 2.972868815860699E+04 2.972868815860699E+04 2.769151752470000E-01 2.025748492150856E+03 8.310707523400000E+33 2.463958186332162E+14 3.526365000000000E-01 0.000000000000000E+00 6.119274000000000E-01 2.126046000000000E-02 1.530083000000000E-03 8.323373000000000E-03 1.765628000000000E-03 7.132424000000000E-05 9.045418000000000E-04 3.264211000000000E-04 1.271208000000000E-04 2.189341000000000E-05 1.575199000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.769327000000000E-05 0.000000000000000E+00 9.490719000000000E-04 3.696890268331000E+40 1.802418680187000E+13 1.041957979199000E+13 - 190 5.795526243200000E+31 8.339685194400000E+33 2.476856256491700E+14 5.161913618564750E+07 2.955181481517024E-11 1.934069882176638E+03 2.959209724383160E+04 2.959209724383160E+04 2.756163269994700E-01 2.004738018938811E+03 8.363612286599999E+33 2.487445995121197E+14 3.607977000000000E-01 0.000000000000000E+00 6.051005000000000E-01 2.037936000000000E-02 1.538281000000000E-03 7.983463000000000E-03 1.709733000000000E-03 7.170638999999999E-05 9.002427000000000E-04 3.093711000000000E-04 1.243220000000000E-04 2.162385000000000E-05 1.565488000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.767672000000000E-05 0.000000000000000E+00 9.070182000000000E-04 3.687005443578000E+40 1.782418680187000E+13 1.031842803952000E+13 - 191 4.785390591200000E+31 8.387539378799999E+33 2.498035733750696E+14 5.210907859802400E+07 2.908017511585227E-11 1.898769128483822E+03 2.945613390730318E+04 2.945613390730318E+04 2.744163269994700E-01 1.987836953383178E+03 8.414414465399999E+33 2.509911545995441E+14 3.687201000000000E-01 0.000000000000000E+00 5.984316000000000E-01 1.954684000000000E-02 1.545222000000000E-03 7.669092000000000E-03 1.656859000000000E-03 7.202995000000000E-05 8.963641000000000E-04 2.941446000000000E-04 1.218191000000000E-04 2.138232000000000E-05 1.556749000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.766111000000000E-05 0.000000000000000E+00 8.673055000000000E-04 3.686890268331000E+40 1.752418680187000E+13 1.021842803952000E+13 - 192 5.375100866400000E+31 8.441289552000001E+33 2.521787358240187E+14 5.260907859802400E+07 2.868033082831565E-11 1.881361108477964E+03 2.932079526556154E+04 2.938838667928204E+04 2.733163269994700E-01 1.969218882843580E+03 8.466466856400001E+33 2.532843230702261E+14 3.754587000000000E-01 0.000000000000000E+00 5.927264000000000E-01 1.885710000000000E-02 1.550303000000000E-03 7.413807000000000E-03 1.613006000000000E-03 7.226682000000001E-05 8.932889000000000E-04 2.821948000000000E-04 1.198520000000000E-04 2.119214000000000E-05 1.549839000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.764820000000000E-05 0.000000000000000E+00 8.344246000000000E-04 3.686775093084000E+40 1.722418680187000E+13 1.001957979199000E+13 - 193 5.035331582000000E+31 8.491644160800001E+33 2.543899103164334E+14 5.304413618564750E+07 2.828765961089325E-11 1.847022398326044E+03 2.925335930777881E+04 2.925335930777881E+04 2.947197822568799E-01 1.950784857141653E+03 8.512806265000000E+33 2.553058705460522E+14 3.837656000000000E-01 0.000000000000000E+00 5.856491000000000E-01 1.803177000000000E-02 1.555444000000000E-03 7.114954000000000E-03 1.560471000000000E-03 7.250643000000000E-05 8.897836000000000E-04 2.687363000000000E-04 1.176328000000000E-04 2.097710000000000E-05 1.541986000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.763279000000000E-05 0.000000000000000E+00 7.951140000000000E-04 3.676890268331000E+40 1.702418680187000E+13 9.978888740508000E+12 - 194 4.232581965200000E+31 8.533968369199999E+33 2.562218307756709E+14 5.344419377327100E+07 2.828682193708408E-11 1.813531937395176E+03 2.911895233069376E+04 2.911975230297101E+04 2.940186305044100E-01 1.935549355907934E+03 8.556263322799999E+33 2.571726767209158E+14 3.894723000000000E-01 0.000000000000000E+00 5.807690000000000E-01 1.747523000000000E-02 1.558504000000000E-03 6.916159000000000E-03 1.525020000000000E-03 7.264908999999999E-05 8.874914000000000E-04 2.600056000000000E-04 1.161916000000000E-04 2.083724000000000E-05 1.536861000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.762241000000000E-05 0.000000000000000E+00 7.686209000000000E-04 3.676890268331000E+40 1.702303504940000E+13 9.988773565261000E+12 - 195 4.458877335600000E+31 8.578558276399998E+33 2.581235226661608E+14 5.392413618564750E+07 2.828682193708408E-11 1.796685910225529E+03 2.905198059877902E+04 2.905198059877902E+04 2.933197822568800E-01 1.919771169231472E+03 8.608564363799999E+33 2.593914699913083E+14 3.913060000000000E-01 0.000000000000000E+00 5.791940000000000E-01 1.730035000000000E-02 1.559308000000000E-03 6.854655000000000E-03 1.513871000000000E-03 7.268658000000000E-05 8.867961000000000E-04 2.573819000000000E-04 1.157579000000000E-04 2.079507000000000E-05 1.535309000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.761915000000000E-05 0.000000000000000E+00 7.603025000000000E-04 3.686775093084000E+40 1.702303504940000E+13 9.969003915755000E+12 - 196 6.001241350400000E+31 8.638570451200001E+33 2.606594173164560E+14 5.450913618564750E+07 2.802831678872598E-11 1.764108157332016E+03 2.891849887281612E+04 2.891929333812295E+04 2.923197822568800E-01 1.898994409179315E+03 8.673181536599999E+33 2.621065678566468E+14 3.990280000000000E-01 0.000000000000000E+00 5.725468000000000E-01 1.657266000000000E-02 1.562296000000000E-03 6.600793000000000E-03 1.467462000000000E-03 7.282586000000000E-05 8.839551000000000E-04 2.467182000000000E-04 1.139940000000000E-04 2.062341000000000E-05 1.528981000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.760560000000000E-05 0.000000000000000E+00 7.257047000000000E-04 3.686775093084000E+40 1.692303504940000E+13 9.938197689026000E+12 - 197 6.922246918000000E+31 8.707792621999999E+33 2.635537183968376E+14 5.509413618564750E+07 2.777135163584394E-11 1.731909554725471E+03 2.878642125474546E+04 2.878642125474546E+04 2.911209340093500E-01 1.875594955406849E+03 8.738380550400000E+33 2.648257280822462E+14 4.061505000000000E-01 0.000000000000000E+00 5.663854000000000E-01 1.591916000000000E-02 1.564245000000000E-03 6.376940000000000E-03 1.425745000000000E-03 7.291673000000000E-05 8.815089000000000E-04 2.376478000000000E-04 1.124909000000000E-04 2.047679000000000E-05 1.523547000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.759346000000000E-05 0.000000000000000E+00 6.946666999999999E-04 3.696775093084000E+40 1.672303504940000E+13 9.877736988038000E+12 - 198 6.117585680000000E+31 8.768968478800000E+33 2.660977377676547E+14 5.562407859802400E+07 2.732731843166808E-11 1.700298642848392E+03 2.865415966313679E+04 2.865415966313679E+04 2.898209340093500E-01 1.855446639640847E+03 8.797192242999999E+33 2.672726648229918E+14 4.167992000000000E-01 0.000000000000000E+00 5.571147000000000E-01 1.497743000000000E-02 1.565521000000000E-03 6.061913000000000E-03 1.365556000000000E-03 7.297618000000000E-05 8.781718000000000E-04 2.254833000000000E-04 1.104701000000000E-04 2.027902000000000E-05 1.516166000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.757599000000000E-05 0.000000000000000E+00 6.500095000000000E-04 3.706775093084000E+40 1.652188329693000E+13 9.807391462297000E+12 - 199 5.644762786000000E+31 8.825416007199999E+33 2.684475918783290E+14 5.613413618564750E+07 2.682853865854225E-11 1.684504447806503E+03 2.852250575834198E+04 2.858747155355558E+04 2.884220857618200E-01 1.837263955072767E+03 8.853782993799999E+33 2.696209814652094E+14 4.301206000000000E-01 0.000000000000000E+00 5.454359000000000E-01 1.384858000000000E-02 1.564930000000000E-03 5.694214000000000E-03 1.293311000000000E-03 7.294867000000000E-05 8.744130000000000E-04 2.120647000000000E-04 1.082341000000000E-04 2.005928000000000E-05 1.507894000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.755508000000000E-05 0.000000000000000E+00 5.965876000000000E-04 3.716775093084000E+40 1.612303504940000E+13 9.737045936556000E+12 - 200 5.673321730400000E+31 8.882149980400001E+33 2.707943710520899E+14 5.664919377327099E+07 2.652143491602527E-11 1.653960784422513E+03 2.845690581547691E+04 2.845690581547691E+04 2.874209340093500E-01 1.819375249207921E+03 8.911385252800000E+33 2.719935229450998E+14 4.325248000000000E-01 0.000000000000000E+00 5.433194000000000E-01 1.365018000000000E-02 1.564554000000000E-03 5.630679000000000E-03 1.280603000000000E-03 7.293114000000001E-05 8.737787000000000E-04 2.098331000000000E-04 1.078614000000000E-04 2.002256000000000E-05 1.506503000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.755141000000000E-05 0.000000000000000E+00 5.872109000000000E-04 3.726659917837000E+40 1.592303504940000E+13 9.627161111803000E+12 - 201 5.847149961600000E+31 8.940620525200000E+33 2.731926748381096E+14 5.716413618564750E+07 2.627828493919224E-11 1.638597025043724E+03 2.832615820978790E+04 2.839067678361296E+04 3.084243892667600E-01 1.799937740515323E+03 8.968931814200001E+33 2.743444274719005E+14 4.383960000000000E-01 0.000000000000000E+00 5.381312000000000E-01 1.317793000000000E-02 1.563108000000000E-03 5.481648000000000E-03 1.250332000000000E-03 7.286371000000001E-05 8.723198000000000E-04 2.047666000000000E-04 1.070136000000000E-04 1.993879000000000E-05 1.503313000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.754269000000000E-05 0.000000000000000E+00 5.649227000000000E-04 3.726775093084000E+40 1.582188329693000E+13 9.566700410815000E+12 - 202 5.662223983599999E+31 8.997243103200000E+33 2.754961801056915E+14 5.763913618564750E+07 2.603736417474620E-11 1.608885761282969E+03 2.819601133477933E+04 2.826100985375312E+04 3.073255410192300E-01 1.781505594878050E+03 9.023096735599998E+33 2.765319401721838E+14 4.497146000000000E-01 0.000000000000000E+00 5.280824000000000E-01 1.229687000000000E-02 1.558955000000000E-03 5.208781000000000E-03 1.193804000000000E-03 7.267014000000000E-05 8.697157000000000E-04 1.958825000000000E-04 1.055230000000000E-04 1.979098000000000E-05 1.497642000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.752643000000000E-05 0.000000000000000E+00 5.234181000000000E-04 3.736775093084000E+40 1.572073154446000E+13 9.576585235568000E+12 - 203 5.170710566400000E+31 9.048950367999999E+33 2.775677002386762E+14 5.812919377327099E+07 2.603736417474620E-11 1.579520286693699E+03 2.813116230825074E+04 2.813116230825074E+04 3.066255410192300E-01 1.764967492239559E+03 9.079834687199998E+33 2.787950140433432E+14 4.506236000000000E-01 0.000000000000000E+00 5.272735000000000E-01 1.222730000000000E-02 1.558567000000000E-03 5.187451000000000E-03 1.189339000000000E-03 7.265203000000000E-05 8.695150000000000E-04 1.952047000000000E-04 1.054091000000000E-04 1.977966000000000E-05 1.497206000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.752514000000000E-05 0.000000000000000E+00 5.201441000000000E-04 3.746890268331000E+40 1.572073154446000E+13 9.556815586062000E+12 - 204 6.176891688800000E+31 9.110719006399999E+33 2.800223278480102E+14 5.866919377327100E+07 2.579865218514502E-11 1.565039157662309E+03 2.800191135802790E+04 2.806646243034441E+04 3.056255410192300E-01 1.745613816347865E+03 9.142631742000001E+33 2.812825148628689E+14 4.577203000000000E-01 0.000000000000000E+00 5.209354000000000E-01 1.169868000000000E-02 1.554855000000000E-03 5.027789000000000E-03 1.155381000000000E-03 7.247900000000000E-05 8.680428000000000E-04 1.903096000000000E-04 1.045844000000000E-04 1.969746000000000E-05 1.494019000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.751540000000000E-05 0.000000000000000E+00 4.953082000000000E-04 3.766890268331000E+40 1.552188329693000E+13 9.535894184086000E+12 - 205 6.382441692399999E+31 9.174544477600000E+33 2.825427018777276E+14 5.916419377327099E+07 2.550333745560311E-11 1.536473973780691E+03 2.793750874905789E+04 2.793750874905789E+04 3.044266927717000E-01 1.726046283188175E+03 9.200909334400000E+33 2.835792616795426E+14 4.653237000000000E-01 0.000000000000000E+00 5.141195000000000E-01 1.114847000000000E-02 1.550124000000000E-03 4.864226000000000E-03 1.120010000000000E-03 7.225845000000000E-05 8.665668000000000E-04 1.854857000000000E-04 1.037695000000000E-04 1.961595000000000E-05 1.490836000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.750527000000000E-05 0.000000000000000E+00 4.695058000000000E-04 3.786890268331000E+40 1.532188329693000E+13 9.486470060321000E+12 - 206 5.273007165599999E+31 9.227274191199999E+33 2.846158214813576E+14 5.962919377327101E+07 2.521140316581668E-11 1.508430163262938E+03 2.780914755611791E+04 2.780914755611791E+04 3.033266927717000E-01 1.710192848208575E+03 9.255074255799999E+33 2.857061039801252E+14 4.724433000000000E-01 0.000000000000000E+00 5.077119000000000E-01 1.064964000000000E-02 1.544927000000000E-03 4.718524000000000E-03 1.087914000000000E-03 7.201619000000000E-05 8.652828000000000E-04 1.813740000000000E-04 1.030726000000000E-04 1.954595000000000E-05 1.488079000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.749609000000000E-05 0.000000000000000E+00 4.461636000000000E-04 3.797005443578000E+40 1.522073154446000E+13 9.435894184086000E+12 - 207 5.560050714799999E+31 9.282874320399999E+33 2.867963864788928E+14 6.009919377327100E+07 2.492281062021183E-11 1.494600792400727E+03 2.774518829158963E+04 2.774518829158963E+04 3.023255410192300E-01 1.693763056292718E+03 9.309844888600000E+33 2.878544671004866E+14 4.788850000000000E-01 0.000000000000000E+00 5.018942000000000E-01 1.021149000000000E-02 1.539606000000000E-03 4.592560000000000E-03 1.059701000000000E-03 7.176817000000001E-05 8.641960000000000E-04 1.779600000000000E-04 1.024922000000000E-04 1.948741000000000E-05 1.485756000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.748803000000000E-05 0.000000000000000E+00 4.257029000000000E-04 3.816890268331000E+40 1.502073154446000E+13 9.365548658345000E+12 - 208 5.394185251200000E+31 9.336815456800000E+33 2.889125477220807E+14 6.054919377327099E+07 2.452432243707000E-11 1.467502124224457E+03 2.761771073088649E+04 2.761847118836804E+04 3.012266927717000E-01 1.678130487613816E+03 9.362087248200000E+33 2.899005512994345E+14 4.853653000000000E-01 0.000000000000000E+00 4.960222000000000E-01 9.783355000000001E-03 1.533659000000000E-03 4.471355000000000E-03 1.032112000000000E-03 7.149095999999999E-05 8.631711000000000E-04 1.748034000000000E-04 1.019537000000000E-04 1.943288000000000E-05 1.483574000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.748017000000000E-05 0.000000000000000E+00 4.057520000000000E-04 3.827005443578000E+40 1.472073154446000E+13 9.275433483098000E+12 - 209 5.054290647200000E+31 9.387359039599999E+33 2.908885548767885E+14 6.107425136089450E+07 2.424431441265883E-11 1.453868771462670E+03 2.755419175883830E+04 2.755419175883830E+04 3.219289962766400E-01 1.662708199476468E+03 9.424141336799999E+33 2.923010109332738E+14 4.925473000000000E-01 0.000000000000000E+00 4.894930000000000E-01 9.323039999999999E-03 1.526400000000000E-03 4.343102000000000E-03 1.002427000000000E-03 7.115260000000000E-05 8.621088000000000E-04 1.716006000000000E-04 1.014053000000000E-04 1.937710000000000E-05 1.481322000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.747171000000000E-05 0.000000000000000E+00 3.843502000000000E-04 3.837120618825000E+40 1.461957979199000E+13 9.234742431616000E+12 - 210 7.356481321199999E+31 9.460923633999999E+33 2.937134669897591E+14 6.173925136089449E+07 2.429948209749937E-11 1.427508617226139E+03 2.742759174749040E+04 2.742834697001947E+04 3.212289962766400E-01 1.640658256058198E+03 9.503599930800000E+33 2.953474063746973E+14 4.932429000000000E-01 0.000000000000000E+00 4.888577000000000E-01 9.280359000000000E-03 1.525607000000000E-03 4.331475000000000E-03 9.996711000000000E-04 7.111564000000000E-05 8.620152000000000E-04 1.713270000000000E-04 1.013582000000000E-04 1.937228000000000E-05 1.481125000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.747093000000000E-05 0.000000000000000E+00 3.823726000000000E-04 3.867120618825000E+40 1.462073154446000E+13 9.244627256369000E+12 - 211 8.535261349200000E+31 9.546276227599999E+33 2.969813457596356E+14 6.242425136089450E+07 2.391096024818325E-11 1.401453648605067E+03 2.730157341035800E+04 2.730232516295474E+04 3.197289962766400E-01 1.615675764080929E+03 9.586134822599999E+33 2.984902371661744E+14 5.091103000000000E-01 0.000000000000000E+00 4.743557000000000E-01 8.314439000000000E-03 1.507156000000000E-03 4.069378000000000E-03 9.372998000000000E-04 7.025553999999999E-05 8.599138000000000E-04 1.652235000000000E-04 1.003064000000000E-04 1.926442000000000E-05 1.476706000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.745321000000000E-05 0.000000000000000E+00 3.376453000000000E-04 3.897120618825000E+40 1.441957979199000E+13 9.234742431616000E+12 - 212 7.971643410399999E+31 9.625993417599998E+33 2.999991285727131E+14 6.305930894851801E+07 2.363725374956060E-11 1.375704659307207E+03 2.717613407489077E+04 2.717613407489077E+04 3.183301480291100E-01 1.592969077508994E+03 9.663883699199999E+33 3.014248229750180E+14 5.160446000000000E-01 0.000000000000000E+00 4.679810000000000E-01 7.917176000000000E-03 1.497915000000000E-03 3.964921000000000E-03 9.116090000000000E-04 6.982474000000000E-05 8.591071000000000E-04 1.629912000000000E-04 9.991832000000000E-05 1.922420000000000E-05 1.475025000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.744592000000000E-05 0.000000000000000E+00 3.193431000000000E-04 3.927235794072000E+40 1.421957979199000E+13 9.194051380134000E+12 - 213 7.578070244400000E+31 9.701773980799999E+33 3.028505173773229E+14 6.363930894851801E+07 2.331293846985102E-11 1.350595219477862E+03 2.705127108081770E+04 2.705127108081770E+04 3.170289962766400E-01 1.571895253271309E+03 9.734507261399999E+33 3.040799855648864E+14 5.238021000000000E-01 0.000000000000000E+00 4.608293000000000E-01 7.486444000000000E-03 1.486923000000000E-03 3.853442000000000E-03 8.837326000000000E-04 6.931239000000000E-05 8.582607000000000E-04 1.607078000000000E-04 9.951946000000000E-05 1.918263000000000E-05 1.473271000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.743803000000000E-05 0.000000000000000E+00 2.995536000000000E-04 3.947350969319000E+40 1.401957979199000E+13 9.134742431616000E+12 - 214 6.546759558400000E+31 9.767240542000000E+33 3.053094537524498E+14 6.415925136089449E+07 2.294019036225940E-11 1.326107522241790E+03 2.692698178009060E+04 2.692772321825504E+04 3.157289962766400E-01 1.554085839113259E+03 9.797614631399999E+33 3.064465662015442E+14 5.326811000000000E-01 0.000000000000000E+00 4.526158000000000E-01 7.012569000000000E-03 1.473432000000000E-03 3.733254000000000E-03 8.530344000000000E-04 6.868351000000000E-05 8.573671000000000E-04 1.583776000000000E-04 9.910980000000000E-05 1.913961000000000E-05 1.471430000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.742935000000000E-05 0.000000000000000E+00 2.778603000000000E-04 3.977350969319000E+40 1.381957979199000E+13 9.074281730628000E+12 - 215 6.074758203999999E+31 9.827988720799999E+33 3.075836786506388E+14 6.464919377327101E+07 2.267759617463081E-11 1.313787750193529E+03 2.680400156839357E+04 2.686505144054516E+04 3.146289962766400E-01 1.537859520728443E+03 9.857006175799999E+33 3.086678388606638E+14 5.368676999999999E-01 0.000000000000000E+00 4.487335000000000E-01 6.795559000000000E-03 1.466764000000000E-03 3.679041000000000E-03 8.389660000000000E-04 6.837265999999999E-05 8.569701000000000E-04 1.573695000000000E-04 9.893165000000000E-05 1.912079000000000E-05 1.470617000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.742537000000000E-05 0.000000000000000E+00 2.679532000000000E-04 3.997466144566000E+40 1.361957979199000E+13 8.994051380134000E+12 - 216 5.803524816400000E+31 9.886023630799999E+33 3.097519990706887E+14 6.513919377327099E+07 2.236711174807544E-11 1.289967410690450E+03 2.674161774134605E+04 2.674235407548606E+04 3.136289962766400E-01 1.522649135190839E+03 9.916307211599999E+33 3.108837040597112E+14 5.391420000000000E-01 0.000000000000000E+00 4.466206000000000E-01 6.680304000000000E-03 1.463015000000000E-03 3.650584000000000E-03 8.314901000000000E-04 6.819793000000000E-05 8.567640000000000E-04 1.568570000000000E-04 9.884068000000000E-05 1.911113000000000E-05 1.470196000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.742326000000000E-05 0.000000000000000E+00 2.627030000000000E-04 4.017466144566000E+40 1.351842803952000E+13 8.903936204887000E+12 - 217 6.056742019600000E+31 9.946590792399999E+33 3.120154090487338E+14 6.567919377327101E+07 2.206022346994764E-11 1.277983386632940E+03 2.661948411947152E+04 2.668011372725932E+04 3.349312997815800E-01 1.505925959115650E+03 9.981998552400000E+33 3.133277895214568E+14 5.488554000000000E-01 0.000000000000000E+00 4.375801000000000E-01 6.199632000000000E-03 1.446452000000000E-03 3.533342000000000E-03 8.002935000000001E-04 6.742582000000000E-05 8.559234000000000E-04 1.548122000000000E-04 9.847618000000000E-05 1.907224000000000E-05 1.468486000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.741446000000000E-05 0.000000000000000E+00 2.408583000000000E-04 4.037581319813000E+40 1.331842803952000E+13 8.863245153405000E+12 - 218 7.081402809999999E+31 1.001740631240000E+34 3.146401699941796E+14 6.625425136089450E+07 2.190771171787810E-11 1.254812217511904E+03 2.655752973966878E+04 2.655826100492022E+04 3.339301480291100E-01 1.486724575771445E+03 1.005318107980000E+34 3.159595363155311E+14 5.569014000000000E-01 0.000000000000000E+00 4.300686000000000E-01 5.817343000000000E-03 1.431970000000000E-03 3.442075000000000E-03 7.754570000000000E-04 6.675078000000000E-05 8.552806000000000E-04 1.533101000000000E-04 9.820616000000000E-05 1.904315000000000E-05 1.467187000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.740746000000000E-05 0.000000000000000E+00 2.235566000000000E-04 4.067581319813000E+40 1.321842803952000E+13 8.863245153405000E+12 - 219 7.155035037200000E+31 1.008895584720000E+34 3.172789026368824E+14 6.680930894851799E+07 2.165693621556048E-11 1.231909313418649E+03 2.643623687973336E+04 2.643623687973336E+04 3.327301480291100E-01 1.467710521613271E+03 1.012260913280000E+34 3.185080385014461E+14 5.659152000000000E-01 0.000000000000000E+00 4.216237000000000E-01 5.409869000000000E-03 1.414748000000000E-03 3.347347000000000E-03 7.489511000000000E-04 6.594796000000000E-05 8.546257000000000E-04 1.518566000000000E-04 9.794197000000000E-05 1.901435000000000E-05 1.465876000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.740000000000000E-05 0.000000000000000E+00 2.052123000000000E-04 4.097696495060000E+40 1.301842803952000E+13 8.843245153405000E+12 - 220 6.730679001200000E+31 1.015626241840000E+34 3.197371743660096E+14 6.735430894851801E+07 2.150785091530163E-11 1.209424434435922E+03 2.631477340447482E+04 2.631477340447482E+04 3.317301480291101E-01 1.450171629653339E+03 1.019098489900000E+34 3.209980553683335E+14 5.681956000000000E-01 0.000000000000000E+00 4.194850000000000E-01 5.308380000000000E-03 1.410314000000000E-03 3.323955000000000E-03 7.423467000000000E-04 6.574128000000000E-05 8.544649000000000E-04 1.515059000000000E-04 9.787798000000000E-05 1.900734000000000E-05 1.465555000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.739814000000000E-05 0.000000000000000E+00 2.006512000000000E-04 4.117811670307000E+40 1.291842803952000E+13 8.803129978158000E+12 - 221 6.944468271200000E+31 1.022570737960000E+34 3.222589363706574E+14 6.792930894851799E+07 2.131066575287203E-11 1.198188668789505E+03 2.619386800319213E+04 2.625352821059321E+04 3.306312997815800E-01 1.432403752922488E+03 1.026320479420000E+34 3.236211379614162E+14 5.724045000000000E-01 0.000000000000000E+00 4.155305000000000E-01 5.125972000000000E-03 1.401894000000000E-03 3.282518000000000E-03 7.304684000000000E-04 6.534876000000000E-05 8.541825000000001E-04 1.509073000000000E-04 9.776805000000001E-05 1.899523000000000E-05 1.464993000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.739480000000000E-05 0.000000000000000E+00 1.924775000000000E-04 4.147811670307000E+40 1.281727628705000E+13 8.752899627664000E+12 - 222 7.499530660799999E+31 1.030070220880000E+34 3.249833395521750E+14 6.854925136089450E+07 2.092232324344214E-11 1.176464260965569E+03 2.613290420541563E+04 2.613362377854431E+04 3.293301480291100E-01 1.413632078794795E+03 1.034035193780000E+34 3.264241549556559E+14 5.817262000000000E-01 0.000000000000000E+00 4.067542000000000E-01 4.734644000000000E-03 1.382633000000000E-03 3.195183000000000E-03 7.049644000000000E-04 6.445093000000001E-05 8.535926000000000E-04 1.497010000000000E-04 9.754466000000001E-05 1.897038000000000E-05 1.463827000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.738764000000000E-05 0.000000000000000E+00 1.750060000000000E-04 4.177926845554000E+40 1.261727628705000E+13 8.692784452417000E+12 - 223 7.929913972800000E+31 1.038000166680000E+34 3.278649703591366E+14 6.917919377327099E+07 2.058718738242011E-11 1.154991368239475E+03 2.601355068418970E+04 2.601355068418970E+04 3.279301480291100E-01 1.394178164950054E+03 1.041856131420000E+34 3.292689854729484E+14 5.895354000000000E-01 0.000000000000000E+00 3.993833000000000E-01 4.419856000000000E-03 1.365867000000000E-03 3.126542000000000E-03 6.844267000000000E-04 6.366937000000000E-05 8.531336000000000E-04 1.488061000000000E-04 9.737705000000000E-05 1.895152000000000E-05 1.462926000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.738187000000000E-05 0.000000000000000E+00 1.610189000000000E-04 4.217926845554000E+40 1.241727628705000E+13 8.602669277170000E+12 - 224 7.711913566399999E+31 1.045712096160000E+34 3.306730005867601E+14 6.982425136089450E+07 2.016554238367194E-11 1.133910399974945E+03 2.589402927559096E+04 2.589402927559096E+04 3.265289962766400E-01 1.375688737084307E+03 1.049910302760000E+34 3.321937012676724E+14 5.960254000000000E-01 0.000000000000000E+00 3.932443000000000E-01 4.167774000000000E-03 1.351471000000000E-03 3.072761000000000E-03 6.679639000000000E-04 6.299834000000001E-05 8.527766000000000E-04 1.481412000000000E-04 9.725110000000000E-05 1.893718000000000E-05 1.462230000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.737726000000000E-05 0.000000000000000E+00 1.498687000000000E-04 4.238042020800999E+40 1.211727628705000E+13 8.492438926676000E+12 - 225 8.396486800399999E+31 1.054108509360000E+34 3.337144019485849E+14 7.048930894851801E+07 1.993470932881456E-11 1.113214202744363E+03 2.577505701798224E+04 2.577505701798224E+04 3.463312997815800E-01 1.354691367319666E+03 1.058289608840000E+34 3.352211803107348E+14 6.021489000000000E-01 0.000000000000000E+00 3.874418000000000E-01 3.936974000000000E-03 1.337547000000000E-03 3.024410000000000E-03 6.528784000000000E-04 6.234924000000000E-05 8.524573000000000E-04 1.475689000000000E-04 9.714162000000000E-05 1.892460000000000E-05 1.461610000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.737303000000000E-05 0.000000000000000E+00 1.396984000000000E-04 4.278042020801000E+40 1.201612453458000E+13 8.442208576182000E+12 - 226 8.362069662000000E+31 1.062470708320000E+34 3.367279586728845E+14 7.114925136089450E+07 1.966119486303091E-11 1.092895753684913E+03 2.565663138824403E+04 2.565663138824403E+04 3.450312997815800E-01 1.334248700865107E+03 1.066627738480000E+34 3.382213171503693E+14 6.133421000000000E-01 0.000000000000000E+00 3.768092000000000E-01 3.533883000000000E-03 1.311179000000000E-03 2.942329000000000E-03 6.264984000000000E-04 6.112014999999999E-05 8.519176000000000E-04 1.466578000000000E-04 9.696455000000000E-05 1.890393000000000E-05 1.460571000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.736564000000000E-05 0.000000000000000E+00 1.220407000000000E-04 4.308157196048000E+40 1.181727628705000E+13 8.422208576182000E+12 - 227 8.314092147200000E+31 1.070784768640000E+34 3.397146756278541E+14 7.179925136089449E+07 1.939085761716782E-11 1.072948158115442E+03 2.553874987484935E+04 2.553874987484935E+04 3.436312997815800E-01 1.314347754487391E+03 1.074945080980000E+34 3.411950055392686E+14 6.221870000000000E-01 0.000000000000000E+00 3.683858000000000E-01 3.230725000000000E-03 1.289595000000000E-03 2.882563000000000E-03 6.066304000000000E-04 6.011401000000000E-05 8.515254000000000E-04 1.460399000000000E-04 9.684213000000000E-05 1.888939000000000E-05 1.459823000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.736008000000000E-05 0.000000000000000E+00 1.088491000000000E-04 4.338387546542000E+40 1.171612453458000E+13 8.372093400935000E+12 - 228 8.320744032000000E+31 1.079105393320000E+34 3.426753354506832E+14 7.245430894851799E+07 1.921365142861900E-11 1.053364647196917E+03 2.542140997781069E+04 2.542140997781069E+04 3.425301480291100E-01 1.294863352340860E+03 1.083377498700000E+34 3.441976978427451E+14 6.222059000000000E-01 0.000000000000000E+00 3.683678000000000E-01 3.230095000000000E-03 1.289548000000000E-03 2.882441000000000E-03 6.065890000000000E-04 6.011182000000000E-05 8.515246000000000E-04 1.460386000000000E-04 9.684188000000000E-05 1.888936000000000E-05 1.459821000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.736007000000000E-05 0.000000000000000E+00 1.088218000000000E-04 4.378387546542001E+40 1.161612453458000E+13 8.301863050441000E+12 - 229 8.544149094800001E+31 1.087649604080000E+34 3.457200602348072E+14 7.312930894851801E+07 1.886240291375443E-11 1.034138575635538E+03 2.530460920862688E+04 2.530460920862688E+04 3.410301480291100E-01 1.275278163251045E+03 1.092005753160000E+34 3.472772308854994E+14 6.315137000000000E-01 0.000000000000000E+00 3.594836000000000E-01 2.925351000000000E-03 1.266136000000000E-03 2.824224000000000E-03 5.865900000000000E-04 5.902046000000000E-05 8.511420000000000E-04 1.454744000000000E-04 9.672792999999999E-05 1.887558000000000E-05 1.459097000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.735448000000000E-05 0.000000000000000E+00 9.564623000000000E-05 4.408502721789001E+40 1.131612453458000E+13 8.221747875194000E+12 - 230 8.712314073599999E+31 1.096361902240000E+34 3.488344015361914E+14 7.375930894851801E+07 1.847553475476631E-11 1.015263419427808E+03 2.518834509023054E+04 2.518834509023054E+04 3.395278445241700E-01 1.255742493856027E+03 1.100044806580000E+34 3.501526795478544E+14 6.410123000000000E-01 0.000000000000000E+00 3.503990000000000E-01 2.627530000000000E-03 1.241598000000000E-03 2.769086000000000E-03 5.670196000000000E-04 5.787663000000000E-05 8.507780000000000E-04 1.449719000000000E-04 9.662437000000000E-05 1.886284000000000E-05 1.458413000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.734901000000000E-05 0.000000000000000E+00 8.285100000000000E-05 4.438733072283000E+40 1.111497278211000E+13 8.131517524700000E+12 - 231 7.365750993199999E+31 1.103727710920000E+34 3.514709575595176E+14 7.432430894851799E+07 1.813885660435431E-11 9.967327736466888E+02 2.507261515693523E+04 2.507261515693523E+04 3.389186305044100E-01 1.239534435902340E+03 1.107210899580000E+34 3.527186956226874E+14 6.453530000000000E-01 0.000000000000000E+00 3.462408000000000E-01 2.496177000000000E-03 1.230150000000000E-03 2.745413000000000E-03 5.583784000000000E-04 5.734301000000000E-05 8.506207000000000E-04 1.447664000000000E-04 9.658129000000000E-05 1.885747000000000E-05 1.458119000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.734660000000000E-05 0.000000000000000E+00 7.723773000000000E-05 4.458848247530000E+40 1.091497278211000E+13 8.021402349453000E+12 - 232 6.966385276800001E+31 1.110694088240000E+34 3.539664336858574E+14 7.486930894851799E+07 1.784883634449336E-11 9.875946726507083E+02 2.495741695438334E+04 2.501494974227258E+04 3.388059612272400E-01 1.224444005666920E+03 1.114047481600000E+34 3.551704232522126E+14 6.458310000000000E-01 0.000000000000000E+00 3.457826000000000E-01 2.481948000000000E-03 1.228878000000000E-03 2.742882000000000E-03 5.574419000000000E-04 5.728371000000000E-05 8.506039000000000E-04 1.447450000000000E-04 9.657674000000000E-05 1.885690000000000E-05 1.458087000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.734634000000000E-05 0.000000000000000E+00 7.663120000000001E-05 4.479078598024000E+40 1.071497278211000E+13 7.901287174206000E+12 - 233 6.706812579599999E+31 1.117400874960000E+34 3.563744128185679E+14 7.541930894851799E+07 1.756345318789439E-11 9.695690384123294E+02 2.490001648823432E+04 2.490001648823432E+04 3.582955954550101E-01 1.209291316766330E+03 1.120939761220000E+34 3.576395184293712E+14 6.522447000000000E-01 0.000000000000000E+00 3.396321000000000E-01 2.292655000000000E-03 1.211728000000000E-03 2.709434000000000E-03 5.449793000000000E-04 5.648426000000000E-05 8.503804000000000E-04 1.444644000000000E-04 9.651713000000001E-05 1.884937000000000E-05 1.457671000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.734286000000000E-05 0.000000000000000E+00 6.857296999999999E-05 4.499193773271001E+40 1.061497278211000E+13 7.821171998959000E+12 - 234 7.077710854799999E+31 1.124478647480000E+34 3.589046240401746E+14 7.607425136089450E+07 1.740243048119449E-11 9.518724090771702E+02 2.478561130453079E+04 2.478561130453079E+04 3.582829261778400E-01 1.193516026606575E+03 1.129251533960000E+34 3.606052493543639E+14 6.575171000000000E-01 0.000000000000000E+00 3.345703000000000E-01 2.141209000000000E-03 1.197424000000000E-03 2.683261000000000E-03 5.349995000000000E-04 5.581750000000000E-05 8.502040999999999E-04 1.442529000000000E-04 9.647150000000000E-05 1.884355000000000E-05 1.457345000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.734008000000000E-05 0.000000000000000E+00 6.215334000000000E-05 4.519308948518000E+40 1.051382102964000E+13 7.791056823712000E+12 - 235 9.545802798000000E+31 1.134024420440000E+34 3.623058746685530E+14 7.689919377327099E+07 1.716366018372540E-11 9.344987796289915E+02 2.467173176489921E+04 2.467173176489921E+04 3.582679533957300E-01 1.172601901684187E+03 1.139769826800000E+34 3.643506688356004E+14 6.625532000000000E-01 0.000000000000000E+00 3.297307000000000E-01 1.999882000000000E-03 1.183596000000000E-03 2.659316000000000E-03 5.256795000000000E-04 5.517290000000000E-05 8.500417000000000E-04 1.440654000000000E-04 9.643050000000000E-05 1.883826000000000E-05 1.457045000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.733748000000000E-05 0.000000000000000E+00 5.618510000000000E-05 4.549424123765000E+40 1.031497278211000E+13 7.720941648465000E+12 - 236 1.149091615840000E+32 1.145515233160000E+34 3.663954630026479E+14 7.779425136089449E+07 1.684988795924370E-11 9.174422546554421E+02 2.455837545422439E+04 2.455837545422439E+04 3.580506771086800E-01 1.147929976036930E+03 1.151219960380000E+34 3.684290430069325E+14 6.699675000000000E-01 0.000000000000000E+00 3.225961000000000E-01 1.798817000000000E-03 1.162889000000000E-03 2.626266000000000E-03 5.124043000000000E-04 5.420765000000000E-05 8.498144000000000E-04 1.438179000000000E-04 9.637524000000000E-05 1.883101000000000E-05 1.456627000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.733378000000000E-05 0.000000000000000E+00 4.774151000000000E-05 4.589654474258999E+40 1.011497278211000E+13 7.630711297971000E+12 - 237 1.140938282880000E+32 1.156924687600000E+34 3.704626230112170E+14 7.859430894851799E+07 1.642895376958133E-11 8.924394061917601E+02 2.438931678673697E+04 2.438931678673697E+04 3.575334008216300E-01 1.124040990077102E+03 1.161427639640000E+34 3.720703969933085E+14 6.778850000000000E-01 0.000000000000000E+00 3.149699000000000E-01 1.589514000000000E-03 1.140506000000000E-03 2.592668000000000E-03 4.985730000000000E-04 5.316429000000000E-05 8.495807000000000E-04 1.435745000000000E-04 9.631998000000000E-05 1.882368000000000E-05 1.456200000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732993000000000E-05 0.000000000000000E+00 3.898958000000000E-05 4.629654474259000E+40 9.903936204887000E+12 7.500596122724000E+12 - 238 9.005866285199999E+31 1.165930591680000E+34 3.736781709753998E+14 7.924930894851801E+07 1.609199568804743E-11 8.761505512987387E+02 2.427725805502053E+04 2.427725805502053E+04 3.571184280395200E-01 1.105562959141177E+03 1.169743390780000E+34 3.750450014830845E+14 6.821310000000000E-01 0.000000000000000E+00 3.108743000000000E-01 1.481447000000000E-03 1.128293000000000E-03 2.575954000000000E-03 4.914219000000000E-04 5.259495000000000E-05 8.494621000000000E-04 1.434593000000000E-04 9.629311000000000E-05 1.882005000000000E-05 1.455984000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732794000000000E-05 0.000000000000000E+00 3.450024000000000E-05 4.659769649506000E+40 9.694051380134000E+12 7.380365772230000E+12 - 239 7.625685724799999E+31 1.173556189880000E+34 3.764118319907692E+14 7.985930894851799E+07 1.576194862168240E-11 8.601590015133634E+02 2.416571418640844E+04 2.416571418640844E+04 3.566092140197600E-01 1.090198237103616E+03 1.177418221680000E+34 3.778042866560389E+14 6.862576000000000E-01 0.000000000000000E+00 3.068916000000000E-01 1.378129000000000E-03 1.116336000000000E-03 2.560241000000000E-03 4.845810000000000E-04 5.203757000000000E-05 8.493494000000000E-04 1.433529000000000E-04 9.626803000000000E-05 1.881664000000000E-05 1.455779000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732604000000000E-05 0.000000000000000E+00 3.022042000000000E-05 4.689654474259000E+40 9.502784452417000E+12 7.260250596983001E+12 - 240 7.723906453200000E+31 1.181280253480000E+34 3.791967413213085E+14 8.049430894851799E+07 1.547380136006970E-11 8.444593304058700E+02 2.405468281531963E+04 2.405468281531963E+04 3.561115175247000E-01 1.074853048469460E+03 1.185302316420000E+34 3.806459458135744E+14 6.904162000000000E-01 0.000000000000000E+00 3.028751000000000E-01 1.276091000000000E-03 1.104179000000000E-03 2.545051000000000E-03 4.778197000000000E-04 5.147089000000000E-05 8.492391000000000E-04 1.432525000000000E-04 9.624400000000000E-05 1.881333000000000E-05 1.455579000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732415000000000E-05 0.000000000000000E+00 2.600873000000000E-05 4.719654474259000E+40 9.312669277170000E+12 7.140135421736001E+12 - 241 8.044243242800000E+31 1.189324379360000E+34 3.820951503058405E+14 8.114930894851801E+07 1.522684432056858E-11 8.291493365719568E+02 2.394416158704180E+04 2.394482239450142E+04 3.706184280395200E-01 1.058497133142399E+03 1.193512043200000E+34 3.835978171596117E+14 6.912295000000001E-01 0.000000000000000E+00 3.020894000000000E-01 1.256315000000000E-03 1.101792000000000E-03 2.542136000000000E-03 4.765088000000000E-04 5.135964000000000E-05 8.492178000000000E-04 1.432334000000000E-04 9.623941000000000E-05 1.881270000000000E-05 1.455541000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732379000000000E-05 0.000000000000000E+00 2.519374000000000E-05 4.739654474259001E+40 9.173129978158000E+12 7.049905071242001E+12 - 242 8.375311766400000E+31 1.197699707040000E+34 3.851004840133828E+14 8.181430894851799E+07 1.505254407495747E-11 8.214454692448643E+02 2.383414815768176E+04 2.388909154356916E+04 3.703218832969300E-01 1.041745361029582E+03 1.201936205740000E+34 3.866174276468321E+14 6.934696000000000E-01 0.000000000000000E+00 2.999244000000000E-01 1.202392000000000E-03 1.095190000000000E-03 2.534277000000000E-03 4.729332000000000E-04 5.105187000000000E-05 8.491599000000000E-04 1.431826000000000E-04 9.622706000000000E-05 1.881098000000000E-05 1.455436000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732280000000000E-05 0.000000000000000E+00 2.297564000000000E-05 4.779654474259000E+40 9.073129978158000E+12 6.979789895995001E+12 - 243 8.472963583599999E+31 1.206172704440000E+34 3.881343712802814E+14 8.249930894851801E+07 1.484601542769020E-11 8.064523997342328E+02 2.372529494325576E+04 2.377933113807531E+04 3.699253385543400E-01 1.025084305635298E+03 1.210631894080000E+34 3.897299337527776E+14 6.969554000000000E-01 0.000000000000000E+00 2.965544000000000E-01 1.119336000000000E-03 1.084871000000000E-03 2.522310000000000E-03 4.674235000000000E-04 5.057085000000000E-05 8.490711000000000E-04 1.431059000000000E-04 9.620831000000001E-05 1.880837000000000E-05 1.455276000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732126000000000E-05 0.000000000000000E+00 1.956536000000000E-05 4.809654474259000E+40 8.952208576182000E+12 6.909789895995001E+12 - 244 8.918343474400001E+31 1.215091083720000E+34 3.913254962252736E+14 8.320936653614150E+07 1.464232045969530E-11 7.917329845826085E+02 2.361628711477958E+04 2.367007503583597E+04 3.695276420592800E-01 1.007818771828737E+03 1.219707917460000E+34 3.929794692899618E+14 6.998077000000000E-01 0.000000000000000E+00 2.937956000000000E-01 1.052322000000000E-03 1.076376000000000E-03 2.512812000000000E-03 4.629755000000000E-04 5.017487000000000E-05 8.489998000000000E-04 1.430460000000000E-04 9.619349000000000E-05 1.880629000000000E-05 1.455148000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.732003000000000E-05 0.000000000000000E+00 1.682075000000000E-05 4.849539299012000E+40 8.812323751429000E+12 6.819674720748001E+12 - 245 9.233697318000000E+31 1.224324751200000E+34 3.946334423546500E+14 8.393936653614148E+07 1.437506799234529E-11 7.772822290350507E+02 2.350778013178068E+04 2.356132091978828E+04 3.689310973166900E-01 9.902761984792165E+02 1.229000564720000E+34 3.963122105871650E+14 7.025153000000000E-01 0.000000000000000E+00 2.911757000000000E-01 9.894436000000000E-04 1.068271000000000E-03 2.504024000000000E-03 4.588001000000000E-04 4.979706000000000E-05 8.489332000000000E-04 1.429912000000000E-04 9.617980000000000E-05 1.880435000000000E-05 1.455028000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731887000000000E-05 0.000000000000000E+00 1.425087000000000E-05 4.889539299012000E+40 8.661978225688000E+12 6.719444370254001E+12 - 246 9.351617093999999E+31 1.233676378240000E+34 3.979909788196799E+14 8.467936653614150E+07 1.411227456642378E-11 7.630952295011507E+02 2.339977169308304E+04 2.345306648351514E+04 3.682345525741000E-01 9.728291197203004E+02 1.238366016700000E+34 3.996801473435335E+14 7.047778000000000E-01 0.000000000000000E+00 2.889858000000000E-01 9.373879000000000E-04 1.061470000000000E-03 2.496833000000000E-03 4.553420000000000E-04 4.948003000000000E-05 8.488782000000000E-04 1.429466000000000E-04 9.616860000000001E-05 1.880276000000000E-05 1.454929000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731790000000000E-05 0.000000000000000E+00 1.212680000000000E-05 4.929539299012000E+40 8.491863050441000E+12 6.609214019760001E+12 - 247 9.379374390799999E+31 1.243055655160000E+34 4.013693158673870E+14 8.542436653614150E+07 1.382324188403924E-11 7.491671718911190E+02 2.329161670946199E+04 2.334530943119650E+04 3.674380078315100E-01 9.556707001888642E+02 1.247746089300000E+34 4.030659254228943E+14 7.068238000000000E-01 0.000000000000000E+00 2.870050000000000E-01 8.906546000000000E-04 1.055297000000000E-03 2.490438000000000E-03 4.522366000000000E-04 4.919229000000000E-05 8.488289999999999E-04 1.429072000000000E-04 9.615865000000000E-05 1.880135000000000E-05 1.454841000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731704000000000E-05 0.000000000000000E+00 1.022226000000000E-05 4.969539299012000E+40 8.321632699947000E+12 6.489098844513000E+12 - 248 9.380760863200000E+31 1.252436523440000E+34 4.047625349784017E+14 8.617430894851799E+07 1.353972699129853E-11 7.354933299822009E+02 2.318460145147382E+04 2.323804747756066E+04 3.666414630889200E-01 9.388267476990470E+02 1.257113132640000E+34 4.064584498149532E+14 7.085965000000000E-01 0.000000000000000E+00 2.852884000000000E-01 8.503577000000000E-04 1.049933000000000E-03 2.484961000000000E-03 4.495582000000000E-04 4.894225000000000E-05 8.487866000000000E-04 1.428736000000000E-04 9.615011000000000E-05 1.880013000000000E-05 1.454765000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731630000000000E-05 0.000000000000000E+00 8.581220999999999E-06 5.009539299012000E+40 8.151402349453000E+12 6.358983669266000E+12 - 249 9.353299957199999E+31 1.261789741840000E+34 4.081543646515048E+14 8.691936653614150E+07 1.326202699314475E-11 7.220690638149455E+02 2.307807788393312E+04 2.313127834783587E+04 3.727460700988000E-01 9.220604197870732E+02 1.266462173720000E+34 4.098496143693998E+14 7.100779000000000E-01 0.000000000000000E+00 2.838539000000000E-01 8.167643000000000E-04 1.045441000000000E-03 2.480413000000000E-03 4.473251000000000E-04 4.873285000000000E-05 8.487513000000000E-04 1.428456000000000E-04 9.614301000000000E-05 1.879912000000000E-05 1.454701000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731568000000000E-05 0.000000000000000E+00 7.213488000000000E-06 5.049424123765000E+40 7.991171998959000E+12 6.248753318772000E+12 - 250 9.344897576399999E+31 1.271134605600000E+34 4.115448640872948E+14 8.768436653614150E+07 1.304998184615838E-11 7.024780483602514E+02 2.297204374772747E+04 2.297267772682154E+04 3.720483736037400E-01 9.055994966207302E+02 1.276021473240000E+34 4.133201352887822E+14 7.113110000000000E-01 0.000000000000000E+00 2.826598000000000E-01 7.888246999999999E-04 1.041697000000000E-03 2.476638000000000E-03 4.454677000000000E-04 4.855832000000000E-05 8.487219000000000E-04 1.428223000000000E-04 9.613710000000000E-05 1.879827000000000E-05 1.454649000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731516000000000E-05 0.000000000000000E+00 6.075935000000000E-06 5.089424123765001E+40 7.860941648465000E+12 6.148638143525000E+12 - 251 9.773603992799999E+31 1.280908340880000E+34 4.150954064902696E+14 8.847430894851799E+07 1.281179283391412E-11 6.896563789943712E+02 2.286649679412420E+04 2.286712786034893E+04 3.712506771086800E-01 8.887124654293394E+02 1.285879749520000E+34 4.169022398643529E+14 7.121910000000000E-01 0.000000000000000E+00 2.818077000000000E-01 7.688989000000000E-04 1.039022000000000E-03 2.473949000000000E-03 4.441430000000000E-04 4.843362000000000E-05 8.487009000000000E-04 1.428058000000000E-04 9.613289000000000E-05 1.879767000000000E-05 1.454611000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731479000000000E-05 0.000000000000000E+00 5.264615000000000E-06 5.139424123765000E+40 7.710826473218000E+12 6.048407793031000E+12 - 252 9.942851096399998E+31 1.290851158160000E+34 4.187090732384364E+14 8.926936653614150E+07 1.257795126109337E-11 6.770687314683361E+02 2.276143478472257E+04 2.276206295146137E+04 3.704529806136200E-01 8.718751513659852E+02 1.295894178000000E+34 4.205459336427036E+14 7.123015000000000E-01 0.000000000000000E+00 2.817006000000000E-01 7.663976000000000E-04 1.038685000000000E-03 2.473612000000000E-03 4.439766000000000E-04 4.841792000000000E-05 8.486983000000000E-04 1.428037000000000E-04 9.613236000000001E-05 1.879760000000000E-05 1.454606000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731475000000000E-05 0.000000000000000E+00 5.162762000000000E-06 5.189308948518000E+40 7.580596122724000E+12 5.938292617784000E+12 - 253 1.008613914000000E+32 1.300937197840000E+34 4.223827940469708E+14 9.008942412376499E+07 1.234801127717562E-11 6.646281605646834E+02 2.265685549140634E+04 2.265685549140634E+04 3.694564358710300E-01 8.551161242662977E+02 1.306207483780000E+34 4.243021541441114E+14 7.139290000000000E-01 0.000000000000000E+00 2.801245000000000E-01 7.295869000000000E-04 1.033726000000000E-03 2.468659000000000E-03 4.415291000000000E-04 4.818675000000000E-05 8.486596000000000E-04 1.427730000000000E-04 9.612458000000000E-05 1.879649000000000E-05 1.454537000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731407000000000E-05 0.000000000000000E+00 3.663779000000000E-06 5.239308948518000E+40 7.430365772230000E+12 5.828177442537000E+12 - 254 1.054049231200000E+32 1.311477769720000E+34 4.262215142412522E+14 9.093442412376499E+07 1.209511236957868E-11 6.524973295075300E+02 2.255275669629653E+04 2.255275669629653E+04 3.686587393759700E-01 8.380000858665966E+02 1.316825535000000E+34 4.281664399251511E+14 7.143630000000000E-01 0.000000000000000E+00 2.797042000000000E-01 7.197876000000000E-04 1.032399000000000E-03 2.467346000000000E-03 4.408775000000000E-04 4.812491000000000E-05 8.486492000000000E-04 1.427649000000000E-04 9.612250999999999E-05 1.879619000000000E-05 1.454518000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731388000000000E-05 0.000000000000000E+00 3.264681000000000E-06 5.289308948518001E+40 7.290250596983000E+12 5.727947092043000E+12 - 255 1.069560217120000E+32 1.322173300280000E+34 4.301113656090499E+14 9.178942412376499E+07 1.190137165297795E-11 6.405879110700516E+02 2.239812273427200E+04 2.244913619170450E+04 3.677610428809100E-01 8.209754173099211E+02 1.327563534980000E+34 4.320754400061088E+14 7.144941000000000E-01 0.000000000000000E+00 2.795772000000000E-01 7.168303000000000E-04 1.031997000000000E-03 2.466951000000000E-03 4.406808000000000E-04 4.810618000000000E-05 8.486461000000000E-04 1.427624000000000E-04 9.612188000000000E-05 1.879610000000000E-05 1.454513000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731383000000000E-05 0.000000000000000E+00 3.144227000000000E-06 5.349308948517999E+40 7.160020246489001E+12 5.627831916796000E+12 - 256 1.078040574560000E+32 1.332953769680000E+34 4.340395144031679E+14 9.263942412376501E+07 1.168449393611205E-11 6.288958640164931E+02 2.229521270819876E+04 2.234599178008490E+04 3.668633463858501E-01 8.041376317678265E+02 1.338211523660000E+34 4.359589050204124E+14 7.152517000000000E-01 0.000000000000000E+00 2.788434000000000E-01 6.997552000000000E-04 1.029673000000000E-03 2.464674000000000E-03 4.395451000000000E-04 4.799781000000000E-05 8.486282000000000E-04 1.427482000000000E-04 9.611827000000000E-05 1.879559000000000E-05 1.454481000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731351000000000E-05 0.000000000000000E+00 2.448683000000000E-06 5.399308948518000E+40 7.039789895995001E+12 5.527716741549000E+12 - 257 1.051554575480000E+32 1.343469277640000E+34 4.378782956376571E+14 9.344442412376501E+07 1.149767179833287E-11 6.118328028651875E+02 2.219216305468458E+04 2.219277551074567E+04 3.678668016432600E-01 7.879017099516722E+02 1.348273195640000E+34 4.396278372659986E+14 7.157514000000000E-01 0.000000000000000E+00 2.783594000000000E-01 6.885145000000001E-04 1.028133000000000E-03 2.463182000000000E-03 4.387973000000000E-04 4.792606000000000E-05 8.486162999999999E-04 1.427388000000000E-04 9.611590000000001E-05 1.879525000000000E-05 1.454459000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731331000000000E-05 0.000000000000000E+00 1.990718000000000E-06 5.459193773271001E+40 6.929674720748001E+12 5.447601566302000E+12 - 258 9.607754442800000E+31 1.353077113640000E+34 4.413773788943402E+14 9.422436653614150E+07 1.136605903759177E-11 6.006655956850504E+02 2.209019932738144E+04 2.209080896946254E+04 3.671679533957300E-01 7.732997180521191E+02 1.358024552420000E+34 4.431749660164828E+14 7.161302000000001E-01 0.000000000000000E+00 2.779925000000000E-01 6.800033000000000E-04 1.026964000000000E-03 2.462056000000000E-03 4.382311000000000E-04 4.787154000000000E-05 8.486073999999999E-04 1.427317000000000E-04 9.611409000000000E-05 1.879499000000000E-05 1.454443000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731315000000000E-05 0.000000000000000E+00 1.643922000000000E-06 5.509193773270999E+40 6.839559545501001E+12 5.377486391055000E+12 - 259 9.895008847200001E+31 1.362971991200000E+34 4.449725531386256E+14 9.507436653614150E+07 1.123595283566481E-11 5.897022130066688E+02 2.198870408085052E+04 2.198931092188069E+04 3.664702569006700E-01 7.584966420572293E+02 1.368699793140000E+34 4.470417100702391E+14 7.164443000000000E-01 0.000000000000000E+00 2.776883000000000E-01 6.729566000000000E-04 1.025991000000000E-03 2.461127000000000E-03 4.377622000000000E-04 4.782622000000000E-05 8.486000000000000E-04 1.427259000000000E-04 9.611260000000001E-05 1.879478000000000E-05 1.454430000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731302000000000E-05 0.000000000000000E+00 1.356763000000000E-06 5.559193773271000E+40 6.759444370254001E+12 5.317486391055000E+12 - 260 1.145552829040000E+32 1.374427595080000E+34 4.491108670018527E+14 9.600442412376501E+07 1.110733594711586E-11 5.788669287113199E+02 2.188767516261825E+04 2.188767516261825E+04 3.657714086531400E-01 7.416843663945709E+02 1.380485405300000E+34 4.512727581603205E+14 7.167148000000000E-01 0.000000000000000E+00 2.774263000000000E-01 6.669033000000000E-04 1.025150000000000E-03 2.460335000000000E-03 4.373593000000000E-04 4.778698000000000E-05 8.485936000000000E-04 1.427208000000000E-04 9.611132000000000E-05 1.879459000000000E-05 1.454419000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731291000000000E-05 0.000000000000000E+00 1.110027000000000E-06 5.619078598024000E+40 6.689444370254001E+12 5.267371215808000E+12 - 261 1.211562640760000E+32 1.386543215520000E+34 4.534346493187884E+14 9.693442412376501E+07 1.098019132391565E-11 5.683014165446356E+02 2.173760136119878E+04 2.178711043010067E+04 3.649737121580800E-01 7.243575418540745E+02 1.392450343840000E+34 4.555244014445642E+14 7.169436000000000E-01 0.000000000000000E+00 2.772046000000000E-01 6.618034000000000E-04 1.024432000000000E-03 2.459674000000000E-03 4.370198000000000E-04 4.775353000000000E-05 8.485882000000000E-04 1.427166000000000E-04 9.611024000000000E-05 1.879444000000000E-05 1.454409000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731281000000000E-05 0.000000000000000E+00 9.020737000000000E-07 5.679078598024000E+40 6.609329195007001E+12 5.207256040561000E+12 - 262 1.181420492080000E+32 1.398357472160000E+34 4.576141535703402E+14 9.782942412376499E+07 1.085450211318209E-11 5.528823903151667E+02 2.163712901685209E+04 2.163772615516521E+04 3.642748639105500E-01 7.078323051598793E+02 1.404011275860000E+34 4.596027186993189E+14 7.171308000000000E-01 0.000000000000000E+00 2.770232000000000E-01 6.576497000000000E-04 1.023840000000000E-03 2.459142000000000E-03 4.367431000000000E-04 4.772592000000000E-05 8.485838000000000E-04 1.427131000000000E-04 9.610936000000000E-05 1.879431000000000E-05 1.454401000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731274000000000E-05 0.000000000000000E+00 7.326300000000000E-07 5.748963422776999E+40 6.539098844513001E+12 5.147140865314000E+12 - 263 1.130753578880000E+32 1.409665079560000E+34 4.615912838282977E+14 9.870942412376501E+07 1.073025165494644E-11 5.427236394256072E+02 2.153771543930850E+04 2.153771543930850E+04 3.634771674154900E-01 6.923212642873295E+02 1.415413270800000E+34 4.636013681815554E+14 7.172980000000000E-01 0.000000000000000E+00 2.768611000000000E-01 6.539620000000000E-04 1.023305000000000E-03 2.458678000000000E-03 4.364974000000000E-04 4.770100000000000E-05 8.485800000000000E-04 1.427100000000000E-04 9.610858000000000E-05 1.879420000000000E-05 1.454394000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731267000000000E-05 0.000000000000000E+00 5.821201000000000E-07 5.808963422776999E+40 6.459098844513000E+12 5.087140865314000E+12 - 264 1.149642823160000E+32 1.421161462040000E+34 4.656114525348131E+14 9.960942412376499E+07 1.060742347994504E-11 5.328178166344106E+02 2.139004115202795E+04 2.143875862566331E+04 3.626783191679600E-01 6.768559041466203E+02 1.427253685420000E+34 4.677291987957923E+14 7.173144000000000E-01 0.000000000000000E+00 2.768452000000000E-01 6.535998000000000E-04 1.023252000000000E-03 2.458632000000000E-03 4.364732000000000E-04 4.769853000000000E-05 8.485796000000000E-04 1.427097000000000E-04 9.610851000000000E-05 1.879419000000000E-05 1.454394000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731266000000000E-05 0.000000000000000E+00 5.673323000000000E-07 5.868848247530000E+40 6.388983669266000E+12 5.027025690067000E+12 - 265 1.218446665200000E+32 1.433345908800000E+34 4.698469450567716E+14 1.005544241237650E+08 1.048600130743632E-11 5.183615234578670E+02 2.129117524936895E+04 2.129176284010073E+04 3.623806226729000E-01 6.607619307050865E+02 1.439725372660000E+34 4.720552546429557E+14 7.174173000000000E-01 0.000000000000000E+00 2.767455000000000E-01 6.513470000000000E-04 1.022919000000000E-03 2.458354000000000E-03 4.363230000000000E-04 4.768301000000000E-05 8.485771999999999E-04 1.427079000000000E-04 9.610803000000000E-05 1.879412000000000E-05 1.454389000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731262000000000E-05 0.000000000000000E+00 4.753239000000000E-07 5.928963422777001E+40 6.318753318772000E+12 4.976910514820000E+12 - 266 1.275890186040000E+32 1.446104836520000E+34 4.742635642291398E+14 1.015294817113885E+08 1.036596904304289E-11 5.088370645859875E+02 2.119335118500257E+04 2.119335118500257E+04 3.615817744253700E-01 6.442083854369852E+02 1.452631302260000E+34 4.765158905810857E+14 7.175408000000000E-01 0.000000000000000E+00 2.766257000000000E-01 6.486583000000000E-04 1.022514000000000E-03 2.458028000000000E-03 4.361436000000000E-04 4.766412999999999E-05 8.485744000000000E-04 1.427056000000000E-04 9.610746000000000E-05 1.879404000000000E-05 1.454384000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731257000000000E-05 0.000000000000000E+00 3.654475000000000E-07 5.998848247530000E+40 6.238753318772000E+12 4.916910514820000E+12 - 267 1.305295733960000E+32 1.459157768000000E+34 4.787682169330318E+14 1.025144817113885E+08 1.024731077661808E-11 4.950314117810404E+02 2.104745718164690E+04 2.104803804628320E+04 3.606829261778400E-01 6.275596394068161E+02 1.465727697760000E+34 4.810187333875044E+14 7.176290000000000E-01 0.000000000000000E+00 2.765402000000000E-01 6.467575000000000E-04 1.022220000000000E-03 2.457804000000000E-03 4.360167000000000E-04 4.765041000000000E-05 8.485724000000000E-04 1.427040000000000E-04 9.610706000000000E-05 1.879398000000000E-05 1.454381000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731253000000000E-05 0.000000000000000E+00 2.876958000000000E-07 6.068848247530000E+40 6.168638143525000E+12 4.856795339573000E+12 - 268 1.313991919600000E+32 1.472297627520000E+34 4.832692498419772E+14 1.034994241237650E+08 1.013001078013720E-11 4.859356241725292E+02 2.090314437153824E+04 2.095075290008560E+04 3.598829261778400E-01 6.111511709172478E+02 1.478862385360000E+34 4.854957182082341E+14 7.177021000000000E-01 0.000000000000000E+00 2.764693000000000E-01 6.452014000000000E-04 1.021971000000000E-03 2.457627000000000E-03 4.359126000000000E-04 4.763879000000000E-05 8.485707000000000E-04 1.427027000000000E-04 9.610673000000000E-05 1.879394000000000E-05 1.454378000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731251000000000E-05 0.000000000000000E+00 2.239705000000000E-07 6.138848247530000E+40 6.098522968278000E+12 4.796795339573000E+12 - 269 1.312958530200000E+32 1.485427143200000E+34 4.877221865744911E+14 1.044994817113885E+08 1.001405350561279E-11 4.727513280986146E+02 2.080652893157643E+04 2.080710314711021E+04 3.589852296827800E-01 5.951438764122993E+02 1.492366865240000E+34 4.900603652702952E+14 7.177601000000000E-01 0.000000000000000E+00 2.764130000000000E-01 6.439877000000000E-04 1.021768000000000E-03 2.457496000000000E-03 4.358313000000000E-04 4.762935000000000E-05 8.485694000000000E-04 1.427017000000000E-04 9.610647000000000E-05 1.879390000000000E-05 1.454375000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731248000000000E-05 0.000000000000000E+00 1.741930000000000E-07 6.208848247529999E+40 6.028407793031000E+12 4.746680164326000E+12 - 270 1.387936650120000E+32 1.499306587280000E+34 4.923985439660991E+14 1.055294817113885E+08 9.876655540599195E-12 4.640649183684646E+02 2.066386805654490E+04 2.071093161477246E+04 3.585806226729000E-01 5.785827868468149E+02 1.506397786900000E+34 4.947660114515760E+14 7.178049000000000E-01 0.000000000000000E+00 2.763695000000000E-01 6.430662000000000E-04 1.021607000000000E-03 2.457404000000000E-03 4.357695000000000E-04 4.762182000000000E-05 8.485685000000000E-04 1.427009000000000E-04 9.610627000000000E-05 1.879387000000000E-05 1.454374000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731247000000000E-05 0.000000000000000E+00 1.363253000000000E-07 6.278848247530000E+40 5.948407793031000E+12 4.686564989079000E+12 - 271 1.418238332640000E+32 1.513488986520000E+34 4.971334789370529E+14 1.065694241237650E+08 9.763598399519936E-12 4.514178609952075E+02 2.056835856437901E+04 2.056835856437901E+04 3.581748639105499E-01 5.620249718599633E+02 1.520652394100000E+34 4.995160300575345E+14 7.178403000000000E-01 0.000000000000000E+00 2.763351000000000E-01 6.423552000000000E-04 1.021474000000000E-03 2.457338000000000E-03 4.357217000000000E-04 4.761565000000000E-05 8.485677000000000E-04 1.427003000000000E-04 9.610612000000000E-05 1.879385000000000E-05 1.454372000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731245000000000E-05 0.000000000000000E+00 1.070375000000000E-07 6.348963422776999E+40 5.878292617784000E+12 4.626564989079000E+12 - 272 1.432689074960000E+32 1.527815801680000E+34 5.018985811780163E+14 1.076344241237650E+08 9.629636807388227E-12 4.391700931091861E+02 2.042676697996094E+04 2.042733071488009E+04 3.577691051482000E-01 5.456089283359837E+02 1.535357455640000E+34 5.043887473690821E+14 7.178681000000000E-01 0.000000000000000E+00 2.763081000000000E-01 6.418140000000000E-04 1.021366000000000E-03 2.457295000000000E-03 4.356852000000000E-04 4.761061000000000E-05 8.485671000000000E-04 1.426999000000000E-04 9.610600000000000E-05 1.879383000000000E-05 1.454371000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731244000000000E-05 0.000000000000000E+00 8.468129000000000E-08 6.428963422777000E+40 5.798177442537000E+12 4.566449813832000E+12 - 273 1.508331189840000E+32 1.542899109600000E+34 5.068789135601477E+14 1.087244817113885E+08 9.519124729621375E-12 4.272014888378351E+02 2.028670995934933E+04 2.028670995934933E+04 3.575621946333800E-01 5.286581309434148E+02 1.550563895040000E+34 5.093973290676037E+14 7.178907000000000E-01 0.000000000000000E+00 2.762860000000000E-01 6.413881000000000E-04 1.021274000000000E-03 2.457267000000000E-03 4.356563000000000E-04 4.760631000000000E-05 8.485666999999999E-04 1.426995000000000E-04 9.610591000000000E-05 1.879382000000000E-05 1.454370000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731243000000000E-05 0.000000000000000E+00 6.701723000000000E-08 6.509078598024000E+40 5.728062267290000E+12 4.506334638585000E+12 - 274 1.532953109600000E+32 1.558228680480000E+34 5.119157445750596E+14 1.098194817113885E+08 9.367202470367385E-12 4.155590622603898E+02 2.014705723029059E+04 2.014705723029059E+04 3.571552841185600E-01 5.118078680473429E+02 1.565908484380000E+34 5.144317491908804E+14 7.179103999999999E-01 0.000000000000000E+00 2.762669000000000E-01 6.410340000000000E-04 1.021189000000000E-03 2.457249000000000E-03 4.356323000000000E-04 4.760237000000000E-05 8.485663000000000E-04 1.426992000000000E-04 9.610583999999999E-05 1.879381000000000E-05 1.454370000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731243000000000E-05 0.000000000000000E+00 5.226638000000000E-08 6.599078598024000E+40 5.637947092043000E+12 4.446219463338000E+12 - 275 1.535948248040000E+32 1.573588288280000E+34 5.169477538067012E+14 1.109094817113885E+08 9.217431260754642E-12 4.042339241291529E+02 2.000836586385659E+04 2.000836586385659E+04 3.566472218512700E-01 4.952664868968365E+02 1.581213090800000E+34 5.194390331774114E+14 7.179265000000000E-01 0.000000000000000E+00 2.762511000000000E-01 6.407602000000001E-04 1.021116000000000E-03 2.457244000000000E-03 4.356135000000000E-04 4.759893000000000E-05 8.485660000000000E-04 1.426990000000000E-04 9.610578000000000E-05 1.879380000000000E-05 1.454369000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731242000000000E-05 0.000000000000000E+00 4.077885000000000E-08 6.698963422777000E+40 5.547716741549000E+12 4.366104288091000E+12 - 276 1.524970847840000E+32 1.588837893320000E+34 5.219303125481217E+14 1.119945392990120E+08 9.049194180173971E-12 3.968064643144239E+02 1.987062924207356E+04 1.991588613752964E+04 3.562391595839800E-01 4.792050338992606E+02 1.596534605420000E+34 5.244402051334036E+14 7.179348000000000E-01 0.000000000000000E+00 2.762431000000000E-01 6.406262000000000E-04 1.021076000000000E-03 2.457243000000000E-03 4.356043000000000E-04 4.759709000000000E-05 8.485659000000000E-04 1.426989000000000E-04 9.610575000000000E-05 1.879380000000000E-05 1.454369000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731242000000000E-05 0.000000000000000E+00 3.512459000000000E-08 6.788963422777000E+40 5.447716741549000E+12 4.295989112844000E+12 - 277 1.539340430800000E+32 1.604231317520000E+34 5.269500977186855E+14 1.131044817113885E+08 8.904507571480193E-12 3.859923865386089E+02 1.973384079252554E+04 1.977878614170469E+04 3.558310973166900E-01 4.633005705358127E+02 1.612192593220000E+34 5.295419582251905E+14 7.179386000000000E-01 0.000000000000000E+00 2.762394000000000E-01 6.405676000000000E-04 1.021057000000000E-03 2.457244000000000E-03 4.356002000000000E-04 4.759621000000000E-05 8.485658000000000E-04 1.426988000000000E-04 9.610573000000000E-05 1.879380000000000E-05 1.454369000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731242000000000E-05 0.000000000000000E+00 3.263970000000000E-08 6.898848247530000E+40 5.357486391055000E+12 4.225873937597000E+12 - 278 1.592252355120000E+32 1.620153868920000E+34 5.321338187316951E+14 1.142294817113885E+08 8.741981991906559E-12 3.754730224044765E+02 1.959799398804079E+04 1.964262993561248E+04 3.554299455642200E-01 4.471946500249896E+02 1.628141402060000E+34 5.347308857409688E+14 7.179541000000000E-01 0.000000000000000E+00 2.762242000000000E-01 6.403365000000000E-04 1.020978000000000E-03 2.457253000000000E-03 4.355841000000000E-04 4.759252000000000E-05 8.485655000000000E-04 1.426986000000000E-04 9.610568000000000E-05 1.879379000000000E-05 1.454368000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731242000000000E-05 0.000000000000000E+00 2.279044000000000E-08 7.008733072283001E+40 5.267371215808000E+12 4.145758762350000E+12 - 279 1.597501257160000E+32 1.636128935200000E+34 5.373279527502424E+14 1.153645392990120E+08 8.582422838472009E-12 3.619368127050897E+02 1.946308234638028E+04 1.946308234638028E+04 3.550299455642200E-01 4.313687623315765E+02 1.644282566540000E+34 5.399781066275983E+14 7.179643999999999E-01 0.000000000000000E+00 2.762141000000000E-01 6.401971000000000E-04 1.020921000000000E-03 2.457267000000000E-03 4.355743000000000E-04 4.758985000000000E-05 8.485654000000000E-04 1.426985000000000E-04 9.610564999999999E-05 1.879378000000000E-05 1.454368000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.676256000000000E-08 7.118733072282999E+40 5.167256040561000E+12 4.065758762350000E+12 - 280 1.630734423720000E+32 1.652436197880000E+34 5.426282605049542E+14 1.165294817113885E+08 8.425775967797631E-12 3.520730297415591E+02 1.932909942992841E+04 1.932909942992841E+04 3.546287938117501E-01 4.155320535069220E+02 1.660812122320000E+34 5.453485330189642E+14 7.179726000000000E-01 0.000000000000000E+00 2.762060000000000E-01 6.400988000000000E-04 1.020872000000000E-03 2.457283000000000E-03 4.355672000000000E-04 4.758757000000000E-05 8.485653000000000E-04 1.426984000000000E-04 9.610563000000001E-05 1.879378000000000E-05 1.454368000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.243567000000000E-08 7.248617897036000E+40 5.067140865314000E+12 3.995528411856000E+12 - 281 1.675186479360000E+32 1.669188046760000E+34 5.480688055329746E+14 1.177044817113885E+08 8.252963179755076E-12 3.424780622478486E+02 1.919603884538586E+04 1.919603884538586E+04 3.543276420592800E-01 3.996232616068646E+02 1.677587543220000E+34 5.507962804364869E+14 7.179797999999999E-01 0.000000000000000E+00 2.761990000000000E-01 6.400256000000000E-04 1.020826000000000E-03 2.457303000000000E-03 4.355618000000000E-04 4.758545000000000E-05 8.485652000000000E-04 1.426983000000000E-04 9.610561000000000E-05 1.879378000000000E-05 1.454368000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 9.132207000000000E-09 7.388502721788999E+40 4.967025690067000E+12 3.915528411856000E+12 - 282 1.679905259600000E+32 1.685987039680000E+34 5.535237553399992E+14 1.188745392990120E+08 8.102089147773675E-12 3.331445842561093E+02 1.902004850341077E+04 1.906389424346434E+04 3.539264903068100E-01 3.839816664470689E+02 1.694306073000000E+34 5.562232907014179E+14 7.179858000000000E-01 0.000000000000000E+00 2.761931000000000E-01 6.399740000000000E-04 1.020785000000000E-03 2.457324000000000E-03 4.355579000000000E-04 4.758353000000000E-05 8.485651000000001E-04 1.426983000000000E-04 9.610560000000000E-05 1.879378000000000E-05 1.454368000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 6.719011000000000E-09 7.538387546541999E+40 4.876795339573000E+12 3.835413236609000E+12 - 283 1.663794927720000E+32 1.702625106320000E+34 5.589228260628365E+14 1.200545392990120E+08 7.936150726700768E-12 3.211347252203488E+02 1.888911541048179E+04 1.888963789681733E+04 3.535264903068100E-01 3.688345241832790E+02 1.711117200040000E+34 5.616832642158431E+14 7.179911000000000E-01 0.000000000000000E+00 2.761878000000000E-01 6.399383000000000E-04 1.020746000000000E-03 2.457348000000000E-03 4.355550000000000E-04 4.758171000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610559000000000E-05 1.879378000000000E-05 1.454368000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 4.953204000000000E-09 7.688272371295001E+40 4.776680164326000E+12 3.765298061362000E+12 - 284 1.698418545080000E+32 1.719609293760000E+34 5.644437023688498E+14 1.212495392990120E+08 7.773380159497364E-12 3.123437050116443E+02 1.875908365462464E+04 1.875908365462464E+04 3.532253385543400E-01 3.536762580376234E+02 1.728226408700000E+34 5.672438808798751E+14 7.179958000000000E-01 0.000000000000000E+00 2.761832000000000E-01 6.399138000000000E-04 1.020710000000000E-03 2.457372000000000E-03 4.355529000000000E-04 4.758001000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610559000000000E-05 1.879378000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 3.650244000000000E-09 7.858157196048000E+40 4.686449813832000E+12 3.685182886115000E+12 - 285 1.723418213920000E+32 1.736843523640000E+34 5.700440593909004E+14 1.224494817113885E+08 7.613722036435702E-12 3.038314719142880E+02 1.858761347427467E+04 1.862994703107855E+04 3.528241868018700E-01 3.386326775058995E+02 1.745420158360000E+34 5.728372953709040E+14 7.180008000000000E-01 0.000000000000000E+00 2.761782000000000E-01 6.398946000000000E-04 1.020669000000000E-03 2.457401000000000E-03 4.355510000000000E-04 4.757812000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.523076000000000E-09 8.038042020801000E+40 4.576449813832000E+12 3.605067710868000E+12 - 286 1.715326944000000E+32 1.753996793080000E+34 5.756305313509074E+14 1.236594241237650E+08 7.440412564016443E-12 2.928415909213830E+02 1.845914665005282E+04 1.845914665005282E+04 3.525230350494000E-01 3.239804982314289E+02 1.762732961640000E+34 5.784834021067052E+14 7.180042000000000E-01 0.000000000000000E+00 2.761749000000000E-01 6.398845999999999E-04 1.020641000000000E-03 2.457423000000000E-03 4.355500000000000E-04 4.757679000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.872279000000000E-09 8.237926845554000E+40 4.476219463338000E+12 3.524952535621000E+12 - 287 1.747241270960000E+32 1.771469130200000E+34 5.813362728625030E+14 1.249694817113885E+08 7.271263908499836E-12 2.822846544049850E+02 1.829041808828153E+04 1.829041808828153E+04 3.521230350494000E-01 3.093723161892444E+02 1.781542637920000E+34 5.846394379033002E+14 7.180071000000000E-01 0.000000000000000E+00 2.761719000000000E-01 6.398790000000000E-04 1.020615000000000E-03 2.457443000000000E-03 4.355492000000000E-04 4.757558000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.412427000000000E-09 8.457581319813000E+40 4.376104288091000E+12 3.444837360374000E+12 - 288 2.014693587200000E+32 1.791616145640000E+34 5.879426029440971E+14 1.263745392990120E+08 7.105538835576439E-12 2.720741428391879E+02 1.812273052731387E+04 1.812273052731387E+04 3.518207315444600E-01 2.928580712103561E+02 1.801768724060000E+34 5.912654434450636E+14 7.180103000000000E-01 0.000000000000000E+00 2.761687000000000E-01 6.398766000000000E-04 1.020586000000000E-03 2.457466000000000E-03 4.355487000000000E-04 4.757426000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.059694000000000E-09 8.727350969319000E+40 4.275989112844000E+12 3.364722185127000E+12 - 289 2.030515684000000E+32 1.811921302480000E+34 5.945882839460300E+14 1.276995392990120E+08 6.943797025072309E-12 2.622329554460218E+02 1.795608365713073E+04 1.795658033514591E+04 3.515195797919899E-01 2.766375047269992E+02 1.820891798800000E+34 5.975240627866030E+14 7.180136000000000E-01 0.000000000000000E+00 2.761655000000000E-01 6.398764000000000E-04 1.020556000000000E-03 2.457491000000000E-03 4.355482000000000E-04 4.757286000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 7.784835000000000E-10 9.017120618825001E+40 4.175873937597000E+12 3.294491834633000E+12 - 290 1.794100457520000E+32 1.829862295120000E+34 6.004598416271758E+14 1.289544817113885E+08 6.817058446113028E-12 2.527477334095684E+02 1.775103305976443E+04 1.779195341709587E+04 3.513184280395200E-01 2.625760183627920E+02 1.839053592640000E+34 6.034586835597544E+14 7.180166000000000E-01 0.000000000000000E+00 2.761625000000000E-01 6.398778000000000E-04 1.020528000000000E-03 2.457514000000000E-03 4.355479000000000E-04 4.757155000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 5.767057000000000E-10 9.296775093084000E+40 4.105643587103000E+12 3.234491834633000E+12 - 291 1.838271439200000E+32 1.848244890160000E+34 6.064575254923330E+14 1.302244817113885E+08 6.708260321283613E-12 2.414027866547013E+02 1.758829061046222E+04 1.758877822308198E+04 3.511172762870500E-01 2.484498256109301E+02 1.857545892060000E+34 6.094768038206372E+14 7.180195000000000E-01 0.000000000000000E+00 2.761596000000000E-01 6.398803000000000E-04 1.020501000000000E-03 2.457538000000000E-03 4.355476000000000E-04 4.757028000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 4.282668000000000E-10 9.606429567343000E+40 4.045528411856000E+12 3.184376659386000E+12 - 292 1.860188842640000E+32 1.866846893960000E+34 6.124960821489414E+14 1.314844817113885E+08 6.616219539155870E-12 2.326415429784213E+02 1.742704019290347E+04 1.742704019290347E+04 3.509161245345800E-01 2.344305439387714E+02 1.876067233800000E+34 6.154593366678572E+14 7.180225000000000E-01 0.000000000000000E+00 2.761566000000000E-01 6.398839000000000E-04 1.020473000000000E-03 2.457562000000000E-03 4.355474000000000E-04 4.756896000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 3.103360000000000E-10 9.945853691108001E+40 3.985528411856000E+12 3.144261484139000E+12 - 293 1.844079306440000E+32 1.885287573640000E+34 6.184225911867729E+14 1.327194241237650E+08 6.540484300362243E-12 2.221990915963413E+02 1.722803212508339E+04 1.722803212508339E+04 3.508138210296400E-01 2.208328646026258E+02 1.894462161880000E+34 6.213361003800755E+14 7.180252000000000E-01 0.000000000000000E+00 2.761539000000000E-01 6.398878000000000E-04 1.020447000000000E-03 2.457585000000000E-03 4.355473000000000E-04 4.756776000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.306589000000000E-10 1.029539299012000E+41 3.945413236609000E+12 3.104261484139000E+12 - 294 1.834904320360000E+32 1.903636750120000E+34 6.242496095733781E+14 1.339544241237650E+08 6.480328437510080E-12 2.121984850952040E+02 1.703082447210035E+04 1.703082447210035E+04 3.508126692771700E-01 2.075864521064225E+02 1.913178246300000E+34 6.272505049824996E+14 7.180279000000001E-01 0.000000000000000E+00 2.761512000000000E-01 6.398924000000000E-04 1.020420000000000E-03 2.457608000000000E-03 4.355472000000000E-04 4.756652000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.686132000000000E-10 1.069424123765000E+41 3.905413236609000E+12 3.074261484139000E+12 - 295 1.908313359320000E+32 1.922719742480000E+34 6.302514003916211E+14 1.351944241237650E+08 6.421107008235134E-12 2.026738841063838E+02 1.683587423645393E+04 1.683634205230926E+04 3.508103657722300E-01 1.940675256478968E+02 1.932263625700000E+34 6.332117823110782E+14 7.180306000000000E-01 0.000000000000000E+00 2.761485000000000E-01 6.398972000000000E-04 1.020394000000000E-03 2.457630000000000E-03 4.355471000000000E-04 4.756532000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.237472000000000E-10 1.109424123765000E+41 3.875298061362000E+12 3.044261484139000E+12 - 296 1.908780423480000E+32 1.941807508920000E+34 6.361721642305352E+14 1.364244241237650E+08 6.376904418506439E-12 1.935520567017644E+02 1.664315557770157E+04 1.664361803851308E+04 3.509080622672900E-01 1.808192348969561E+02 1.951421710360000E+34 6.391159295675016E+14 7.180331000000000E-01 0.000000000000000E+00 2.761459000000000E-01 6.399021000000000E-04 1.020370000000000E-03 2.457652000000000E-03 4.355471000000000E-04 4.756416000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 9.119423000000000E-11 1.159308948518000E+41 3.845298061362000E+12 3.024261484139000E+12 - 297 1.922824772240000E+32 1.961035911800000E+34 6.420596949044679E+14 1.376594241237650E+08 6.347416806700321E-12 1.831697735076128E+02 1.641525903806701E+04 1.641571620513339E+04 3.511057587623501E-01 1.676988290078251E+02 1.970950780820000E+34 6.450444302576451E+14 7.180356000000000E-01 0.000000000000000E+00 2.761435000000000E-01 6.399070000000000E-04 1.020346000000000E-03 2.457673000000000E-03 4.355470000000000E-04 4.756305000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 6.794119000000000E-11 1.209193773271000E+41 3.825298061362000E+12 3.014146308892000E+12 - 298 1.982986534880000E+32 1.980865649840000E+34 6.480291656108222E+14 1.388894241237650E+08 6.332818153153265E-12 1.733220465318584E+02 1.615369794937336E+04 1.619048413506687E+04 3.514034552574100E-01 1.544151689131915E+02 1.990737850520000E+34 6.509494901774670E+14 7.180380000000000E-01 0.000000000000000E+00 2.761411000000000E-01 6.399121000000000E-04 1.020322000000000E-03 2.457694000000000E-03 4.355470000000000E-04 4.756194000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 5.034039000000000E-11 1.259078598024000E+41 3.815298061362000E+12 3.004146308892000E+12 - 299 1.974439141400000E+32 2.000610051200000E+34 6.538698147441118E+14 1.400894241237650E+08 6.332818153153265E-12 1.625213186022966E+02 1.593206090454988E+04 1.593206090454988E+04 3.519000000000000E-01 1.413998182294097E+02 2.010289498400000E+34 6.566869668888408E+14 7.180404000000000E-01 0.000000000000000E+00 2.761387000000000E-01 6.399171000000000E-04 1.020299000000000E-03 2.457715000000000E-03 4.355470000000000E-04 4.756085000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 3.702245000000000E-11 1.318963422777000E+41 3.815182886115000E+12 2.994261484139000E+12 - 300 1.935817033120000E+32 2.019968945600000E+34 6.595041190335699E+14 1.412793665361415E+08 6.318253075577632E-12 1.523938292132111E+02 1.564170561871649E+04 1.567776347411206E+04 3.560539299012001E-01 1.287254281593345E+02 2.029691160600000E+34 6.623025700470149E+14 7.180427000000000E-01 0.000000000000000E+00 2.761364000000000E-01 6.399220000000000E-04 1.020277000000000E-03 2.457735000000000E-03 4.355470000000000E-04 4.755982000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.754423000000000E-11 1.388733072283000E+41 3.805182886115000E+12 2.994146308892000E+12 - 301 1.944548228680000E+32 2.039413375600000E+34 6.651010210604600E+14 1.424893089485180E+08 6.274944768187573E-12 1.415875107355482E+02 1.535707451094404E+04 1.539204363540466E+04 3.615940387727600E-01 1.160271059317083E+02 2.049250964200000E+34 6.679197265219762E+14 7.180449000000000E-01 0.000000000000000E+00 2.761342000000000E-01 6.399269000000000E-04 1.020255000000000E-03 2.457754000000000E-03 4.355470000000000E-04 4.755880000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.032567000000000E-11 1.448617897036000E+41 3.785182886115000E+12 2.974146308892000E+12 - 302 1.967451280720000E+32 2.059088552800000E+34 6.707384319834926E+14 1.437143089485180E+08 6.202931960428030E-12 1.303591906024036E+02 1.504252440471625E+04 1.507720100476176E+04 3.671329958918500E-01 1.031901290023247E+02 2.068758054000000E+34 6.735282113548548E+14 7.180471000000000E-01 0.000000000000000E+00 2.761320000000000E-01 6.399317000000000E-04 1.020233000000000E-03 2.457773000000000E-03 4.355470000000000E-04 4.755780000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.504142000000000E-11 1.528387546542000E+41 3.735182886115000E+12 2.934146308892000E+12 - 303 1.933972646880000E+32 2.078427555200000E+34 6.763179907262170E+14 1.449692513608945E+08 6.047973889216569E-12 1.189215337263576E+02 1.470094575345497E+04 1.473483493338698E+04 3.727995950702200E-01 9.061119604247229E+01 2.088179608200000E+34 6.791798741008835E+14 7.180492000000001E-01 0.000000000000000E+00 2.761299000000000E-01 6.399363000000000E-04 1.020213000000000E-03 2.457791000000000E-03 4.355470000000000E-04 4.755684000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.120674000000000E-11 1.618042020801000E+41 3.645182886115000E+12 2.864031133645000E+12 - 304 1.950389514480000E+32 2.097931661200000E+34 6.820417574755498E+14 1.462791361856475E+08 5.856119192174639E-12 1.065228711469277E+02 1.433449212815466E+04 1.433449212815466E+04 3.786007468226900E-01 7.792205889014323E+01 2.107687692600000E+34 6.849812994935079E+14 7.180512999999999E-01 0.000000000000000E+00 2.761278000000000E-01 6.399410000000000E-04 1.020192000000000E-03 2.457810000000000E-03 4.355470000000000E-04 4.755588000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 8.283237999999999E-12 1.717811670307000E+41 3.524952535621000E+12 2.754146308892000E+12 - 305 1.951231343920000E+32 2.117443724000000E+34 6.879208415114660E+14 1.476290785980240E+08 5.592716781354092E-12 9.454319066698343E+01 1.388136218457989E+04 1.391296201549524E+04 3.844007468226900E-01 6.528416979971308E+01 2.126988900200000E+34 6.908945774357339E+14 7.180534000000000E-01 0.000000000000000E+00 2.761257000000000E-01 6.399458000000000E-04 1.020171000000000E-03 2.457828000000000E-03 4.355470000000000E-04 4.755490000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 6.066939000000000E-12 1.847350969319000E+41 3.374722185127000E+12 2.624031133645000E+12 - 306 1.909035240000000E+32 2.136534076400000E+34 6.938683133600018E+14 1.490240785980240E+08 5.316463381917126E-12 8.164961140831559E+01 1.338119639355952E+04 1.341165322773734E+04 3.903972915652800E-01 5.294119955913597E+01 2.146122020400000E+34 6.969755708548940E+14 7.180550999999999E-01 0.000000000000000E+00 2.761240000000000E-01 6.399496000000000E-04 1.020154000000000E-03 2.457843000000000E-03 4.355470000000000E-04 4.755413000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 4.696671000000000E-12 2.006775093084000E+41 3.204491834633000E+12 2.474031133645000E+12 - 307 1.917465270680000E+32 2.155709964400000E+34 7.000828283497861E+14 1.505189634227770E+08 5.019065079074712E-12 6.799919985071759E+01 1.278156863974641E+04 1.281103319847005E+04 3.969869257930500E-01 4.055998588969702E+01 2.165571423400000E+34 7.034215879713440E+14 7.180567000000000E-01 0.000000000000000E+00 2.761224000000000E-01 6.399531000000000E-04 1.020139000000000E-03 2.457857000000000E-03 4.355470000000000E-04 4.755341000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 3.653197000000000E-12 2.166544742590000E+41 3.024261484139000E+12 2.284376659386000E+12 - 308 1.972342723520000E+32 2.175432882400000E+34 7.067603475929019E+14 1.520238482475300E+08 4.716532452047452E-12 5.312850394451197E+01 1.204279368370835E+04 1.204279368370835E+04 4.045684977535300E-01 2.781950894975513E+01 2.184238076200000E+34 7.098679434427529E+14 7.180586000000000E-01 0.000000000000000E+00 2.761205000000000E-01 6.399574000000001E-04 1.020120000000000E-03 2.457873000000000E-03 4.355469000000000E-04 4.755253000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.648717000000000E-12 2.860555629746000E+41 2.834146308892000E+12 2.084607009880000E+12 - 309 1.761064420680000E+32 2.193043270000000E+34 7.129755392926038E+14 1.534037906599065E+08 4.432235490223580E-12 3.466037809777733E+01 1.081702981253829E+04 1.081702981253829E+04 4.177890268331000E-01 1.631192501085550E+01 2.200666879000000E+34 7.157803137081032E+14 7.180606000000000E-01 0.000000000000000E+00 2.761185000000000E-01 6.399619000000000E-04 1.020101000000000E-03 2.457891000000000E-03 4.355469000000000E-04 4.755162000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.895124000000000E-12 2.803435010920999E+41 2.663915958398000E+12 1.914491834633000E+12 - 310 1.524716429160000E+32 2.208290488000000E+34 7.185850881236028E+14 1.547988482475300E+08 4.193945928773884E-12 2.070776236116316E+01 9.497719359226794E+03 9.498052076185006E+03 3.260350205407500E-01 8.640493463721265E+00 2.216722706800000E+34 7.218076149864162E+14 7.180624000000000E-01 0.000000000000000E+00 2.761167000000000E-01 6.399661000000000E-04 1.020082000000000E-03 2.457907000000000E-03 4.355469000000000E-04 4.755077000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.377684000000000E-12 3.250670804993000E+41 2.523685607904000E+12 1.793915958398000E+12 - 311 1.686442168640000E+32 2.225154925600000E+34 7.250301418492299E+14 1.563741937732710E+08 3.968467490564625E-12 1.123664980038017E+01 8.151527054482564E+03 8.133090287839122E+03 1.475083774516401E-01 4.861891442668658E+00 2.234373872999999E+34 7.286968430810096E+14 7.180641000000001E-01 0.000000000000000E+00 2.761150000000000E-01 6.399699000000000E-04 1.020066000000000E-03 2.457922000000000E-03 4.355469000000000E-04 4.754999000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.025219000000000E-12 3.471131505981000E+41 2.383455257410000E+12 1.406334638585000E+12 - 312 1.843730002920000E+32 2.243592820400000E+34 7.323635443127894E+14 1.580895392990120E+08 3.720684344873885E-12 6.617527539387686E+00 7.151380913080701E+03 7.119079981914502E+03 7.539840362836311E-02 2.796232455648177E+00 2.252754081000000E+34 7.362159092498396E+14 7.180664000000000E-01 0.000000000000000E+00 2.761127000000000E-01 6.399751000000000E-04 1.020043000000000E-03 2.457942000000000E-03 4.355469000000000E-04 4.754895000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 6.815712000000000E-13 3.621477031722000E+41 2.243224906916000E+12 5.951550378563004E+11 - 313 1.832238792360000E+32 2.261915341600000E+34 7.400682741868899E+14 1.599097696495060E+08 3.472344666761586E-12 4.244903021195637E+00 6.426316784073801E+03 6.382784968453208E+03 4.310897261238907E-02 1.638192090342143E+00 2.271233749000000E+34 7.441875006301536E+14 7.180679000000000E-01 0.000000000000000E+00 2.761112000000000E-01 6.399785000000000E-04 1.020029000000000E-03 2.457955000000000E-03 4.355469000000000E-04 4.754827000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 5.263846000000000E-13 3.685738515861000E+41 2.092994556422000E+12 1.936197881421005E+11 - 314 1.863733994880000E+32 2.280552156400000E+34 7.483067270734172E+14 1.620449424123765E+08 3.233127465560434E-12 3.088948821626517E+00 5.974584253250002E+03 5.906985590889662E+03 2.178420037121902E-02 1.056131415585039E+00 2.291721514400000E+34 7.535203028750996E+14 7.180695000000000E-01 0.000000000000000E+00 2.761096000000000E-01 6.399821000000000E-04 1.020013000000000E-03 2.457969000000000E-03 4.355469000000000E-04 4.754754000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 4.009097000000000E-13 3.708157196048000E+41 1.952764205928000E+12 7.811137436215028E+10 - 315 2.233871600000000E+32 2.302890872400000E+34 7.587338786767820E+14 1.644249424123765E+08 2.982791020075351E-12 2.346457652120346E+00 5.646683924755707E+03 5.519516399238341E+03 1.179564721993401E-02 6.882933167623022E-01 2.313416724200000E+34 7.638992304394555E+14 7.180714000000000E-01 0.000000000000000E+00 2.761077000000000E-01 6.399864000000000E-04 1.019994000000000E-03 2.457985000000000E-03 4.355470000000000E-04 4.754666000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.869702000000000E-13 3.719193773271000E+41 1.792649030681000E+12 3.285052432638007E+10 - 316 2.105182295200000E+32 2.323942576000000E+34 7.690645822021290E+14 1.667149424123765E+08 2.726608767989430E-12 1.791313726928461E+00 5.377070728418233E+03 5.160609090703876E+03 6.614509484956605E-03 5.016061690230696E-01 2.333175447800000E+34 7.739192242723935E+14 7.180728000000000E-01 0.000000000000000E+00 2.761063000000000E-01 6.399897000000000E-04 1.019980000000000E-03 2.457998000000000E-03 4.355470000000000E-04 4.754601000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.261538000000000E-13 3.739308948517999E+41 1.642303504940000E+12 1.470697355169002E+10 - 317 1.846659298840000E+32 2.342408319600000E+34 7.787738663426581E+14 1.691600000000000E+08 2.492429179128024E-12 1.571172926593511E+00 5.252846523612103E+03 4.994971385964735E+03 4.965018318037602E-03 3.813028784017606E-01 2.352849630400000E+34 7.846334109305780E+14 7.180742000000000E-01 0.000000000000000E+00 2.761049000000000E-01 6.399928000000000E-04 1.019967000000000E-03 2.458010000000000E-03 4.355470000000000E-04 4.754538000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.784437000000000E-13 3.739424123764999E+41 1.502188329693000E+12 9.547626781050007E+09 - 318 2.088224365200000E+32 2.363290941200000E+34 7.904929555184979E+14 1.717450000000000E+08 2.257474362966191E-12 1.366967041975215E+00 5.120454264721783E+03 4.824414348480403E+03 3.650885818404802E-03 2.846266036563404E-01 2.372344785000000E+34 7.959667976478009E+14 7.180761000000000E-01 0.000000000000000E+00 2.761029000000000E-01 6.399972000000000E-04 1.019947000000000E-03 2.458027000000000E-03 4.355470000000000E-04 4.754448000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.291385000000000E-13 3.749424123765001E+41 1.361957979199000E+12 6.007593927187004E+09 - 319 1.810734346840000E+32 2.381398628800000E+34 8.014406397771036E+14 1.740950000000000E+08 2.030592729854148E-12 1.211492523831826E+00 5.003337917278094E+03 4.681204265869916E+03 2.825252488089101E-03 2.217744540987975E-01 2.388803425800000E+34 8.062923915935224E+14 7.180784000000000E-01 0.000000000000000E+00 2.761007000000000E-01 6.400024000000000E-04 1.019925000000000E-03 2.458047000000000E-03 4.355470000000000E-04 4.754343000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 8.474055000000000E-14 3.749539299012001E+41 1.221727628705000E+12 3.992194633380002E+09 - 320 1.480897138040000E+32 2.396208222800000E+34 8.111441434099412E+14 1.763550000000000E+08 1.839174034575773E-12 1.094462306253461E+00 4.922929686298422E+03 4.563867065135245E+03 2.323052010502701E-03 1.802903949040595E-01 2.403423051200000E+34 8.162092941496832E+14 7.180795000000000E-01 0.000000000000000E+00 2.760996000000000E-01 6.400050000000000E-04 1.019914000000000E-03 2.458057000000000E-03 4.355470000000000E-04 4.754292000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 7.018866000000000E-14 3.759424123765001E+41 1.111497278211000E+12 2.888929233486001E+09 - 321 1.443066532440000E+32 2.410637879600000E+34 8.212744448894254E+14 1.787100000000000E+08 1.673488864741103E-12 1.016307069212987E+00 4.855116268346998E+03 4.480188489160044E+03 1.967110992406400E-03 1.469237604231093E-01 2.417631906800000E+34 8.265525091352436E+14 7.180807000000000E-01 0.000000000000000E+00 2.760984000000000E-01 6.400076000000000E-04 1.019903000000000E-03 2.458067000000000E-03 4.355470000000000E-04 4.754239000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 5.735616000000000E-14 3.759424123765001E+41 1.011382102964000E+12 2.166144781069001E+09 - 322 1.398794897240000E+32 2.424625934000000E+34 8.318305733810616E+14 1.811300000000000E+08 1.512247331903430E-12 9.524754890990977E-01 4.788369727402838E+03 4.408185233296133E+03 1.692632699947000E-03 1.198903523557817E-01 2.431201234600000E+34 8.371915200030125E+14 7.180825000000000E-01 0.000000000000000E+00 2.760966000000000E-01 6.400117000000000E-04 1.019885000000000E-03 2.458083000000000E-03 4.355470000000000E-04 4.754156000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 4.232309000000000E-14 3.759424123765001E+41 9.102784452417001E+11 1.657852163285001E+09 - 323 1.315132924720000E+32 2.437776535200000E+34 8.425524666249631E+14 1.836249424123765E+08 1.363398547365749E-12 9.009221604475486E-01 4.733427672991682E+03 4.347340257143995E+03 1.477179467185900E-03 9.828725947664393E-02 2.444083293800000E+34 8.481477091898645E+14 7.180839999999999E-01 0.000000000000000E+00 2.760951000000000E-01 6.400152000000000E-04 1.019870000000000E-03 2.458096000000000E-03 4.355470000000000E-04 4.754085000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 3.180035000000000E-14 3.759424123765001E+41 8.201747875194000E+11 1.282669277170000E+09 - 324 1.261212277080000E+32 2.450390052400000E+34 8.537429517547658E+14 1.862199424123765E+08 1.217967712946713E-12 8.523790315767288E-01 4.679116319284102E+03 4.287573915342970E+03 1.304405768382100E-03 8.050147204398442E-02 2.456394452600000E+34 8.595655119515219E+14 7.180849000000000E-01 0.000000000000000E+00 2.760942000000000E-01 6.400171000000000E-04 1.019861000000000E-03 2.458104000000000E-03 4.355470000000000E-04 4.754046000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.736099000000000E-14 3.759424123765001E+41 7.340596122724000E+11 1.005029739364800E+09 - 325 1.201005558520000E+32 2.462398852800000E+34 8.653880721482779E+14 1.888950000000000E+08 1.085482501830630E-12 8.138140964025817E-01 4.635964640494632E+03 4.238260791365670E+03 1.161092770566300E-03 6.581934205527994E-02 2.467994472400000E+34 8.713365083580791E+14 7.180862000000000E-01 0.000000000000000E+00 2.760929000000000E-01 6.400201000000000E-04 1.019848000000000E-03 2.458115000000000E-03 4.355470000000000E-04 4.753986000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 2.169155000000000E-14 3.759424123765001E+41 6.539329195007001E+11 7.926110591778002E+08 - 326 1.118946284440000E+32 2.473590092000000E+34 8.772849445678804E+14 1.916550000000000E+08 9.629923274610492E-13 7.841869231103412E-01 4.593336813717459E+03 4.199173717743914E+03 1.045044675818600E-03 5.384280398933856E-02 2.478899266800000E+34 8.834624172867055E+14 7.180871000000000E-01 0.000000000000000E+00 2.760920000000000E-01 6.400221000000000E-04 1.019840000000000E-03 2.458123000000000E-03 4.355470000000000E-04 4.753946000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.836719000000000E-14 3.769308948518001E+41 5.798407793031001E+11 6.279179830469000E+08 - 327 1.061848088720000E+32 2.484208441600000E+34 8.896398900055305E+14 1.947150000000000E+08 8.523595411831024E-13 7.557314663799076E-01 4.540757322002038E+03 4.160561679334914E+03 9.534774062086902E-04 4.379896695510757E-02 2.489843845200000E+34 8.969250422749346E+14 7.180879000000000E-01 0.000000000000000E+00 2.760912000000000E-01 6.400240000000000E-04 1.019832000000000E-03 2.458130000000000E-03 4.355470000000000E-04 4.753908000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.584723000000000E-14 3.769308948518001E+41 5.137371215808000E+11 4.987201604781001E+08 - 328 1.127071768600000E+32 2.495479248800000E+34 9.042101945443388E+14 1.980350000000000E+08 7.475423057241531E-13 5.949386204049487E-01 4.427311860729904E+03 3.919004349352575E+03 6.934938095993101E-04 3.624309455596839E-02 2.500701893400000E+34 9.115336327476921E+14 7.180889000000000E-01 0.000000000000000E+00 2.760902000000000E-01 6.400262000000000E-04 1.019822000000000E-03 2.458139000000000E-03 4.355470000000000E-04 4.753862000000000E-05 8.485650000000000E-04 1.426982000000000E-04 9.610557000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.309853000000000E-14 3.769308948518001E+41 4.506449813832001E+11 2.973150224647000E+08 - 329 1.044576064040000E+32 2.505924538000000E+34 9.188570709510455E+14 2.018300000000000E+08 6.570869271882204E-13 5.526779805534254E-01 4.386602602199499E+03 3.847474458663262E+03 6.241206417990301E-04 3.023458280883156E-02 2.511818537600000E+34 9.282280942570271E+14 7.181248000000000E-01 0.000000000000000E+00 2.760543000000000E-01 6.401174000000000E-04 1.019429000000000E-03 2.458487000000000E-03 4.355470000000000E-04 4.752032000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.109708000000000E-14 3.769308948518001E+41 3.955758762350000E+11 2.297621812791001E+08 - 330 1.178778436640000E+32 2.517712537200000E+34 9.375991175630090E+14 2.060300000000000E+08 5.722987890170614E-13 5.181698766314115E-01 4.336271796515957E+03 3.785957596456954E+03 5.543255907018202E-04 2.428713951862263E-02 2.523370816600000E+34 9.467450195556308E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769308948518001E+41 3.444952535621000E+11 1.742899627664000E+08 - 331 1.131731071760000E+32 2.529029096000000E+34 9.558909215482526E+14 2.087150000000000E+08 5.124314493491822E-13 4.858163894630835E-01 4.286634903719452E+03 3.725424320854375E+03 4.893800649608201E-04 1.969870975170847E-02 2.531236113400000E+34 9.587332720235661E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 3.084491834633000E+11 1.349674720748000E+08 - 332 4.414544035200000E+31 2.533443130800000E+34 9.615756224988799E+14 2.095350000000000E+08 5.112224384636575E-13 4.640077220471925E-01 4.257125916605112E+03 3.682880916692415E+03 4.456566249816400E-04 1.840321005844155E-02 2.534083653200000E+34 9.624480823641351E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 3.074376659386000E+11 1.198407793031000E+08 - 333 1.281317917160000E+31 2.534724175600000E+34 9.633205422293902E+14 2.099300000000000E+08 5.207577905869433E-13 4.596975213105257E-01 4.247334798697568E+03 3.674309582930252E+03 4.289621812791000E-04 1.801331468198611E-02 2.535389563000000E+34 9.642033899771960E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 3.134607009880000E+11 1.168177442537000E+08 - 334 1.329459143120000E+31 2.536054950400000E+34 9.650862377250020E+14 2.103449424123765E+08 5.019065079074713E-13 4.596975213105257E-01 4.247334798697568E+03 3.674309582930252E+03 4.281598777741601E-04 1.763376761114505E-02 2.536718348600000E+34 9.660835786742610E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 3.024261484139000E+11 1.117831916796000E+08 - 335 1.327689152960000E+31 2.537381746800000E+34 9.670809196235200E+14 2.108749424123765E+08 4.641120313497488E-13 4.554829891024932E-01 4.237566199736310E+03 3.665858905393333E+03 4.327783058136801E-04 1.723301100808722E-02 2.538148583400000E+34 9.684117642718200E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.794031133645000E+11 1.057371215808000E+08 - 336 1.532393746560000E+31 2.538915420000000E+34 9.697426089201201E+14 2.115400000000000E+08 4.422173479894812E-13 4.513070959579950E-01 4.237566199736310E+03 3.657427663875406E+03 4.313656365365100E-04 1.672513727997803E-02 2.539739943400000E+34 9.712457320393340E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.663915958398000E+11 1.006037207591700E+08 - 337 1.650637364320000E+31 2.540564466800000E+34 9.727488551585478E+14 2.122350000000000E+08 4.442585305252693E-13 4.471694876319656E-01 4.227820067929213E+03 3.649015813674861E+03 4.210103524179501E-04 1.616270838178665E-02 2.541358157600000E+34 9.742048674237604E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.673915958398000E+11 9.797607869989002E+07 - 338 1.586029540760000E+31 2.542151848400000E+34 9.756608796889730E+14 2.128850000000000E+08 4.473379835434599E-13 4.431239344117643E-01 4.218096351603249E+03 3.640723327449272E+03 4.102562200518601E-04 1.562814205282929E-02 2.542905755200000E+34 9.770421773702744E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.693915958398000E+11 9.555765066037001E+07 - 339 1.507508655640000E+31 2.543659662000000E+34 9.784234750515756E+14 2.134950000000000E+08 4.412002763125461E-13 4.390613497617441E-01 4.218096351603249E+03 3.632349896156398E+03 4.030193639728200E-04 1.513678730127732E-02 2.544340963000000E+34 9.797005916432176E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.653915958398000E+11 9.232540159121002E+07 - 340 1.364045562440000E+31 2.545022264000000E+34 9.809777082348596E+14 2.140650000000000E+08 4.311573319086086E-13 4.390077246639834E-01 4.208394999204243E+03 3.632250108933348E+03 3.976917219135401E-04 1.469870217499807E-02 2.545658808000000E+34 9.822025740710122E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.593800783151000E+11 8.890697355169003E+07 - 341 1.272877144800000E+31 2.546295352000000E+34 9.834274399071648E+14 2.146099424123765E+08 4.213429928290901E-13 4.349828776517639E-01 4.198715959296587E+03 3.623896165502279E+03 3.929675351116701E-04 1.429298096706840E-02 2.546915982400000E+34 9.846213195262530E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.543570432657000E+11 8.578509025476001E+07 - 342 1.241096293160000E+31 2.547536612800000E+34 9.858151991453412E+14 2.151198848247530E+08 4.193945928773884E-13 4.310475769881694E-01 4.198715959296587E+03 3.615660764350333E+03 3.863341342900400E-04 1.390599997059347E-02 2.548089610399999E+34 9.868696632514985E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.523685607904000E+11 8.366320695783001E+07 - 343 1.106063628480000E+31 2.548642608000000E+34 9.879241273576560E+14 2.155599424123765E+08 4.108050519331948E-13 4.309949306587486E-01 4.189059180562976E+03 3.615561435607927E+03 3.822122509931100E-04 1.357477968482643E-02 2.549089183400000E+34 9.888124151449882E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.473570432657000E+11 8.104708242325000E+07 - 344 8.937149371200000E+30 2.549535758800000E+34 9.897007029323206E+14 2.159450000000000E+08 4.023794343238645E-13 4.270435453835317E-01 4.189059180562976E+03 3.607245875060392E+03 3.792961264585301E-04 1.330356534975704E-02 2.549942550200001E+34 9.905315819656952E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.423455257410000E+11 7.872750263126001E+07 - 345 8.127562874000000E+30 2.550349341600000E+34 9.913624609990702E+14 2.163100000000000E+08 3.887074164428044E-13 4.231800720518846E-01 4.188945659895257E+03 3.599048312139686E+03 3.785915194486501E-04 1.305895576740995E-02 2.550743203200000E+34 9.921749583043410E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.343340082163000E+11 7.601252984915002E+07 - 346 7.877216086400000E+30 2.551137064800000E+34 9.929874556096119E+14 2.166699424123765E+08 3.798593554094787E-13 4.231283866262681E-01 4.179424611804135E+03 3.598949439771396E+03 3.766823054288901E-04 1.282638129227595E-02 2.551515012800000E+34 9.937820488015009E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.293224906916000E+11 7.398949479975002E+07 - 347 7.567085882000000E+30 2.551892960800000E+34 9.945766419933896E+14 2.170249424123765E+08 3.703589353142477E-13 4.231283866262681E-01 4.179311352226708E+03 3.598949439771396E+03 3.752753949140700E-04 1.260544859705386E-02 2.552255989800000E+34 9.953677995844050E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.233224906916000E+11 7.187912902752002E+07 - 348 7.251851390399999E+30 2.552619018800000E+34 9.961589571754204E+14 2.173850000000000E+08 3.553225964280579E-13 4.193003338310305E-01 4.179311352226708E+03 3.590770730722218E+03 3.758765466665400E-04 1.239406476746585E-02 2.552966134200000E+34 9.969558470183338E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.142994556422000E+11 6.926300449294001E+07 - 349 6.936895386799999E+30 2.553313249600000E+34 9.977527368612472E+14 2.177499424123765E+08 3.432699413000219E-13 4.192491222602444E-01 4.169812201938536E+03 3.590672085754065E+03 3.753730914091300E-04 1.218864618817734E-02 2.553643456800000E+34 9.985216774521931E+14 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 2.072994556422000E+11 6.704227294848001E+07 - 350 6.610433850400000E+30 2.553973664000000E+34 9.992906180431390E+14 2.180849424123765E+08 3.285759526661101E-13 4.154561652639854E-01 4.169699202850908E+03 3.582512187213712E+03 3.763765466665400E-04 1.199841005153422E-02 2.554268065600000E+34 1.000014214291593E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.982879381175000E+11 6.452499666143002E+07 - 351 5.890251947200001E+30 2.554562467200000E+34 1.000737810540048E+15 2.184000000000000E+08 3.137782430701549E-13 4.154054232037024E-01 4.169699202850908E+03 3.582413769122689E+03 3.777869124387700E-04 1.182681288812837E-02 2.554842944400000E+34 1.001462336776328E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.892649030681000E+11 6.211117563179001E+07 - 352 5.600192770799999E+30 2.555123421600000E+34 1.002186863012606E+15 2.187450000000000E+08 3.024285776527524E-13 4.116472402462065E-01 4.160221900002141E+03 3.574272637828196E+03 3.781892159437101E-04 1.166103391593160E-02 2.555400915000000E+34 1.002983371966567E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.822533855434000E+11 6.009735460215002E+07 - 353 5.551526992799999E+30 2.555678408400000E+34 1.003779880920528E+15 2.191200000000000E+08 2.829018423636236E-13 4.116472402462065E-01 4.160109160805202E+03 3.574272637828196E+03 3.816030369733501E-04 1.148901329021685E-02 2.555956896400000E+34 1.004585290261620E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.702533855434000E+11 5.708007831510001E+07 - 354 5.568043320400000E+30 2.556235384400000E+34 1.005390699602712E+15 2.194700000000000E+08 2.628063023139226E-13 4.115969633919283E-01 4.150653655148115E+03 3.574174446092502E+03 3.858249202702801E-04 1.132563885600747E-02 2.556480056000000E+34 1.006114421481604E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.582303504940000E+11 5.406049852311001E+07 - 355 4.909649947599999E+30 2.556724727600000E+34 1.006838143360495E+15 2.197900000000000E+08 2.527102322860231E-13 4.078732356628893E-01 4.150653655148115E+03 3.566052038880398E+03 3.863318307851000E-04 1.118428772077487E-02 2.556929615200000E+34 1.007558959062400E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.522188329693000E+11 5.224667749347001E+07 - 356 4.087262948400000E+30 2.557134502800000E+34 1.008279774764306E+15 2.201099424123765E+08 2.073112293237860E-13 4.078732356628893E-01 4.150541175244135E+03 3.566052038880398E+03 4.045251227351700E-04 1.106335654913741E-02 2.557334417400000E+34 1.009002556414888E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.251727628705000E+11 4.610982141443001E+07 - 357 3.999425844000000E+30 2.557534332000000E+34 1.009725338065470E+15 2.204399424123765E+08 2.304744710610029E-13 4.040355654928787E-01 4.150428954036755E+03 3.557655090411331E+03 3.892774959541201E-04 1.093363283117413E-02 2.557736235800000E+34 1.010506665954772E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.391957979199000E+11 4.849139337491001E+07 - 358 4.037505099599999E+30 2.557938139600000E+34 1.011287993844075E+15 2.207899424123765E+08 2.262678378827585E-13 4.037055458294341E-01 4.140660078053656E+03 3.556978730930489E+03 3.856707248673200E-04 1.079725062192903E-02 2.558151978600000E+34 1.012047773287162E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.361957979199000E+11 4.709925317731000E+07 - 359 4.274174148000000E+30 2.558365817600000E+34 1.012807552730251E+15 2.211299424123765E+08 2.136169823610041E-13 3.822221808938244E-01 4.112488785024660E+03 3.508650540080422E+03 3.494957215287500E-04 1.068377602767335E-02 2.558481191200000E+34 1.013524112683844E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.281957979199000E+11 3.974877853352001E+07 - 360 2.318766677600000E+30 2.558596564800000E+34 1.014240672637436E+15 2.220500000000000E+08 1.320187984471793E-13 3.787629630000272E-01 4.103030323288639E+03 3.500676383507568E+03 3.914134027455801E-04 1.060970190902630E-02 2.559346493200000E+34 1.017474231379480E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 7.951517524700000E+10 2.959119091002000E+07 - 361 1.498211134840000E+31 2.560096421600000E+34 1.020707790121523E+15 2.235150000000000E+08 1.780884589095935E-13 3.752458398691255E-01 4.093593615410948E+03 3.492529755189415E+03 3.481991767861600E-04 1.020857863181285E-02 2.560845355400000E+34 1.023824381521423E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.071612453458000E+11 3.361077070201001E+07 - 362 1.498866377320000E+31 2.561594289200000E+34 1.026940972921324E+15 2.249900000000000E+08 1.826513249576277E-13 3.683534435716284E-01 4.084178611359100E+03 3.476388398532203E+03 3.297197058657300E-04 9.833104600149427E-03 2.562344217600000E+34 1.030509968919181E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 1.101612453458000E+11 3.219925317731001E+07 - 363 1.499495362360000E+31 2.563094146000000E+34 1.034078964917039E+15 2.267100000000000E+08 1.572616496167565E-13 3.583569950104007E-01 4.065413515178083E+03 3.452551097673934E+03 3.263162506083200E-04 9.466712446745148E-03 2.563844074400000E+34 1.038426847625309E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 9.483014802911002E+10 2.787161111803000E+07 - 364 1.500099681320000E+31 2.564594002800000E+34 1.042774730333579E+15 2.287550000000000E+08 1.272397558029455E-13 3.517748076463706E-01 4.046734636782381E+03 3.436594509598488E+03 3.257266163805500E-04 9.106223494100422E-03 2.565343931200000E+34 1.047622626046609E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 7.670941648465001E+10 2.304281730628001E+07 - 365 1.500680527720000E+31 2.566093859600000E+34 1.052470521759639E+15 2.309950000000000E+08 1.123628708837473E-13 3.422282733838536E-01 4.037318242522787E+03 3.413030072066779E+03 3.163978225688001E-04 8.761440672906622E-03 2.566844782600000E+34 1.057502536088263E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 6.759789895995000E+10 1.992438926676000E+07 - 366 1.501239294000000E+31 2.567595705600000E+34 1.062534550416887E+15 2.333100000000000E+08 1.060805531718667E-13 3.329016028321276E-01 4.018877111489439E+03 3.389534938312775E+03 3.019425384502400E-04 8.439007022637664E-03 2.568346628600000E+34 1.067644073052840E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 6.389329195007000E+10 1.801171998959000E+07 - 367 1.501777571520000E+31 2.569097551600000E+34 1.072753595688792E+15 2.356600000000000E+08 1.027123881244455E-13 3.267869720194562E-01 4.000412048446643E+03 3.373869590792089E+03 2.868849508267400E-04 8.137813513513992E-03 2.569848474599999E+34 1.077938447309927E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 6.178983669266000E+10 1.650135421736000E+07 - 368 1.502295957040000E+31 2.570599397600000E+34 1.083123298931064E+15 2.380450000000000E+08 9.922835135367518E-14 3.178811197984065E-01 3.991103442760817E+03 3.350644035894991E+03 2.729296667081800E-04 7.856907668860611E-03 2.571351315199999E+34 1.088404986365225E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 5.978638143525000E+10 1.509214019760000E+07 - 369 1.502795843000000E+31 2.572103232800000E+34 1.093686673799387E+15 2.404800000000000E+08 9.563631349077967E-14 3.092179767750123E-01 3.972873405608826E+03 3.327578364593202E+03 2.699626626000300E-04 7.584126709382917E-03 2.572855150400000E+34 1.099080651212797E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 5.758292617784000E+10 1.368522968278000E+07 - 370 1.503278224000000E+31 2.573607068000000E+34 1.104474628626208E+15 2.429600000000000E+08 9.175627529964367E-14 3.008263582005635E-01 3.954619710394833E+03 3.304761441536000E+03 2.725449813832000E-04 7.314308281344222E-03 2.574357991000000E+34 1.109986664445421E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 5.528062267290000E+10 1.237947092043000E+07 - 371 1.503743895720000E+31 2.575108914000000E+34 1.115498700264632E+15 2.454950000000000E+08 8.803102846802799E-14 2.953008752846858E-01 3.936449883292145E+03 3.289487890032086E+03 2.752376659386001E-04 7.047181874350868E-03 2.575861826200000E+34 1.121129571971708E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 5.307716741549000E+10 1.117371215808000E+07 - 372 1.504193653840000E+31 2.576614738400000E+34 1.126760443678784E+15 2.480850000000000E+08 8.464919393736427E-14 2.872531066120855E-01 3.918469726838503E+03 3.266843214677180E+03 2.779453232761100E-04 6.782213804415191E-03 2.577366656000000E+34 1.132507657870873E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 5.097371215808000E+10 1.016680164326000E+07 - 373 1.504628492960000E+31 2.578118573600000E+34 1.138254872062962E+15 2.507250000000000E+08 8.121491156765013E-14 2.794246619782156E-01 3.900465993823005E+03 3.244354424170943E+03 2.806322490691600E-04 6.520250894766141E-03 2.578871485800000E+34 1.144116979528632E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.769424123765001E+41 4.887140865314000E+10 9.161042880910002E+06 - 374 1.505049009840000E+31 2.579624398000000E+34 1.149979086994301E+15 2.534200000000000E+08 7.809492765829459E-14 2.692861674145481E-01 3.864706306647749E+03 3.214522691821607E+03 2.816539299012000E-04 6.262385941706158E-03 2.580376315600000E+34 1.155958828702688E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 4.696910514820000E+10 7.638488778987001E+06 - 375 1.505455801240000E+31 2.581128233200000E+34 1.161938570411075E+15 2.561650000000000E+08 7.492655687121483E-14 2.643405658281265E-01 3.846949594109780E+03 3.199666590490461E+03 2.844527781487299E-04 6.007510773828205E-03 2.581881145400000E+34 1.168037678672284E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 4.516564989079000E+10 6.863536243366001E+06 - 376 1.505849861760000E+31 2.582634057600000E+34 1.174136786933494E+15 2.589650000000000E+08 7.204814886326081E-14 2.571365515409419E-01 3.829170695509592E+03 3.177640240612367E+03 2.871527781487300E-04 5.755161484819180E-03 2.583387964400000E+34 1.180359485232374E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 4.336334638585000E+10 6.169274759227001E+06 - 377 1.506231390320000E+31 2.584141871200000E+34 1.186582183531252E+15 2.618250000000000E+08 6.912510050446933E-14 2.501288666430345E-01 3.811577254273961E+03 3.155765519060302E+03 2.899527781487300E-04 5.505735857974970E-03 2.584894783400000E+34 1.192933797938704E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 4.165989112844000E+10 5.535128450335001E+06 - 378 1.506601182600000E+31 2.585647695600000E+34 1.199285412346158E+15 2.647400000000000E+08 6.631866507759012E-14 2.433403034648518E-01 3.794064647558162E+03 3.134126314733467E+03 2.928516263962600E-04 5.259037229043527E-03 2.586401602400000E+34 1.205773689956506E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 3.995758762350000E+10 4.971327667184002E+06 - 379 1.506959835360000E+31 2.587155509200000E+34 1.212261967566853E+15 2.677200000000000E+08 6.362427212351011E-14 2.367086046284786E-01 3.768048601802589E+03 3.112551140940164E+03 2.958516263962600E-04 5.014791960806864E-03 2.587908421400000E+34 1.218897344791497E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 3.825528411856000E+10 4.457872409774001E+06 - 380 1.507307746440000E+31 2.588661333600000E+34 1.225532722016141E+15 2.707700000000000E+08 6.090077606707370E-14 2.302576379964725E-01 3.750735991078142E+03 3.091124489598567E+03 2.990504746437900E-04 4.773116342440520E-03 2.589415240400000E+34 1.232326610585579E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759539299012001E+41 3.665298061362000E+10 3.994762678105000E+06 - 381 1.507645313680000E+31 2.590169147200000E+34 1.239120499155016E+15 2.738900000000000E+08 5.816152373019628E-14 2.239824781145097E-01 3.733502924574532E+03 3.069845338287304E+03 3.023504746437900E-04 4.534189954376939E-03 2.590923054000000E+34 1.246083479886240E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759424123765001E+41 3.505067710868000E+10 3.581883296930001E+06 - 382 1.507972934920000E+31 2.591676960800000E+34 1.253046460617465E+15 2.770850000000000E+08 5.554216789835819E-14 2.198689058886164E-01 3.707801671221458E+03 3.055657871658875E+03 3.058493228913200E-04 4.297638593014210E-03 2.592431862200000E+34 1.260193032124745E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.759424123765001E+41 3.344837360374000E+10 3.209349441496001E+06 - 383 1.508291405840000E+31 2.593186763600000E+34 1.267339603632024E+15 2.803650000000000E+08 5.292036451511330E-14 2.119160328878958E-01 3.682277344051988E+03 3.027643431902659E+03 3.085470193863800E-04 4.064270418105689E-03 2.593940670400000E+34 1.274687684734534E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.749539299012001E+41 3.184607009880000E+10 2.765894184086001E+06 - 384 1.508600925360000E+31 2.594694577200000E+34 1.282035765837046E+15 2.837450000000000E+08 5.030635219010445E-14 2.061407326655292E-01 3.656928725114845E+03 3.006801281118765E+03 3.123470193863800E-04 3.833365101164820E-03 2.595449478600000E+34 1.289606587860471E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.749539299012001E+41 3.024491834633000E+10 2.463821029640000E+06 - 385 1.508901692400000E+31 2.596204380000000E+34 1.297177409883896E+15 2.872300000000000E+08 4.771147323841262E-14 2.005228254077430E-01 3.640028018879575E+03 2.986102606691668E+03 3.164458676339100E-04 3.604770980512346E-03 2.596958286800000E+34 1.305001768992681E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.749539299012001E+41 2.874146308892000E+10 2.201978225688000E+06 - 386 1.509194104800000E+31 2.597712193600000E+34 1.312826128101464E+15 2.908350000000000E+08 4.504387823102161E-14 1.950580217192948E-01 3.615068208152130E+03 2.965546420937078E+03 3.209458676339100E-04 3.378559056102412E-03 2.598467095000000E+34 1.320941628815841E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.749539299012001E+41 2.713915958398000E+10 1.960250596983000E+06 - 387 1.509478759320000E+31 2.599221996400000E+34 1.329057129530218E+15 2.945800000000000E+08 4.242636029284096E-14 1.897421491028708E-01 3.590182253652192E+03 2.945131742969874E+03 3.259447158814400E-04 3.154122187924910E-03 2.599976897800000E+34 1.337514507623818E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.749539299012001E+41 2.553685607904000E+10 1.738753318772000E+06 - 388 1.509755854880000E+31 2.600731799200000E+34 1.345971885717417E+15 2.984900000000000E+08 3.968585815135184E-14 1.845711487732931E-01 3.565467612858027E+03 2.924857598657301E+03 3.316435641289700E-04 2.931513426239800E-03 2.601486700600000E+34 1.354831053873126E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.749539299012001E+41 2.393455257410000E+10 1.537486391055000E+06 - 389 1.510025391480000E+31 2.602241602000000E+34 1.363690222028836E+15 3.025900000000000E+08 3.695181506942291E-14 1.778950301113177E-01 3.540923106454382E+03 2.898042343012003E+03 3.379435641289699E-04 2.710269084492001E-03 2.602996503400000E+34 1.373014938430472E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.739654474258999E+41 2.223224906916000E+10 1.366104288091000E+06 - 390 1.510288164800000E+31 2.603751404800000E+34 1.382339654832108E+15 3.069150000000000E+08 3.416927591839826E-14 1.730468966645038E-01 3.508555024342128E+03 2.878092359848625E+03 3.451412606240300E-04 2.490347691406686E-03 2.604507300800000E+34 1.392217757277160E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.739654474258999E+41 2.062994556422000E+10 1.205067710868000E+06 - 391 1.510543975920000E+31 2.605263196800000E+34 1.402095859722212E+15 3.115150000000000E+08 3.137875987410658E-14 1.667876214533067E-01 3.468392927087563E+03 2.851705850489828E+03 3.520378053666199E-04 2.272126169972158E-03 2.606018098200000E+34 1.412651719900646E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.739654474258999E+41 1.892764205928000E+10 1.033915958398000E+06 - 392 1.510793421600000E+31 2.606772999600000E+34 1.423207580079080E+15 3.164600000000000E+08 2.855109880327627E-14 1.607547503379050E-01 3.436594509598488E+03 2.825561254102919E+03 3.612366536141500E-04 2.054401319616167E-03 2.607528895600000E+34 1.434632413248157E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.739539299011999E+41 1.722418680187000E+10 9.080521440455001E+05 - 393 1.511036700760000E+31 2.608284791600000E+34 1.446057246417233E+15 3.218649424123765E+08 2.556441009669583E-14 1.549400940610981E-01 3.405087621753278E+03 2.799656352816443E+03 3.723343501092100E-04 1.836922105872225E-03 2.609040687600000E+34 1.458651333533087E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.739539299011999E+41 1.542188329693000E+10 7.863841276129001E+05 - 394 1.511273813400000E+31 2.609796583600000E+34 1.471245420648942E+15 3.279099424123764E+08 2.242000864685485E-14 1.493357595791144E-01 3.366109906062239E+03 2.773988949092508E+03 3.863320466042700E-04 1.618768572289873E-03 2.610552479600000E+34 1.485540339291884E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.729654474258999E+41 1.351957979199000E+10 6.707967338532001E+05 - 395 1.511505157360000E+31 2.611308375600000E+34 1.499835257934825E+15 3.349250000000000E+08 1.908195322507025E-14 1.439176437480407E-01 3.319925146729186E+03 2.748482550804782E+03 4.051262878419200E-04 1.397767447833027E-03 2.612063277000000E+34 1.516795473637614E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.729654474258999E+41 1.151612453458000E+10 5.573014802911000E+05 - 396 1.511730931560000E+31 2.612818178400000E+34 1.533755689340404E+15 3.435050000000001E+08 1.540408036610017E-14 1.361958314396001E-01 3.259329683781698E+03 2.710845251573292E+03 4.302170738221600E-04 1.172989726748741E-03 2.613575069000000E+34 1.555029522904940E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.729654474258999E+41 9.283014802910999E+09 4.408753318772000E+05 - 397 1.511951334920000E+31 2.614331959600000E+34 1.576303356469476E+15 3.545750000000000E+08 1.168518992967093E-14 1.288735569312615E-01 3.192480784409476E+03 2.673651060347517E+03 4.673044045449900E-04 9.406735456725225E-04 2.615087855600000E+34 1.604329886377402E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.719769649506000E+41 7.040250596983000E+09 3.305758762350000E+05 - 398 1.512166566360000E+31 2.615843751600000E+34 1.632356416285329E+15 3.682800000000000E+08 8.348776345564017E-15 1.197192025339124E-01 3.126918024237526E+03 2.624851428849374E+03 5.250249336245600E-04 6.949954691487124E-04 2.616599647600000E+34 1.665210963424940E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.719654474258999E+41 5.027256040561001E+09 2.333800783151000E+05 - 399 1.512376824800000E+31 2.617355543600000E+34 1.698065510564550E+15 4.244849999999999E+08 6.601395848975489E-15 1.101828597281630E-01 3.055657871658875E+03 2.570946173318331E+03 5.690972915652800E-04 4.481584120613199E-04 2.618111439600000E+34 1.912169359734609E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.709769649506000E+41 3.975758762350000E+09 1.842764205928000E+05 - 400 1.512582110240000E+31 2.618867335600000E+34 2.126273208904668E+15 4.732800000000000E+08 7.649548028809211E-16 7.623665194026311E-02 2.780233476424581E+03 2.344794175376322E+03 1.368308948518000E-03 0.000000000000000E+00 2.618867335600000E+34 2.126273208904668E+15 7.181253000000000E-01 0.000000000000000E+00 2.760538000000000E-01 6.401185999999999E-04 1.019424000000000E-03 2.458491000000000E-03 4.355470000000000E-04 4.752008000000000E-05 8.485651000000001E-04 1.426982000000000E-04 9.610558000000000E-05 1.879377000000000E-05 1.454367000000000E-05 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00 1.731241000000000E-05 0.000000000000000E+00 1.108306000000000E-14 3.679884824753000E+41 4.606795339573000E+08 2.123224906916000E+04 diff --git a/docs/io/configuration/components/models/converters/species55.txt b/docs/io/configuration/components/models/converters/species55.txt deleted file mode 100644 index 02cd1e24d2f..00000000000 --- a/docs/io/configuration/components/models/converters/species55.txt +++ /dev/null @@ -1,56 +0,0 @@ -55 - n 1 0 - p 1 1 - he4 4 2 - b11 11 5 - c12 12 6 - c13 13 6 - n13 13 7 - n14 14 7 - n15 15 7 - o15 15 8 - o16 16 8 - o17 17 8 - f18 18 9 - ne19 19 10 - ne20 20 10 - ne21 21 10 - ne22 22 10 - na22 22 11 - na23 23 11 - mg23 23 12 - mg24 24 12 - mg25 25 12 - mg26 26 12 - al25 25 13 - al26 26 13 - al27 27 13 - si28 28 14 - si29 29 14 - si30 30 14 - p29 29 15 - p30 30 15 - p31 31 15 - s31 31 16 - s32 32 16 - s33 33 16 - cl33 33 17 - cl34 34 17 - cl35 35 17 - ar36 36 18 - ar37 37 18 - ar38 38 18 - ar39 39 18 - k39 39 19 - ca40 40 20 - sc43 43 21 - ti44 44 22 - v47 47 23 - cr48 48 24 - mn51 51 25 - fe52 52 26 - fe56 54 26 - co55 55 27 - ni56 56 28 - ni58 58 28 - ni59 59 28 diff --git a/docs/io/configuration/components/models/csvy_full_rad.csvy b/docs/io/configuration/components/models/csvy_full_rad.csvy deleted file mode 100644 index eeaff265a97..00000000000 --- a/docs/io/configuration/components/models/csvy_full_rad.csvy +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: csvy_full -model_density_time_0: 1 day -model_isotope_time_0: 0 day -description: Example csvy config file for TARDIS. -tardis_model_config_version: v1.0 -datatype: - fields: - - name: velocity - unit: km/s - desc: velocities of shell outer boundaries. - - name: density - unit: g/cm^3 - desc: density of shell. - - name: t_rad - unit: K - desc: radiative temperature. - - name: dilution_factor - desc: dilution factor of shell. - - name: H - desc: fractional H abundance. - - name: He - desc: fractional He abundance. - - name: Ni56 - desc: fractional Ni56 abundance. - ---- -velocity,density,t_rad,dilution_factor,H,He,Ni56 -9000, 5e-10, 7000, .9, 1.0, 1.0, 1.0 -10500, 2.0e-10, 7000, .8, 0.0, 0.99, 0.01 -12000, 9e-11, 7000, .1, 0.4, 0.58, 0.02 diff --git a/docs/io/configuration/components/models/data/abund.dat b/docs/io/configuration/components/models/data/abund.dat deleted file mode 100755 index 36145e93d2d..00000000000 --- a/docs/io/configuration/components/models/data/abund.dat +++ /dev/null @@ -1,12 +0,0 @@ -H He - -0.000000 1.000000 -0.100000 0.900000 -0.200000 0.800000 -0.300000 0.700000 -0.400000 0.600000 -0.500000 0.500000 -0.600000 0.400000 -0.700000 0.300000 -0.800000 0.200000 -0.900000 0.100000 diff --git a/docs/io/configuration/components/models/data/config_init_trad.yml b/docs/io/configuration/components/models/data/config_init_trad.yml deleted file mode 100755 index f8de5dc8149..00000000000 --- a/docs/io/configuration/components/models/data/config_init_trad.yml +++ /dev/null @@ -1,79 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - #luminosity_requested: 8.770 log_lsun - luminosity_requested: 1.2264025510060545e+42 erg/s - luminosity_wavelength_start: 3000 angstrom - luminosity_wavelength_end: 9000 angstrom - time_explosion: 16 day - distance: 8.32 Mpc - -# standard atomic data base; get it from the tardis-regression-data repository -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - v_inner_boundary: 2900 km/s - v_outer_boundary: 3850 km/s - type: file - filename: density.txt - filetype: simple_ascii - # showing different configuration options separated by comments - # simple uniform - #--------------- - #type: uniform - #value: 1e-40 g/cm^3 - #--------------- - # branch85_w7 - fit of seven order polynomial to W7 (like Branch 85) - #--------------- - #type: branch85_w7 - # default, no need to change - #w7_time_0: 19.9999584 s - # default, no need to change - #w7_rho_0: 3e29 g/cm^3 - #--------------- - - abundances: - type: file - filename: abund.dat - filetype: custom_composition - -plasma: - #initial_t_inner: 9000 K - initial_t_rad: 11000 K - disable_electron_scattering: no - ionization: lte - excitation: lte - # radiative_rates_type - currently supported are dilute-blackbody, detailed and blackbody - radiative_rates_type: dilute-blackbody - # line_interaction_type - currently supported are scatter, downbranch and macroatom - line_interaction_type: downbranch - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 20 - # Number of threads used in OMP mode; uncomment if you want to control the - # OMP behaviour via the config; otherwise the maximum available number of - # threads is used or the number specified in the OMP_NUM_THREADS environment - # variable - # -------- - nthreads: 16 - - last_no_of_packets: 1.e+5 - no_of_virtual_packets: 10 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/configuration/components/models/data/config_no_init_trad.yml b/docs/io/configuration/components/models/data/config_no_init_trad.yml deleted file mode 100755 index 33fe99b3ab1..00000000000 --- a/docs/io/configuration/components/models/data/config_no_init_trad.yml +++ /dev/null @@ -1,79 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - #luminosity_requested: 8.770 log_lsun - luminosity_requested: 1.2264025510060545e+42 erg/s - luminosity_wavelength_start: 3000 angstrom - luminosity_wavelength_end: 9000 angstrom - time_explosion: 16 day - distance: 8.32 Mpc - -# standard atomic data base; get it from the tardis-regression-data repository -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - v_inner_boundary: 3350 km/s - v_outer_boundary: 3750 km/s - type: file - filename: density.txt - filetype: simple_ascii - # showing different configuration options separated by comments - # simple uniform - #--------------- - #type: uniform - #value: 1e-40 g/cm^3 - #--------------- - # branch85_w7 - fit of seven order polynomial to W7 (like Branch 85) - #--------------- - #type: branch85_w7 - # default, no need to change - #w7_time_0: 19.9999584 s - # default, no need to change - #w7_rho_0: 3e29 g/cm^3 - #--------------- - - abundances: - type: file - filename: abund.dat - filetype: custom_composition - -plasma: - #initial_t_inner: 9000 K - #initial_t_rad: 9000 K - disable_electron_scattering: no - ionization: lte - excitation: lte - # radiative_rates_type - currently supported are dilute-blackbody, detailed and blackbody - radiative_rates_type: dilute-blackbody - # line_interaction_type - currently supported are scatter, downbranch and macroatom - line_interaction_type: downbranch - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 20 - # Number of threads used in OMP mode; uncomment if you want to control the - # OMP behaviour via the config; otherwise the maximum available number of - # threads is used or the number specified in the OMP_NUM_THREADS environment - # variable - # -------- - nthreads: 16 - - last_no_of_packets: 1.e+5 - no_of_virtual_packets: 10 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/configuration/components/models/data/density.txt b/docs/io/configuration/components/models/data/density.txt deleted file mode 100755 index f1308939345..00000000000 --- a/docs/io/configuration/components/models/data/density.txt +++ /dev/null @@ -1,13 +0,0 @@ -80 day - -0 2900.0 4.2825378145878566e-16 -1 3000.0 4.1266888565148947e-16 -2 3100.0 3.9494056177393524e-16 -3 3200.0 3.80047742794982e-16 -4 3300.0 3.6372082863336294e-16 -5 3400.0 3.533729450270666e-16 -6 3500.0 3.4614895543847123e-16 -7 3600.0 3.376839755924977e-16 -8 3700.0 3.3078071500550274e-16 -9 3800.0 3.266890036690215e-16 -10 3900.0 3.230895802227087e-16 diff --git a/docs/io/configuration/components/models/densitycust/density.dat b/docs/io/configuration/components/models/densitycust/density.dat deleted file mode 120000 index 90024546c88..00000000000 --- a/docs/io/configuration/components/models/densitycust/density.dat +++ /dev/null @@ -1 +0,0 @@ -../../../../../../tardis/io/tests/data/density.dat \ No newline at end of file diff --git a/docs/io/configuration/components/models/densitycust/densitycust.rst b/docs/io/configuration/components/models/densitycust/densitycust.rst deleted file mode 100644 index d655aa5782e..00000000000 --- a/docs/io/configuration/components/models/densitycust/densitycust.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. _densitycust: - -****************************** -Using a custom density profile -****************************** - -Overview -======== - -TARDIS also has the capability to work with arbitrary density profiles. This is -particularly useful if the results of detailed explosion simulations should be -mapped into TARDIS. The density profile is supplied in the form of a simple -ASCII file that should look something like this: - -.. literalinclude:: density.dat - -In this file: - -- the first line gives the reference time (see below) - -- (the second line in our example is a comment) - -- the remaining lines (ten in our example) give an indexed table of points that specify mass density (g / cm^3) as a function of velocity (km / s). - -TARDIS will use this table of density versus velocity to specify the density -distribution in the ejecta. For the calculation, TARDIS will use the reference -time given in the file to scale the mass densities to whatever epoch is -requested by assuming homologous expansion: - -.. math:: - - \rho (t_{exp}) = \rho (t_{ref}) (t_{ref} / t_{exp})^{3} - -The values in the example here define a density profile that is dropping off with - -.. math:: - - \rho \propto v^{-5} - -.. note:: - - The grid of points specified in the input file is interpreted by - TARDIS as defining a grid in which the tabulated velocities are - taken as the outer boundaries of grid cells and the density is - assumed to be uniform with each cell. - -Inner Boundary -============== - -The first velocity-density pair in a custom density file (given by index 0) specifies the velocity of the inner boundary approximation. The density associated with this velocity is the density within the inner boundary, which does not affect TARDIS spectra. Therefore, the first density (5.4869692e-10 in the example above) can be replaced by a placeholder value. The user can choose to both specify a custom density file AND specify v_inner_boundary or v_outer_boundary in the configuration YAML file for a TARDIS run. However, the YAML-specified values must be within the velocity range specified in the custom density file, otherwise TARDIS will raise an error. When one of the YAML-specified boundary velocities falls within the velocity range specified in the custom density file, then the boundary velocity is set equal to the number in the configuration YAML file. This has the effect of splitting a cell in the custom density file into two parts, a region within the boundary and a region outside the boundary. - -It is always a good idea to check the model velocities and abundances used in a TARDIS simulation after it has been successfully run. - -.. warning:: - - The example given here is to show the format only. It is not a - realistic model. In any real calculation, better resolution - (i.e. more grid points) should be used. - - -TARDIS input file -================= - -If you create a correctly formatted density profile file (called "density.dat" -in this example), you can use it in TARDIS by putting the following lines in -the model section of the YAML file: - -.. literalinclude:: tardis_configv1_density_cust_example.yml - :language: yaml - -.. note:: - The specifications for the velocities of the inner and outer boundary values can be neglected - (in which case TARDIS will default to using the full velocity range specified in the density.txt file). - Values for the boundary velocities that lie outside the range covered by density.txt will not be accepted. - diff --git a/docs/io/configuration/components/models/densitycust/tardis_configv1_density_cust_example.yml b/docs/io/configuration/components/models/densitycust/tardis_configv1_density_cust_example.yml deleted file mode 100644 index c2f241fbbea..00000000000 --- a/docs/io/configuration/components/models/densitycust/tardis_configv1_density_cust_example.yml +++ /dev/null @@ -1,7 +0,0 @@ -model: - structure: - type: file - filename: density.dat - filetype: simple_ascii - v_inner_boundary: 11000 km/s - v_outer_boundary: 20000 km/s diff --git a/docs/io/configuration/components/models/densitycust/test_abund.dat b/docs/io/configuration/components/models/densitycust/test_abund.dat deleted file mode 100644 index 29ca89fe7bd..00000000000 --- a/docs/io/configuration/components/models/densitycust/test_abund.dat +++ /dev/null @@ -1,4 +0,0 @@ -H He - -0.0 1.0 -0.4 0.6 diff --git a/docs/io/configuration/components/models/densitycust/test_config.yml b/docs/io/configuration/components/models/densitycust/test_config.yml deleted file mode 100644 index 3943171dbf8..00000000000 --- a/docs/io/configuration/components/models/densitycust/test_config.yml +++ /dev/null @@ -1,75 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - luminosity_requested: 8.770 log_lsun - time_explosion: 16 day - distance: 8.32 Mpc - -# standard atomic data base; get it from the tardis-refdata repository -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - #v_inner_boundary: 9500 km/s - type: file - filename: test_density.txt - filetype: simple_ascii - # showing different configuration options separated by comments - # simple uniform - #--------------- - #type: uniform - #value: 1e-40 g/cm^3 - #--------------- - # branch85_w7 - fit of seven order polynomial to W7 (like Branch 85) - #--------------- - #type: branch85_w7 - # default, no need to change - #w7_time_0: 19.9999584 s - # default, no need to change - #w7_rho_0: 3e29 g/cm^3 - #--------------- - - abundances: - type: file - filename: test_abund.dat - filetype: custom_composition - -plasma: - #initial_t_inner: 10000 K - #initial_t_rad: 10000 K - disable_electron_scattering: no - ionization: lte - excitation: lte - # radiative_rates_type - currently supported are dilute-blackbody, detailed and blackbody - radiative_rates_type: dilute-blackbody - # line_interaction_type - currently supported are scatter, downbranch and macroatom - line_interaction_type: macroatom - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 20 - # Number of threads used in OMP mode; uncomment if you want to control the - # OMP behaviour via the config; otherwise the maximum available number of - # threads is used or the number specified in the OMP_NUM_THREADS environment - # variable - # -------- - #nthreads: 1 - - last_no_of_packets: 1.e+5 - no_of_virtual_packets: 10 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/configuration/components/models/densitycust/test_config_ex1.yml b/docs/io/configuration/components/models/densitycust/test_config_ex1.yml deleted file mode 100644 index ac8546e1389..00000000000 --- a/docs/io/configuration/components/models/densitycust/test_config_ex1.yml +++ /dev/null @@ -1,75 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - luminosity_requested: 8.770 log_lsun - time_explosion: 16 day - distance: 8.32 Mpc - -# standard atomic data base; get it from the tardis-refdata repository -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - v_inner_boundary: 9000 km/s - type: file - filename: test_density.txt - filetype: simple_ascii - # showing different configuration options separated by comments - # simple uniform - #--------------- - #type: uniform - #value: 1e-40 g/cm^3 - #--------------- - # branch85_w7 - fit of seven order polynomial to W7 (like Branch 85) - #--------------- - #type: branch85_w7 - # default, no need to change - #w7_time_0: 19.9999584 s - # default, no need to change - #w7_rho_0: 3e29 g/cm^3 - #--------------- - - abundances: - type: file - filename: test_abund.dat - filetype: custom_composition - -plasma: - #initial_t_inner: 10000 K - #initial_t_rad: 10000 K - disable_electron_scattering: no - ionization: lte - excitation: lte - # radiative_rates_type - currently supported are dilute-blackbody, detailed and blackbody - radiative_rates_type: dilute-blackbody - # line_interaction_type - currently supported are scatter, downbranch and macroatom - line_interaction_type: macroatom - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 20 - # Number of threads used in OMP mode; uncomment if you want to control the - # OMP behaviour via the config; otherwise the maximum available number of - # threads is used or the number specified in the OMP_NUM_THREADS environment - # variable - # -------- - #nthreads: 1 - - last_no_of_packets: 1.e+5 - no_of_virtual_packets: 10 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/configuration/components/models/densitycust/test_config_ex2.yml b/docs/io/configuration/components/models/densitycust/test_config_ex2.yml deleted file mode 100644 index e38a0efb35f..00000000000 --- a/docs/io/configuration/components/models/densitycust/test_config_ex2.yml +++ /dev/null @@ -1,75 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - luminosity_requested: 8.770 log_lsun - time_explosion: 16 day - distance: 8.32 Mpc - -# standard atomic data base; get it from the tardis-refdata repository -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - v_outer_boundary: 13000 km/s - type: file - filename: test_density.txt - filetype: simple_ascii - # showing different configuration options separated by comments - # simple uniform - #--------------- - #type: uniform - #value: 1e-40 g/cm^3 - #--------------- - # branch85_w7 - fit of seven order polynomial to W7 (like Branch 85) - #--------------- - #type: branch85_w7 - # default, no need to change - #w7_time_0: 19.9999584 s - # default, no need to change - #w7_rho_0: 3e29 g/cm^3 - #--------------- - - abundances: - type: file - filename: test_abund.dat - filetype: custom_composition - -plasma: - #initial_t_inner: 10000 K - #initial_t_rad: 10000 K - disable_electron_scattering: no - ionization: lte - excitation: lte - # radiative_rates_type - currently supported are dilute-blackbody, detailed and blackbody - radiative_rates_type: dilute-blackbody - # line_interaction_type - currently supported are scatter, downbranch and macroatom - line_interaction_type: macroatom - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 20 - # Number of threads used in OMP mode; uncomment if you want to control the - # OMP behaviour via the config; otherwise the maximum available number of - # threads is used or the number specified in the OMP_NUM_THREADS environment - # variable - # -------- - #nthreads: 1 - - last_no_of_packets: 1.e+5 - no_of_virtual_packets: 10 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/configuration/components/models/densitycust/test_config_ex3.yml b/docs/io/configuration/components/models/densitycust/test_config_ex3.yml deleted file mode 100644 index 921320d1005..00000000000 --- a/docs/io/configuration/components/models/densitycust/test_config_ex3.yml +++ /dev/null @@ -1,76 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - luminosity_requested: 8.770 log_lsun - time_explosion: 16 day - distance: 8.32 Mpc - -# standard atomic data base; get it from the tardis-refdata repository -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - v_inner_boundary: 9700 km/s - v_outer_boundary: 11500 km/s - type: file - filename: test_density.txt - filetype: simple_ascii - # showing different configuration options separated by comments - # simple uniform - #--------------- - #type: uniform - #value: 1e-40 g/cm^3 - #--------------- - # branch85_w7 - fit of seven order polynomial to W7 (like Branch 85) - #--------------- - #type: branch85_w7 - # default, no need to change - #w7_time_0: 19.9999584 s - # default, no need to change - #w7_rho_0: 3e29 g/cm^3 - #--------------- - - abundances: - type: file - filename: test_abund.dat - filetype: custom_composition - -plasma: - #initial_t_inner: 10000 K - #initial_t_rad: 10000 K - disable_electron_scattering: no - ionization: lte - excitation: lte - # radiative_rates_type - currently supported are dilute-blackbody, detailed and blackbody - radiative_rates_type: dilute-blackbody - # line_interaction_type - currently supported are scatter, downbranch and macroatom - line_interaction_type: macroatom - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 20 - # Number of threads used in OMP mode; uncomment if you want to control the - # OMP behaviour via the config; otherwise the maximum available number of - # threads is used or the number specified in the OMP_NUM_THREADS environment - # variable - # -------- - #nthreads: 1 - - last_no_of_packets: 1.e+5 - no_of_virtual_packets: 10 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/configuration/components/models/densitycust/test_density.txt b/docs/io/configuration/components/models/densitycust/test_density.txt deleted file mode 100644 index 31d541518f7..00000000000 --- a/docs/io/configuration/components/models/densitycust/test_density.txt +++ /dev/null @@ -1,5 +0,0 @@ -80 day - -0 9500 9e-16 -1 10500 6e-16 -2 12000 2e-17 diff --git a/docs/io/configuration/components/models/example_data.inc b/docs/io/configuration/components/models/example_data.inc deleted file mode 100644 index 7bfaa37404e..00000000000 --- a/docs/io/configuration/components/models/example_data.inc +++ /dev/null @@ -1,2 +0,0 @@ -.. _example_yml: https://github.com/tardis-sn/tardis-setups/blob/master/2014/2014_kerzendorf_sim/appendix_A1/tardis_example.yml -.. _example_atomic_database: https://github.com/tardis-sn/tardis-refdata/raw/master/atom_data/kurucz_cd23_chianti_H_He.h5 \ No newline at end of file diff --git a/docs/io/configuration/components/models/index.rst b/docs/io/configuration/components/models/index.rst deleted file mode 100644 index ff7bc621f35..00000000000 --- a/docs/io/configuration/components/models/index.rst +++ /dev/null @@ -1,288 +0,0 @@ -.. _model-csvy-and-config: - -****** -Models -****** - -TARDIS requires a model of the ejecta in order to run a simulation. A model typically includes information -for the velocity shell structure, density, and abundances. **See** :doc:`../../../../physics/setup/model` **for more information on the -TARDIS model**. TARDIS offers two ways of specifying the model: either directly in the configuration YAML file -or separately in a CSVY file. See `here `_ for an explanation of the CSVY file format. - -TARDIS has several built-in models for the shell structure, density, and abundance. If only these are being used, -we recommend using the YAML configuration method. For creating a custom model (which will be discussed below), we -recommend using the CSVY method. - -.. contents:: - :local: - -.. _model-config: - -Model Configuration -=================== - -The following schema shows how the model section of the YAML configuration is set up: - -.. jsonschema:: ../schemas/model.yml - -Several examples are shown in the following sections; additionally, see :ref:`tardis-example` to see -an example model configuration section within the full TARDIS configuration. This configuration allows -for both built-in structures and abundances, which will be described in later sections, as well as custom -models for the shell structure and abundances. For the latter, while we recommend using the CSVY model, -one can specify custom structures and abundances using other files. - -.. note:: - - If using a custom shell structure, you must also use a custom density profile (and vice versa), as - they are recorded in the same file (see below). Therefore, if you wish to use a built-in shell - structure you must also use a built-in density profile, and vice versa. - -Custom Model Configurations ---------------------------- - -The following two sections demonstrate how to specify custom structures and abundances in the -model configuration. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/structure/file - :lift_description: - -For example: - -.. literalinclude:: densitycust/tardis_configv1_density_cust_example.yml - :language: yaml - -In this example, our configuration references a file named ``density.dat``. For more information on what this file -would entail, see: - -.. toctree:: - :maxdepth: 1 - - densitycust/densitycust - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/abundances/file - :lift_description: - -For example: - -.. literalinclude:: abundancecust/tardis_configv1_abundance_cust_example.yml - :language: yaml - -In this example, our configuration references a file named ``abund.dat``. For more information on what this file -would entail, see: - -.. toctree:: - :maxdepth: 1 - - abundancecust/abundancecust - -Custom Model Tutorial ---------------------- - -.. toctree:: - :maxdepth: 2 - - Custom_TARDIS_Model_Tutorial - - -.. _converters: - -Model Converters ----------------- - -There are a variety of formats for models from other codes -(both hydro and radiative transfer) that can be converted to TARDIS input files. -Here we aim to provide converters for the most commonly used file formats. - -.. toctree:: - :maxdepth: 2 - - converters/cmfgen - converters/arepo_to_tardis - -Built-in Structure, Density, and Abundance -========================================== - -TARDIS's built-in models for structure, density, and abundance are described in the following sections: - -Structure ---------- - -When using the built-in structure functionality, the code requires two sections (``velocities`` and ``densities``) and a -parameter ``no_of_shells``. ``no_of_shells`` is the requested number of shells for a model. See -`Shell Structure <../../../../physics/setup/model.ipynb#shell-structure>`_ for more information. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/structure/specific - :lift_description: - -We present an example of the above schema: - -.. code-block:: yaml - - model: - structure: - type: specific - velocity: - start: 1000 km/s - stop: 2000 km/s - num: 15 - density: - type: branch85_w7 #see density schemas below for all options in the density section - - -Density -------- - -In the ``densities`` section of the specific structure, the ``type`` parameter decides on the parameters. -The physics of these density models is further discussed in :doc:`../../../../physics/setup/model`. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/density/branch85_w7 - :lift_description: - -For example: - -.. code-block:: yaml - - model: - structure: - type: specific - - density: - type: branch85_w7 - -For more information, see `Branch85 W7 Density <../../../../physics/setup/model.ipynb#branch85-w7-density>`_. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/density/exponential - :lift_description: - -For example: - -.. code-block:: yaml - - model: - structure: - type: specific - - density: - type: exponential - rho_0: 1e-10 g/cm^3 - v_0: 10000 km/s - -For more information, see `Exponential Density <../../../../physics/setup/model.ipynb#exponential-density>`_. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/density/power_law - :lift_description: - -For example: - -.. code-block:: yaml - - model: - structure: - type: specific - - density: - type: power_law - rho_0: 1e-10 g/cm^3 - v_0: 10000 km/s - exponent: 3 - -For more information, see `Power Law Density <../../../../physics/setup/model.ipynb#power-law-density>`_. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/density/uniform - :lift_description: - -For example: - -.. code-block:: yaml - - model: - structure: - type: specific - - density: - type: uniform - value: 1e-10 g/cm^3 - - -For more information, see `Uniform Density <../../../../physics/setup/model.ipynb#uniform-density>`_. - -Abundance ---------- - -This section can be used to configure uniform abundances for all shells, by giving the atom or isotope name -and a relative abundance fraction. If it does not add up to 1, TARDIS will warn -- but normalize the numbers. - -.. jsonschema:: ../schemas/model_definitions.yml#/definitions/abundances/uniform - :lift_description: - -For example: - -.. code-block:: yaml - - model: - - abundances: - type: uniform - H: 0.2 - He: 0.4 - O: 0.15 - Ni56: 0.25 - - -For more information, see `Abundance <../../../../physics/setup/model.ipynb#abundance>`_. - -.. _csvy-models: - -CSVY Model -========== - -TARDIS allows users to use a CSVY file to input information about the model. To do this, instead of a -``model`` section, one includes ``csvy_model: `` in the main TARDIS configuration -file. - -The CSVY model has a YAML part as well as a CSV part, separated by the YAML delimiter ``---``. This means -that each CSVY model file has the following structure: The first line of the file is the YAML delimiter, -followed by the YAML portion of the CSVY model, then another line with just the YAML delimiter, -and finally the CSV portion of the CSVY file. This is shown in the example CSVY file later in this section. - -The YAML portion of the CSVY file allows the user to use most of the features of the YAML model configuration, -as shown in the schema below: - -.. jsonschema:: ../schemas/csvy_model.yml - -The CSV part of the CSVY file creates a table that can include information about shell velocities, densities, -and abundances in each cell. The column headers (the first row of the CSV part) may contain ``velocity``, -``density``, ``t_rad``, ``dilution_factor``, or the name of any element or isotope (e.g. ``H``, ``Mg``, -``Ni56``). These columns are explained in the following example: - -.. literalinclude:: csvy_full_rad.csvy - -Notice that for each column that is used in the CSV section of the file, there is a corresponding field under -``datatype`` in the YAML section of the file. In our example, each of the fields under ``datatype`` has a brief -description to go along with it. While the description is not necessary for any of the fields, the unit section -is required for ``velocity``, ``density``, and ``t_rad``. - -Since the ``velocity`` column contains the outer shell velocity, the first entry in the velocity column is the -velocity of the photosphere -- i.e. the inner boundary of the computational domain (see :doc:`../../../../physics/setup/model`). -Consequently, **none of the other information in the first row is used**. In our example, there are only two -shells, and the first shell will have an inner boundary with a velocity of :math:`9000 \mathrm{ km/s}`, an outer boundary -with a velocity of :math:`10500 \mathrm{ km/s}`, a density of :math:`2.0*10^{-10} \mathrm{ g/cm^3}`, a dilution -factor of .8, etc. - -.. note:: - - None of the CSV columns are required. However, if ``velocity``, ``density``, or the abundances are missing, - they must be specified in the YAML portion of the file. If ``t_rad`` or ``dilution_factor`` are missing, - they will be automatically calculated (see :doc:`../../../../physics/setup/model`). - -.. note:: - - ``t_rad`` and ``dilution_factor`` are the values of the temperature and dilution factor for the first - iteration, and will be updated in subsequent iterations (see :doc:`../../../../physics/update_and_conv/update_and_conv`). - To prevent these quantities from being changed, you must set the damping constant to zero in the :ref:`Damped Convergence - Configuration ` in the Monte Carlo section of the configuration file. - -CSVY Model Tutorial -------------------- - -Coming soon! diff --git a/docs/io/configuration/components/montecarlo.rst b/docs/io/configuration/components/montecarlo.rst deleted file mode 100644 index 0f57b2a50ed..00000000000 --- a/docs/io/configuration/components/montecarlo.rst +++ /dev/null @@ -1,49 +0,0 @@ -.. _montecarlo-config: - -************************* -Monte Carlo Configuration -************************* - -The ``montecarlo`` section describes the parameters for the Monte Carlo radiation transport and convergence criteria: - -.. jsonschema:: schemas/montecarlo.yml - -The ``seed`` parameter seeds the random number generator first for the creation of the packets -(:math:`\nu` and :math:`\mu`) and then the interactions in the actual Monte Carlo process. -The ``no_of_packets`` parameter can take a float number for input convenience and gives the number of packets normally -used in each Monte Carlo loop. The parameters ``last_no_of_packets`` and ``no_of_virtual_packets`` influence the last run -of the Monte Carlo loop (which calculates the final spectrum!) when the radiation field should have converged. ``last_no_of_packets`` is normally higher than -``no_of_packets`` to create a less noisy output spectrum. ``no_of_virtual_packets`` can also be set to greater than 0 (a useful number is 3) to -use the Virtual Packet formalism. Increasing this number drastically increases computational costs (and memory requirements if they are logged). -The ``iterations`` parameter describes the maximum number of Monte Carlo loops executed in a simulation before it ends. Convergence criteria can be used to make the simulation stop -sooner when the convergence threshold has been reached (see :doc:`../../../physics/update_and_conv/update_and_conv`). - -.. _conv-config: - -Convergence Strategy --------------------- - -The ``convergence_criteria`` section has a ``type`` keyword. Currently, one type is allowed: ``damped``. -All convergence criteria can be specified separately for the three variables for which convergence can be checked -(``t_inner``, ``t_rad``, ``ws``) by specifying subsections in the ``convergence_criteria`` of the same name. These then -override the defaults. Two more schemas are presented that further explain the ``damped`` and -``custom`` convergence strategies: - -.. _damped-config: - -.. jsonschema:: schemas/montecarlo_definitions.yml#/definitions/convergence_strategy/damped - -``damped`` only has one parameter ``damping-constant`` and does not check for convergence. This can be used to fix the -temperature of the inner boundary. - -.. jsonschema:: schemas/montecarlo_definitions.yml#/definitions/convergence_strategy/custom - - -.. _parallelization: - -Parallel Execution with Numba ------------------------------ -The ``montecarlo`` section of the Configuration file accepts the parameter ``nthreads`` which sets the number of -threads to be used for parallelisation. Setting the value of the parameter between 1 and the environment variable -``NUMBA_NUM_THREADS`` (which is, by default, the number of CPU cores on your system) will automatically invoke Numba -to parallelise the code. (See :ref:`config-file` section). \ No newline at end of file diff --git a/docs/io/configuration/components/plasma.rst b/docs/io/configuration/components/plasma.rst deleted file mode 100644 index 7ff017c9776..00000000000 --- a/docs/io/configuration/components/plasma.rst +++ /dev/null @@ -1,93 +0,0 @@ -.. _plasma-config: - -******************** -Plasma Configuration -******************** - -The plasma configuration gives TARDIS the necessary information to calculate the plasma state (see :ref:`plasma`): - -.. jsonschema:: schemas/plasma.yml - -``inital_t_inner`` is initial temperature (will be updated for most modes of TARDIS --- see convergence section) of the black-body on the inner -boundary. ``initial_t_rad`` is the initial radiation temperature (will be updated for most modes of TARDIS - see convergence section). For debugging purposes and to compare to -:term:`synapps` calculations one can disable the electron scattering. TARDIS will issue a warning that this is not physical. -There are currently two ``plasma_type`` options available: ``nebular`` and ``lte``, which tell TARDIS how to run the -ionization equilibrium and level population calculations (see :ref:`plasma` for more information). -The radiative rates describe how to calculate the :math:`J_\textrm{blue}` needed for the :ref:`nlte` calculations and -:ref:`macroatom` calculations. There are three options for ``radiative_rates_type``: - -1) ``blackbody``, in which -:math:`J_\textrm{blue} = \textrm{Blackbody}(T_\textrm{rad})` - -2) ``dilute-blackbody`` in which -:math:`J_\textrm{blue} = W \times \textrm{Blackbody}(T_\textrm{rad})` - -3) ``detailed`` in which the :math:`J_\textrm{blue}` -are calculated using an estimator (this is described in :doc:`../../../physics/montecarlo/estimators`). - -TARDIS currently supports three different kinds of line interaction: ``scatter`` --- a resonance scattering implementation, -``macroatom`` --- the most complex form of line interaction described in :ref:`macroatom` and ``downbranch`` a simplified -version of ``macroatom`` in which only downward transitions are allowed (see :ref:`lineinteraction`). - -Finally, ``w_epsilon`` describes the dilution factor to use to calculate :math:`J_\textrm{blue}` that are 0, which -causes problems with the code (so :math:`J_\textrm{blue}` are set to a very small number). - -Continuum Interaction -^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - plasma: - link_t_rad_t_electron: 1.0 - continuum_interaction: - species: - - H I - - H II - - He I - - He II - enable_adiabatic_cooling: True - -This will add continuum interactions for all specified species. Setting :math:`T_\textrm{rad} = T_\textrm{electron}` through -``link_t_rad_t_electron: 1.0`` is recommended to enforce LTE (unless the simulation uses NLTE treatment). -``enable_adiabatic_cooling`` enables adiabatic cooling. - -NLTE -^^^^ - -.. code-block:: yaml - - nlte: - coronal_approximation: True - classical_nebular: False - -The NLTE configuration currently allows setting ``coronal_approximation``, which sets all :math:`J_\textrm{blue}` to 0. -This is useful for debugging with :term:`chianti` for example. Furthermore, one can enable 'classical_nebular' to set all -:math:`\beta_\textrm{Sobolev}` to 1. Both options are used for checking with other codes and should not be enabled in -normal operations. - -NLTE Ionization -^^^^^^^^^^^^^^^ - -.. code-block:: yaml - - plasma: - nlte_ionization_species: [H I, H II, He I, He II] - nlte_solver: root - -This option allows the user to specify which species should be included in the NLTE ionization treatment. Note that the -species must be present in the continuum interaction species as well. -Here, ``nlte_solver`` can be set to ``root`` or ``lu``. ``root`` is the default and uses a root solver to calculate the -NLTE populations. ``lu`` uses an iterative LU decomposition scheme to calculate the NLTE populations. - -.. note :: - - ``lu`` iterates over the solutions up to a set tolerance. This tolerance is currently hard-coded to 1e-3. This - can be changed in the code by changing the ``NLTE_POPULATION_SOLVER_TOLERANCE`` constant in ``tardis/plasma/properties/nlte_rate_equation_solver.py``. - Furthermore, the maximum number of iterations is set to 1000. This can be changed in the code by changing the ``NLTE_POPULATION_SOLVER_MAX_ITERATIONS`` - constant in ``tardis/plasma/properties/nlte_rate_equation_solver.py``. - -.. warning :: - - ``lu`` is generally faster than ``root`` but does not solve explicitly for the electron density. Therefore, it is - not recommended to use ``lu`` for simulations where the electron density is important (e.g. for simulations where - NLTE excitation is important). diff --git a/docs/io/configuration/components/schemas b/docs/io/configuration/components/schemas deleted file mode 120000 index 5bf8c07dd59..00000000000 --- a/docs/io/configuration/components/schemas +++ /dev/null @@ -1 +0,0 @@ -../../../../tardis/io/schemas \ No newline at end of file diff --git a/docs/io/configuration/components/spectrum.rst b/docs/io/configuration/components/spectrum.rst deleted file mode 100644 index 6f20b3b8519..00000000000 --- a/docs/io/configuration/components/spectrum.rst +++ /dev/null @@ -1,49 +0,0 @@ -.. _spectrum-config: - -********************** -Spectrum Configuration -********************** - -Finally, the spectrum configuration tells TARDIS information needed for spectrum generation (see :ref:`spectrum`): - -.. jsonschema:: schemas/spectrum.yml - -``start`` and ``end`` are given as values with units. -``num`` specifies the number of bins used to build the spectrum and must be given as an integer. -TARDIS produces the spectrum via three different methods. For more information on these methods, visit the -pages below: - -* real: :doc:`Basic Spectrum Generation <../../../physics/spectrum/basic>` -* virtual: :ref:`Virtual Packet Scheme ` -* integrated: :ref:`Formal Integral Method ` - -The three methods can be specified when plotting the spectrum (see the :doc:`quickstart guide <../../../quickstart>` for an example of this). - -The following example shows how to edit variables for the different methods. - -.. code-block:: yaml - - spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 1000 - method: integrated - integrated: - points: 2000 - interpolate_shells: 100 - virtual: - tau_russian: 15 - survival_probability: 0.1 - enable_biasing: True - virtual_packet_logging: True - - -One can also change these parameters as they wish by reading in the configuration file and editing them before running the simulation (see :doc:`Reading a Configuration <../tutorial_read_configuration>`). - - -.. warning:: - As of now, the `method` argument serves no purpose other than adding - the integrated spectrum to the HDF output when "integrated" is used as the method - (see :doc:`How to Store Simulations to HDF <../../output/how_to_to_hdf>`). - - diff --git a/docs/io/configuration/components/supernova.rst b/docs/io/configuration/components/supernova.rst deleted file mode 100644 index dc3b780a9a0..00000000000 --- a/docs/io/configuration/components/supernova.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. _supernova-config: - -*********************** -Supernova Configuration -*********************** - -The supernova component of the configuration file contains some key information about the supernova being modeled, namely the time since the supernova (which is used throughout TARDIS calculations) and the luminosity the user wishes TARDIS should output: - -.. jsonschema:: schemas/supernova.yml - -As luminosity (in units of energy/s) is computed by integrating over the spectral luminosity (in units of energy/s/wavelength), TARDIS sums over all discrete energy packets to compute luminosity when ran, attempting to converge the output spectrum to match `luminosity_requested` (see :doc:`../../../physics/update_and_conv/update_and_conv`). `luminosity_requested` can be given in standard units, such as erg/s or J/s, or in logarithmic units such as log_lsun. The range over which TARDIS sums these energy packets is set by default from 0 to infinity via `luminosity_wavelength_start` and `luminosity_wavelength_end`, respectively, so as to generate a spectrum whose total luminosity across the entire spectrum is `luminosity_requested`. However, if in the event only the luminosity within a certain range of wavelengths is known, then `luminosity_wavelength_start` and `luminosity_wavelength_end` can be changed as necessary to reflect this, allowing TARDIS to attempt to create a spectrum whose luminosity within the set range will converge to the value defined in `luminosity_requested`. - -As an example, here is a sample code which will generate a spectrum where only the luminosity of the visible light portion of the spectrum is given. Here, the output spectrum will have a luminosity of approximately :math:`10^{9.44}L_{sun}` within the visible range. - -.. code-block:: yaml - - supernova: - luminosity_requested: 9.44 log_lsun - time_explosion: 13 day - luminosity_wavelength_start: 400 nm - luminosity_wavelength_end: 700 nm - - diff --git a/docs/io/configuration/config_validator.rst b/docs/io/configuration/config_validator.rst deleted file mode 100644 index 6bb20d521a6..00000000000 --- a/docs/io/configuration/config_validator.rst +++ /dev/null @@ -1,93 +0,0 @@ -*********************** -Configuration Validator -*********************** - -The default config validator takes a user configuration and a default configuration and creates a consistent and valid configuration for TARDIS based on the constraints given in the default configuration. Both input data are normally given as a YAML dictionary with a consistent hierarchical structure, i.e. for every item in the user configuration there has to be a declaration in the default configuration at the same hierarchical level. This declaration can be either an unspecific empty level declaration like: - -- Main_level: - - Second_level: - - Third_level: - … - -or a declaration of a configuration item like: - -- item: - - property_type: int - - default: 1 - - mandatory: True - - help: ‘This is a doc string.' - -This contains always the keywords ``help``, ``default``, ``mandatory``, and ``property_type``. The keyword help is a doc-string which describes the corresponding item. "Default" specifies the default value which is used in case that no value for this item is specified in the corresponding user configuration item. If the keyword mandatory is ``True``, the item has to be specified in the user configuration. The keyword ``property_type`` is used to specify the type of the item. At the moment, the config parser knows the following types: - -.. :: - -- **Int:** The property type int is for integer like config items. -- **Float:** The property type float is for float like config items. -- **String:** The property type string is for string like config items. -- **Quantity:** The property type quantity is for physical quantities with units given as string. The string contains value and unit separated by a whitespace E.g. 2 cm. -- **Range:** The property type range specifies a range via start and end. - -.. note:: ``abs(start - end ) > 0``. - -- **Quantity_range:** Like property type range but with quantities as start and stop. The consistency of the units is checked. - -Additionally to the four standard keywords the types integer, float, and quantity can have the keywords ``allowed_value`` and ``allowed_type``. ``allowed_value`` specifies the allowed values in a list, whereas ``allowed_type`` specifies a range of allowed values, such as “x>10”. - -Container -^^^^^^^^^ - -For more complex configurations with dependencies, you can use the containers that allow branching in the configuration. A container is declared in the default configuration file by setting the ``property_type`` to container property and specifying the properties of the container with keyword type. The ``property_type`` of this section is container-declaration that allows you to specify the possible container items with the keyword container. For every specified container item, the code expects the declaration of all sub items. The keywords for this are “_“ + “name of the container item”. -If the type declaration for this container is finished, you can specify all container items like normal items. Here is an example for a container configuration with two branches: - -.. source: yaml - -- container_example: - - property_type: container-property - - type: - - property_type: container-declaration - - containers: ['one', 'two', 'three'] - - _one: ['one_one', 'one_two'] - - _two: ['two_one'] - - - one_one: - - property_type: string - - default: 'This is a container item' - - mandatory: False - - help: This is a container item from the container one. - - - one_two: - - sub_one_two_one: - - property_type: string - - default: 'This is a container item' - - mandatory: False - - help: This is a container item from the container one. - - sub_one_two_two: - - property_type: string - - default: 'This is a container item' - - mandatory: False - - help: This is a container item from the container one. - - - two_one: - - quantity_range: - - property_type: quantity_range - - default: [1 m,10 cm] *#[Start,End]* - - mandatory: False - - help: Like property type range but with quantities as start and stop. The consistency of the units is checked. - -How to use -^^^^^^^^^^ - -To use the default parser create a new config object form the class ConfigurationValidator either from a dictionaries or from YAML files: - -:: - -- My_config = ConfigurationValidator(default configuration dictionary, user configuration dictionary) - -or - -:: - -- My_config = ConfigurationValidator.from_yaml (default configuration file, user configuration file). - -To access the configuration for TARDIS, use the method ``get_config``. - diff --git a/docs/io/configuration/example.rst b/docs/io/configuration/example.rst deleted file mode 100644 index e00aeb90a98..00000000000 --- a/docs/io/configuration/example.rst +++ /dev/null @@ -1,34 +0,0 @@ -.. _tardis-example: - -**************************** -TARDIS Example Configuration -**************************** - -The simple and fast TARDIS setup is provided by ``tardis_example.yml`` which -may be obtained `here -`_. We suggest every new user of TARDIS to run this -setup first, which can be done using the :doc:`quickstart guide <../../quickstart>`. - -It calculates a spectrum for a Type Ia supernova model 13 days after explosion, -requesting a total output luminosity of - -.. math:: - - L = 10^{9.44}\, \mathrm{L}_{\odot} - -A simple power-law density profile (seventh order polynomial fit to the Nomoto -et al. 1984 W7 model) is used together with a uniform composition, involving -only six elements. To avoid long run times only a moderate number of real and -virtual Monte Carlo packets are used. Also, very simple ionization and -excitation assumptions are adopted. - -The following YAML file summarizes the tardis_example setup: - -.. literalinclude:: tardis_example.yml - :language: yaml - -.. note:: - Due to the low number of packets, the simplistic ionization and excitation - treatments and the reduced abundance set, this TARDIS setup serves for - illustrative purposes and not for detailed SNe Ia spectral synthesis - calculations. diff --git a/docs/io/configuration/index.rst b/docs/io/configuration/index.rst deleted file mode 100644 index b2330f44ebd..00000000000 --- a/docs/io/configuration/index.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. _config-file: - -****************************** -Configuration (Required Input) -****************************** - - -The necessary parameters for a TARDIS simulation are provided via a `YAML `_ -configuration file. The following sections respectively describes what can or must be included in the -configuration file, shows an example configuration file, describes how TARDIS checks to make sure a configuration -file is valid, and demonstrates how a YAML configuration file is read in. - -.. toctree:: - :maxdepth: 1 - - components/index - example - config_validator - tutorial_read_configuration diff --git a/docs/io/configuration/tardis_example.yml b/docs/io/configuration/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/io/configuration/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/io/configuration/tutorial_read_configuration.ipynb b/docs/io/configuration/tutorial_read_configuration.ipynb deleted file mode 100644 index 8387e358711..00000000000 --- a/docs/io/configuration/tutorial_read_configuration.ipynb +++ /dev/null @@ -1,235 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Reading a Configuration\n", - "\n", - "This notebook demonstrates how TARDIS reads a configuration file or a configuration dictionary and creates an instance of the `Configuration` class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2018-07-18T16:56:52.848130Z", - "start_time": "2018-07-18T16:56:52.844292Z" - } - }, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The configuration can be read this way. It will be validated by the json-schema schemas (including filling out default configuration options that had not been specified)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2018-07-18T16:59:08.589550Z", - "start_time": "2018-07-18T16:59:08.305384Z" - } - }, - "outputs": [], - "source": [ - "conf = Configuration.from_yaml('tardis_example.yml')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Despite the very simple nature of tardis_example.yml, the output does contain all the default values" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2018-07-18T17:02:54.736144Z", - "start_time": "2018-07-18T17:02:54.729478Z" - } - }, - "outputs": [], - "source": [ - "conf" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Values can either be accessed using `.`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "conf.model.structure.velocity.start" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "or by treating the configuration as a dictionary:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "conf['montecarlo']['convergence_strategy']['damping_constant']" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly to how they are accessed, entries in the configuration can be edited. For example," - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "conf['montecarlo']['convergence_strategy']['damping_constant'] = 0.3" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "sets that entry of the configuration to 0.3:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "conf['montecarlo']['convergence_strategy']['damping_constant']" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This can be done using `.` as well.\n", - "\n", - "You can also read a configuration from a dictionary. For example:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from astropy import units as u\n", - "\n", - "conf_dict = {'tardis_config_version': 'v1.0',\n", - " 'supernova': {'luminosity_requested': 1.05e+43 * u.erg / u.s,\n", - " 'time_explosion': 13 * u.day},\n", - " 'atom_data': 'kurucz_cd23_chianti_H_He.h5',\n", - " 'model': {'structure': {'type': 'specific',\n", - " 'velocity': {'start': 11000. * u.km / u.s,\n", - " 'stop': 20000. * u.km / u.s,\n", - " 'num': 20},\n", - " 'density': {'type': 'branch85_w7'}},\n", - " 'abundances': {'type': 'uniform',\n", - " 'O': 0.19,\n", - " 'Mg': 0.03,\n", - " 'Si': 0.52,\n", - " 'S': 0.19,\n", - " 'Ar': 0.04,\n", - " 'Ca': 0.03}},\n", - " 'plasma': {'ionization': 'lte',\n", - " 'excitation': 'lte',\n", - " 'radiative_rates_type': 'dilute-blackbody',\n", - " 'line_interaction_type': 'macroatom',},\n", - " 'montecarlo': {'seed': 23111963,\n", - " 'no_of_packets': 40000.0,\n", - " 'iterations': 20,\n", - " 'last_no_of_packets': 100000.0,\n", - " 'no_of_virtual_packets': 10,},\n", - " 'spectrum': {'start': 500. * u.Angstrom,\n", - " 'stop': 20000. * u.Angstrom,\n", - " 'num': 10000,}}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "conf2 = Configuration.from_config_dict(conf_dict)\n", - "conf2" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Notice that the `Configuration` object once again has all the default values filled in.\n", - "\n", - "
\n", - "\n", - "Note\n", - "\n", - "In most cases, we strongly recommend using a configuration file as opposed to a configuration dictionary.\n", - "
" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - }, - "toc": { - "nav_menu": {}, - "number_sections": true, - "sideBar": true, - "skip_h1_title": false, - "toc_cell": false, - "toc_position": {}, - "toc_section_display": "block", - "toc_window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/docs/io/grid/example.yml b/docs/io/grid/example.yml deleted file mode 100644 index 2161d31f9bf..00000000000 --- a/docs/io/grid/example.yml +++ /dev/null @@ -1,57 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - luminosity_requested: 5.679e41 erg/s - luminosity_wavelength_start: 3481.82000178 angstrom - luminosity_wavelength_end: 9947.78776065 angstrom - time_explosion: 10 day - -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - type: specific - velocity: - start: 1.0e4 km/s - stop: 20000 km/s - num: 20 - density: - type: branch85_w7 - - abundances: - type: uniform - He: 0.2 - H: 0.8 - - -plasma: - initial_t_inner: 7000 K - disable_electron_scattering: no - ionization: nebular - excitation: dilute-lte - radiative_rates_type: dilute-blackbody - line_interaction_type: macroatom - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+4 - iterations: 2 - nthreads: 1 - - last_no_of_packets: 1.e+3 - no_of_virtual_packets: 3 - - convergence_strategy: - type: damped - damping_constant: 0.5 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 0.5 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 diff --git a/docs/io/grid/example_grid.txt b/docs/io/grid/example_grid.txt deleted file mode 100644 index 86815cf0e59..00000000000 --- a/docs/io/grid/example_grid.txt +++ /dev/null @@ -1,4 +0,0 @@ -model.abundances.H,model.abundances.He,model.structure.velocity.start,plasma.initial_t_inner -1.0,0.0,10000,5000 -0.4,0.6,12000,6000 -0.7,0.3,15000,7000 diff --git a/docs/io/grid/how_to_TardisGridTutorial.ipynb b/docs/io/grid/how_to_TardisGridTutorial.ipynb deleted file mode 100644 index b4655640cd4..00000000000 --- a/docs/io/grid/how_to_TardisGridTutorial.ipynb +++ /dev/null @@ -1,197 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Run TARDIS Model Grids\n", - "\n", - "This notebook demonstrates the capabilities of the TARDIS grid. The grid facilitates users running large numbers of TARDIS simulations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from tardis.io.atom_data import download_atom_data\n", - "from tardis.io.atom_data import AtomData\n", - "\n", - "import tardis.grid as grid" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# We download the atomic data needed to run a TARDIS simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating A Grid\n", - "\n", - "There are 2 ways of creating a TARDIS grid: directly from a dataframe, or by defining a set of axes over which the grid should be defined. In both cases, a config.yml file is required. **Note that for the dataframe, the column names are in the form of valid keys in a tardis Configuration dictionary. For the axes, the keys must similarly be valid tardis Configuration keys.**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load a DataFrame\n", - "df = pd.read_csv('example_grid.txt')\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a tardis grid directly from a dataframe.\n", - "grid.tardisGrid(configFile='example.yml', gridFrame=df)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Create an axes dictionary\n", - "axesdict = {'model.structure.velocity.start':np.arange(10000,15000,1000), \n", - " 'model.abundances.He':np.arange(0,1,0.1),\n", - " 'model.abundances.H':np.arange(0,1,0.25)}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Create a tardis grid from an axes dict using the classmethod.\n", - "grid.tardisGrid.from_axes(configFile='example.yml', axesdict=axesdict)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## TARDIS Grid Attributes\n", - "\n", - "The TARDIS grid only has 2 attributes. It creates a TARDIS Configuration object from the user specified config.yml file and saves this to the `self.config` attribute. The grid also stores the parameters of every grid point in a Dataframe accessed by `self.grid`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "tg = grid.tardisGrid(configFile='example.yml', gridFrame=df)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# The config generated from the user's yml file.\n", - "tg.config" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# The user specified grid.\n", - "tg.grid" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## TARDIS Grid Functionality\n", - "\n", - "The TARDIS Grid provides a variety of functions for using the grid to generate new Configurations, return new SimulationState objects, or directly run simulations using the parameters specified by the grid. This functionality is particularly useful for running large numbers of simulations and easily works with JobArrays where the row_index is the JobArray index." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Easily get a new TARDIS Configuration object \n", - "# which has the properties of the base self.config\n", - "# but with properties modified by a row of the grid.\n", - "new_grid = tg.grid_row_to_config(row_index=0);\n", - "print(\"tg.config is the original config:\",tg.config.model.abundances)\n", - "print(\"The new config is modified: \",new_grid.model.abundances)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# In case a user needs to make more complicated changes\n", - "# to the base TARDIS model (i.e. using parameters that \n", - "# are not valid TARDIS Configuration keys), the grid\n", - "# can return a SimulationState object for a given row.\n", - "atom_data = AtomData.from_hdf(tg.config.atom_data)\n", - "simulation_state = tg.grid_row_to_simulation_state(row_index=0, atomic_data=atom_data)\n", - "simulation_state" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Users can easily run a full TARDIS simulation\n", - "# using the grid.\n", - "sim = tg.run_sim_from_grid(row_index=0)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/io/hdf/index.rst b/docs/io/hdf/index.rst deleted file mode 100644 index 829f94661c7..00000000000 --- a/docs/io/hdf/index.rst +++ /dev/null @@ -1,96 +0,0 @@ -******************************* -Hierarchical Data Format (HDF5) -******************************* - - -Overview -======== - - -What is HDF5? -------------- - -`HDF5 `_ is a high-performance data software library and file format to manage, process, and store your heterogeneous data. HDF5 is built for fast I/O processing and storage. - -In TARDIS, it is used to store the data from simulations and other actions. - - -HDF5 structure --------------- - -All this data is stored in the following structure: - -- **File:** a contiguous string of bytes in a computer store (memory, disk, etc.), and the bytes represent zero or more objects of the model. -- **Group:** a collection of objects (including groups). -- **Dataset:** a multidimensional array of data elements with attributes and other metadata. -- **Dataspace:** a description of the dimensions of a multidimensional array. -- **Datatype:** a description of a specific class of data element, including its storage layout as a pattern of bits. -- **Attribute:** a named data value associated with a group, dataset, or named datatype. -- **Property List:** a collection of parameters (some permanent and some transient) controlling options in the library. -- **Link:** the way objects are connected - -This structure is stored in a file with the extension “.h5”. - - -Libraries ---------- - -TARDIS uses `these libraries `_ in Python, but they could be installed on the computer to work with the H5 files. The advantage of installing the libraries on the computer is that it allows you to handle the HDF5 with command-line instructions quickly and powerfully. - - -HDFView -------- - -`HDFView is a visual tool `_ written in Java for browsing and editing HDF (HDF5 and HDF4) files. Using HDFView, you can: - -- View a file hierarchy in a tree structure. -- Create new files; add or delete groups and datasets. -- View and modify the content of a dataset. -- Add, delete, and modify attributes. - - -Extract data -============ - - -Extract data using the HDF5 libraries -------------------------------------- - -In TARDIS the generated data is valuable because it has been reviewed and validated. For this reason, TARDIS tests against the generated data. - -Then the question is how to extract data from the actual “.h5” files. It could be easily pulled and followed by the next commands: - -Copy the specific group of data in a new “.h5” file. - -.. code-block:: shell - - h5copy \ - --input unit_test_data.h5 \ - --source "/test_transport_simple/transport_state" \ - --output TestTransportSimple.h5\ - --destination "/transport_state" - -Compare and validate that the original and copy data are the same. - -.. code-block:: shell - - h5diff \ - -r \ - unit_test_data.h5 \ - TestTransportSimple.h5 \ - /test_transport_simple/transport_state/j_blue_estimator \ - /transport_state/j_blue_estimator - -It produces the following output, which confirms that the data is the same: - -.. code-block:: text - - attribute: > and > - 0 differences found - attribute: > and <TITLE of </transport_state/j_blue_estimator>> - 0 differences found - … - attribute: <VERSION of </test_transport_simple/transport_state/j_blue_estimator/block0_values>> and <VERSION of </transport_state/j_blue_estimator/block0_values>> - 0 differences found - attribute: <transposed of </test_transport_simple/transport_state/j_blue_estimator/block0_values>> and <transposed of </transport_state/j_blue_estimator/block0_values>> - 0 differences found diff --git a/docs/io/images/LineInfo.png b/docs/io/images/LineInfo.png deleted file mode 100644 index 16f4dab8631..00000000000 Binary files a/docs/io/images/LineInfo.png and /dev/null differ diff --git a/docs/io/images/OpeningScreen.png b/docs/io/images/OpeningScreen.png deleted file mode 100644 index a382ce355a9..00000000000 Binary files a/docs/io/images/OpeningScreen.png and /dev/null differ diff --git a/docs/io/images/ShellInfo.png b/docs/io/images/ShellInfo.png deleted file mode 100644 index cb43f3605ac..00000000000 Binary files a/docs/io/images/ShellInfo.png and /dev/null differ diff --git a/docs/io/images/cus_abund_add_element.gif b/docs/io/images/cus_abund_add_element.gif deleted file mode 100644 index 7c52e59ff3f..00000000000 Binary files a/docs/io/images/cus_abund_add_element.gif and /dev/null differ diff --git a/docs/io/images/cus_abund_add_shell.gif b/docs/io/images/cus_abund_add_shell.gif deleted file mode 100644 index cedca2c11d5..00000000000 Binary files a/docs/io/images/cus_abund_add_shell.gif and /dev/null differ diff --git a/docs/io/images/cus_abund_edit_abundance.gif b/docs/io/images/cus_abund_edit_abundance.gif deleted file mode 100644 index 5f07f852653..00000000000 Binary files a/docs/io/images/cus_abund_edit_abundance.gif and /dev/null differ diff --git a/docs/io/images/cus_abund_edit_density.gif b/docs/io/images/cus_abund_edit_density.gif deleted file mode 100644 index d311e65f098..00000000000 Binary files a/docs/io/images/cus_abund_edit_density.gif and /dev/null differ diff --git a/docs/io/images/cus_abund_norm.gif b/docs/io/images/cus_abund_norm.gif deleted file mode 100644 index 88871572367..00000000000 Binary files a/docs/io/images/cus_abund_norm.gif and /dev/null differ diff --git a/docs/io/images/custom_abundance_widget.png b/docs/io/images/custom_abundance_widget.png deleted file mode 100644 index 5511a12651f..00000000000 Binary files a/docs/io/images/custom_abundance_widget.png and /dev/null differ diff --git a/docs/io/images/energy_level_widget_demo.gif b/docs/io/images/energy_level_widget_demo.gif deleted file mode 100644 index a9242e39b00..00000000000 Binary files a/docs/io/images/energy_level_widget_demo.gif and /dev/null differ diff --git a/docs/io/images/energy_level_widget_options.gif b/docs/io/images/energy_level_widget_options.gif deleted file mode 100644 index d3c7361b057..00000000000 Binary files a/docs/io/images/energy_level_widget_options.gif and /dev/null differ diff --git a/docs/io/images/line_info_spectrum_modebar.gif b/docs/io/images/line_info_spectrum_modebar.gif deleted file mode 100644 index 36b8fddd70a..00000000000 Binary files a/docs/io/images/line_info_spectrum_modebar.gif and /dev/null differ diff --git a/docs/io/images/line_info_spectrum_rangeslider.gif b/docs/io/images/line_info_spectrum_rangeslider.gif deleted file mode 100644 index 0a6d53cb508..00000000000 Binary files a/docs/io/images/line_info_spectrum_rangeslider.gif and /dev/null differ diff --git a/docs/io/images/line_info_spectrum_selection.gif b/docs/io/images/line_info_spectrum_selection.gif deleted file mode 100644 index 21b53caff41..00000000000 Binary files a/docs/io/images/line_info_spectrum_selection.gif and /dev/null differ diff --git a/docs/io/images/line_info_widget_demo.gif b/docs/io/images/line_info_widget_demo.gif deleted file mode 100644 index 31968b763b6..00000000000 Binary files a/docs/io/images/line_info_widget_demo.gif and /dev/null differ diff --git a/docs/io/images/packet_diagram.jpg b/docs/io/images/packet_diagram.jpg deleted file mode 100644 index 409af1b39b8..00000000000 Binary files a/docs/io/images/packet_diagram.jpg and /dev/null differ diff --git a/docs/io/images/progress_bars_demo.gif b/docs/io/images/progress_bars_demo.gif deleted file mode 100644 index c672b8916fa..00000000000 Binary files a/docs/io/images/progress_bars_demo.gif and /dev/null differ diff --git a/docs/io/images/sdec_ply_interaction.gif b/docs/io/images/sdec_ply_interaction.gif deleted file mode 100644 index 3b180d2a4bf..00000000000 Binary files a/docs/io/images/sdec_ply_interaction.gif and /dev/null differ diff --git a/docs/io/images/shell_info_widget_demo.gif b/docs/io/images/shell_info_widget_demo.gif deleted file mode 100644 index 85c66d4a60e..00000000000 Binary files a/docs/io/images/shell_info_widget_demo.gif and /dev/null differ diff --git a/docs/io/model/cmfgen_model.csv b/docs/io/model/cmfgen_model.csv deleted file mode 120000 index 8f4a56d0de5..00000000000 --- a/docs/io/model/cmfgen_model.csv +++ /dev/null @@ -1 +0,0 @@ -../../../tardis/io/tests/data/cmfgen_model.csv \ No newline at end of file diff --git a/docs/io/model/how_to_read_cmfgen_model.ipynb b/docs/io/model/how_to_read_cmfgen_model.ipynb deleted file mode 100644 index 756f0a7a106..00000000000 --- a/docs/io/model/how_to_read_cmfgen_model.ipynb +++ /dev/null @@ -1,335 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Read CMFGEN models with TARDIS" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Packets: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from tardis.io.model import read_cmfgen_model" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_model = read_cmfgen_model('cmfgen_model.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>velocity</th>\n", - " <th>temperature</th>\n", - " <th>densities</th>\n", - " <th>electron_densities</th>\n", - " <th>c</th>\n", - " <th>o</th>\n", - " <th>mg</th>\n", - " <th>si</th>\n", - " <th>ni56</th>\n", - " <th>ni58</th>\n", - " </tr>\n", - " <tr>\n", - " <th>0</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>871.66905</td>\n", - " <td>76395.577</td>\n", - " <td>4.253719e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.6</td>\n", - " <td>0.4</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>877.44269</td>\n", - " <td>76395.577</td>\n", - " <td>4.253719e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.1</td>\n", - " <td>0.5</td>\n", - " <td>0.4</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>894.99407</td>\n", - " <td>76395.631</td>\n", - " <td>4.253719e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.3</td>\n", - " <td>0.0</td>\n", - " <td>0.7</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>931.15710</td>\n", - " <td>76396.057</td>\n", - " <td>4.253719e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.2</td>\n", - " <td>0.8</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>990.30752</td>\n", - " <td>76399.042</td>\n", - " <td>4.253727e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.3</td>\n", - " <td>0.7</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>1050.86760</td>\n", - " <td>76411.983</td>\n", - " <td>4.253954e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.2</td>\n", - " <td>0.8</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>1115.15450</td>\n", - " <td>76459.592</td>\n", - " <td>4.256360e-09</td>\n", - " <td>2.600000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.2</td>\n", - " <td>0.8</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>7</th>\n", - " <td>1183.37410</td>\n", - " <td>76633.367</td>\n", - " <td>4.268308e-09</td>\n", - " <td>2.610000e+14</td>\n", - " <td>0.0</td>\n", - " <td>0.2</td>\n", - " <td>0.8</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>8</th>\n", - " <td>1255.76700</td>\n", - " <td>77312.120</td>\n", - " <td>4.290997e-09</td>\n", - " <td>2.640000e+14</td>\n", - " <td>0.5</td>\n", - " <td>0.5</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>9</th>\n", - " <td>1332.58860</td>\n", - " <td>79602.375</td>\n", - " <td>4.339684e-09</td>\n", - " <td>2.720000e+14</td>\n", - " <td>0.5</td>\n", - " <td>0.5</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " velocity temperature densities electron_densities c o mg \\\n", - "0 \n", - "0 871.66905 76395.577 4.253719e-09 2.600000e+14 0.0 0.0 0.0 \n", - "1 877.44269 76395.577 4.253719e-09 2.600000e+14 0.0 0.0 0.0 \n", - "2 894.99407 76395.631 4.253719e-09 2.600000e+14 0.0 0.0 0.0 \n", - "3 931.15710 76396.057 4.253719e-09 2.600000e+14 0.0 0.2 0.8 \n", - "4 990.30752 76399.042 4.253727e-09 2.600000e+14 0.0 0.3 0.7 \n", - "5 1050.86760 76411.983 4.253954e-09 2.600000e+14 0.0 0.2 0.8 \n", - "6 1115.15450 76459.592 4.256360e-09 2.600000e+14 0.0 0.2 0.8 \n", - "7 1183.37410 76633.367 4.268308e-09 2.610000e+14 0.0 0.2 0.8 \n", - "8 1255.76700 77312.120 4.290997e-09 2.640000e+14 0.5 0.5 0.0 \n", - "9 1332.58860 79602.375 4.339684e-09 2.720000e+14 0.5 0.5 0.0 \n", - "\n", - " si ni56 ni58 \n", - "0 \n", - "0 0.6 0.4 0.0 \n", - "1 0.1 0.5 0.4 \n", - "2 0.3 0.0 0.7 \n", - "3 0.0 0.0 0.0 \n", - "4 0.0 0.0 0.0 \n", - "5 0.0 0.0 0.0 \n", - "6 0.0 0.0 0.0 \n", - "7 0.0 0.0 0.0 \n", - "8 0.0 0.0 0.0 \n", - "9 0.0 0.0 0.0 " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cmfgen_model.data" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'t0': <Quantity 0.976 d>,\n", - " 'velocity_unit': Unit(\"km / s\"),\n", - " 'temperature_unit': Unit(\"K\"),\n", - " 'densities_unit': Unit(\"g / cm3\"),\n", - " 'electron_densities_unit': Unit(\"1 / cm3\")}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cmfgen_model.metadata" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/io/model/how_to_read_stella_model.ipynb b/docs/io/model/how_to_read_stella_model.ipynb deleted file mode 100644 index 82427924175..00000000000 --- a/docs/io/model/how_to_read_stella_model.ipynb +++ /dev/null @@ -1,535 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Read STELLA models with TARDIS" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Packets: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from tardis.io.model import read_stella_model" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "stella_model = read_stella_model('mesa.stella.dat')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>mass_of_cell</th>\n", - " <th>cell_center_m</th>\n", - " <th>cell_center_r</th>\n", - " <th>cell_center_v</th>\n", - " <th>avg_density</th>\n", - " <th>radiation_pressure</th>\n", - " <th>avg_temperature</th>\n", - " <th>radiation_temperature</th>\n", - " <th>avg_opacity</th>\n", - " <th>tau</th>\n", - " <th>...</th>\n", - " <th>cr48</th>\n", - " <th>cr60</th>\n", - " <th>fe52</th>\n", - " <th>fe54</th>\n", - " <th>fe56</th>\n", - " <th>co56</th>\n", - " <th>ni56</th>\n", - " <th>luminosity</th>\n", - " <th>n_bar</th>\n", - " <th>n_e</th>\n", - " </tr>\n", - " <tr>\n", - " <th>0</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>6.006769e+29</td>\n", - " <td>5.190243e+33</td>\n", - " <td>2.517209e+13</td>\n", - " <td>3.930633e+06</td>\n", - " <td>1.005529e-11</td>\n", - " <td>11237.954506</td>\n", - " <td>45943.453023</td>\n", - " <td>45943.453023</td>\n", - " <td>0.162712</td>\n", - " <td>5403.504881</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000021</td>\n", - " <td>0.0</td>\n", - " <td>4.079500e-03</td>\n", - " <td>7.648868e+38</td>\n", - " <td>6.055413e+12</td>\n", - " <td>2.412188e+12</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>1.262406e+30</td>\n", - " <td>5.191506e+33</td>\n", - " <td>2.970626e+13</td>\n", - " <td>5.050403e+06</td>\n", - " <td>2.928088e-11</td>\n", - " <td>11236.544022</td>\n", - " <td>45942.182229</td>\n", - " <td>45942.182229</td>\n", - " <td>0.164412</td>\n", - " <td>5381.678444</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000021</td>\n", - " <td>0.0</td>\n", - " <td>4.079500e-03</td>\n", - " <td>9.609214e+38</td>\n", - " <td>1.762304e+13</td>\n", - " <td>6.969790e+12</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>1.264624e+30</td>\n", - " <td>5.192771e+33</td>\n", - " <td>3.198879e+13</td>\n", - " <td>5.680288e+06</td>\n", - " <td>4.619659e-11</td>\n", - " <td>11133.526767</td>\n", - " <td>45836.518142</td>\n", - " <td>45836.518142</td>\n", - " <td>0.165012</td>\n", - " <td>5364.280084</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000021</td>\n", - " <td>0.0</td>\n", - " <td>4.079500e-03</td>\n", - " <td>1.050921e+39</td>\n", - " <td>2.783916e+13</td>\n", - " <td>1.091728e+13</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>1.263067e+30</td>\n", - " <td>5.194034e+33</td>\n", - " <td>3.357130e+13</td>\n", - " <td>6.135230e+06</td>\n", - " <td>5.896887e-11</td>\n", - " <td>11133.526767</td>\n", - " <td>45836.518142</td>\n", - " <td>45836.518142</td>\n", - " <td>0.165310</td>\n", - " <td>5348.854704</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000021</td>\n", - " <td>0.0</td>\n", - " <td>4.079500e-03</td>\n", - " <td>1.100921e+39</td>\n", - " <td>3.545183e+13</td>\n", - " <td>1.392188e+13</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>1.259387e+30</td>\n", - " <td>5.195293e+33</td>\n", - " <td>3.480638e+13</td>\n", - " <td>6.495173e+06</td>\n", - " <td>6.912717e-11</td>\n", - " <td>11032.838720</td>\n", - " <td>45732.362031</td>\n", - " <td>45732.362031</td>\n", - " <td>0.165510</td>\n", - " <td>5334.724893</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000021</td>\n", - " <td>0.0</td>\n", - " <td>4.079500e-03</td>\n", - " <td>1.140921e+39</td>\n", - " <td>4.166219e+13</td>\n", - " <td>1.632649e+13</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>396</th>\n", - " <td>1.511731e+31</td>\n", - " <td>2.612818e+34</td>\n", - " <td>1.533756e+15</td>\n", - " <td>3.435050e+08</td>\n", - " <td>1.540408e-14</td>\n", - " <td>0.136196</td>\n", - " <td>3259.329684</td>\n", - " <td>2710.845252</td>\n", - " <td>0.000430</td>\n", - " <td>0.001173</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000017</td>\n", - " <td>0.0</td>\n", - " <td>1.108306e-14</td>\n", - " <td>3.729654e+41</td>\n", - " <td>9.283015e+09</td>\n", - " <td>4.408753e+05</td>\n", - " </tr>\n", - " <tr>\n", - " <th>397</th>\n", - " <td>1.511951e+31</td>\n", - " <td>2.614332e+34</td>\n", - " <td>1.576303e+15</td>\n", - " <td>3.545750e+08</td>\n", - " <td>1.168519e-14</td>\n", - " <td>0.128874</td>\n", - " <td>3192.480784</td>\n", - " <td>2673.651060</td>\n", - " <td>0.000467</td>\n", - " <td>0.000941</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000017</td>\n", - " <td>0.0</td>\n", - " <td>1.108306e-14</td>\n", - " <td>3.719770e+41</td>\n", - " <td>7.040251e+09</td>\n", - " <td>3.305759e+05</td>\n", - " </tr>\n", - " <tr>\n", - " <th>398</th>\n", - " <td>1.512167e+31</td>\n", - " <td>2.615844e+34</td>\n", - " <td>1.632356e+15</td>\n", - " <td>3.682800e+08</td>\n", - " <td>8.348776e-15</td>\n", - " <td>0.119719</td>\n", - " <td>3126.918024</td>\n", - " <td>2624.851429</td>\n", - " <td>0.000525</td>\n", - " <td>0.000695</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000017</td>\n", - " <td>0.0</td>\n", - " <td>1.108306e-14</td>\n", - " <td>3.719654e+41</td>\n", - " <td>5.027256e+09</td>\n", - " <td>2.333801e+05</td>\n", - " </tr>\n", - " <tr>\n", - " <th>399</th>\n", - " <td>1.512377e+31</td>\n", - " <td>2.617356e+34</td>\n", - " <td>1.698066e+15</td>\n", - " <td>4.244850e+08</td>\n", - " <td>6.601396e-15</td>\n", - " <td>0.110183</td>\n", - " <td>3055.657872</td>\n", - " <td>2570.946173</td>\n", - " <td>0.000569</td>\n", - " <td>0.000448</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000017</td>\n", - " <td>0.0</td>\n", - " <td>1.108306e-14</td>\n", - " <td>3.709770e+41</td>\n", - " <td>3.975759e+09</td>\n", - " <td>1.842764e+05</td>\n", - " </tr>\n", - " <tr>\n", - " <th>400</th>\n", - " <td>1.512582e+31</td>\n", - " <td>2.618867e+34</td>\n", - " <td>2.126273e+15</td>\n", - " <td>4.732800e+08</td>\n", - " <td>7.649548e-16</td>\n", - " <td>0.076237</td>\n", - " <td>2780.233476</td>\n", - " <td>2344.794175</td>\n", - " <td>0.001368</td>\n", - " <td>0.000000</td>\n", - " <td>...</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.000017</td>\n", - " <td>0.0</td>\n", - " <td>1.108306e-14</td>\n", - " <td>3.679885e+41</td>\n", - " <td>4.606795e+08</td>\n", - " <td>2.123225e+04</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>400 rows × 36 columns</p>\n", - "</div>" - ], - "text/plain": [ - " mass_of_cell cell_center_m cell_center_r cell_center_v avg_density \\\n", - "0 \n", - "1 6.006769e+29 5.190243e+33 2.517209e+13 3.930633e+06 1.005529e-11 \n", - "2 1.262406e+30 5.191506e+33 2.970626e+13 5.050403e+06 2.928088e-11 \n", - "3 1.264624e+30 5.192771e+33 3.198879e+13 5.680288e+06 4.619659e-11 \n", - "4 1.263067e+30 5.194034e+33 3.357130e+13 6.135230e+06 5.896887e-11 \n", - "5 1.259387e+30 5.195293e+33 3.480638e+13 6.495173e+06 6.912717e-11 \n", - ".. ... ... ... ... ... \n", - "396 1.511731e+31 2.612818e+34 1.533756e+15 3.435050e+08 1.540408e-14 \n", - "397 1.511951e+31 2.614332e+34 1.576303e+15 3.545750e+08 1.168519e-14 \n", - "398 1.512167e+31 2.615844e+34 1.632356e+15 3.682800e+08 8.348776e-15 \n", - "399 1.512377e+31 2.617356e+34 1.698066e+15 4.244850e+08 6.601396e-15 \n", - "400 1.512582e+31 2.618867e+34 2.126273e+15 4.732800e+08 7.649548e-16 \n", - "\n", - " radiation_pressure avg_temperature radiation_temperature avg_opacity \\\n", - "0 \n", - "1 11237.954506 45943.453023 45943.453023 0.162712 \n", - "2 11236.544022 45942.182229 45942.182229 0.164412 \n", - "3 11133.526767 45836.518142 45836.518142 0.165012 \n", - "4 11133.526767 45836.518142 45836.518142 0.165310 \n", - "5 11032.838720 45732.362031 45732.362031 0.165510 \n", - ".. ... ... ... ... \n", - "396 0.136196 3259.329684 2710.845252 0.000430 \n", - "397 0.128874 3192.480784 2673.651060 0.000467 \n", - "398 0.119719 3126.918024 2624.851429 0.000525 \n", - "399 0.110183 3055.657872 2570.946173 0.000569 \n", - "400 0.076237 2780.233476 2344.794175 0.001368 \n", - "\n", - " tau ... cr48 cr60 fe52 fe54 fe56 co56 ni56 \\\n", - "0 ... \n", - "1 5403.504881 ... 0.0 0.0 0.0 0.0 0.000021 0.0 4.079500e-03 \n", - "2 5381.678444 ... 0.0 0.0 0.0 0.0 0.000021 0.0 4.079500e-03 \n", - "3 5364.280084 ... 0.0 0.0 0.0 0.0 0.000021 0.0 4.079500e-03 \n", - "4 5348.854704 ... 0.0 0.0 0.0 0.0 0.000021 0.0 4.079500e-03 \n", - "5 5334.724893 ... 0.0 0.0 0.0 0.0 0.000021 0.0 4.079500e-03 \n", - ".. ... ... ... ... ... ... ... ... ... \n", - "396 0.001173 ... 0.0 0.0 0.0 0.0 0.000017 0.0 1.108306e-14 \n", - "397 0.000941 ... 0.0 0.0 0.0 0.0 0.000017 0.0 1.108306e-14 \n", - "398 0.000695 ... 0.0 0.0 0.0 0.0 0.000017 0.0 1.108306e-14 \n", - "399 0.000448 ... 0.0 0.0 0.0 0.0 0.000017 0.0 1.108306e-14 \n", - "400 0.000000 ... 0.0 0.0 0.0 0.0 0.000017 0.0 1.108306e-14 \n", - "\n", - " luminosity n_bar n_e \n", - "0 \n", - "1 7.648868e+38 6.055413e+12 2.412188e+12 \n", - "2 9.609214e+38 1.762304e+13 6.969790e+12 \n", - "3 1.050921e+39 2.783916e+13 1.091728e+13 \n", - "4 1.100921e+39 3.545183e+13 1.392188e+13 \n", - "5 1.140921e+39 4.166219e+13 1.632649e+13 \n", - ".. ... ... ... \n", - "396 3.729654e+41 9.283015e+09 4.408753e+05 \n", - "397 3.719770e+41 7.040251e+09 3.305759e+05 \n", - "398 3.719654e+41 5.027256e+09 2.333801e+05 \n", - "399 3.709770e+41 3.975759e+09 1.842764e+05 \n", - "400 3.679885e+41 4.606795e+08 2.123225e+04 \n", - "\n", - "[400 rows x 36 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "stella_model.data" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'t_max': <Quantity 50. d>,\n", - " 'zones': 400,\n", - " 'inner_boundary_mass': <Quantity 5.19024252e+33 g>,\n", - " 'total_mass': <Quantity 2.61886734e+34 g>,\n", - " 'mass_of_cell_unit': Unit(\"g\"),\n", - " 'cell_center_m_unit': Unit(\"g\"),\n", - " 'cell_center_r_unit': Unit(\"cm\"),\n", - " 'cell_center_v_unit': Unit(\"cm / s\"),\n", - " 'outer_edge_m_unit': Unit(\"g\"),\n", - " 'outer_edge_r_unit': Unit(\"cm\")}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "stella_model.metadata" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/io/model/index.rst b/docs/io/model/index.rst deleted file mode 100644 index c43d7a5a7a6..00000000000 --- a/docs/io/model/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -************** -Reading Models -************** - -TARDIS can read a variety of models. The following models are currently supported: - -.. toctree:: - :maxdepth: 1 - - how_to_read_stella_model.ipynb - how_to_read_cmfgen_model.ipynb diff --git a/docs/io/model/mesa.stella.dat b/docs/io/model/mesa.stella.dat deleted file mode 120000 index 560c3f5be56..00000000000 --- a/docs/io/model/mesa.stella.dat +++ /dev/null @@ -1 +0,0 @@ -../../../tardis/io/model/tests/data/mesa.stella.dat \ No newline at end of file diff --git a/docs/io/optional/how_to_custom_source.ipynb b/docs/io/optional/how_to_custom_source.ipynb deleted file mode 100644 index a468d4d9d0e..00000000000 --- a/docs/io/optional/how_to_custom_source.ipynb +++ /dev/null @@ -1,227 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Run TARDIS with a Custom Packet Source\n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "By default, TARDIS generates energy packets using its interface `BasePacketSource` class, which has a derived class `BlackBodySimpleSource`, which models the photosphere of the supernova as a perfect blackbody (see [Energy Packet Initialization](../../physics/montecarlo/initialization.ipynb)). However, users may create their own packet source, as will be shown in this notebook. In order to do this, a user must create a class (that inherits from `BasePacketSource`) and implement the following abstract functions:\n", - "\n", - "- create_packet_radii (returns array of packet radii)\n", - "- create_packet_nus (returns array of packet frequencies)\n", - "- create_packet_mus (returns array of packet directions)\n", - "- create_packet_energies (returns array of packet energies. See [Energy Packet Initialization](../../physics/montecarlo/initialization.ipynb) for more information)\n", - "- create_packets (wrapper which calls the above 4 functions, and is the function used by external code)\n", - "- set_state_from_model (set the state of the source from a model object)\n", - "\n", - "[Note: In this notebook, we have extended the `BlackBodySimpleSource` class because it already implements some of the above functions]\n", - "\n", - "To use your packet source in a run of TARDIS, you must pass an instance of your class into the `run_tardis` function under the `packet_source` keyword argument.\n", - "\n", - ".. note:: In both the `BlackBodySimpleSource` class and in the example here, all packets are generated at the same radius. This need not be true in general (though one call of the `create_packets` method will pick the same radius from the packet source state).\n", - "\n", - "We show an example of how a custom packet source is used:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Import necessary packages\n", - "import numpy as np\n", - "from tardis import constants as const\n", - "from astropy import units as u\n", - "from tardis.transport.montecarlo.packet_source import BlackBodySimpleSource\n", - "from tardis.transport.montecarlo.packet_collections import (\n", - " PacketCollection,\n", - ")\n", - "from tardis import run_tardis\n", - "import matplotlib.pyplot as plt\n", - "from tardis.io.atom_data import download_atom_data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Download the atomic data used for a run of TARDIS\n", - "download_atom_data(\"kurucz_cd23_chianti_H_He\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Create a packet source class that contains a create_packets method\n", - "class TruncBlackbodySource(BlackBodySimpleSource):\n", - " \"\"\"\n", - " Custom inner boundary source class to replace the Blackbody source\n", - " with a truncated Blackbody source.\n", - "\n", - " Parameters\n", - " ----------\n", - " truncation_wavelength : float\n", - " truncation wavelength in Angstrom.\n", - " Only wavelengths higher than the truncation wavelength\n", - " will be sampled.\n", - " radius : float64\n", - " Initial packet radius\n", - " temperature : float\n", - " Absolute Temperature.\n", - " base_seed : int\n", - " Base Seed for random number generator\n", - " \"\"\"\n", - "\n", - " def __init__(self, truncation_wavelength=None, **kwargs):\n", - " self.truncation_wavelength = truncation_wavelength\n", - " super().__init__(**kwargs)\n", - "\n", - " def create_packets(self, no_of_packets, drawing_sample_size=None, seed_offset=0, *args, **kwargs):\n", - " \"\"\"\n", - " Packet source that generates a truncated Blackbody source.\n", - "\n", - " Parameters\n", - " ----------\n", - " no_of_packets : int\n", - " number of packets to be created\n", - "\n", - " Returns\n", - " -------\n", - " array\n", - " Packet radii\n", - " array\n", - " Packet frequencies\n", - " array\n", - " Packet directions\n", - " array\n", - " Packet energies\n", - " \"\"\"\n", - "\n", - " self._reseed(self.base_seed + seed_offset)\n", - " packet_seeds = self.rng.choice(\n", - " self.MAX_SEED_VAL, no_of_packets, replace=True\n", - " )\n", - "\n", - " # Makes uniform array of packet radii from blackbody source\n", - " radii = self.create_packet_radii(no_of_packets, *args, **kwargs)\n", - "\n", - " # Use mus and energies from normal blackbody source.\n", - " mus = self.create_packet_mus(no_of_packets, *args, **kwargs)\n", - " energies = self.create_packet_energies(no_of_packets, *args, **kwargs)\n", - "\n", - " # If not specified, draw 2 times as many packets and reject any beyond no_of_packets.\n", - " if drawing_sample_size is None:\n", - " drawing_sample_size = 2 * no_of_packets\n", - "\n", - " # Blackbody will be truncated below truncation_wavelength / above truncation_frequency.\n", - " truncation_frequency = (\n", - " u.Quantity(self.truncation_wavelength, u.Angstrom)\n", - " .to(u.Hz, equivalencies=u.spectral())\n", - " )\n", - "\n", - " # Draw nus from blackbody distribution and reject based on truncation_frequency.\n", - " # If more nus.shape[0] > no_of_packets use only the first no_of_packets.\n", - " nus = self.create_packet_nus(drawing_sample_size, *args, **kwargs)\n", - " nus = nus[nus < truncation_frequency][:no_of_packets]\n", - "\n", - " # Only required if the truncation wavelength is too big compared to the maximum\n", - " # of the blackbody distribution. Keep sampling until nus.shape[0] > no_of_packets.\n", - " while nus.shape[0] < no_of_packets:\n", - " additional_nus = self.create_packet_nus(drawing_sample_size, *args, **kwargs)\n", - " mask = additional_nus < truncation_frequency\n", - " additional_nus = additional_nus[mask][:no_of_packets]\n", - " nus = np.hstack([nus, additional_nus])[:no_of_packets]\n", - "\n", - " radiation_field_luminosity = (\n", - " self.calculate_radfield_luminosity().to(u.erg / u.s).value\n", - " )\n", - "\n", - " return PacketCollection(radii, nus, mus, energies, packet_seeds, radiation_field_luminosity)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Call an instance of the packet source class\n", - "packet_source = TruncBlackbodySource(\n", - " truncation_wavelength=2000, base_seed=53253\n", - ")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now run TARDIS both with and without our custom packet source, and we compare the results:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mdl = run_tardis(\"tardis_example.yml\", packet_source=packet_source)\n", - "mdl_norm = run_tardis(\"tardis_example.yml\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "plt.plot(mdl.spectrum_solver.spectrum_virtual_packets.wavelength,\n", - " mdl.spectrum_solver.spectrum_virtual_packets.luminosity_density_lambda,\n", - " color='red', label='truncated blackbody (custom packet source)')\n", - "plt.plot(mdl_norm.spectrum_solver.spectrum_virtual_packets.wavelength,\n", - " mdl_norm.spectrum_solver.spectrum_virtual_packets.luminosity_density_lambda,\n", - " color='blue', label='normal blackbody (default packet source)')\n", - "plt.xlabel('$\\lambda [\\AA]$')\n", - "plt.ylabel('$L_\\lambda$ [erg/s/$\\AA$]')\n", - "plt.xlim(500, 10000)\n", - "plt.legend()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/io/optional/index.rst b/docs/io/optional/index.rst deleted file mode 100644 index 79123dc01db..00000000000 --- a/docs/io/optional/index.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. _optional-input: - -*************** -Optional Inputs -*************** - -TARDIS also allows other inputs that are passed as keyword arguments into the ``run_tardis`` function. - -.. toctree:: - :maxdepth: 1 - - how_to_custom_source - tutorial_callback_example - tutorial_logging_configuration - - -Additionally, ``run_tardis`` can take in a filepath for the atomic data and a boolean for virtual packet logging. For example: - -.. code-block:: python - - from tardis.base import run_tardis - - sim = run_tardis('configuration_file', atom_data='filepath_to_atomic_data', virtual_packet_logging=True) - -Both of these are also options in the :ref:`configuration file <config-components>`. The option to pass them inside ``run_tardis`` -may be removed in a future release of the code. diff --git a/docs/io/optional/tardis_config_logger.yml b/docs/io/optional/tardis_config_logger.yml deleted file mode 100644 index e5e930df61d..00000000000 --- a/docs/io/optional/tardis_config_logger.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Example YAML configuration for TARDIS Simulation Logging -tardis_config_version: v1.0 - -supernova: - luminosity_requested: 9.44 log_lsun - time_explosion: 13 day - -atom_data: kurucz_cd23_chianti_H_He.h5 - -model: - structure: - type: specific - velocity: - start: 1.1e4 km/s - stop: 20000 km/s - num: 20 - density: - type: branch85_w7 - - abundances: - type: uniform - O: 0.19 - Mg: 0.03 - Si: 0.52 - S: 0.19 - Ar: 0.04 - Ca: 0.03 - -plasma: - disable_electron_scattering: no - ionization: lte - excitation: lte - radiative_rates_type: dilute-blackbody - line_interaction_type: macroatom - -montecarlo: - seed: 23111963 - no_of_packets: 4.0e+3 - iterations: 5 - nthreads: 1 - - last_no_of_packets: 1.e+4 - no_of_virtual_packets: 2 - - convergence_strategy: - type: damped - damping_constant: 1.0 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - t_inner: - damping_constant: 1.0 - -spectrum: - start: 500 angstrom - stop: 20000 angstrom - num: 10000 - -debug: - specific_log_level: False \ No newline at end of file diff --git a/docs/io/optional/tardis_example.yml b/docs/io/optional/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/io/optional/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/io/optional/tutorial_callback_example.ipynb b/docs/io/optional/tutorial_callback_example.ipynb deleted file mode 100644 index bfe3c974d68..00000000000 --- a/docs/io/optional/tutorial_callback_example.ipynb +++ /dev/null @@ -1,224 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Using Custom Callbacks When Running TARDIS" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The function `run_tardis` allows users to provide a set of callbacks to the simulation. These callbacks are functions that will be run at the end of each iteration, and can do a variety of things, such as printing information about the simulation, storing data to a table, or even changing simulation parameters between iterations. This tutorial will show three examples of callbacks and how they can be used in TARDIS. One important thing to note is that the first argument of the callback must be the `Simulation` object being run.\n", - "\n", - "Our first callback example will compute the (volume-weighted) average radiative temperature in the supernova ejecta (outside of the photosphere) and will print its value:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def average_temp(sim):\n", - " t_rads = sim.simulation_state.t_radiative\n", - " volumes = sim.simulation_state.volume\n", - " avg = sum(t_rads*volumes) / sum(volumes)\n", - " print(f\"Average temperature for iteration {sim.iterations_executed}: {avg}\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we give the callback to `run_tardis`. `run_tardis` offers the keyword argument `simulation_callbacks` which takes a list of lists containing the callback as well as any optional arguments you wish to include with your callback. For this example our function requires no extra arguments and we only have a single callback, so we give `run_tardis` a 2D list containing the callback as its only element:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# We filter out warnings in this notebook\n", - "import warnings\n", - "warnings.filterwarnings('ignore')\n", - "\n", - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "\n", - "# We run the simulation with our callback\n", - "sim = run_tardis('tardis_example.yml', \n", - " simulation_callbacks=[[average_temp]])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running Callbacks with Extra Arguments\n", - "\n", - "The callbacks provided to `run_tardis` can also take extra arguments. As an example, we'll make a callback that appends the number of monte carlo packets emitted by the supernova for each iteration to a list so we can plot the number of emitted packets for each iteration. We will also specify that we want this information for all but the last iteration, as more packets are used in the last iteration than are used in the other iterations. The callback will take a list we want to append to as an argument. We'll send both this new callback and our original `average_temp` callback to `run_tardis` as an example of using multiple callbacks at once:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def append_num_emitted_to_list(sim, lst):\n", - " if sim.iterations_executed < sim.iterations:\n", - " num_emitted_packets = len(sim.transport.transport_state.emitted_packet_nu)\n", - " lst.append(num_emitted_packets)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In order to add our new callback, we just create another entry in our list of callbacks. Since `append_num_emitted_to_list` takes an extra argument, we will provide that argument in the inner list containing the callback:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize a list to store the number of emitted packets\n", - "num_emitted_list = []\n", - "\n", - "# Make our list of callbacks\n", - "callbacks = [[average_temp], \n", - " [append_num_emitted_to_list, num_emitted_list]]\n", - "\n", - "# Run the simulation with both of our callbacks\n", - "sim = run_tardis('tardis_example.yml', \n", - " simulation_callbacks=callbacks)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can look at how many packets are emitted after each iteration:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "# Generate a list of each iteration number for the x-axis\n", - "iterations = list(range(1, len(num_emitted_list)+1))\n", - "\n", - "# Plot the number of emitted packets\n", - "plt.plot(iterations, num_emitted_list)\n", - "plt.xlabel(\"Iteration\")\n", - "plt.ylabel(\"Number of emitted packets\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using Callbacks to Add New Functionality\n", - "\n", - "Callbacks can also add new functionality to the code. For example, we introduce one final callback `inc_packets` that will increase the number of packets in the following iteration by a number $N$ (which is an argument to the callback, in our example we shall use $N=1000$):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def inc_packets(sim, N):\n", - " sim.no_of_packets += N" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize a new list to store the number of emitted packets\n", - "num_emitted_list_new = []\n", - "\n", - "# Make our new list of callbacks\n", - "callbacks = [[average_temp],\n", - " [append_num_emitted_to_list, num_emitted_list_new], \n", - " [inc_packets, 1000]]\n", - "\n", - "# Run the simulation with all three of our callbacks\n", - "sim = run_tardis('tardis_example.yml', \n", - " simulation_callbacks=callbacks)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let's see how this affected our plot for packets emitted in each iteration:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plt.plot(iterations, num_emitted_list_new)\n", - "plt.xlabel(\"Iteration\")\n", - "plt.ylabel(\"Number of emitted packets\")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As expected, the number of packets emitted will keep on increasing as 1000 more packets are run each iteration." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/io/optional/tutorial_logging_configuration.ipynb b/docs/io/optional/tutorial_logging_configuration.ipynb deleted file mode 100644 index 8d07eea26fd..00000000000 --- a/docs/io/optional/tutorial_logging_configuration.ipynb +++ /dev/null @@ -1,519 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "67d6982f", - "metadata": {}, - "source": [ - "# Configuring the Logging Output for TARDIS" - ] - }, - { - "cell_type": "markdown", - "id": "ac4ba612", - "metadata": {}, - "source": [ - "**TARDIS** has a Notebook logger that logs information of Simulation runs. The logs allows to access vital information regarding the execution sequence, data for plasma stratification & progress of the simulation.<br>\n", - "**TARDIS** allows configuring the logger via *Functional Arguments* as well as *YAML Parameters*.\n", - "The following code snippets are some of the possible configuration that is available for the notebook logging done with TARDIS simulation." - ] - }, - { - "cell_type": "markdown", - "id": "ce886182", - "metadata": {}, - "source": [ - "## Default Configuration" - ] - }, - { - "cell_type": "markdown", - "id": "34e59abc", - "metadata": {}, - "source": [ - "The default configuration of the Notebook Simulation logger is such that it doesn't output any logs." - ] - }, - { - "cell_type": "markdown", - "id": "41da9db6", - "metadata": {}, - "source": [ - "The output simulation logging, while executing the **TARDIS** simulation (default behaviour), can be seen below:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "018bb127", - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ad59aa05", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "64cf4bb2", - "metadata": {}, - "outputs": [], - "source": [ - "sim = run_tardis(\"tardis_config_logger.yml\", show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "9bf77405", - "metadata": {}, - "source": [ - "It can be examined that the logs are not printed.<br> The logging level, by default, is set to `CRITICAL`. Logs will only be captured if any `CRITICAL` level logs are encountered while running the simulation." - ] - }, - { - "cell_type": "markdown", - "id": "420dd7c2", - "metadata": {}, - "source": [ - "## Logging Configuration (Functional Arguments)" - ] - }, - { - "cell_type": "markdown", - "id": "ac8d5088", - "metadata": {}, - "source": [ - "The `run_tardis()` function from the `tardis module` has two functional arguments:`log_level` & `specific_log_level`." - ] - }, - { - "cell_type": "markdown", - "id": "d58f2d9c", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "Both <strong>log_level</strong> & <strong>specific</strong> are optional arguments for the <strong>run_tardis()</strong> function, however, if <strong>specific</strong> argument is used then, <strong>log_level</strong> must be set to a particular level.\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "id": "1176f370", - "metadata": {}, - "source": [ - "### The `log_level` Argument" - ] - }, - { - "cell_type": "markdown", - "id": "c3547b04", - "metadata": {}, - "source": [ - "The `log_level` argument can be passed in `run_tardis()` to set the logging level for the simulation. The input for this argument **must be** one of the following: **Notset, Debug, Info, Warning, Error** or **Critical**." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dc2dcd71", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(\"tardis_config_logger.yml\", log_level=\"Info\", show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "52e778bc", - "metadata": {}, - "source": [ - "By setting up the `log_level` parameter to **\"Info\"** in the above example, we can check that the logs are at the **\"Info\"** or higher logging level. " - ] - }, - { - "cell_type": "markdown", - "id": "25277fe8", - "metadata": {}, - "source": [ - "### The `specific` Argument" - ] - }, - { - "cell_type": "markdown", - "id": "56a5ef36", - "metadata": {}, - "source": [ - "The `specific_log_level` argument tells the logger to capture log messages set by the `log_level` parameter. It can only take *Boolean* values for input, which are `True` or `False`. Take for example the following:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a0df43d1", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(\"tardis_config_logger.yml\", log_level=\"Debug\", specific_log_level=True, show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "5c6ff57c", - "metadata": {}, - "source": [ - "It can be examined that, when we set `specific_log_level` to `True`, the log messages captured were only at the `DEBUG` log level.<br> This allows for logging only specified logging messages for inspection." - ] - }, - { - "cell_type": "markdown", - "id": "5083321b", - "metadata": {}, - "source": [ - "The changes in the captured log messages can be seen when we set `specific_log_level` to `False`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "566919b3", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(\"tardis_config_logger.yml\", log_level=\"Debug\", specific_log_level=False, show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "42ddc98b", - "metadata": {}, - "source": [ - "It can be examined in this example that when we kept `specific_log_level` to `False`, the captured log output includes all log messages from `DEBUG` and higher logging levels, which is the default behavior of the logger." - ] - }, - { - "cell_type": "markdown", - "id": "f9f478f6", - "metadata": {}, - "source": [ - "## Logging Configuration (YAML Configuration)" - ] - }, - { - "cell_type": "markdown", - "id": "0d672a8d", - "metadata": {}, - "source": [ - "The behavior of the logging output for the simulation can be configured via the `tardis_config_logger.yml` *(**YAML** Configuration)* file. For setting up the logger via the YAML file, the configuration file must include a `debug` section. An example configuration for the `debug` section can be seen below:" - ] - }, - { - "cell_type": "markdown", - "id": "cd8c3eed", - "metadata": {}, - "source": [ - "```YAML\n", - "...\n", - "debug:\n", - " log_level: \"Info\"\n", - " specific_log_level : False\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "85ea7ae2", - "metadata": {}, - "source": [ - "The `debug` schema includes the `log_level` & `specific_log_level` parameters." - ] - }, - { - "cell_type": "markdown", - "id": "65204c82", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "The <strong>debug</strong> section of the <strong>YAML</strong> config file is <i>optional</i>. The <strong>log_level</strong> and the <strong>specific</strong> arguments are <i>optional</i> as well. If none of the parameters are defined, then the values of these parameter fall back on the <strong>default values</strong>.\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "id": "62750463", - "metadata": {}, - "source": [ - "Let us load the `tardis_config_logger.yml` configuration to a variable & check out the schema:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d9a5e83b", - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a1fa5e1b", - "metadata": {}, - "outputs": [], - "source": [ - "# Loading the Schema \n", - "config = Configuration.from_yaml(\"tardis_config_logger.yml\")\n", - "\n", - "# Checking the Debug Schema via dictionary\n", - "config[\"debug\"]" - ] - }, - { - "cell_type": "markdown", - "id": "7f5f2d9f", - "metadata": {}, - "source": [ - "### The `log_level` Entry" - ] - }, - { - "cell_type": "markdown", - "id": "1389e902", - "metadata": {}, - "source": [ - "The `log_level` parameter, in the `debug` section of the config file, is similar in functionality to the `log_level` functional argument that can be passed via the `run_tardis()` function. The value of this parameter **must be** one of the following: **Notset, Debug, Info, Warning, Error** or **Critical**." - ] - }, - { - "cell_type": "markdown", - "id": "3bdd9972", - "metadata": {}, - "source": [ - "Let us see an example of the captured simulation logging output, when the `log_level` parameter is set to `\"Info\"` log level in the `tardis_config_logger.yml` config file." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "88223ed0", - "metadata": {}, - "outputs": [], - "source": [ - "config[\"debug\"][\"log_level\"] = \"Info\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ad8eac94", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# Running the simulation by passing the config dictionary to `run_tardis()` function\n", - "sim = run_tardis(config, show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "3fadc651", - "metadata": {}, - "source": [ - "### The `specific` Entry" - ] - }, - { - "cell_type": "markdown", - "id": "df50d2e1", - "metadata": {}, - "source": [ - "The `specific_log_level` parameter in the `debug` section of the schema is similar in functionality to the `specific_log_level` functional argument. It takes **Boolean** values, i.e., `True` or `False`. It is an optional parameter. " - ] - }, - { - "cell_type": "markdown", - "id": "b71946ad", - "metadata": {}, - "source": [ - "Let us see an example when we set `specific_log_level` to `True` at the `Debug` level." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "64ce1048", - "metadata": {}, - "outputs": [], - "source": [ - "config[\"debug\"][\"log_level\"] = \"Debug\"\n", - "config[\"debug\"][\"specific_log_level\"] = True" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "33696bdd", - "metadata": {}, - "outputs": [], - "source": [ - "sim = run_tardis(config, show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "3e895aec", - "metadata": {}, - "source": [ - "Setting `specific_log_level` to `False` to check the actual output at the `DEBUG` level for the simulation logs." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "762c858f", - "metadata": {}, - "outputs": [], - "source": [ - "config[\"debug\"][\"specific_log_level\"] = False" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "581f2d8d", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(config,show_cplots=False)" - ] - }, - { - "cell_type": "markdown", - "id": "5e8f1dbe", - "metadata": {}, - "source": [ - "### What Happens When Both Parameters Are Specified? { Function & YAML Arguments }" - ] - }, - { - "cell_type": "markdown", - "id": "f32403c7", - "metadata": {}, - "source": [ - "If a user specifies both the parameters passed through the `log_level` & `log_level` in the **YAML** configuration file, then the `log_level` parameter *(Functional Argument)* takes precedence & is used to determine the logging level for the simulation logs." - ] - }, - { - "cell_type": "markdown", - "id": "f2a24e11", - "metadata": {}, - "source": [ - "Let us consider the following example for the configuration:" - ] - }, - { - "cell_type": "markdown", - "id": "863042a4", - "metadata": {}, - "source": [ - "Continuing from the previous example, the `config[\"debug\"][\"log_level\"]` is set to `Debug` via the **YAML** file. The user will also set the `log_level` {Functional Argument} to `Info`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30763e52", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(config, log_level=\"Info\")" - ] - }, - { - "cell_type": "markdown", - "id": "674f4972", - "metadata": {}, - "source": [ - "A new message can be seen from the execution of the simulation,\n", - "```\n", - "log_level is defined both in Functional Argument & YAML Configuration {debug section}\n", - "log_level = Info will be used for Log Level Determination\n", - "```\n", - "that is informing the user which input log level value will determine the logging level. Thus, `log_level = \"Info\"` is used for logging the simulation output." - ] - }, - { - "cell_type": "markdown", - "id": "9ff806bd", - "metadata": {}, - "source": [ - "In regards to the `specific_log_level` parameter, if any of the config input value is `True`, then `specific_log_level` will be set to `True` for the simulation output." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d1900f5", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(config, log_level=\"Info\", specific=True)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/io/output/access_iterations.rst b/docs/io/output/access_iterations.rst deleted file mode 100644 index 1d16a383968..00000000000 --- a/docs/io/output/access_iterations.rst +++ /dev/null @@ -1,29 +0,0 @@ -********************************************** -Access information about individual iterations -********************************************** - -Various information about numerical and physical properties of a Tardis -simulation are stored during a run and can be accessed afterwards. Here, we -describe how some of this information, which we deem most useful for typical -use cases, can be accessed. - -Currently we store information about the plasma state and the inner boundary -for each iteration. This is saved in the simulation object and can be accessed -via - -.. code-block:: python - - import tardis - mdl = tardis.run_tardis("tardis_config.yml") - mdl.iterations_w - -in case of the dilution factor. - -Currently, the following properties are available: - -.. code-block:: python - - mdl.iterations_w # dilution factor in each cell - mdl.iterations_t_rads # radiation temperature in each cell - mdl.iterations_electron_densities # electron density in each cell - mdl.iterations_t_inner # inner boundary temperature diff --git a/docs/io/output/callback.rst b/docs/io/output/callback.rst deleted file mode 100644 index 809ebda9492..00000000000 --- a/docs/io/output/callback.rst +++ /dev/null @@ -1,6 +0,0 @@ -********* -Callbacks -********* - -Outputs can be customized using callbacks that are executed at the end of each Monte Carlo iteration. For more -information, see :doc:`../optional/tutorial_callback_example`. \ No newline at end of file diff --git a/docs/io/output/default_plasma_graph.png b/docs/io/output/default_plasma_graph.png deleted file mode 100644 index 4e3d9fca5b2..00000000000 Binary files a/docs/io/output/default_plasma_graph.png and /dev/null differ diff --git a/docs/io/output/how_to_physical_quantities.ipynb b/docs/io/output/how_to_physical_quantities.ipynb deleted file mode 100644 index 6e07749b73f..00000000000 --- a/docs/io/output/how_to_physical_quantities.ipynb +++ /dev/null @@ -1,277 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, - "source": [ - "# How to Access Physical Quantities" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In order to compute the synthetic spectrum, TARDIS must either be told\n", - "or must calculate many physical properties of the model. To understand and\n", - "test the code it can be important to look at these values. One\n", - "easy way to do this is to run TARDIS in an interactive mode and then\n", - "inspect the model properties." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Running an interactive Python session" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Download the atomic data\n", - "from tardis.io.atom_data import download_atom_data\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "\n", - "# Download the example configuration file\n", - "!curl -O https://raw.githubusercontent.com/tardis-sn/tardis/master/docs/tardis_example.yml" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "\n", - "simulation = run_tardis('tardis_example.yml')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If all goes well, the simulation should run as usual. Afterwards, the\n", - "information from the simulation will all exist in `Simulation` and\n", - "can be examined.\n", - "Some examples for useful/interesting quantities are\n", - "given below (but much more information is available: contact us via \n", - "[tardis-sn-users](http://groups.google.com/forum/#!forum/tardis-sn-users) if you need\n", - "further help)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Examples of finding physical quantities" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For example, two of our important quantities are the parameters of the\n", - "radiation field model, $T_{\\rm rad}$ and $W$. These exist as `numpy.ndarray`\n", - "\n", - "Thus `simulation.plasma.t_rad` will give you a list of the $T_{\\rm rad}$-values for the model zones in cgs units." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.t_rad" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly, the $W$-values can be accessed using `simulation.plasma.w`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.w" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Several important quantities that were setup when the model was defined by the configuration file are located in the `model` section of the simulation. For example, the inner and outer velocity boundaries of the zones in the model is given by `simulation.simulation_state.v_inner.cgs` and `simulation.simulation_state.v_outer.cgs` respectively. These exist as Astropy [Quantities](http://astropy.readthedocs.org/en/v0.2.1/_generated/astropy.units.quantity.Quantity.html)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.simulation_state.v_inner.cgs" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.simulation_state.v_outer.cgs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The average density in the zones is given by `simulation.simulation_state.density.cgs`. These also exist as Astropy [Quantities](http://astropy.readthedocs.org/en/v0.2.1/_generated/astropy.units.quantity.Quantity.html)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.simulation_state.density.cgs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Many other interesting quantities are stored in the `plasma`.\n", - "For example the calculated ion populations and level populations is given by `simulation.plasma.ion_number_density` and `simulation.plasma.level_number_density` respectively." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.ion_number_density" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.level_number_density" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These are stored as Pandas `DataFrames`. An index can be supplied to obtain the population in a particular zone. E.g., for the ion populations of the innermost zone (index = 0), we will use \n", - "`simulation.plasma.ion_number_density[0]`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.ion_number_density[0]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Ion populations for a particular ionization stage of a particular element can be accessed by specifying an appropriate tuple (𝑍,𝐶), which identifies the element (via atomic number 𝑍 ) and the charge (via the ion charge 𝐶 ). Thus, `simulation.plasma.ion_number_density.loc[14,1]` will identify the ion popuations for Si II (𝑍=14,𝐶=1) in all the zones. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.ion_number_density.loc[14,1]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The above examples can be combined to obtain e.g. the Si II population in the innermost zone\n", - "can be obtained by\n", - "`simulation.plasma.ion_number_density[0].loc[14,1]`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.ion_number_density[0].loc[14,1]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The level populations are stored (and can be accessed) in a similar way - a third label can be used to pick out a particular atomic level. E.g., to pull out the population of the ground state (index 0) of Si II we can use `simulation.plasma.level_number_density.loc[14,1,0]`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.level_number_density.loc[14,1,0]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Notes\n", - "- If you prefer to work in SI units, all the Astropy Quantities may instead by accessed with “xxx.si”.\n", - "\n", - "- Information that is not stored as Astropy Quantities (e.g. the ion and level populations used in the example above) are usually stored in cgs units (i.e. cm−3 for the populations)." - ] - } - ], - "metadata": { - "celltoolbar": "Raw Cell Format", - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/io/output/how_to_plasma_graph.ipynb b/docs/io/output/how_to_plasma_graph.ipynb deleted file mode 100644 index 0ea1fefa7b9..00000000000 --- a/docs/io/output/how_to_plasma_graph.ipynb +++ /dev/null @@ -1,390 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "c7835cf9", - "metadata": {}, - "source": [ - "# How to Generate the Plasma Graph" - ] - }, - { - "cell_type": "markdown", - "id": "0329e9f4", - "metadata": {}, - "source": [ - "After running a simulation, TARDIS has the ability to create a [graph](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)) showcasing how each variable used to compute the plasma state is connected and calculated (see the [Plasma Documentation](../../physics/setup/plasma/index.rst) for more information). To do so, one needs to utilize the `write_to_tex` command to generate a .tex file that displays the graph. This tutorial aims to showcase how the .tex file can be generated and what options can be inputted to display the graph in a preferred method. To start, TARDIS needs to perform a simulation. Here the `tardis_example.yml` configuration file is used as in the [quickstart guide](../../quickstart.ipynb)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b9fbaaa9", - "metadata": {}, - "outputs": [], - "source": [ - "#downloading necessary modules\n", - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "import networkx as nx\n", - "\n", - "from IPython.core.display import Image, display" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "631f5cd2", - "metadata": {}, - "outputs": [], - "source": [ - "#downloading atom data\n", - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2212037a", - "metadata": {}, - "outputs": [], - "source": [ - "#running simulation\n", - "sim = run_tardis('tardis_example.yml')" - ] - }, - { - "cell_type": "markdown", - "id": "2eff6574", - "metadata": {}, - "source": [ - "## Displaying the Graph Within A Jupyter Notebook" - ] - }, - { - "cell_type": "markdown", - "id": "12802d67", - "metadata": {}, - "source": [ - "Now that TARDIS has finished a simulation run, the plasma graph can now be generated. To display the basic graph within a Jupyter Notebook, one can simply use the `nx.draw` as follows: " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ca47e24a", - "metadata": {}, - "outputs": [], - "source": [ - "%pylab inline\n", - "\n", - "nx.draw(sim.plasma.graph)" - ] - }, - { - "cell_type": "markdown", - "id": "54a7c171", - "metadata": {}, - "source": [ - "There are many different ways of displaying the graph in a more readable format. One such example is shown below." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6cf742ed", - "metadata": {}, - "outputs": [], - "source": [ - "position = nx.spring_layout(sim.plasma.graph, k=0.75, iterations=15)\n", - "\n", - "nx.draw(sim.plasma.graph, position, with_labels=True)" - ] - }, - { - "cell_type": "markdown", - "id": "671db7f1", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "For the purposes of this tutorial, pylab inline has been used to display the graph within the tutorial page. It is recommended to use pylab notebook when displaying the graph on a local Jupyter Notebook to explore the nodes in depth.\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "id": "31f0fc69", - "metadata": {}, - "source": [ - "## Saving the Graph Onto a .tex File" - ] - }, - { - "cell_type": "markdown", - "id": "c4bbc23e", - "metadata": {}, - "source": [ - "With the `write_to_tex` command, a copy of the graph can be saved within a .tex file. Currently, there are four parameters TARDIS uses to write the graph in [LaTeX](https://en.wikipedia.org/wiki/LaTeX) and save it to a .tex file:\n", - "\n", - " <ul>\n", - " <li> fname_graph: The name of the file TARDIS will save the graph onto (<b>required</b>)</li>\n", - " <li> scale: a scaling factor to expand/contract the generated graph</li>\n", - " <li> args: a list of optional settings for displaying the graph</li>\n", - " <li> latex_label: a parameter that enables or disables writing LaTeX equations and edge labels onto the file (default set to <code>True</code> to enable writing)</li>\n", - "</ul> \n", - "\n", - "With these parameters, TARDIS can write the graph in many different ways. For this tutorial, only a few examples will be shown to display what each parameter exactly does and what the resulting graph will look like when generated in a LaTeX environment. " - ] - }, - { - "cell_type": "markdown", - "id": "2347c37b", - "metadata": {}, - "source": [ - "<div class=\"alert alert-warning\">\n", - " \n", - "Warning\n", - "\n", - "As of now, TARDIS has an issue of not spacing edges correctly, causing the default output to look very condensed and unreadable in certain areas. It is recommended, therefore, to use the given parameters to generate a graph that displays everything in as readable a format as possible. \n", - "\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "id": "8bbac606", - "metadata": {}, - "source": [ - "### Default Plasma Graph" - ] - }, - { - "cell_type": "markdown", - "id": "bb12a9e1", - "metadata": {}, - "source": [ - "From above, TARDIS only needs the name of the file it should save the graph to as default." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b3bd85b7", - "metadata": {}, - "outputs": [], - "source": [ - "sim.plasma.write_to_tex(\"plasma_graph_default.tex\")" - ] - }, - { - "cell_type": "markdown", - "id": "d0ab8466", - "metadata": {}, - "source": [ - "With the default settings, the contents of the file will simply be the graph written in LaTeX.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45288d3b", - "metadata": {}, - "outputs": [], - "source": [ - "with open(\"plasma_graph_default.tex\", \"r\") as file:\n", - " print(file.read())\n", - " file.close()" - ] - }, - { - "cell_type": "markdown", - "id": "33c2a897", - "metadata": {}, - "source": [ - "If one was to build the .tex file, the following graph will be generated:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ad68ca3", - "metadata": {}, - "outputs": [], - "source": [ - "display(Image('default_plasma_graph.png', unconfined=True))" - ] - }, - { - "cell_type": "markdown", - "id": "e89230d5", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "For the remainder of this tutorial, the contents of the .tex file will be omitted and only the generated graph will be shown.\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "id": "815dd554", - "metadata": {}, - "source": [ - "### Plasma Graph with Different Scale" - ] - }, - { - "cell_type": "markdown", - "id": "00ad603d", - "metadata": {}, - "source": [ - "One can change the scaling of the graph by passing in a positive, non-zero float into the `scale` parameter to either make the resulting graph larger (scale > 0.5) or smaller (scale < 0.5)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1f4dab02", - "metadata": {}, - "outputs": [], - "source": [ - "sim.plasma.write_to_tex(\"plasma_graph_scaled.tex\", scale = 1.25)" - ] - }, - { - "cell_type": "markdown", - "id": "73c2a8af", - "metadata": {}, - "source": [ - "With a scale of 1.25, the graph TARDIS will output will look as follows:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9b85ef0a", - "metadata": {}, - "outputs": [], - "source": [ - "display(Image('plasma_graph_scaled.png', unconfined=True))" - ] - }, - { - "cell_type": "markdown", - "id": "6661eeae", - "metadata": {}, - "source": [ - "### Plasma Graph with No Equations\n", - "\n", - "TARDIS has the option to generate a graph without any equations or edge labels via the `latex_label` command. The graph in this case will only consist of nodes containing the names of variables used to calculate the plasma state connected with edges." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "764aa91a", - "metadata": {}, - "outputs": [], - "source": [ - "sim.plasma.write_to_tex(\"plasma_graph_no_eq.tex\", latex_label=False)" - ] - }, - { - "cell_type": "markdown", - "id": "3335a526", - "metadata": {}, - "source": [ - "With these inputs, the graph will look like this:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7e97c276", - "metadata": {}, - "outputs": [], - "source": [ - "display(Image('plasma_graph_no_eq.png', unconfined=True))" - ] - }, - { - "cell_type": "markdown", - "id": "43196f07", - "metadata": {}, - "source": [ - "### Plasma Graph with Inputted Arguments\n", - "\n", - "In order to create the .tex file, TARDIS will first convert the graph into a readable [DOT](https://graphviz.org/doc/info/lang.html) format via the `write_to_dot` function. As such, using the `args` parameter within the `write_to_tex` function, one can pass in any Graphviz attribute for TARDIS to implement as a list. In this example, the following attributes are used:\n", - "\n", - " <ul>\n", - " <li> <code>nodesep</code>: changes spacing of nodes</li>\n", - " <li><code>edge[lblstyle]</code>: edits the edge labels</li>\n", - " <li><code>margin</code>: sets the margins of the outputted graph</li>\n", - " <li><code>ratio</code>: sets the drawing height and width</li>\n", - " <li><code>size</code>: sets the maximum height and width of the graph</li>\n", - "</ul> \n", - "\n", - "For more information on these attributes, visit the [Graphviz attributes documentation](https://graphviz.org/doc/info/attrs.html)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0bd9b8dd", - "metadata": {}, - "outputs": [], - "source": [ - "attributes_list = [r\"nodesep=1.0\", r'edge[lblstyle=\"fill=white\"]', r'margin=0', r'ratio=\"fill\"', r'size=\"8.3,11.7!\"']\n", - "\n", - "sim.plasma.write_to_tex(\"plasma_graph_with_args.tex\", args=attributes_list)" - ] - }, - { - "cell_type": "markdown", - "id": "858b7509", - "metadata": {}, - "source": [ - "With these attributes, the following graph can be generated:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e8018b7f", - "metadata": {}, - "outputs": [], - "source": [ - "display(Image('plasma_graph_args.png', unconfined=True))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/io/output/how_to_rpacket_tracking.ipynb b/docs/io/output/how_to_rpacket_tracking.ipynb deleted file mode 100644 index 622b9f25eae..00000000000 --- a/docs/io/output/how_to_rpacket_tracking.ipynb +++ /dev/null @@ -1,582 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "f57cd4fe", - "metadata": {}, - "source": [ - "# How to Track the Properties of Real Packets" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c103617c", - "metadata": {}, - "source": [ - "**TARDIS** has the functionality to track the properties of the *RPackets* that are generated when running the Simulation. The `rpacket_tracker` can track all the interactions a packet undergoes & thus keeps a track of the various properties, a packet may have.<br>Currently, the `rpacket_tracker` tracks the properties of all the rpackets in the *Last Iteration of the Simulation*. It generates a `List` that contains the individual instances of `RPacketTracker`{`Numba JITClass`}, for storing all the interaction properties as listed below." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ce6214b9", - "metadata": {}, - "source": [ - "<html>\n", - " <body>\n", - " The properties that are tracked are as follows :\n", - " <ol>\n", - " <li><b>index</b> - Index of the Packet</li>\n", - " <li><b>seed</b> - Seed of the Packet</li>\n", - " <li><b>status</b> - Current Status for the Packet Interaction</li>\n", - " <li><b>r</b> - Radius of the Current Shell</li> \n", - " <li><b>nu</b> - Packet's Frequency</li> \n", - " <li><b>mu</b> - Propagation Direction of the Packet (cosine of the angle the packet’s path makes with the radial direction)</li>\n", - " <li><b>energy</b> - Energy of the Packet</li>\n", - " <li><b>shell_id</b> - Current Shell Id where the Packet is present</li>\n", - " <li><b>interaction_type</b> - Last Interaction type of the packet</li>\n", - " <li><b>boundary_interaction</b> - Boundary interactions data in the format <b>(event_id, current_shell_id, next_shell_id)</b> of the packet</li>\n", - " </ol>\n", - " </body>\n", - "</html>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "4b0de6ca", - "metadata": {}, - "source": [ - "The data can be obtained in two ways i.e. `rpacket_tracker` and `rpacket_tracker_df`. The `rpacket_tracker` stores all the data for the interaction of the packets in a `list`, so it needs to accessed with a `list index` for each property for a particular `rpacket`. `rpacket_tracker_df` stores the data in a dataframe. Examples for the same are shown as follows. " - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "1686d9f1", - "metadata": {}, - "source": [ - "## How to Setup the Tracking for the RPackets?" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "29e14475", - "metadata": {}, - "source": [ - "**TARDIS**' `rpacket_tracker` is configured via the `YAML` file. This functionality of tracking the packets is turned **off**, by default. This is due to that fact that using this property, may slow down the execution time for the Simulation. An example configuration can be seen below for setting up the *tracking*:\n", - "\n", - "```yaml\n", - "... \n", - "montecarlo:\n", - "...\n", - "tracking:\n", - " track_rpacket: true\n", - "```" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "13b6420b", - "metadata": {}, - "source": [ - "The `montecarlo` section of the **YAML** file now has a `tracking` sub section which holds the configuration properties for the `track_rpacket` & the `initial_array_length` (discussed later in the tutorial)." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "2634c571", - "metadata": {}, - "source": [ - "Let us see, the new `rpacket_tracker` in action." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a0e975b6", - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "adbf5f75", - "metadata": {}, - "outputs": [], - "source": [ - "# Reading the Configuration stored in `tardis_config_packet_tracking.yml` into config\n", - "\n", - "config = Configuration.from_yaml(\"tardis_example.yml\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "975766e9", - "metadata": {}, - "outputs": [], - "source": [ - "# Checking the `tracking` section via the Schema\n", - "\n", - "config[\"montecarlo\"][\"tracking\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b00bc2ca", - "metadata": {}, - "outputs": [], - "source": [ - "# Setting `r_packet_tracking` to True to turn on the Tracking \n", - "\n", - "config[\"montecarlo\"][\"tracking\"][\"track_rpacket\"] = True" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3ece2c10", - "metadata": {}, - "outputs": [], - "source": [ - "config[\"montecarlo\"][\"tracking\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b25271d6", - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7d8471c3", - "metadata": {}, - "outputs": [], - "source": [ - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f9e51fd3", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "# Running the simulation from the config\n", - "\n", - "sim = run_tardis(config, show_convergence_plots=False, show_progress_bars=False)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "532bfafc", - "metadata": {}, - "source": [ - "Now, the `tracked` properties can be accessed via the `rpacket_tracker` attribute of the `sim.transport.transport_state` object. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f8b3424f", - "metadata": {}, - "outputs": [], - "source": [ - "type(sim.transport.transport_state.rpacket_tracker)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "4771d92a", - "metadata": {}, - "source": [ - "It can be seen from the above code, that the `sim.transport.transport_state.rpacket_tracker` is an instance of the `List` specifically *Numba Typed List*. The `RPacketTracker` class has the following structure for the properties : {More information in the **TARDIS API** for `RPacketTracker` class}" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ce587807", - "metadata": {}, - "source": [ - "```python\n", - "# Basic structure for the RPacketTracker Class\n", - "class RPacketTracker:\n", - " # Properties\n", - " index\n", - " seed\n", - " status\n", - " r\n", - " nu\n", - " mu\n", - " energy\n", - " shell_id\n", - " interaction_type\n", - " boundary_interaction\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a3ea2f54", - "metadata": {}, - "outputs": [], - "source": [ - "len(sim.transport.transport_state.rpacket_tracker)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "0f8566f4", - "metadata": {}, - "source": [ - "### Accessing properties through `rpacket_tracker`" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "411f2ef9", - "metadata": {}, - "source": [ - "To access these different properties, we may consider the following examples for the `rpacket_tracker`:\n", - "<br>In this Example, we are trying to access the properties of the packet at index `10`.<br>In a similar way, we can check for any property for any packet in the range of packets for the last iteration." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a4772b00", - "metadata": {}, - "source": [ - "#### Accessing the `index` property for the packet with index = 10 :" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "de7b8877", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker[10].index" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "d81fbbf7", - "metadata": {}, - "source": [ - "#### Accessing the `seed` property for the packet with index = 10 :" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "39e2dbd2", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker[10].seed" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "7afe2110", - "metadata": {}, - "source": [ - "#### Accessing the `status` property for the packet with index = 10 :" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e82427ea", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker[10].status" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ea308a55", - "metadata": {}, - "source": [ - "Thus, all other properties (`r`, `nu`, `mu`, `energy`, `shell_id`,`interaction_type`, `boundary_interaction`) can be accessed accordingly." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "c83dd906", - "metadata": {}, - "source": [ - "We can also see the total number of interactions of index `10` packet under went, with the following example:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "090b1517", - "metadata": {}, - "outputs": [], - "source": [ - "len(sim.transport.transport_state.rpacket_tracker[10].shell_id)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "9136fba1", - "metadata": {}, - "source": [ - "<div class=\"alert alert-warning\">\n", - "\n", - "Warning\n", - "\n", - "If we try to access `sim.transport.transport_state.rpacket_tracker` property when we have the `track_rpacket` property in the `tracking` subsection of `montecarlo` config, turned off as follows `config[\"montecarlo\"][\"tracking\"][\"track_rpacket\"] = False`, it will return `None`. Error will be raised if we try to access the properties i.e. `seed`, `index`, etc.\n", - "</div>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "afa3c7f4", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "When we initialise the `RPacketTracker()` class, the properties arrays {`index`, `seed`, `status`, etc} are allocated certain length based on the `initial_array_length` parameter that can be set via the `initial_array_length` property under `montecarlo -> tracking` section of the configuration. The default size of the array is `10`. This variable is important as the number of interactions a packet may have is variable, thus we need to allocate space dynamically. This variable is used to compute the size and expand the array such that the properties are able to hold these values for the packet interaction. Higher number, allocates more space initially leading to lesser times the arrays expands and vice versa. It can be set in the following manner `config[\"montecarlo\"][\"tracking\"][\"initial_array_length\"] = {value}`.\n", - "</div>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "2da1215e", - "metadata": {}, - "source": [ - "### Accessing properties with `rpacket_tracker_df`" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "6eaee13d", - "metadata": {}, - "source": [ - "Also, the `tracked` properties can be accessed via the `rpacket_tracker_df` attribute of the `sim.transport` object. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5fa074c2", - "metadata": {}, - "outputs": [], - "source": [ - "type(sim.transport.transport_state.rpacket_tracker_df)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "9a39309b", - "metadata": {}, - "source": [ - "Here, all the properties of the rpackets discussed above are stored as a `Pandas.Dataframe` object. This makes accessing the properties of any rpacket more convenient and in a more organized way." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "93e78750", - "metadata": {}, - "source": [ - "<html>\n", - " <body>\n", - " The Basic structure of the Dataframe is as follows:<br><br>\n", - " Index Columns:\n", - " <ol>\n", - " <li><b>index</b> - Indicates the index number of the packet.</li>\n", - " <li><b>step</b> - It is the step number that any particular packet is on, as it moves through the ejecta.</li>\n", - " </ol>\n", - " Properties:<br><br>\n", - " These following properties are present as columns in the Dataframe. These are the same properties that were present in the <b>rpacket_tracker</b>\n", - " <ol>\n", - " <li><b>status</b></li>\n", - " <li><b>seed</b></li>\n", - " <li><b>r</b></li>\n", - " <li><b>nu</b></li>\n", - " <li><b>mu</b></li>\n", - " <li><b>energy</b></li>\n", - " <li><b>shell_id</b></li>\n", - " <li><b>interaction_type</b></li>\n", - " </ol>\n", - " </body>\n", - "</html>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "54dce761", - "metadata": {}, - "source": [ - "The entire dataframe, containing all the properties mentioned above, can be fetched as:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0ec47b2f", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker_df" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "81f1d718", - "metadata": {}, - "source": [ - "To access these different properties in the dataframe, we may consider the following examples for the `rpacket_tracker_df`:\n", - "<br>In this Example, we are trying to access the properties of the packet at index `10`.<br>In a similar way, we can check for any property for any packet in the range of packets for the last iteration." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "eb8df3d9", - "metadata": {}, - "source": [ - "#### Accessing all the properties for the packet with index = 10:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "612c8234", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker_df.loc[10]" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "75d86f95", - "metadata": {}, - "source": [ - "#### Accessing the `energy` property for the packet with index = 10:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c84adb1", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker_df.loc[10][\"energy\"]" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "1beffb1f", - "metadata": {}, - "source": [ - "The above command returns a Pandas Series for the packet `#10` across different steps. To access any property at a particular step (for example at step `5`), the following commands can be used." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1d7f0bb4", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker_df.loc[10,5][\"energy\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1cf17109", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport.transport_state.rpacket_tracker_df.loc[10][\"energy\"][5]" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "6921f480", - "metadata": {}, - "source": [ - "Thus, all other properties (`status`, `seed`, `r`, `nu`, `mu`, `shell_id`,`interaction_type`) can be accessed accordingly." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - }, - "vscode": { - "interpreter": { - "hash": "6890d83cfa6c65bebc4bd449872c06a268510d8b8ae8c923ce6786e6c4796836" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/io/output/how_to_to_hdf.ipynb b/docs/io/output/how_to_to_hdf.ipynb deleted file mode 100644 index a7b6bc668c5..00000000000 --- a/docs/io/output/how_to_to_hdf.ipynb +++ /dev/null @@ -1,291 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "raw_mimetype": "text/restructuredtext" - }, - "source": [ - "# How to Store Simulations to HDF\n", - "\n", - "You can ask TARDIS to store the state of each iteration of the simulation you are running. We show examples of how this is done:" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Initialize the simulation with the `tardis_example.yml` configuration file." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "\n", - "# We run the simulation\n", - "simulation = run_tardis('tardis_example.yml')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can now use the `to_hdf` method, to save properties to a HDF file.\n", - "\n", - "#### Parameters \n", - "\n", - "`file_path`: Path where the HDF file should be stored. (Required) \n", - "`path`: Path inside the HDF store to store the elements. (Optional) \n", - "`name`: Name of the group inside HDF store, under which properties will be saved.(Optional)\n", - "`overwrite`: If the HDF file already exists, do you overwrite the existing file (Optional, default `False`)\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "Throughout this notebook, we set ``overwrite=True`` so that the notebook can be run repeatedly if needed.\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.to_hdf('/tmp/full_example.hdf', overwrite=True)\n", - "\n", - "# The commented out code below shows an example of to_hdf with more parameters\n", - "#simulation.to_hdf(file_path='/tmp/full_example.hdf', path='/', name='simulation')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Open the stored HDF file with pandas and print a list of its entries using the `keys()` method:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "data = pd.HDFStore('/tmp/full_example.hdf', overwrite=True)\n", - "\n", - "data.keys()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Access `model.density` under simulation, which is a one-dimensional array" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(data['/simulation/simulation_state/density'])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "Scalars are stored in a `scalars` `pandas.Series` for every module. For example to access `model.t_inner` under simulation, one would need to do the following." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(data['/simulation/simulation_state/scalars']['t_inner'])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Breakdown of the various to_hdf methods\n", - "Every module in TARDIS has its own `to_hdf` method responsible to store its own data to an HDF file." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plasma\n", - "The following call will store every plasma property to `/tmp/plasma_output.hdf` under `/parent/plasma`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.plasma.to_hdf('/tmp/plasma_output.hdf', path='parent', overwrite=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas\n", - "\n", - "plasma_data = pandas.HDFStore('/tmp/plasma_output.hdf')\n", - "\n", - "plasma_data.keys()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Plasma's `to_hdf` method can also accept a `collection` parameter which can specify which types of plasma properties will be stored. For example if we wanted to only store Input plasma properties, we would do the following:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.plasma.properties.base import Input\n", - "simulation.plasma.to_hdf('/tmp/plasma_input_output.hdf', collection=[Input], overwrite=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas\n", - "\n", - "plasma_input_data = pandas.HDFStore('/tmp/plasma_input_output.hdf')\n", - "\n", - "plasma_input_data.keys()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Model\n", - "The following call will store properties of the `SimulationState` to `/tmp/model_output.hdf` under `/simulation_state`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.simulation_state.to_hdf('/tmp/model_output.hdf', overwrite=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas\n", - "\n", - "model_data = pandas.HDFStore('/tmp/model_output.hdf')\n", - "\n", - "model_data.keys()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### MontecarloTransport\n", - "The following call will store properties of the `MontecarloTransport` to `/tmp/transport_output.hdf` under `/transport`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "simulation.transport.to_hdf('/tmp/transport_output.hdf', overwrite=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas\n", - "\n", - "transport_data = pandas.HDFStore('/tmp/transport_output.hdf')\n", - "\n", - "transport_data.keys()" - ] - } - ], - "metadata": { - "celltoolbar": "Raw Cell Format", - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/docs/io/output/index.rst b/docs/io/output/index.rst deleted file mode 100644 index 11f3eefccb9..00000000000 --- a/docs/io/output/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -****************** -Additional Outputs -****************** - -In addition to the widgets, TARDIS can output information in several other forms: - -.. toctree:: - :maxdepth: 1 - - how_to_physical_quantities - access_iterations - how_to_to_hdf - callback - vpacket_logging - progress_bars - how_to_rpacket_tracking - how_to_plasma_graph diff --git a/docs/io/output/plasma_graph_args.png b/docs/io/output/plasma_graph_args.png deleted file mode 100644 index 1526f5807ab..00000000000 Binary files a/docs/io/output/plasma_graph_args.png and /dev/null differ diff --git a/docs/io/output/plasma_graph_no_eq.png b/docs/io/output/plasma_graph_no_eq.png deleted file mode 100644 index 938498baba2..00000000000 Binary files a/docs/io/output/plasma_graph_no_eq.png and /dev/null differ diff --git a/docs/io/output/plasma_graph_scaled.png b/docs/io/output/plasma_graph_scaled.png deleted file mode 100644 index ec7a5e41fdc..00000000000 Binary files a/docs/io/output/plasma_graph_scaled.png and /dev/null differ diff --git a/docs/io/output/progress_bars.rst b/docs/io/output/progress_bars.rst deleted file mode 100644 index cbbf705d5a0..00000000000 --- a/docs/io/output/progress_bars.rst +++ /dev/null @@ -1,11 +0,0 @@ -******************************** -Progress Bars for Simulation Run -******************************** - -TARDIS displays progress bars by default to track the simulation's progress. - -.. image:: - ../images/progress_bars_demo.gif - :width: 750 - -Progress bars can be turned on via the keyword argument ``show_progress_bars=True`` in the ``run_tardis()`` function (see :doc:`../../quickstart`) or in the ``Simulation.from_config()`` class method (see :doc:`../../physics/setup/index`). diff --git a/docs/io/output/tardis_example.yml b/docs/io/output/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/io/output/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/io/output/vpacket_logging.rst b/docs/io/output/vpacket_logging.rst deleted file mode 100644 index 12c9f0cb18d..00000000000 --- a/docs/io/output/vpacket_logging.rst +++ /dev/null @@ -1,62 +0,0 @@ -********************** -Virtual Packet Logging -********************** - -If ``virtual_packet_logging`` is set to ``True`` in either the :ref:`spectrum configuration <spectrum-config>` or as -an :ref:`argument to the run_tardis function <optional-input>`, then TARDIS will log information about the -simulation's :ref:`virtual packets <virtual_packets>`. - -After running the simulation, the following information can be retrieved: - -.. note:: - The following tables list the attributes of the simulation in which the information would be stored. For - example, if you call your TARDIS simulation ``sim``, you would access the virtual packet frequencies by running - ``sim.transport.virt_packet_nus``. - - -.. list-table:: - :header-rows: 1 - - * - Attribute of Simulation - - Type - - Description - * - ``virt_packet_logging`` - - Boolean - - Shows if virtual packet logging is turned on - * - ``transport.virt_packet_nus`` - - Numpy array - - Virtual packet frequencies - * - ``transport.virt_packet_energies`` - - Numpy array - - Virtual packet energies - * - ``transport.virt_packet_initial_mus`` - - Numpy array - - Propagation directions that virtual packets are launched at - * - ``transport.virt_packet_initial_rs`` - - Numpy array - - Radii that virtual packets are launched at - * - ``transport.virt_packet_last_interaction_type`` - - Numpy array - - | Type of interaction that caused the virtual packets to be spawned - | (enum, see :doc:`how_to_physical_quantities`) - * - ``transport.virt_packet_last_interaction_in_nu`` - - Numpy array - - Frequencies of the r-packets which spawned the virtual packet - * - ``transport.virt_packet_last_interaction_in_r`` - - Numpy array - - Radii of the r-packets which spawned the virtual packet - * - ``transport.virt_packet_last_line_interaction_in_id`` - - Numpy array - - | If the last interaction was a line interaction, the - | line_interaction_in_id for that interaction - | (see :doc:`how_to_physical_quantities`) - * - ``transport.virt_packet_last_line_interaction_out_id`` - - Numpy array - - | If the last interaction was a line interaction, the - | line_interaction_out_id for that interaction - | (see :doc:`how_to_physical_quantities`) - * - ``transport.virt_packet_last_line_interaction_shell_id`` - - Numpy array - - | If the last interaction was a line interaction, the - | line_interaction_shell_id for that interaction - | (see :doc:`how_to_physical_quantities`) \ No newline at end of file diff --git a/docs/io/tardis_example.yml b/docs/io/tardis_example.yml deleted file mode 120000 index e5e5a53e026..00000000000 --- a/docs/io/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../tardis_example.yml \ No newline at end of file diff --git a/docs/io/visualization/demo_observed_spectrum.dat b/docs/io/visualization/demo_observed_spectrum.dat deleted file mode 100644 index 980cf88959a..00000000000 --- a/docs/io/visualization/demo_observed_spectrum.dat +++ /dev/null @@ -1,4681 +0,0 @@ -1.745400000000000091e+03 1.300002540000000156e-15 -1.747000000000000000e+03 1.067899830000000088e-15 -1.748599999999999909e+03 5.476063799999999989e-16 -1.750200000000000045e+03 1.383214530000000217e-15 -1.751799999999999955e+03 1.988254919999999818e-15 -1.753400000000000091e+03 1.459240469999999938e-15 -1.755000000000000000e+03 1.817112210000000054e-15 -1.756599999999999909e+03 1.548704130000000145e-15 -1.758200000000000045e+03 1.696344569999999838e-15 -1.759799999999999955e+03 1.180445880000000034e-15 -1.761400000000000091e+03 1.500091829999999952e-15 -1.763000000000000000e+03 2.399525489999999790e-15 -1.764599999999999909e+03 1.790051369999999722e-15 -1.766200000000000045e+03 1.319775959999999860e-15 -1.767799999999999955e+03 1.985309969999999916e-15 -1.769400000000000091e+03 1.889290650000000158e-16 -1.771000000000000000e+03 7.465836899999999221e-16 -1.772599999999999909e+03 1.680045029999999865e-15 -1.774200000000000045e+03 2.929418939999999581e-15 -1.775799999999999955e+03 3.189860100000000109e-15 -1.777400000000000091e+03 1.405375230000000041e-15 -1.779000000000000000e+03 1.338263549999999930e-15 -1.780599999999999909e+03 2.038424400000000094e-15 -1.782200000000000045e+03 1.355168519999999763e-15 -1.783799999999999955e+03 3.074160300000000185e-15 -1.785400000000000091e+03 3.846904500000000227e-15 -1.787000000000000000e+03 3.151023899999999764e-15 -1.788599999999999909e+03 3.989881499999999790e-15 -1.790200000000000045e+03 2.949711600000000069e-15 -1.791799999999999955e+03 3.614624700000000290e-15 -1.793400000000000091e+03 4.148193600000000203e-15 -1.795000000000000000e+03 3.940841400000000099e-15 -1.796599999999999909e+03 2.953876590000000011e-15 -1.798200000000000045e+03 2.790902310000000029e-15 -1.799799999999999955e+03 3.463373100000000339e-15 -1.801400000000000091e+03 4.141464300000000064e-15 -1.803000000000000000e+03 4.052869500000000016e-15 -1.804599999999999909e+03 3.857280900000000070e-15 -1.806200000000000045e+03 3.908337300000000408e-15 -1.807799999999999955e+03 4.761133200000000331e-15 -1.809400000000000091e+03 4.051350000000000642e-15 -1.811000000000000000e+03 4.090600200000000603e-15 -1.812599999999999909e+03 3.611566800000000214e-15 -1.814200000000000045e+03 4.042947300000000440e-15 -1.815799999999999955e+03 5.067097800000000238e-15 -1.817400000000000091e+03 4.210856399999999814e-15 -1.819000000000000000e+03 4.020849599999999923e-15 -1.820599999999999909e+03 3.993433200000000103e-15 -1.822200000000000045e+03 4.093266300000000223e-15 -1.823799999999999955e+03 3.933104100000000004e-15 -1.825400000000000091e+03 4.931900399999999466e-15 -1.827000000000000000e+03 5.110593900000000168e-15 -1.828599999999999909e+03 4.407193799999999840e-15 -1.830200000000000045e+03 5.890252799999999313e-15 -1.831799999999999955e+03 5.775447299999999305e-15 -1.833400000000000091e+03 5.458569899999999889e-15 -1.835000000000000000e+03 5.724515100000000272e-15 -1.836599999999999909e+03 5.904875999999999751e-15 -1.838200000000000045e+03 5.453630700000000102e-15 -1.839799999999999955e+03 6.012681599999999430e-15 -1.841400000000000091e+03 5.471821800000000304e-15 -1.843000000000000000e+03 5.842772699999999593e-15 -1.844599999999999909e+03 5.378441700000000371e-15 -1.846200000000000045e+03 5.482655099999999927e-15 -1.847799999999999955e+03 7.471950299999999412e-15 -1.849400000000000091e+03 6.762053699999999630e-15 -1.851000000000000000e+03 6.997936500000000900e-15 -1.852599999999999909e+03 6.608237699999999893e-15 -1.854200000000000045e+03 6.019414200000000552e-15 -1.855799999999999955e+03 6.904781699999999846e-15 -1.857400000000000091e+03 5.984149200000000165e-15 -1.859000000000000000e+03 7.027889100000000061e-15 -1.860599999999999909e+03 7.177742700000000063e-15 -1.862200000000000045e+03 7.445824199999999999e-15 -1.863799999999999955e+03 8.715636599999999586e-15 -1.865400000000000091e+03 6.311187300000000394e-15 -1.867000000000000000e+03 7.059615000000000232e-15 -1.868599999999999909e+03 5.671580700000000419e-15 -1.870200000000000045e+03 6.826967399999999461e-15 -1.871799999999999955e+03 6.279737399999999441e-15 -1.873400000000000091e+03 7.325426100000000304e-15 -1.875000000000000000e+03 5.631518099999999996e-15 -1.876599999999999909e+03 6.958988400000000191e-15 -1.878200000000000045e+03 5.851357200000000196e-15 -1.879799999999999955e+03 6.353015100000000131e-15 -1.881400000000000091e+03 5.906491499999999984e-15 -1.883000000000000000e+03 6.519782100000000026e-15 -1.884599999999999909e+03 8.183217900000000849e-15 -1.886200000000000045e+03 7.644175800000000262e-15 -1.887799999999999955e+03 7.263618000000000640e-15 -1.889400000000000091e+03 7.117268999999999965e-15 -1.891000000000000000e+03 8.088934799999999410e-15 -1.892599999999999909e+03 8.096523899999999366e-15 -1.894200000000000045e+03 7.569532500000000101e-15 -1.895799999999999955e+03 8.317985699999999292e-15 -1.897400000000000091e+03 8.722064400000000365e-15 -1.899000000000000000e+03 8.539006799999999676e-15 -1.900599999999999909e+03 7.773293699999999867e-15 -1.902200000000000045e+03 6.635899200000000550e-15 -1.903799999999999955e+03 7.259438700000000513e-15 -1.905400000000000091e+03 7.414172699999999844e-15 -1.907000000000000000e+03 7.380579900000000526e-15 -1.908599999999999909e+03 8.694186599999999208e-15 -1.910200000000000045e+03 8.692753800000000002e-15 -1.911799999999999955e+03 7.250731499999999913e-15 -1.913400000000000091e+03 7.763093399999999873e-15 -1.915000000000000000e+03 7.126770599999999536e-15 -1.916599999999999909e+03 8.347930800000000591e-15 -1.918200000000000045e+03 7.356463800000000528e-15 -1.919799999999999955e+03 7.602572700000001091e-15 -1.921400000000000091e+03 7.422830999999999782e-15 -1.923000000000000000e+03 7.662382199999999287e-15 -1.924599999999999909e+03 8.029986600000000761e-15 -1.926200000000000045e+03 7.952411999999999818e-15 -1.927799999999999955e+03 7.147117199999999778e-15 -1.929400000000000091e+03 7.841194800000000634e-15 -1.931000000000000000e+03 8.637424499999999823e-15 -1.932599999999999909e+03 7.696633200000000009e-15 -1.934200000000000045e+03 6.626123399999999860e-15 -1.935799999999999955e+03 7.554941700000000140e-15 -1.937400000000000091e+03 7.559834999999999513e-15 -1.939000000000000000e+03 7.596879299999999041e-15 -1.940599999999999909e+03 6.841871399999999831e-15 -1.942200000000000045e+03 7.251614100000000358e-15 -1.943799999999999955e+03 8.209166700000000629e-15 -1.945400000000000091e+03 8.181801600000000251e-15 -1.947000000000000000e+03 7.891076400000000281e-15 -1.948599999999999909e+03 7.737534900000000821e-15 -1.950200000000000045e+03 7.563991800000000535e-15 -1.951799999999999955e+03 8.818622099999999334e-15 -1.953400000000000091e+03 8.785229100000000332e-15 -1.955000000000000000e+03 7.535197199999998780e-15 -1.956599999999999909e+03 7.994479500000000575e-15 -1.958200000000000045e+03 7.964115300000000577e-15 -1.959799999999999955e+03 8.500818299999999469e-15 -1.961400000000000091e+03 8.140531499999999501e-15 -1.963000000000000000e+03 8.076954599999999594e-15 -1.964599999999999909e+03 8.183699099999999410e-15 -1.966200000000000045e+03 9.804578099999999218e-15 -1.967799999999999955e+03 9.029347200000001177e-15 -1.969400000000000091e+03 1.019138940000000102e-14 -1.971000000000000000e+03 8.955057000000000553e-15 -1.972599999999999909e+03 9.201710999999999216e-15 -1.974200000000000045e+03 9.981209699999998804e-15 -1.975799999999999955e+03 9.571561200000000249e-15 -1.977400000000000091e+03 9.309103199999999170e-15 -1.979000000000000000e+03 9.674417099999999665e-15 -1.980599999999999909e+03 9.830454299999999447e-15 -1.982200000000000045e+03 9.614113500000000497e-15 -1.983799999999999955e+03 9.211110600000001373e-15 -1.985400000000000091e+03 8.701074299999999227e-15 -1.987000000000000000e+03 8.805409500000000521e-15 -1.988599999999999909e+03 9.153504300000000940e-15 -1.990200000000000045e+03 9.357241200000000348e-15 -1.991799999999999955e+03 8.439564600000000964e-15 -1.993400000000000091e+03 9.188789999999999967e-15 -1.995000000000000000e+03 9.092965799999999888e-15 -1.996599999999999909e+03 9.058085099999998942e-15 -1.998200000000000045e+03 8.719192799999999878e-15 -1.999799999999999955e+03 9.604596900000000472e-15 -2.001400000000000091e+03 1.026750960000000034e-14 -2.003000000000000000e+03 9.608280299999999951e-15 -2.004599999999999909e+03 9.056211600000000195e-15 -2.006200000000000045e+03 1.051883399999999906e-14 -2.007799999999999955e+03 9.295719899999999535e-15 -2.009400000000000091e+03 8.950162800000001342e-15 -2.011000000000000000e+03 9.698949000000000532e-15 -2.012599999999999909e+03 9.555682200000000292e-15 -2.014200000000000045e+03 9.473060700000000809e-15 -2.015799999999999955e+03 8.217950700000000024e-15 -2.017400000000000091e+03 9.516044399999999118e-15 -2.019000000000000000e+03 8.850606899999999435e-15 -2.020599999999999909e+03 8.073882000000000586e-15 -2.022200000000000045e+03 9.061753799999999490e-15 -2.023799999999999955e+03 8.795420400000000368e-15 -2.025400000000000091e+03 8.892447300000000059e-15 -2.027000000000000000e+03 8.443886100000000733e-15 -2.028599999999999909e+03 8.712522600000000143e-15 -2.030200000000000045e+03 8.837002500000000164e-15 -2.031799999999999955e+03 9.352679999999999559e-15 -2.033400000000000091e+03 8.454763500000000305e-15 -2.035000000000000000e+03 8.477742599999999906e-15 -2.036599999999999909e+03 8.169596699999999870e-15 -2.038200000000000045e+03 8.324904300000000058e-15 -2.039799999999999955e+03 7.320858900000000595e-15 -2.041400000000000091e+03 6.829335599999999072e-15 -2.043000000000000000e+03 7.663272299999999960e-15 -2.044599999999999909e+03 7.139105700000000141e-15 -2.046200000000000045e+03 7.032937499999999908e-15 -2.047799999999999955e+03 8.514225299999999571e-15 -2.049400000000000091e+03 6.997712099999999492e-15 -2.051000000000000000e+03 7.288090799999999526e-15 -2.052599999999999909e+03 6.948734999999999503e-15 -2.054199999999999818e+03 7.210974899999999617e-15 -2.055800000000000182e+03 6.278765100000000946e-15 -2.057400000000000091e+03 6.607981800000000212e-15 -2.059000000000000000e+03 6.279953399999999995e-15 -2.060599999999999909e+03 5.346508199999999711e-15 -2.062199999999999818e+03 5.542413900000000152e-15 -2.063800000000000182e+03 5.505153900000000016e-15 -2.065400000000000091e+03 5.844610200000000088e-15 -2.067000000000000000e+03 5.929488600000000288e-15 -2.068599999999999909e+03 5.803976699999999899e-15 -2.070199999999999818e+03 6.058364999999999986e-15 -2.071800000000000182e+03 6.146280300000000099e-15 -2.073400000000000091e+03 5.715953699999999454e-15 -2.075000000000000000e+03 6.003855899999999654e-15 -2.076599999999999909e+03 6.031985399999999671e-15 -2.078199999999999818e+03 5.916705299999999914e-15 -2.079800000000000182e+03 5.812440300000000181e-15 -2.081400000000000091e+03 5.615657099999999954e-15 -2.083000000000000000e+03 5.727960599999999985e-15 -2.084599999999999909e+03 4.779204300000000050e-15 -2.086199999999999818e+03 5.259512700000000445e-15 -2.087800000000000182e+03 4.828176600000000114e-15 -2.089400000000000091e+03 5.011875599999999709e-15 -2.091000000000000000e+03 5.023738500000000133e-15 -2.092599999999999909e+03 4.814195100000000105e-15 -2.094199999999999818e+03 4.381893600000000036e-15 -2.095800000000000182e+03 3.968186700000000098e-15 -2.097400000000000091e+03 4.861331100000000247e-15 -2.099000000000000000e+03 4.635682200000000020e-15 -2.100599999999999909e+03 5.279888700000000128e-15 -2.102199999999999818e+03 5.685522900000000403e-15 -2.103800000000000182e+03 5.110740599999999788e-15 -2.105400000000000091e+03 5.072158800000000184e-15 -2.107000000000000000e+03 4.842555300000000396e-15 -2.108599999999999909e+03 4.620810300000000182e-15 -2.110199999999999818e+03 4.683039900000000478e-15 -2.111800000000000182e+03 4.228021500000000145e-15 -2.113400000000000091e+03 3.718914900000000219e-15 -2.115000000000000000e+03 4.620662999999999881e-15 -2.116599999999999909e+03 4.559625900000000244e-15 -2.118199999999999818e+03 4.166623200000000064e-15 -2.119800000000000182e+03 4.057148399999999565e-15 -2.121400000000000091e+03 4.186799400000000220e-15 -2.123000000000000000e+03 4.413003299999999920e-15 -2.124599999999999909e+03 3.906857700000000162e-15 -2.126199999999999818e+03 3.452219400000000026e-15 -2.127800000000000182e+03 3.208609799999999926e-15 -2.129400000000000091e+03 3.857031300000000043e-15 -2.131000000000000000e+03 3.919662299999999857e-15 -2.132599999999999909e+03 4.481970300000000474e-15 -2.134199999999999818e+03 4.955972399999999515e-15 -2.135800000000000182e+03 4.274743199999999935e-15 -2.137400000000000091e+03 4.572221400000000510e-15 -2.139000000000000000e+03 4.269950399999999823e-15 -2.140599999999999909e+03 4.106394600000000014e-15 -2.142199999999999818e+03 4.747475100000000473e-15 -2.143800000000000182e+03 4.498199700000000453e-15 -2.145400000000000091e+03 4.233733199999999689e-15 -2.147000000000000000e+03 4.147887900000000021e-15 -2.148599999999999909e+03 4.997625000000000029e-15 -2.150199999999999818e+03 4.517293499999999849e-15 -2.151800000000000182e+03 3.678651299999999697e-15 -2.153400000000000091e+03 4.096256999999999776e-15 -2.155000000000000000e+03 4.280081099999999726e-15 -2.156599999999999909e+03 4.047471899999999930e-15 -2.158199999999999818e+03 4.273871399999999912e-15 -2.159800000000000182e+03 4.371931199999999810e-15 -2.161400000000000091e+03 4.105776600000000050e-15 -2.163000000000000000e+03 3.752604600000000235e-15 -2.164599999999999909e+03 3.899674499999999702e-15 -2.166199999999999818e+03 3.946895399999999546e-15 -2.167800000000000182e+03 3.970783500000000362e-15 -2.169400000000000091e+03 4.091249099999999737e-15 -2.171000000000000000e+03 4.319945100000000407e-15 -2.172599999999999909e+03 4.397584499999999938e-15 -2.174199999999999818e+03 4.013520000000000578e-15 -2.175800000000000182e+03 3.846792900000000599e-15 -2.177400000000000091e+03 3.892656899999999405e-15 -2.179000000000000000e+03 3.332929799999999942e-15 -2.180599999999999909e+03 3.499558199999999942e-15 -2.182199999999999818e+03 3.640293000000000085e-15 -2.183800000000000182e+03 3.790705799999999593e-15 -2.185400000000000091e+03 3.742223099999999733e-15 -2.187000000000000000e+03 3.204216899999999996e-15 -2.188599999999999909e+03 3.986602500000000077e-15 -2.190199999999999818e+03 3.747223799999999491e-15 -2.191800000000000182e+03 3.350099399999999857e-15 -2.193400000000000091e+03 3.728829900000000303e-15 -2.195000000000000000e+03 3.322786499999999547e-15 -2.196599999999999909e+03 3.817143899999999631e-15 -2.198199999999999818e+03 3.759257399999999948e-15 -2.199800000000000182e+03 3.286378199999999898e-15 -2.201400000000000091e+03 2.781752550000000221e-15 -2.203000000000000000e+03 3.300969599999999751e-15 -2.204599999999999909e+03 3.757832700000000073e-15 -2.206199999999999818e+03 3.372005400000000178e-15 -2.207800000000000182e+03 2.984383170000000012e-15 -2.209400000000000091e+03 2.906114610000000159e-15 -2.211000000000000000e+03 2.910286919999999967e-15 -2.212599999999999909e+03 2.872326060000000191e-15 -2.214199999999999818e+03 3.246150899999999939e-15 -2.215800000000000182e+03 3.169058099999999816e-15 -2.217400000000000091e+03 3.264832500000000183e-15 -2.219000000000000000e+03 3.447278999999999666e-15 -2.220599999999999909e+03 3.312786599999999761e-15 -2.222199999999999818e+03 3.300867300000000025e-15 -2.223800000000000182e+03 2.976957750000000169e-15 -2.225400000000000091e+03 3.088758899999999531e-15 -2.227000000000000000e+03 3.378693599999999828e-15 -2.228599999999999909e+03 3.782146200000000029e-15 -2.230199999999999818e+03 3.209622899999999753e-15 -2.231800000000000182e+03 3.402833999999999789e-15 -2.233400000000000091e+03 3.400320000000000001e-15 -2.235000000000000000e+03 3.890929200000000440e-15 -2.236599999999999909e+03 2.854290539999999983e-15 -2.238199999999999818e+03 3.197893200000000196e-15 -2.239800000000000182e+03 3.355512899999999842e-15 -2.241400000000000091e+03 4.006658400000000593e-15 -2.243000000000000000e+03 3.454209899999999796e-15 -2.244599999999999909e+03 3.385282500000000001e-15 -2.246199999999999818e+03 3.901392300000000450e-15 -2.247800000000000182e+03 3.812384699999999780e-15 -2.249400000000000091e+03 4.074532499999999910e-15 -2.251000000000000000e+03 4.511031599999999967e-15 -2.252599999999999909e+03 4.334453400000000232e-15 -2.254199999999999818e+03 4.268107500000000300e-15 -2.255800000000000182e+03 4.449214800000000291e-15 -2.257400000000000091e+03 4.390607700000000183e-15 -2.259000000000000000e+03 4.552237800000000388e-15 -2.260599999999999909e+03 4.378758600000000430e-15 -2.262199999999999818e+03 4.750137899999999897e-15 -2.263800000000000182e+03 5.084207400000000306e-15 -2.265400000000000091e+03 5.213566199999999926e-15 -2.267000000000000000e+03 5.256525600000000243e-15 -2.268599999999999909e+03 5.475537299999999526e-15 -2.270199999999999818e+03 5.494484100000000144e-15 -2.271800000000000182e+03 4.971770399999999856e-15 -2.273400000000000091e+03 5.256589499999999783e-15 -2.275000000000000000e+03 5.583183900000000221e-15 -2.276599999999999909e+03 5.583242699999999890e-15 -2.278199999999999818e+03 5.193786900000000098e-15 -2.279800000000000182e+03 5.749544099999999993e-15 -2.281400000000000091e+03 6.540129300000000161e-15 -2.283000000000000000e+03 6.289006499999999851e-15 -2.284599999999999909e+03 7.475291700000000512e-15 -2.286199999999999818e+03 6.394731900000000131e-15 -2.287800000000000182e+03 7.363643100000000112e-15 -2.289400000000000091e+03 6.712716299999999035e-15 -2.291000000000000000e+03 6.815381399999999670e-15 -2.292599999999999909e+03 7.418141699999999968e-15 -2.294199999999999818e+03 7.124652300000000686e-15 -2.295800000000000182e+03 6.538436399999999664e-15 -2.297400000000000091e+03 7.923306600000000376e-15 -2.299000000000000000e+03 8.604296700000000405e-15 -2.300599999999999909e+03 8.378485499999999423e-15 -2.302199999999999818e+03 7.491134399999999116e-15 -2.303800000000000182e+03 7.971465300000000983e-15 -2.305400000000000091e+03 8.154244499999999730e-15 -2.307000000000000000e+03 8.224989299999999696e-15 -2.308599999999999909e+03 8.248189500000000510e-15 -2.310199999999999818e+03 8.408704200000000373e-15 -2.311800000000000182e+03 8.096891699999999411e-15 -2.313400000000000091e+03 8.576522699999999493e-15 -2.315000000000000000e+03 8.994261899999999203e-15 -2.316599999999999909e+03 8.838114000000000419e-15 -2.318199999999999818e+03 9.456143699999999986e-15 -2.319800000000000182e+03 9.784003500000000581e-15 -2.321400000000000091e+03 9.763465200000000143e-15 -2.323000000000000000e+03 8.896112100000001309e-15 -2.324599999999999909e+03 9.207384600000000097e-15 -2.326199999999999818e+03 1.017278549999999941e-14 -2.327800000000000182e+03 9.561642000000000133e-15 -2.329400000000000091e+03 9.810589799999999181e-15 -2.331000000000000000e+03 9.083760000000000704e-15 -2.332599999999999909e+03 1.018119000000000087e-14 -2.334199999999999818e+03 9.927005999999999497e-15 -2.335800000000000182e+03 9.258661800000000914e-15 -2.337400000000000091e+03 9.705479700000000139e-15 -2.339000000000000000e+03 9.096869099999999219e-15 -2.340599999999999909e+03 9.275385600000000233e-15 -2.342199999999999818e+03 9.453902099999999670e-15 -2.343800000000000182e+03 9.632418600000000685e-15 -2.345400000000000091e+03 9.810973199999999573e-15 -2.347000000000000000e+03 9.989489700000000587e-15 -2.348599999999999909e+03 1.016800620000000002e-14 -2.350199999999999818e+03 1.034652269999999946e-14 -2.351800000000000182e+03 1.038213660000000093e-14 -2.353400000000000091e+03 1.060518270000000118e-14 -2.355000000000000000e+03 1.102480529999999944e-14 -2.356599999999999909e+03 1.117827179999999820e-14 -2.358199999999999818e+03 1.066985400000000127e-14 -2.359800000000000182e+03 1.094385570000000029e-14 -2.361400000000000091e+03 1.095066300000000058e-14 -2.363000000000000000e+03 1.155173789999999824e-14 -2.364599999999999909e+03 1.160374679999999985e-14 -2.366199999999999818e+03 1.132772190000000064e-14 -2.367800000000000182e+03 1.176374429999999975e-14 -2.369400000000000091e+03 1.190620050000000078e-14 -2.371000000000000000e+03 1.189943669999999896e-14 -2.372599999999999909e+03 1.178703270000000046e-14 -2.374199999999999818e+03 1.167462870000000196e-14 -2.375800000000000182e+03 1.156222470000000030e-14 -2.377400000000000091e+03 1.144982070000000022e-14 -2.379000000000000000e+03 1.133741670000000014e-14 -2.380599999999999909e+03 1.122505049999999956e-14 -2.382199999999999818e+03 1.111264649999999948e-14 -2.383800000000000182e+03 1.100024280000000092e-14 -2.385400000000000091e+03 1.088783879999999926e-14 -2.387000000000000000e+03 1.077543480000000076e-14 -2.388599999999999909e+03 1.066303080000000068e-14 -2.390199999999999818e+03 1.070300250000000011e-14 -2.391800000000000182e+03 1.089030120000000085e-14 -2.393400000000000091e+03 1.112724960000000038e-14 -2.395000000000000000e+03 1.126150950000000034e-14 -2.396599999999999909e+03 1.099959509999999921e-14 -2.398199999999999818e+03 1.078676099999999999e-14 -2.399800000000000182e+03 1.046481720000000082e-14 -2.401400000000000091e+03 1.083648120000000030e-14 -2.403000000000000000e+03 1.071723449999999999e-14 -2.404599999999999909e+03 1.028818950000000053e-14 -2.406199999999999818e+03 1.026998790000000064e-14 -2.407800000000000182e+03 1.014608399999999946e-14 -2.409400000000000091e+03 1.002442260000000002e-14 -2.411000000000000000e+03 9.921907199999999257e-15 -2.412599999999999909e+03 9.708095399999999367e-15 -2.414199999999999818e+03 9.358325100000000839e-15 -2.415800000000000182e+03 9.205450799999999585e-15 -2.417400000000000091e+03 8.962483199999999861e-15 -2.419000000000000000e+03 8.722201500000000924e-15 -2.420599999999999909e+03 9.793788000000001283e-15 -2.422199999999999818e+03 9.634811700000000546e-15 -2.423800000000000182e+03 8.410827599999999882e-15 -2.425400000000000091e+03 9.733312199999999986e-15 -2.427000000000000000e+03 1.010273670000000035e-14 -2.428599999999999909e+03 8.986217099999999250e-15 -2.430199999999999818e+03 8.758155599999999518e-15 -2.431800000000000182e+03 8.340624600000000189e-15 -2.433400000000000091e+03 8.626304399999999771e-15 -2.435000000000000000e+03 8.519813400000000069e-15 -2.436599999999999909e+03 9.062199599999999692e-15 -2.438199999999999818e+03 9.245030400000000193e-15 -2.439800000000000182e+03 9.238059299999999412e-15 -2.441400000000000091e+03 9.017659499999999187e-15 -2.443000000000000000e+03 9.251461800000000324e-15 -2.444599999999999909e+03 9.420683400000000841e-15 -2.446199999999999818e+03 9.652200000000000135e-15 -2.447800000000000182e+03 9.385820099999999918e-15 -2.449400000000000091e+03 9.933571799999999095e-15 -2.451000000000000000e+03 1.028968080000000024e-14 -2.452599999999999909e+03 9.614837999999999430e-15 -2.454199999999999818e+03 9.495896700000000930e-15 -2.455800000000000182e+03 9.391000199999999720e-15 -2.457400000000000091e+03 1.033949160000000002e-14 -2.459000000000000000e+03 1.076053319999999838e-14 -2.460599999999999909e+03 1.065141240000000041e-14 -2.462199999999999818e+03 1.036555349999999994e-14 -2.463800000000000182e+03 1.033806270000000011e-14 -2.465400000000000091e+03 1.067408909999999924e-14 -2.467000000000000000e+03 1.065785129999999919e-14 -2.468599999999999909e+03 1.158963509999999883e-14 -2.470199999999999818e+03 1.202814240000000020e-14 -2.471800000000000182e+03 1.120337640000000009e-14 -2.473400000000000091e+03 1.093634550000000032e-14 -2.475000000000000000e+03 1.063096740000000053e-14 -2.476599999999999909e+03 1.104758520000000019e-14 -2.478199999999999818e+03 1.099179360000000120e-14 -2.479800000000000182e+03 1.092657599999999850e-14 -2.481400000000000091e+03 1.085873130000000020e-14 -2.483000000000000000e+03 1.112068229999999947e-14 -2.484599999999999909e+03 1.121076690000000109e-14 -2.486199999999999818e+03 1.092340529999999980e-14 -2.487800000000000182e+03 1.111972200000000040e-14 -2.489400000000000091e+03 1.088657010000000049e-14 -2.491000000000000000e+03 1.165786530000000030e-14 -2.492599999999999909e+03 1.191560490000000049e-14 -2.494199999999999818e+03 1.222499670000000025e-14 -2.495800000000000182e+03 1.245670140000000039e-14 -2.497400000000000091e+03 1.254701490000000181e-14 -2.499000000000000000e+03 1.221996210000000108e-14 -2.500599999999999909e+03 1.240004460000000098e-14 -2.502199999999999818e+03 1.282482629999999808e-14 -2.503800000000000182e+03 1.334161140000000001e-14 -2.505400000000000091e+03 1.320433829999999824e-14 -2.507000000000000000e+03 1.248281580000000191e-14 -2.508599999999999909e+03 1.229479019999999952e-14 -2.510199999999999818e+03 1.283425680000000099e-14 -2.511800000000000182e+03 1.286805689999999927e-14 -2.513400000000000091e+03 1.206014640000000000e-14 -2.515000000000000000e+03 1.306203870000000057e-14 -2.516599999999999909e+03 1.373501880000000069e-14 -2.518199999999999818e+03 1.329162779999999980e-14 -2.519800000000000182e+03 1.370992649999999975e-14 -2.521400000000000091e+03 1.439133060000000255e-14 -2.523000000000000000e+03 1.353357749999999977e-14 -2.524599999999999909e+03 1.394517540000000076e-14 -2.526199999999999818e+03 1.354598460000000003e-14 -2.527800000000000182e+03 1.416881220000000037e-14 -2.529400000000000091e+03 1.337411219999999872e-14 -2.531000000000000000e+03 1.300382490000000065e-14 -2.532599999999999909e+03 1.393776120000000087e-14 -2.534199999999999818e+03 1.424349060000000052e-14 -2.535800000000000182e+03 1.440910229999999937e-14 -2.537400000000000091e+03 1.476029039999999981e-14 -2.539000000000000000e+03 1.509203850000000086e-14 -2.540599999999999909e+03 1.513946370000000099e-14 -2.542199999999999818e+03 1.492969889999999981e-14 -2.543800000000000182e+03 1.490824079999999773e-14 -2.545400000000000091e+03 1.502460989999999864e-14 -2.547000000000000000e+03 1.535784120000000086e-14 -2.548599999999999909e+03 1.537959659999999990e-14 -2.550199999999999818e+03 1.528710510000000091e-14 -2.551800000000000182e+03 1.527304259999999892e-14 -2.553400000000000091e+03 1.519947029999999841e-14 -2.555000000000000000e+03 1.562049959999999899e-14 -2.556599999999999909e+03 1.536266609999999993e-14 -2.558199999999999818e+03 1.563125280000000042e-14 -2.559800000000000182e+03 1.644592320000000062e-14 -2.561400000000000091e+03 1.685648009999999971e-14 -2.563000000000000000e+03 1.586884079999999997e-14 -2.564599999999999909e+03 1.593978180000000090e-14 -2.566199999999999818e+03 1.578157769999999997e-14 -2.567800000000000182e+03 1.726612140000000272e-14 -2.569400000000000091e+03 1.675439849999999815e-14 -2.571000000000000000e+03 1.664303880000000096e-14 -2.572599999999999909e+03 1.637889209999999942e-14 -2.574199999999999818e+03 1.696489979999999927e-14 -2.575800000000000182e+03 1.562034239999999890e-14 -2.577400000000000091e+03 1.621166670000000080e-14 -2.579000000000000000e+03 1.579199879999999808e-14 -2.580599999999999909e+03 1.534364400000000104e-14 -2.582199999999999818e+03 1.582528770000000005e-14 -2.583800000000000182e+03 1.549361880000000052e-14 -2.585400000000000091e+03 1.516188929999999927e-14 -2.587000000000000000e+03 1.483022039999999974e-14 -2.588599999999999909e+03 1.449855180000000016e-14 -2.590199999999999818e+03 1.416682230000000049e-14 -2.591800000000000182e+03 1.383515340000000096e-14 -2.593400000000000091e+03 1.453905929999999937e-14 -2.595000000000000000e+03 1.562842469999999841e-14 -2.596599999999999909e+03 1.573631940000000098e-14 -2.598199999999999818e+03 1.584421410000000039e-14 -2.599800000000000182e+03 1.595210879999999981e-14 -2.601400000000000091e+03 1.606002659999999822e-14 -2.603000000000000000e+03 1.616792130000000079e-14 -2.604599999999999909e+03 1.627581600000000020e-14 -2.606199999999999818e+03 1.638371069999999962e-14 -2.607800000000000182e+03 1.596747600000000040e-14 -2.609400000000000091e+03 1.552076190000000142e-14 -2.611000000000000000e+03 1.594430820000000006e-14 -2.612599999999999909e+03 1.726354050000000038e-14 -2.614199999999999818e+03 1.835757810000000074e-14 -2.615800000000000182e+03 1.843617629999999883e-14 -2.617400000000000091e+03 1.818586710000000192e-14 -2.619000000000000000e+03 1.880978099999999916e-14 -2.620599999999999909e+03 1.840576619999999921e-14 -2.622199999999999818e+03 1.926849599999999897e-14 -2.623800000000000182e+03 1.952864219999999817e-14 -2.625400000000000091e+03 2.106002729999999887e-14 -2.627000000000000000e+03 2.046849509999999970e-14 -2.628599999999999909e+03 2.065747590000000050e-14 -2.630199999999999818e+03 2.094100919999999843e-14 -2.631800000000000182e+03 2.203034219999999699e-14 -2.633400000000000091e+03 2.210457870000000097e-14 -2.635000000000000000e+03 2.241063840000000111e-14 -2.636599999999999909e+03 2.256298319999999988e-14 -2.638199999999999818e+03 2.237340809999999879e-14 -2.639800000000000182e+03 2.322395429999999906e-14 -2.641400000000000091e+03 2.324256000000000035e-14 -2.643000000000000000e+03 2.307087270000000042e-14 -2.644599999999999909e+03 2.374280309999999863e-14 -2.646199999999999818e+03 2.328949499999999724e-14 -2.647800000000000182e+03 2.300517779999999845e-14 -2.649400000000000091e+03 2.321108729999999956e-14 -2.651000000000000000e+03 2.416804920000000047e-14 -2.652599999999999909e+03 2.546741670000000215e-14 -2.654199999999999818e+03 2.464301160000000332e-14 -2.655800000000000182e+03 2.446537950000000085e-14 -2.657400000000000091e+03 2.557569059999999956e-14 -2.659000000000000000e+03 2.521778220000000052e-14 -2.660599999999999909e+03 2.575463280000000282e-14 -2.662199999999999818e+03 2.573120099999999952e-14 -2.663800000000000182e+03 2.674964729999999685e-14 -2.665400000000000091e+03 2.706251129999999940e-14 -2.667000000000000000e+03 2.813914499999999667e-14 -2.668599999999999909e+03 2.882451179999999915e-14 -2.670199999999999818e+03 2.652814260000000149e-14 -2.671800000000000182e+03 2.815183409999999980e-14 -2.673400000000000091e+03 2.947369470000000024e-14 -2.675000000000000000e+03 3.088614599999999478e-14 -2.676599999999999909e+03 3.240143699999999955e-14 -2.678199999999999818e+03 3.302823000000000224e-14 -2.679800000000000182e+03 3.343376400000000004e-14 -2.681400000000000091e+03 3.483922500000000042e-14 -2.683000000000000000e+03 3.509435099999999785e-14 -2.684599999999999909e+03 3.634564799999999882e-14 -2.686199999999999818e+03 3.663375299999999722e-14 -2.687800000000000182e+03 3.788393399999999717e-14 -2.689400000000000091e+03 4.007118000000000203e-14 -2.691000000000000000e+03 4.027895999999999769e-14 -2.692599999999999909e+03 4.179379499999999620e-14 -2.694199999999999818e+03 4.395453599999999571e-14 -2.695800000000000182e+03 4.468438800000000384e-14 -2.697400000000000091e+03 4.543203000000000235e-14 -2.699000000000000000e+03 4.820146200000000093e-14 -2.700599999999999909e+03 5.028315000000000219e-14 -2.702199999999999818e+03 5.253535200000000004e-14 -2.703800000000000182e+03 5.269838100000000004e-14 -2.705400000000000091e+03 5.291882999999999929e-14 -2.707000000000000000e+03 5.520634500000000073e-14 -2.708599999999999909e+03 5.772615600000000786e-14 -2.710199999999999818e+03 5.890926599999999170e-14 -2.711800000000000182e+03 6.117354599999999859e-14 -2.713400000000000091e+03 6.357765599999999812e-14 -2.715000000000000000e+03 6.417222900000000204e-14 -2.716599999999999909e+03 6.666528900000000394e-14 -2.718199999999999818e+03 7.043702100000000067e-14 -2.719800000000000182e+03 6.967824300000000655e-14 -2.721400000000000091e+03 7.219273499999999945e-14 -2.723000000000000000e+03 7.461373199999999416e-14 -2.724599999999999909e+03 7.443607199999999672e-14 -2.726199999999999818e+03 7.616774700000000054e-14 -2.727800000000000182e+03 7.949730600000000744e-14 -2.729400000000000091e+03 7.980730499999998939e-14 -2.731000000000000000e+03 7.864617600000000499e-14 -2.732599999999999909e+03 8.257044000000000465e-14 -2.734199999999999818e+03 8.397479699999999553e-14 -2.735800000000000182e+03 8.477901000000000733e-14 -2.737400000000000091e+03 8.218151400000000177e-14 -2.739000000000000000e+03 8.341480800000000023e-14 -2.740599999999999909e+03 8.350691400000000236e-14 -2.742199999999999818e+03 8.199909000000000376e-14 -2.743800000000000182e+03 8.220530399999999737e-14 -2.745400000000000091e+03 8.425782599999999905e-14 -2.747000000000000000e+03 8.431977299999999738e-14 -2.748599999999999909e+03 8.354159100000000054e-14 -2.750199999999999818e+03 8.394739499999999391e-14 -2.751800000000000182e+03 8.456864699999999709e-14 -2.753400000000000091e+03 8.561925899999999350e-14 -2.755000000000000000e+03 8.535698099999999630e-14 -2.756599999999999909e+03 8.597833200000000059e-14 -2.758199999999999818e+03 8.639188200000000038e-14 -2.759800000000000182e+03 8.731081800000000021e-14 -2.761400000000000091e+03 8.922182700000000302e-14 -2.763000000000000000e+03 8.865560700000001252e-14 -2.764599999999999909e+03 8.849561099999999027e-14 -2.766199999999999818e+03 8.871608100000000468e-14 -2.767800000000000182e+03 9.310383299999998731e-14 -2.769400000000000091e+03 9.439593600000000633e-14 -2.771000000000000000e+03 9.476969400000000115e-14 -2.772599999999999909e+03 9.501538799999999279e-14 -2.774199999999999818e+03 9.533061299999999310e-14 -2.775800000000000182e+03 9.631558200000001291e-14 -2.777400000000000091e+03 1.003894319999999905e-13 -2.779000000000000000e+03 9.782896799999999462e-14 -2.780599999999999909e+03 9.985625399999999599e-14 -2.782199999999999818e+03 9.954790500000000727e-14 -2.783800000000000182e+03 1.000923360000000016e-13 -2.785400000000000091e+03 1.043461410000000116e-13 -2.787000000000000000e+03 1.060603260000000089e-13 -2.788599999999999909e+03 1.038075120000000076e-13 -2.790199999999999818e+03 1.045495919999999915e-13 -2.791800000000000182e+03 1.050865620000000101e-13 -2.793400000000000091e+03 1.050069239999999973e-13 -2.795000000000000000e+03 1.049272320000000068e-13 -2.796599999999999909e+03 1.048475939999999940e-13 -2.798199999999999818e+03 1.047679019999999909e-13 -2.799800000000000182e+03 1.046882639999999907e-13 -2.801400000000000091e+03 1.046085749999999933e-13 -2.803000000000000000e+03 1.045289340000000000e-13 -2.804599999999999909e+03 1.044492450000000026e-13 -2.806199999999999818e+03 1.043696070000000024e-13 -2.807800000000000182e+03 1.042899149999999993e-13 -2.809400000000000091e+03 1.042102770000000117e-13 -2.811000000000000000e+03 1.186774499999999973e-13 -2.812599999999999909e+03 1.252513109999999939e-13 -2.814199999999999818e+03 1.254211979999999835e-13 -2.815800000000000182e+03 1.364789160000000084e-13 -2.817400000000000091e+03 1.325376090000000038e-13 -2.819000000000000000e+03 1.375885109999999941e-13 -2.820599999999999909e+03 1.440333810000000092e-13 -2.822199999999999818e+03 1.499978489999999942e-13 -2.823800000000000182e+03 1.505922720000000125e-13 -2.825400000000000091e+03 1.549375529999999992e-13 -2.827000000000000000e+03 1.567071929999999898e-13 -2.828599999999999909e+03 1.573355699999999913e-13 -2.830199999999999818e+03 1.621878329999999936e-13 -2.831800000000000182e+03 1.646219879999999797e-13 -2.833400000000000091e+03 1.739158770000000091e-13 -2.835000000000000000e+03 1.805490479999999928e-13 -2.836599999999999909e+03 1.816004550000000038e-13 -2.838199999999999818e+03 1.862000250000000187e-13 -2.839800000000000182e+03 1.924983870000000066e-13 -2.841400000000000091e+03 1.984220939999999907e-13 -2.843000000000000000e+03 1.977660870000000034e-13 -2.844599999999999909e+03 2.056667999999999916e-13 -2.846199999999999818e+03 2.113626510000000037e-13 -2.847800000000000182e+03 2.160784859999999814e-13 -2.850599999999999909e+03 2.181342690000000082e-13 -2.853400000000000091e+03 2.272269870000000258e-13 -2.856199999999999818e+03 2.363213699999999899e-13 -2.859000000000000000e+03 2.454140849999999765e-13 -2.861800000000000182e+03 2.572208070000000262e-13 -2.864599999999999909e+03 2.742715260000000424e-13 -2.867400000000000091e+03 2.865694949999999808e-13 -2.870199999999999818e+03 2.995885860000000287e-13 -2.873000000000000000e+03 3.068193300000000063e-13 -2.875800000000000182e+03 3.195483600000000292e-13 -2.878599999999999909e+03 3.329813399999999969e-13 -2.881400000000000091e+03 3.417385499999999868e-13 -2.884199999999999818e+03 3.512378400000000110e-13 -2.887000000000000000e+03 3.634350899999999771e-13 -2.889800000000000182e+03 3.745644600000000012e-13 -2.892599999999999909e+03 3.814380600000000094e-13 -2.895400000000000091e+03 3.769276499999999464e-13 -2.898199999999999818e+03 3.866717399999999718e-13 -2.901000000000000000e+03 3.828668400000000270e-13 -2.903800000000000182e+03 3.797579099999999744e-13 -2.906599999999999909e+03 3.760245000000000201e-13 -2.909400000000000091e+03 3.763448100000000199e-13 -2.912199999999999818e+03 3.772155599999999736e-13 -2.915000000000000000e+03 3.739526100000000092e-13 -2.917800000000000182e+03 3.717606899999999371e-13 -2.920599999999999909e+03 3.714720599999999890e-13 -2.923400000000000091e+03 3.674917799999999897e-13 -2.926199999999999818e+03 3.536371200000000093e-13 -2.929000000000000000e+03 3.458199299999999845e-13 -2.931800000000000182e+03 3.400288800000000160e-13 -2.934599999999999909e+03 3.436027499999999921e-13 -2.937400000000000091e+03 3.339971700000000330e-13 -2.940199999999999818e+03 3.327394199999999821e-13 -2.943000000000000000e+03 3.306868499999999764e-13 -2.945800000000000182e+03 3.360477900000000237e-13 -2.948599999999999909e+03 3.369498900000000002e-13 -2.951400000000000091e+03 3.446355599999999751e-13 -2.954199999999999818e+03 3.509722199999999971e-13 -2.957000000000000000e+03 3.553146900000000292e-13 -2.959800000000000182e+03 3.642779400000000314e-13 -2.962599999999999909e+03 3.688559999999999684e-13 -2.965400000000000091e+03 3.751236900000000511e-13 -2.968199999999999818e+03 3.793390799999999912e-13 -2.971000000000000000e+03 3.808100099999999553e-13 -2.973800000000000182e+03 3.777906299999999989e-13 -2.976599999999999909e+03 3.812001600000000029e-13 -2.979400000000000091e+03 3.791293199999999923e-13 -2.982199999999999818e+03 3.780159300000000525e-13 -2.985000000000000000e+03 3.719816999999999678e-13 -2.987800000000000182e+03 3.704012099999999886e-13 -2.990599999999999909e+03 3.653207099999999882e-13 -2.993400000000000091e+03 3.617592600000000226e-13 -2.996199999999999818e+03 3.553519799999999671e-13 -2.999000000000000000e+03 3.560360699999999786e-13 -3.001800000000000182e+03 3.561756900000000090e-13 -3.004599999999999909e+03 3.543089700000000030e-13 -3.007400000000000091e+03 3.543300899999999871e-13 -3.010199999999999818e+03 3.497745599999999696e-13 -3.013000000000000000e+03 3.517736099999999681e-13 -3.015800000000000182e+03 3.530201700000000015e-13 -3.018599999999999909e+03 3.557276700000000180e-13 -3.021400000000000091e+03 3.503141399999999854e-13 -3.024199999999999818e+03 3.504009899999999872e-13 -3.027000000000000000e+03 3.526643699999999920e-13 -3.029800000000000182e+03 3.550970399999999993e-13 -3.032599999999999909e+03 3.592946099999999923e-13 -3.035400000000000091e+03 3.650261999999999376e-13 -3.038199999999999818e+03 3.701115900000000042e-13 -3.041000000000000000e+03 3.740440199999999473e-13 -3.043800000000000182e+03 3.777629699999999554e-13 -3.046599999999999909e+03 3.843526200000000312e-13 -3.049400000000000091e+03 3.895690199999999745e-13 -3.052199999999999818e+03 3.924647700000000130e-13 -3.055000000000000000e+03 3.980967300000000612e-13 -3.057800000000000182e+03 4.007725800000000331e-13 -3.060599999999999909e+03 4.032452999999999862e-13 -3.063400000000000091e+03 4.081509000000000476e-13 -3.066199999999999818e+03 4.105702199999999719e-13 -3.069000000000000000e+03 4.091858399999999879e-13 -3.071800000000000182e+03 4.124436300000000230e-13 -3.074599999999999909e+03 4.189358699999999788e-13 -3.077400000000000091e+03 4.267375500000000066e-13 -3.080199999999999818e+03 4.310531700000000387e-13 -3.083000000000000000e+03 4.360867500000000553e-13 -3.085800000000000182e+03 4.395014999999999524e-13 -3.088599999999999909e+03 4.474936200000000244e-13 -3.091400000000000091e+03 4.554213000000000357e-13 -3.094199999999999818e+03 4.677067200000000183e-13 -3.097000000000000000e+03 4.781344800000000046e-13 -3.099800000000000182e+03 4.828911899999999753e-13 -3.102599999999999909e+03 5.004684900000000442e-13 -3.105400000000000091e+03 5.126601600000000304e-13 -3.108199999999999818e+03 5.292118499999999812e-13 -3.111000000000000000e+03 5.432027699999999913e-13 -3.113800000000000182e+03 5.561022299999999376e-13 -3.116599999999999909e+03 5.748943800000000313e-13 -3.119400000000000091e+03 5.779166099999999669e-13 -3.122199999999999818e+03 5.818879200000000286e-13 -3.125000000000000000e+03 5.888460300000000308e-13 -3.127800000000000182e+03 5.867036100000000586e-13 -3.130599999999999909e+03 5.912091600000000625e-13 -3.133400000000000091e+03 5.931289799999999747e-13 -3.136199999999999818e+03 5.896572000000000333e-13 -3.139000000000000000e+03 5.842802999999999817e-13 -3.141800000000000182e+03 5.851061400000000314e-13 -3.144599999999999909e+03 5.772221099999999237e-13 -3.147400000000000091e+03 5.660666999999999431e-13 -3.150199999999999818e+03 5.594864099999999996e-13 -3.153000000000000000e+03 5.557196399999999930e-13 -3.155800000000000182e+03 5.488699199999999769e-13 -3.158599999999999909e+03 5.440718100000000382e-13 -3.161400000000000091e+03 5.382826200000000630e-13 -3.164199999999999818e+03 5.304711899999999604e-13 -3.167000000000000000e+03 5.186690400000000216e-13 -3.169800000000000182e+03 5.086271699999999664e-13 -3.172599999999999909e+03 5.185416300000000017e-13 -3.175400000000000091e+03 5.132247300000000529e-13 -3.178199999999999818e+03 5.085563400000000338e-13 -3.181000000000000000e+03 5.054553900000000338e-13 -3.183800000000000182e+03 5.036067299999999822e-13 -3.186599999999999909e+03 5.007364799999999723e-13 -3.189400000000000091e+03 4.942188299999999592e-13 -3.192199999999999818e+03 4.852842600000000440e-13 -3.195000000000000000e+03 4.808190899999999644e-13 -3.197800000000000182e+03 4.761103499999999777e-13 -3.200599999999999909e+03 4.700828099999999382e-13 -3.203400000000000091e+03 4.627750499999999427e-13 -3.206199999999999818e+03 4.562204099999999628e-13 -3.209000000000000000e+03 4.493271000000000070e-13 -3.211800000000000182e+03 4.428760499999999686e-13 -3.214599999999999909e+03 4.338914999999999895e-13 -3.217400000000000091e+03 4.285113599999999659e-13 -3.220199999999999818e+03 4.268111700000000048e-13 -3.223000000000000000e+03 4.178740500000000313e-13 -3.225800000000000182e+03 4.134072599999999657e-13 -3.228599999999999909e+03 4.091205299999999703e-13 -3.231400000000000091e+03 4.038975299999999530e-13 -3.234199999999999818e+03 4.022959499999999969e-13 -3.237000000000000000e+03 3.992042399999999994e-13 -3.239800000000000182e+03 3.978260699999999954e-13 -3.242599999999999909e+03 3.992522999999999547e-13 -3.245400000000000091e+03 3.931900200000000355e-13 -3.248199999999999818e+03 3.930084900000000154e-13 -3.251000000000000000e+03 3.929761199999999490e-13 -3.253800000000000182e+03 3.950004000000000119e-13 -3.256599999999999909e+03 3.968399399999999890e-13 -3.259400000000000091e+03 3.971628299999999535e-13 -3.262199999999999818e+03 4.018781099999999996e-13 -3.265000000000000000e+03 3.987424500000000263e-13 -3.267800000000000182e+03 4.003224899999999982e-13 -3.270599999999999909e+03 4.031050199999999989e-13 -3.273400000000000091e+03 4.050939300000000306e-13 -3.276199999999999818e+03 4.077588899999999563e-13 -3.279000000000000000e+03 4.089273000000000119e-13 -3.281800000000000182e+03 4.128184200000000087e-13 -3.284599999999999909e+03 4.133113500000000552e-13 -3.287400000000000091e+03 4.114359600000000324e-13 -3.290199999999999818e+03 4.151232899999999526e-13 -3.293000000000000000e+03 4.180641599999999960e-13 -3.295800000000000182e+03 4.183913399999999833e-13 -3.298599999999999909e+03 4.208028900000000065e-13 -3.301400000000000091e+03 4.218084599999999966e-13 -3.304199999999999818e+03 4.223150099999999890e-13 -3.307000000000000000e+03 4.245009300000000306e-13 -3.309800000000000182e+03 4.307016299999999943e-13 -3.312599999999999909e+03 4.386572400000000131e-13 -3.315400000000000091e+03 4.427873099999999663e-13 -3.318199999999999818e+03 4.476929100000000277e-13 -3.321000000000000000e+03 4.545091500000000132e-13 -3.323800000000000182e+03 4.576503300000000024e-13 -3.326599999999999909e+03 4.681293000000000458e-13 -3.329400000000000091e+03 4.824132899999999618e-13 -3.332199999999999818e+03 4.890748199999999705e-13 -3.335000000000000000e+03 4.970959499999999565e-13 -3.337800000000000182e+03 5.059988100000000650e-13 -3.340599999999999909e+03 5.116702500000000229e-13 -3.343400000000000091e+03 5.174471700000000237e-13 -3.346199999999999818e+03 5.205543600000000110e-13 -3.349000000000000000e+03 5.235752399999999750e-13 -3.351800000000000182e+03 5.232223799999999664e-13 -3.354599999999999909e+03 5.204760299999999899e-13 -3.357400000000000091e+03 5.198872199999999897e-13 -3.360199999999999818e+03 5.201382599999999276e-13 -3.363000000000000000e+03 5.210151900000000055e-13 -3.365800000000000182e+03 5.197660200000000003e-13 -3.368599999999999909e+03 5.207200800000000125e-13 -3.371400000000000091e+03 5.238083399999999369e-13 -3.374199999999999818e+03 5.270466000000000173e-13 -3.377000000000000000e+03 5.320375199999999647e-13 -3.379800000000000182e+03 5.364399600000000418e-13 -3.382599999999999909e+03 5.411994600000000277e-13 -3.385400000000000091e+03 5.471729100000000239e-13 -3.388199999999999818e+03 5.542289100000000091e-13 -3.391000000000000000e+03 5.599442400000000799e-13 -3.393800000000000182e+03 5.692450199999999351e-13 -3.396599999999999909e+03 5.765490299999999873e-13 -3.399400000000000091e+03 5.844496499999999986e-13 -3.402199999999999818e+03 5.852693399999999312e-13 -3.405000000000000000e+03 5.896579499999999613e-13 -3.407800000000000182e+03 5.905110300000000040e-13 -3.410599999999999909e+03 5.904689400000000215e-13 -3.413400000000000091e+03 5.999786999999999908e-13 -3.416199999999999818e+03 6.043625999999999476e-13 -3.419000000000000000e+03 6.166072200000000057e-13 -3.421800000000000182e+03 6.148248900000000152e-13 -3.424599999999999909e+03 6.233942700000000338e-13 -3.427400000000000091e+03 6.355907999999999780e-13 -3.430199999999999818e+03 6.347753400000000032e-13 -3.433000000000000000e+03 6.485523299999999699e-13 -3.435800000000000182e+03 6.570028199999999997e-13 -3.438599999999999909e+03 6.637517399999999887e-13 -3.441400000000000091e+03 6.738733800000000077e-13 -3.444199999999999818e+03 6.876488400000000606e-13 -3.447000000000000000e+03 6.952691099999999962e-13 -3.449800000000000182e+03 7.009007099999999578e-13 -3.452599999999999909e+03 7.069201500000000673e-13 -3.455400000000000091e+03 7.031409899999999564e-13 -3.458199999999999818e+03 7.042764900000000175e-13 -3.461000000000000000e+03 7.084768800000000834e-13 -3.463800000000000182e+03 7.065641100000000000e-13 -3.466599999999999909e+03 7.111036200000000997e-13 -3.469400000000000091e+03 7.104970499999999649e-13 -3.472199999999999818e+03 7.064894700000000088e-13 -3.475000000000000000e+03 7.102156800000000477e-13 -3.477800000000000182e+03 7.212761700000000027e-13 -3.480599999999999909e+03 7.282601999999999830e-13 -3.483400000000000091e+03 7.361453099999999467e-13 -3.486199999999999818e+03 7.465829099999999789e-13 -3.489000000000000000e+03 7.590540599999999828e-13 -3.491800000000000182e+03 7.690903200000000509e-13 -3.494599999999999909e+03 7.791143699999999571e-13 -3.497400000000000091e+03 7.898970599999999959e-13 -3.500199999999999818e+03 7.959250800000000500e-13 -3.503000000000000000e+03 7.998095699999999152e-13 -3.505800000000000182e+03 8.039556299999999809e-13 -3.508599999999999909e+03 8.079650400000000241e-13 -3.511400000000000091e+03 8.114498399999999690e-13 -3.514199999999999818e+03 8.137544400000001003e-13 -3.517000000000000000e+03 8.195976600000000036e-13 -3.519800000000000182e+03 8.231721000000000160e-13 -3.522599999999999909e+03 8.242763399999999245e-13 -3.525400000000000091e+03 8.206846199999999940e-13 -3.528199999999999818e+03 8.208324000000000194e-13 -3.531000000000000000e+03 8.242983000000000602e-13 -3.533800000000000182e+03 8.273852999999999844e-13 -3.536599999999999909e+03 8.278351500000000625e-13 -3.539400000000000091e+03 8.381757600000000252e-13 -3.542199999999999818e+03 8.361939599999999377e-13 -3.545000000000000000e+03 8.438531700000000568e-13 -3.547800000000000182e+03 8.419737600000000258e-13 -3.550599999999999909e+03 8.368064999999999443e-13 -3.553400000000000091e+03 8.334825000000000283e-13 -3.556199999999999818e+03 8.393710199999999294e-13 -3.559000000000000000e+03 8.378626199999998830e-13 -3.561800000000000182e+03 8.353610700000000591e-13 -3.564599999999999909e+03 8.417975400000000215e-13 -3.567400000000000091e+03 8.402374800000000622e-13 -3.570199999999999818e+03 8.363699999999999996e-13 -3.573000000000000000e+03 8.299583999999999141e-13 -3.575800000000000182e+03 8.389857899999999553e-13 -3.578599999999999909e+03 8.326554299999999350e-13 -3.581400000000000091e+03 8.328092699999999043e-13 -3.584199999999999818e+03 8.192192400000001035e-13 -3.587000000000000000e+03 8.068498799999999107e-13 -3.589800000000000182e+03 8.067971099999999830e-13 -3.592599999999999909e+03 8.027255100000000673e-13 -3.595400000000000091e+03 7.953962399999999938e-13 -3.598199999999999818e+03 7.836551999999999706e-13 -3.601000000000000000e+03 7.801801800000000572e-13 -3.603800000000000182e+03 7.759087800000000154e-13 -3.606599999999999909e+03 7.677024599999999361e-13 -3.609400000000000091e+03 7.638489300000000504e-13 -3.612199999999999818e+03 7.586867399999999270e-13 -3.615000000000000000e+03 7.528467300000000390e-13 -3.617800000000000182e+03 7.413690299999999858e-13 -3.620599999999999909e+03 7.347013500000000620e-13 -3.623400000000000091e+03 7.297286099999999464e-13 -3.626199999999999818e+03 7.235099399999999995e-13 -3.629000000000000000e+03 7.141228200000000633e-13 -3.631800000000000182e+03 7.021808400000000435e-13 -3.634599999999999909e+03 6.900984600000000580e-13 -3.637400000000000091e+03 6.781655399999999974e-13 -3.640199999999999818e+03 6.651940500000000316e-13 -3.643000000000000000e+03 6.507476099999999420e-13 -3.645800000000000182e+03 6.313283999999999820e-13 -3.648599999999999909e+03 6.061506299999999972e-13 -3.651400000000000091e+03 5.815803899999999745e-13 -3.654199999999999818e+03 5.606446200000000236e-13 -3.657000000000000000e+03 5.363542500000000620e-13 -3.659800000000000182e+03 5.091131099999999965e-13 -3.662599999999999909e+03 4.875188399999999834e-13 -3.665400000000000091e+03 4.660117800000000082e-13 -3.668199999999999818e+03 4.484356799999999757e-13 -3.671000000000000000e+03 4.280578799999999734e-13 -3.673800000000000182e+03 4.116507300000000255e-13 -3.676599999999999909e+03 3.954035099999999981e-13 -3.679400000000000091e+03 3.823755600000000243e-13 -3.682199999999999818e+03 3.677702999999999783e-13 -3.685000000000000000e+03 3.558355200000000254e-13 -3.687800000000000182e+03 3.429182399999999805e-13 -3.690599999999999909e+03 3.397061100000000298e-13 -3.693400000000000091e+03 3.339839100000000222e-13 -3.696199999999999818e+03 3.253687500000000417e-13 -3.699000000000000000e+03 3.196643699999999812e-13 -3.701800000000000182e+03 3.144300000000000042e-13 -3.704599999999999909e+03 3.067335599999999615e-13 -3.707400000000000091e+03 2.996209529999999883e-13 -3.710199999999999818e+03 2.995369619999999830e-13 -3.713000000000000000e+03 2.976049560000000055e-13 -3.715800000000000182e+03 2.906887860000000003e-13 -3.718599999999999909e+03 2.933082389999999843e-13 -3.721400000000000091e+03 2.988253229999999900e-13 -3.724199999999999818e+03 3.021291900000000030e-13 -3.727000000000000000e+03 3.055324500000000125e-13 -3.729800000000000182e+03 3.089806799999999908e-13 -3.732599999999999909e+03 3.143016899999999696e-13 -3.735400000000000091e+03 3.206629199999999982e-13 -3.738199999999999818e+03 3.273801899999999930e-13 -3.741000000000000000e+03 3.343679400000000104e-13 -3.743800000000000182e+03 3.449738100000000519e-13 -3.746599999999999909e+03 3.582342599999999947e-13 -3.749400000000000091e+03 3.677031000000000107e-13 -3.752199999999999818e+03 3.746714099999999435e-13 -3.755000000000000000e+03 3.788428200000000015e-13 -3.757800000000000182e+03 3.799514099999999977e-13 -3.760599999999999909e+03 3.842860800000000205e-13 -3.763400000000000091e+03 3.867455400000000133e-13 -3.766199999999999818e+03 3.912292799999999681e-13 -3.769000000000000000e+03 3.956430000000000338e-13 -3.771800000000000182e+03 4.007310600000000363e-13 -3.774599999999999909e+03 4.055392200000000209e-13 -3.777400000000000091e+03 4.111777200000000277e-13 -3.780199999999999818e+03 4.194946199999999637e-13 -3.783000000000000000e+03 4.262707200000000321e-13 -3.785800000000000182e+03 4.301229000000000473e-13 -3.788599999999999909e+03 4.331446200000000115e-13 -3.791400000000000091e+03 4.385166600000000041e-13 -3.794199999999999818e+03 4.454417699999999901e-13 -3.797000000000000000e+03 4.512851699999999872e-13 -3.799800000000000182e+03 4.621256399999999982e-13 -3.802599999999999909e+03 4.714712400000000387e-13 -3.805400000000000091e+03 4.805913299999999751e-13 -3.808199999999999818e+03 4.847881799999999967e-13 -3.811000000000000000e+03 4.941621900000000593e-13 -3.813800000000000182e+03 5.001426000000000140e-13 -3.816599999999999909e+03 5.192513400000000201e-13 -3.819400000000000091e+03 5.338351200000000458e-13 -3.822199999999999818e+03 5.400143699999999965e-13 -3.825000000000000000e+03 5.515451700000000063e-13 -3.827800000000000182e+03 5.643817799999999212e-13 -3.830599999999999909e+03 5.833076699999999934e-13 -3.833400000000000091e+03 6.022436100000000105e-13 -3.836199999999999818e+03 6.141267900000000144e-13 -3.839000000000000000e+03 6.332471099999999803e-13 -3.841800000000000182e+03 6.497804399999999551e-13 -3.844599999999999909e+03 6.573241199999999854e-13 -3.847400000000000091e+03 6.639837900000000513e-13 -3.850199999999999818e+03 6.873720000000000724e-13 -3.853000000000000000e+03 7.083278099999998989e-13 -3.855800000000000182e+03 7.292182199999999385e-13 -3.858599999999999909e+03 7.480259100000000365e-13 -3.861400000000000091e+03 7.611348900000000249e-13 -3.864199999999999818e+03 7.668331500000000766e-13 -3.867000000000000000e+03 7.802504999999999175e-13 -3.869800000000000182e+03 7.942778400000000094e-13 -3.872599999999999909e+03 8.088350100000000424e-13 -3.875400000000000091e+03 8.276685599999999021e-13 -3.878199999999999818e+03 8.337638099999999311e-13 -3.881000000000000000e+03 8.430974700000000260e-13 -3.883800000000000182e+03 8.468435399999999982e-13 -3.886599999999999909e+03 8.553117600000000039e-13 -3.889400000000000091e+03 8.620866299999999277e-13 -3.892199999999999818e+03 8.698301100000000841e-13 -3.895000000000000000e+03 8.880557099999999817e-13 -3.897800000000000182e+03 8.983026300000000634e-13 -3.900599999999999909e+03 8.994291899999999923e-13 -3.903400000000000091e+03 9.150674100000000573e-13 -3.906199999999999818e+03 9.208384500000000565e-13 -3.909000000000000000e+03 9.215437200000000160e-13 -3.911800000000000182e+03 9.406596600000000385e-13 -3.914599999999999909e+03 9.530619599999999805e-13 -3.917400000000000091e+03 9.558957600000000527e-13 -3.920199999999999818e+03 9.720689999999999447e-13 -3.923000000000000000e+03 9.814916700000000060e-13 -3.925800000000000182e+03 9.854951699999999899e-13 -3.928599999999999909e+03 9.862881300000000019e-13 -3.931400000000000091e+03 1.000849650000000123e-12 -3.934199999999999818e+03 9.960174300000000016e-13 -3.937000000000000000e+03 9.658805999999998617e-13 -3.939800000000000182e+03 9.680339999999999523e-13 -3.942599999999999909e+03 9.748602599999999766e-13 -3.945400000000000091e+03 9.851040899999999709e-13 -3.948199999999999818e+03 9.723376499999999306e-13 -3.951000000000000000e+03 9.625511700000000020e-13 -3.953800000000000182e+03 9.399005700000001510e-13 -3.956599999999999909e+03 9.351482099999999651e-13 -3.959400000000000091e+03 9.186895500000001403e-13 -3.962199999999999818e+03 9.007022100000000329e-13 -3.965000000000000000e+03 8.854963799999999836e-13 -3.967800000000000182e+03 8.722834800000000248e-13 -3.970599999999999909e+03 8.628341399999999563e-13 -3.973400000000000091e+03 8.423261400000000199e-13 -3.976199999999999818e+03 8.383913699999999680e-13 -3.979000000000000000e+03 8.394924599999999766e-13 -3.981800000000000182e+03 8.397009599999999751e-13 -3.984599999999999909e+03 8.220875699999999542e-13 -3.987400000000000091e+03 8.168634600000000737e-13 -3.990199999999999818e+03 8.036550899999999430e-13 -3.993000000000000000e+03 7.956454800000000034e-13 -3.995800000000000182e+03 7.945794300000000475e-13 -3.998599999999999909e+03 7.855968599999998886e-13 -4.001400000000000091e+03 7.910125199999998785e-13 -4.004199999999999818e+03 7.862435699999998900e-13 -4.007000000000000000e+03 7.763193300000001262e-13 -4.009800000000000182e+03 7.781397600000000981e-13 -4.012599999999999909e+03 7.867372499999999655e-13 -4.015400000000000091e+03 7.798054200000000282e-13 -4.018199999999999818e+03 8.029919699999999805e-13 -4.021000000000000000e+03 8.036418599999999395e-13 -4.023800000000000182e+03 8.085182399999999858e-13 -4.026599999999999909e+03 8.217667200000000263e-13 -4.029400000000000091e+03 8.334621599999999795e-13 -4.032199999999999818e+03 8.348945099999999477e-13 -4.035000000000000000e+03 8.460366600000000690e-13 -4.037800000000000182e+03 8.731185900000000337e-13 -4.040599999999999909e+03 8.786623800000000149e-13 -4.043400000000000091e+03 8.867665799999999512e-13 -4.046199999999999818e+03 8.849398200000000209e-13 -4.049000000000000000e+03 8.818437600000000366e-13 -4.051800000000000182e+03 8.873232600000000437e-13 -4.054599999999999909e+03 8.980839899999999467e-13 -4.057400000000000091e+03 9.074604599999999955e-13 -4.060199999999999818e+03 9.088748400000000309e-13 -4.063000000000000000e+03 9.171722700000000771e-13 -4.065800000000000182e+03 9.176369699999999428e-13 -4.068599999999999909e+03 9.286710299999999484e-13 -4.071400000000000091e+03 9.369537900000000483e-13 -4.074199999999999818e+03 9.435447299999999803e-13 -4.077000000000000000e+03 9.482899500000001643e-13 -4.079800000000000182e+03 9.550874700000000366e-13 -4.082599999999999909e+03 9.661709700000000266e-13 -4.085400000000000091e+03 9.753389699999999326e-13 -4.088199999999999818e+03 9.787489799999999007e-13 -4.091000000000000000e+03 1.000838160000000033e-12 -4.093800000000000182e+03 9.923636400000000255e-13 -4.096600000000000364e+03 9.527537699999998685e-13 -4.099399999999999636e+03 9.337894200000000312e-13 -4.102199999999999818e+03 9.233616299999999872e-13 -4.105000000000000000e+03 9.145004999999998755e-13 -4.107800000000000182e+03 8.937234600000000107e-13 -4.110600000000000364e+03 8.878595999999999865e-13 -4.113399999999999636e+03 8.779918199999999782e-13 -4.116199999999999818e+03 8.703767100000000729e-13 -4.119000000000000000e+03 8.748102899999999709e-13 -4.121800000000000182e+03 8.600014499999999998e-13 -4.124600000000000364e+03 8.556930900000000491e-13 -4.127399999999999636e+03 8.436907199999999842e-13 -4.130199999999999818e+03 8.346821100000001212e-13 -4.133000000000000000e+03 8.369677499999999301e-13 -4.135800000000000182e+03 8.349304199999999574e-13 -4.138600000000000364e+03 8.300598900000000569e-13 -4.141399999999999636e+03 8.335187999999999804e-13 -4.144199999999999818e+03 8.297715899999999358e-13 -4.147000000000000000e+03 8.271565500000000092e-13 -4.149800000000000182e+03 8.276641800000000596e-13 -4.152600000000000364e+03 8.385917100000000220e-13 -4.155399999999999636e+03 8.247986100000000654e-13 -4.158199999999999818e+03 8.320634100000000205e-13 -4.161000000000000000e+03 8.228804399999999950e-13 -4.163800000000000182e+03 8.268678300000000900e-13 -4.166600000000000364e+03 8.070459000000000357e-13 -4.169399999999999636e+03 7.950570900000000033e-13 -4.172199999999999818e+03 7.975093799999999870e-13 -4.175000000000000000e+03 7.799060700000000698e-13 -4.177800000000000182e+03 7.745282700000000035e-13 -4.180600000000000364e+03 7.695239400000001102e-13 -4.183399999999999636e+03 7.546830600000000007e-13 -4.186199999999999818e+03 7.640622900000001080e-13 -4.189000000000000000e+03 7.534657799999999463e-13 -4.191800000000000182e+03 7.418107799999999319e-13 -4.194600000000000364e+03 7.328981699999999505e-13 -4.197399999999999636e+03 7.288954199999999957e-13 -4.200199999999999818e+03 7.267835400000000029e-13 -4.203000000000000000e+03 7.174345200000000480e-13 -4.205800000000000182e+03 7.144421100000000196e-13 -4.208600000000000364e+03 7.016029500000000463e-13 -4.211399999999999636e+03 6.942980399999999794e-13 -4.214199999999999818e+03 6.874939800000000477e-13 -4.217000000000000000e+03 6.865065299999999255e-13 -4.219800000000000182e+03 6.834508200000000098e-13 -4.222600000000000364e+03 6.787859100000000205e-13 -4.225399999999999636e+03 6.732252000000000059e-13 -4.228199999999999818e+03 6.666454499999999905e-13 -4.231000000000000000e+03 6.580591199999999818e-13 -4.233800000000000182e+03 6.550587600000000089e-13 -4.236600000000000364e+03 6.488635499999999529e-13 -4.239399999999999636e+03 6.410211000000000584e-13 -4.242199999999999818e+03 6.317041499999999968e-13 -4.245000000000000000e+03 6.408714900000000469e-13 -4.247800000000000182e+03 6.374364299999999567e-13 -4.250600000000000364e+03 6.280974299999999901e-13 -4.253399999999999636e+03 6.162295500000000336e-13 -4.256199999999999818e+03 6.140545499999999949e-13 -4.259000000000000000e+03 6.065469600000000176e-13 -4.261800000000000182e+03 5.992883699999999921e-13 -4.264600000000000364e+03 5.997205799999999645e-13 -4.267399999999999636e+03 5.970233400000000445e-13 -4.270199999999999818e+03 5.928916500000000549e-13 -4.273000000000000000e+03 5.878491900000000215e-13 -4.275800000000000182e+03 5.814366599999999646e-13 -4.278600000000000364e+03 5.704064399999999744e-13 -4.281399999999999636e+03 5.674619100000000599e-13 -4.284199999999999818e+03 5.549255100000000528e-13 -4.287000000000000000e+03 5.406828000000000759e-13 -4.289800000000000182e+03 5.414214900000000011e-13 -4.292600000000000364e+03 5.348539800000000034e-13 -4.295399999999999636e+03 5.273540700000000570e-13 -4.298199999999999818e+03 5.233727699999999637e-13 -4.301000000000000000e+03 5.121805200000000019e-13 -4.303800000000000182e+03 5.193320099999999986e-13 -4.306600000000000364e+03 5.136374100000000200e-13 -4.309399999999999636e+03 5.059428300000000211e-13 -4.312199999999999818e+03 5.062879499999999844e-13 -4.315000000000000000e+03 5.124701399999999358e-13 -4.317800000000000182e+03 5.093518799999999600e-13 -4.320600000000000364e+03 5.036797499999999875e-13 -4.323399999999999636e+03 4.991657700000000245e-13 -4.326199999999999818e+03 5.047431300000000580e-13 -4.329000000000000000e+03 5.074757400000000596e-13 -4.331800000000000182e+03 5.150767799999999612e-13 -4.334600000000000364e+03 5.202677700000000491e-13 -4.337399999999999636e+03 5.228132700000000002e-13 -4.340199999999999818e+03 5.315171999999999397e-13 -4.343000000000000000e+03 5.277475199999999900e-13 -4.345800000000000182e+03 5.326261799999999793e-13 -4.348600000000000364e+03 5.353594199999999811e-13 -4.351399999999999636e+03 5.430989399999999921e-13 -4.354199999999999818e+03 5.432107499999999934e-13 -4.357000000000000000e+03 5.436694799999999874e-13 -4.359800000000000182e+03 5.486315699999999125e-13 -4.362600000000000364e+03 5.471520299999999461e-13 -4.365399999999999636e+03 5.527115399999999748e-13 -4.368199999999999818e+03 5.558803199999999931e-13 -4.371000000000000000e+03 5.528709300000000178e-13 -4.373800000000000182e+03 5.475541199999999392e-13 -4.376600000000000364e+03 5.457231600000000077e-13 -4.379399999999999636e+03 5.457264300000000375e-13 -4.382199999999999818e+03 5.466869699999999937e-13 -4.385000000000000000e+03 5.433972900000000582e-13 -4.387800000000000182e+03 5.398585500000000554e-13 -4.390600000000000364e+03 5.363093400000000066e-13 -4.393399999999999636e+03 5.330907600000000181e-13 -4.396199999999999818e+03 5.331547500000000209e-13 -4.399000000000000000e+03 5.309471100000000023e-13 -4.401800000000000182e+03 5.308679399999999809e-13 -4.404600000000000364e+03 5.318519099999999723e-13 -4.407399999999999636e+03 5.326362599999999820e-13 -4.410199999999999818e+03 5.364900599999999832e-13 -4.413000000000000000e+03 5.393500500000000480e-13 -4.415800000000000182e+03 5.427857400000000374e-13 -4.418600000000000364e+03 5.478995399999999747e-13 -4.421399999999999636e+03 5.568048300000000118e-13 -4.424199999999999818e+03 5.572899300000000417e-13 -4.427000000000000000e+03 5.569971900000000637e-13 -4.429800000000000182e+03 5.650104299999999177e-13 -4.432600000000000364e+03 5.781858599999999962e-13 -4.435399999999999636e+03 5.824783799999999716e-13 -4.438199999999999818e+03 5.760883800000000361e-13 -4.441000000000000000e+03 5.921677800000000615e-13 -4.443800000000000182e+03 5.911336199999999556e-13 -4.446600000000000364e+03 5.957024100000000343e-13 -4.449399999999999636e+03 6.110207100000000419e-13 -4.452199999999999818e+03 6.127387200000000005e-13 -4.455000000000000000e+03 6.177296099999999912e-13 -4.457800000000000182e+03 6.159682199999999920e-13 -4.460600000000000364e+03 6.161328299999999787e-13 -4.463399999999999636e+03 6.247364699999999632e-13 -4.466199999999999818e+03 6.263337900000000047e-13 -4.469000000000000000e+03 6.329945400000000276e-13 -4.471800000000000182e+03 6.363499200000000242e-13 -4.474600000000000364e+03 6.330825600000000081e-13 -4.477399999999999636e+03 6.325481699999999793e-13 -4.480199999999999818e+03 6.326145900000000116e-13 -4.483000000000000000e+03 6.306287699999999663e-13 -4.485800000000000182e+03 6.295527300000000798e-13 -4.488600000000000364e+03 6.311897999999999446e-13 -4.491399999999999636e+03 6.313692299999999641e-13 -4.494199999999999818e+03 6.369829200000000074e-13 -4.497000000000000000e+03 6.436291200000000120e-13 -4.499800000000000182e+03 6.411739199999999842e-13 -4.502600000000000364e+03 6.418844099999999884e-13 -4.505399999999999636e+03 6.385724100000000324e-13 -4.508199999999999818e+03 6.424704299999999734e-13 -4.511000000000000000e+03 6.378653399999999426e-13 -4.513800000000000182e+03 6.362601300000000720e-13 -4.516600000000000364e+03 6.360601799999999604e-13 -4.519399999999999636e+03 6.274247099999999384e-13 -4.522199999999999818e+03 6.291957899999999980e-13 -4.525000000000000000e+03 6.363356400000000203e-13 -4.527800000000000182e+03 6.337663499999999473e-13 -4.530600000000000364e+03 6.284483700000000415e-13 -4.533399999999999636e+03 6.252701400000000206e-13 -4.536199999999999818e+03 6.211143899999999957e-13 -4.539000000000000000e+03 6.194531700000000235e-13 -4.541800000000000182e+03 6.221242800000000662e-13 -4.544600000000000364e+03 6.257610899999999944e-13 -4.547399999999999636e+03 6.223959000000000097e-13 -4.550199999999999818e+03 6.214214699999999920e-13 -4.553000000000000000e+03 6.214960799999999256e-13 -4.555800000000000182e+03 6.222365400000000244e-13 -4.558600000000000364e+03 6.210939300000000190e-13 -4.561399999999999636e+03 6.186177599999999423e-13 -4.564199999999999818e+03 6.156301200000000017e-13 -4.567000000000000000e+03 6.181705200000000380e-13 -4.569800000000000182e+03 6.232698600000000291e-13 -4.572600000000000364e+03 6.244380899999999404e-13 -4.575399999999999636e+03 6.194711700000000139e-13 -4.578199999999999818e+03 6.205806900000000825e-13 -4.581000000000000000e+03 6.256340999999999746e-13 -4.583800000000000182e+03 6.268057500000000022e-13 -4.586600000000000364e+03 6.326137199999999537e-13 -4.589399999999999636e+03 6.316985400000000097e-13 -4.592199999999999818e+03 6.253164300000000043e-13 -4.595000000000000000e+03 6.375858600000000259e-13 -4.597800000000000182e+03 6.425210699999999438e-13 -4.600600000000000364e+03 6.313096200000000057e-13 -4.603399999999999636e+03 6.322772999999999639e-13 -4.606199999999999818e+03 6.359286600000000115e-13 -4.609000000000000000e+03 6.318153299999999979e-13 -4.611800000000000182e+03 6.236445000000000292e-13 -4.614600000000000364e+03 6.228835499999999970e-13 -4.617399999999999636e+03 6.149715299999999683e-13 -4.620199999999999818e+03 6.042297600000000848e-13 -4.623000000000000000e+03 5.973241499999999959e-13 -4.625800000000000182e+03 5.884485599999999379e-13 -4.628600000000000364e+03 5.770536000000000081e-13 -4.631399999999999636e+03 5.662044300000000235e-13 -4.634199999999999818e+03 5.579060700000000060e-13 -4.637000000000000000e+03 5.509675199999999658e-13 -4.639800000000000182e+03 5.475060599999999839e-13 -4.642600000000000364e+03 5.424344099999999426e-13 -4.645399999999999636e+03 5.399428199999999916e-13 -4.648199999999999818e+03 5.394008099999999463e-13 -4.651000000000000000e+03 5.387749200000000083e-13 -4.653800000000000182e+03 5.327254499999999916e-13 -4.656600000000000364e+03 5.310875999999999392e-13 -4.659399999999999636e+03 5.316121500000000230e-13 -4.662199999999999818e+03 5.292264600000000140e-13 -4.665000000000000000e+03 5.280179700000000053e-13 -4.667800000000000182e+03 5.293497300000000473e-13 -4.670600000000000364e+03 5.298109500000000852e-13 -4.673399999999999636e+03 5.285062199999999351e-13 -4.676199999999999818e+03 5.292766799999999843e-13 -4.679000000000000000e+03 5.292605400000000376e-13 -4.681800000000000182e+03 5.317295999999999682e-13 -4.684600000000000364e+03 5.392573800000000086e-13 -4.687399999999999636e+03 5.210471700000000286e-13 -4.690199999999999818e+03 5.227368599999999363e-13 -4.693000000000000000e+03 5.278910099999999422e-13 -4.695800000000000182e+03 5.270532299999999470e-13 -4.698600000000000364e+03 5.177650200000000374e-13 -4.701399999999999636e+03 5.179934999999999980e-13 -4.704199999999999818e+03 5.152533900000000088e-13 -4.707000000000000000e+03 5.082503700000000523e-13 -4.709800000000000182e+03 5.036695800000000136e-13 -4.712600000000000364e+03 5.031111900000000649e-13 -4.715399999999999636e+03 4.969642499999999642e-13 -4.718199999999999818e+03 4.858211400000000158e-13 -4.721000000000000000e+03 4.735060500000000107e-13 -4.723800000000000182e+03 4.672189199999999444e-13 -4.726600000000000364e+03 4.624303799999999362e-13 -4.729399999999999636e+03 4.575775800000000117e-13 -4.732199999999999818e+03 4.543846799999999435e-13 -4.735000000000000000e+03 4.524045899999999647e-13 -4.737800000000000182e+03 4.465487099999999930e-13 -4.740600000000000364e+03 4.422648899999999912e-13 -4.743399999999999636e+03 4.447215000000000049e-13 -4.746199999999999818e+03 4.409114999999999434e-13 -4.749000000000000000e+03 4.443158400000000109e-13 -4.751800000000000182e+03 4.359010800000000484e-13 -4.754600000000000364e+03 4.327778400000000352e-13 -4.757399999999999636e+03 4.404642000000000247e-13 -4.760199999999999818e+03 4.445547300000000032e-13 -4.763000000000000000e+03 4.570277099999999931e-13 -4.765800000000000182e+03 4.605238200000000853e-13 -4.768600000000000364e+03 4.622845199999999690e-13 -4.771399999999999636e+03 4.679883600000000510e-13 -4.774199999999999818e+03 4.719657300000000567e-13 -4.777000000000000000e+03 4.718341200000000356e-13 -4.779800000000000182e+03 4.714342200000000143e-13 -4.782600000000000364e+03 4.679618400000000295e-13 -4.785399999999999636e+03 4.665955199999999493e-13 -4.788199999999999818e+03 4.661731799999999796e-13 -4.791000000000000000e+03 4.615823099999999382e-13 -4.793800000000000182e+03 4.576867499999999834e-13 -4.796600000000000364e+03 4.516242899999999705e-13 -4.799399999999999636e+03 4.417437000000000093e-13 -4.802199999999999818e+03 4.392748499999999778e-13 -4.805000000000000000e+03 4.342494300000000067e-13 -4.807800000000000182e+03 4.276654500000000334e-13 -4.810600000000000364e+03 4.252349399999999907e-13 -4.813399999999999636e+03 4.228920599999999860e-13 -4.816199999999999818e+03 4.147613100000000209e-13 -4.819000000000000000e+03 4.031627400000000072e-13 -4.821800000000000182e+03 3.917364300000000040e-13 -4.824600000000000364e+03 3.867253199999999934e-13 -4.827399999999999636e+03 3.826098899999999793e-13 -4.830199999999999818e+03 3.773562600000000115e-13 -4.833000000000000000e+03 3.708564599999999527e-13 -4.835800000000000182e+03 3.643563900000000309e-13 -4.838600000000000364e+03 3.570402899999999466e-13 -4.841399999999999636e+03 3.503370000000000348e-13 -4.844199999999999818e+03 3.443450999999999400e-13 -4.847000000000000000e+03 3.422642399999999411e-13 -4.849800000000000182e+03 3.374527200000000061e-13 -4.852600000000000364e+03 3.349897199999999690e-13 -4.855399999999999636e+03 3.303491699999999863e-13 -4.858199999999999818e+03 3.300131699999999966e-13 -4.861000000000000000e+03 3.266633100000000160e-13 -4.863800000000000182e+03 3.258647999999999809e-13 -4.866600000000000364e+03 3.245948400000000205e-13 -4.869399999999999636e+03 3.262521300000000060e-13 -4.872199999999999818e+03 3.278789100000000194e-13 -4.875000000000000000e+03 3.289389599999999953e-13 -4.877800000000000182e+03 3.283891499999999912e-13 -4.880600000000000364e+03 3.313626600000000145e-13 -4.883399999999999636e+03 3.321565800000000052e-13 -4.886199999999999818e+03 3.333283800000000184e-13 -4.889000000000000000e+03 3.316783799999999699e-13 -4.891800000000000182e+03 3.329184300000000016e-13 -4.894600000000000364e+03 3.343214400000000267e-13 -4.897399999999999636e+03 3.363558299999999986e-13 -4.900199999999999818e+03 3.352517999999999892e-13 -4.903000000000000000e+03 3.386944199999999805e-13 -4.905800000000000182e+03 3.383342400000000275e-13 -4.908600000000000364e+03 3.423061500000000318e-13 -4.911399999999999636e+03 3.470235599999999847e-13 -4.914199999999999818e+03 3.499087199999999986e-13 -4.917000000000000000e+03 3.515681399999999415e-13 -4.919800000000000182e+03 3.530591100000000336e-13 -4.922600000000000364e+03 3.546361799999999471e-13 -4.925399999999999636e+03 3.577242299999999725e-13 -4.928199999999999818e+03 3.554962500000000060e-13 -4.931000000000000000e+03 3.604634700000000047e-13 -4.933800000000000182e+03 3.593500200000000000e-13 -4.936600000000000364e+03 3.567182100000000256e-13 -4.939399999999999636e+03 3.575746199999999609e-13 -4.942199999999999818e+03 3.593291399999999727e-13 -4.945000000000000000e+03 3.594330900000000008e-13 -4.947800000000000182e+03 3.561087599999999549e-13 -4.950600000000000364e+03 3.540760800000000412e-13 -4.953399999999999636e+03 3.546899700000000193e-13 -4.956199999999999818e+03 3.573514200000000594e-13 -4.959000000000000000e+03 3.589668300000000625e-13 -4.961800000000000182e+03 3.596814000000000389e-13 -4.964600000000000364e+03 3.589622400000000180e-13 -4.967399999999999636e+03 3.602189999999999820e-13 -4.970199999999999818e+03 3.647673300000000336e-13 -4.973000000000000000e+03 3.659861700000000090e-13 -4.975800000000000182e+03 3.675644699999999661e-13 -4.978600000000000364e+03 3.724021799999999947e-13 -4.981399999999999636e+03 3.758159699999999638e-13 -4.984199999999999818e+03 3.782408400000000122e-13 -4.987000000000000000e+03 3.825716400000000123e-13 -4.989800000000000182e+03 3.818669099999999808e-13 -4.992600000000000364e+03 3.844174500000000343e-13 -4.995399999999999636e+03 3.832657500000000120e-13 -4.998199999999999818e+03 3.853126799999999729e-13 -5.001000000000000000e+03 3.797317500000000394e-13 -5.005899999999999636e+03 3.816509999999999658e-13 -5.010800000000000182e+03 3.865454700000000242e-13 -5.015699999999999818e+03 3.911076599999999786e-13 -5.020600000000000364e+03 3.925697399999999836e-13 -5.025500000000000000e+03 3.970562700000000041e-13 -5.030399999999999636e+03 4.021632600000000188e-13 -5.035300000000000182e+03 4.022342099999999803e-13 -5.040199999999999818e+03 4.071624600000000406e-13 -5.045100000000000364e+03 4.131212700000000472e-13 -5.050000000000000000e+03 4.211360699999999738e-13 -5.054899999999999636e+03 4.265092499999999883e-13 -5.059800000000000182e+03 4.291560300000000317e-13 -5.064699999999999818e+03 4.303873199999999744e-13 -5.069600000000000364e+03 4.363613699999999635e-13 -5.074500000000000000e+03 4.389092999999999946e-13 -5.079399999999999636e+03 4.499463299999999577e-13 -5.084300000000000182e+03 4.512832799999999867e-13 -5.089199999999999818e+03 4.546512300000000299e-13 -5.094100000000000364e+03 4.516557899999999790e-13 -5.099000000000000000e+03 4.503423600000000069e-13 -5.103899999999999636e+03 4.479105899999999638e-13 -5.108800000000000182e+03 4.394062200000000421e-13 -5.113699999999999818e+03 4.361716499999999916e-13 -5.118600000000000364e+03 4.327716600000000119e-13 -5.123500000000000000e+03 4.341272099999999737e-13 -5.128399999999999636e+03 4.300414799999999893e-13 -5.133300000000000182e+03 4.275037200000000330e-13 -5.138199999999999818e+03 4.279127399999999775e-13 -5.143100000000000364e+03 4.236498299999999597e-13 -5.148000000000000000e+03 4.258809600000000279e-13 -5.152899999999999636e+03 4.259330699999999987e-13 -5.157800000000000182e+03 4.323369599999999956e-13 -5.162699999999999818e+03 4.320497099999999758e-13 -5.167600000000000364e+03 4.384642799999999683e-13 -5.172500000000000000e+03 4.397366400000000014e-13 -5.177399999999999636e+03 4.428556500000000064e-13 -5.182300000000000182e+03 4.458954300000000259e-13 -5.187199999999999818e+03 4.500206399999999706e-13 -5.192100000000000364e+03 4.512758399999999630e-13 -5.197000000000000000e+03 4.470987900000000116e-13 -5.201899999999999636e+03 4.430687399999999989e-13 -5.206800000000000182e+03 4.347719100000000467e-13 -5.211699999999999818e+03 4.231739700000000332e-13 -5.216600000000000364e+03 4.116196799999999738e-13 -5.221500000000000000e+03 3.948575700000000167e-13 -5.226399999999999636e+03 3.907318199999999926e-13 -5.231300000000000182e+03 3.810683999999999962e-13 -5.236199999999999818e+03 3.695699399999999951e-13 -5.241100000000000364e+03 3.652378799999999947e-13 -5.246000000000000000e+03 3.556471200000000179e-13 -5.250899999999999636e+03 3.483739500000000173e-13 -5.255800000000000182e+03 3.424199400000000552e-13 -5.260699999999999818e+03 3.409406399999999951e-13 -5.265600000000000364e+03 3.375626999999999708e-13 -5.270500000000000000e+03 3.393058499999999723e-13 -5.275399999999999636e+03 3.391937399999999998e-13 -5.280300000000000182e+03 3.287666999999999849e-13 -5.285199999999999818e+03 3.282529799999999833e-13 -5.290100000000000364e+03 3.263142599999999651e-13 -5.295000000000000000e+03 3.291176699999999930e-13 -5.299899999999999636e+03 3.314112599999999988e-13 -5.304800000000000182e+03 3.326266500000000022e-13 -5.309699999999999818e+03 3.360502800000000171e-13 -5.314600000000000364e+03 3.425727899999999378e-13 -5.319500000000000000e+03 3.450834299999999805e-13 -5.324399999999999636e+03 3.501379799999999451e-13 -5.329300000000000182e+03 3.503659199999999777e-13 -5.334199999999999818e+03 3.463825799999999993e-13 -5.339100000000000364e+03 3.423478199999999637e-13 -5.344000000000000000e+03 3.399363599999999621e-13 -5.348899999999999636e+03 3.365806799999999944e-13 -5.353800000000000182e+03 3.342195299999999848e-13 -5.358699999999999818e+03 3.355310099999999924e-13 -5.363600000000000364e+03 3.341158799999999784e-13 -5.368500000000000000e+03 3.325599299999999986e-13 -5.373399999999999636e+03 3.311164500000000274e-13 -5.378300000000000182e+03 3.276407099999999912e-13 -5.383199999999999818e+03 3.219273900000000004e-13 -5.388100000000000364e+03 3.163771199999999742e-13 -5.393000000000000000e+03 3.127737000000000045e-13 -5.397899999999999636e+03 3.080279399999999934e-13 -5.402800000000000182e+03 3.056382299999999761e-13 -5.407699999999999818e+03 3.014577600000000094e-13 -5.412600000000000364e+03 2.959639919999999710e-13 -5.417500000000000000e+03 2.881807049999999828e-13 -5.422399999999999636e+03 2.834312490000000313e-13 -5.427300000000000182e+03 2.783946750000000110e-13 -5.432199999999999818e+03 2.753463570000000266e-13 -5.437100000000000364e+03 2.728645530000000177e-13 -5.442000000000000000e+03 2.717179469999999997e-13 -5.446899999999999636e+03 2.722884690000000108e-13 -5.451800000000000182e+03 2.747951370000000366e-13 -5.456699999999999818e+03 2.811377850000000155e-13 -5.461600000000000364e+03 2.876937959999999567e-13 -5.466500000000000000e+03 2.940870660000000228e-13 -5.471399999999999636e+03 2.995838459999999985e-13 -5.476300000000000182e+03 3.043332299999999630e-13 -5.481199999999999818e+03 3.089924399999999940e-13 -5.486100000000000364e+03 3.136884900000000061e-13 -5.491000000000000000e+03 3.175678800000000070e-13 -5.495899999999999636e+03 3.209036100000000198e-13 -5.500800000000000182e+03 3.221108699999999850e-13 -5.505699999999999818e+03 3.239871599999999719e-13 -5.510600000000000364e+03 3.250924499999999816e-13 -5.515500000000000000e+03 3.262313099999999932e-13 -5.520399999999999636e+03 3.262382399999999951e-13 -5.525300000000000182e+03 3.247977899999999959e-13 -5.530199999999999818e+03 3.244943999999999789e-13 -5.535100000000000364e+03 3.213896699999999779e-13 -5.540000000000000000e+03 3.251593200000000213e-13 -5.544899999999999636e+03 3.330866700000000037e-13 -5.549800000000000182e+03 3.327021600000000009e-13 -5.554699999999999818e+03 3.384341699999999968e-13 -5.559600000000000364e+03 3.408526500000000218e-13 -5.564500000000000000e+03 3.440296800000000568e-13 -5.569399999999999636e+03 3.461349600000000262e-13 -5.574300000000000182e+03 3.480108599999999698e-13 -5.579199999999999818e+03 3.506778600000000330e-13 -5.584100000000000364e+03 3.492107099999999690e-13 -5.589000000000000000e+03 3.464337599999999987e-13 -5.593899999999999636e+03 3.448309800000000567e-13 -5.598800000000000182e+03 3.477000299999999797e-13 -5.603699999999999818e+03 3.496993799999999998e-13 -5.608600000000000364e+03 3.502995600000000608e-13 -5.613500000000000000e+03 3.506507700000000257e-13 -5.618399999999999636e+03 3.502520699999999903e-13 -5.623300000000000182e+03 3.523065600000000037e-13 -5.628199999999999818e+03 3.513637499999999729e-13 -5.633100000000000364e+03 3.457302300000000036e-13 -5.638000000000000000e+03 3.492275699999999879e-13 -5.642899999999999636e+03 3.470439299999999902e-13 -5.647800000000000182e+03 3.479114700000000295e-13 -5.652699999999999818e+03 3.462819600000000154e-13 -5.657600000000000364e+03 3.454583700000000528e-13 -5.662500000000000000e+03 3.427513199999999427e-13 -5.667399999999999636e+03 3.404632500000000033e-13 -5.672300000000000182e+03 3.384806400000000238e-13 -5.677199999999999818e+03 3.366369300000000023e-13 -5.682100000000000364e+03 3.340661699999999795e-13 -5.687000000000000000e+03 3.319776600000000074e-13 -5.691899999999999636e+03 3.266298899999999998e-13 -5.696800000000000182e+03 3.257209199999999853e-13 -5.701699999999999818e+03 3.239992500000000040e-13 -5.706600000000000364e+03 3.122804400000000300e-13 -5.711500000000000000e+03 3.098223300000000087e-13 -5.716399999999999636e+03 3.058676100000000019e-13 -5.721300000000000182e+03 2.980739100000000268e-13 -5.726199999999999818e+03 2.944016460000000067e-13 -5.731100000000000364e+03 2.912092439999999878e-13 -5.736000000000000000e+03 2.866178550000000083e-13 -5.740899999999999636e+03 2.852432759999999951e-13 -5.745800000000000182e+03 2.810717550000000265e-13 -5.750699999999999818e+03 2.776864619999999945e-13 -5.755600000000000364e+03 2.771325240000000268e-13 -5.760500000000000000e+03 2.754478440000000122e-13 -5.765399999999999636e+03 2.803784939999999938e-13 -5.770300000000000182e+03 2.793178649999999644e-13 -5.775199999999999818e+03 2.799846000000000144e-13 -5.780100000000000364e+03 2.801188859999999829e-13 -5.785000000000000000e+03 2.833840589999999825e-13 -5.789899999999999636e+03 2.847797520000000187e-13 -5.794800000000000182e+03 2.868957149999999895e-13 -5.799699999999999818e+03 2.872557420000000015e-13 -5.804600000000000364e+03 2.901074429999999747e-13 -5.809500000000000000e+03 2.934047729999999844e-13 -5.814399999999999636e+03 2.937628620000000046e-13 -5.819300000000000182e+03 2.938820609999999819e-13 -5.824199999999999818e+03 2.951213220000000105e-13 -5.829100000000000364e+03 2.947001550000000252e-13 -5.834000000000000000e+03 2.937192270000000289e-13 -5.838899999999999636e+03 3.010794299999999794e-13 -5.843800000000000182e+03 3.003940200000000036e-13 -5.848699999999999818e+03 3.074373899999999783e-13 -5.853600000000000364e+03 3.115961999999999825e-13 -5.858500000000000000e+03 3.115131299999999817e-13 -5.863399999999999636e+03 3.094195199999999938e-13 -5.868300000000000182e+03 3.120725699999999812e-13 -5.873199999999999818e+03 3.142664700000000250e-13 -5.878100000000000364e+03 3.143117100000000083e-13 -5.883000000000000000e+03 3.149464500000000065e-13 -5.887899999999999636e+03 3.146228100000000129e-13 -5.892800000000000182e+03 3.161912099999999601e-13 -5.897699999999999818e+03 3.171290400000000039e-13 -5.902600000000000364e+03 3.181010399999999921e-13 -5.907500000000000000e+03 3.207039900000000381e-13 -5.912399999999999636e+03 3.245146199999999988e-13 -5.917300000000000182e+03 3.255910799999999863e-13 -5.922199999999999818e+03 3.261171000000000201e-13 -5.927100000000000364e+03 3.250677299999999894e-13 -5.932000000000000000e+03 3.265537800000000081e-13 -5.936899999999999636e+03 3.269923800000000038e-13 -5.941800000000000182e+03 3.262012200000000211e-13 -5.946699999999999818e+03 3.246545400000000005e-13 -5.951600000000000364e+03 3.237155699999999852e-13 -5.956500000000000000e+03 3.214805100000000312e-13 -5.961399999999999636e+03 3.189586500000000144e-13 -5.966300000000000182e+03 3.163255499999999819e-13 -5.971199999999999818e+03 3.136271400000000328e-13 -5.976100000000000364e+03 3.081200399999999966e-13 -5.981000000000000000e+03 3.053952900000000187e-13 -5.985899999999999636e+03 2.997457229999999787e-13 -5.990800000000000182e+03 2.928655979999999904e-13 -5.995699999999999818e+03 2.880703169999999905e-13 -6.000600000000000364e+03 2.850478019999999611e-13 -6.005500000000000000e+03 2.744243879999999986e-13 -6.010399999999999636e+03 2.721705990000000151e-13 -6.015300000000000182e+03 2.650197719999999811e-13 -6.020199999999999818e+03 2.572792770000000131e-13 -6.025100000000000364e+03 2.493495089999999738e-13 -6.030000000000000000e+03 2.420285940000000180e-13 -6.034899999999999636e+03 2.338810349999999806e-13 -6.039800000000000182e+03 2.245208399999999866e-13 -6.044699999999999818e+03 2.151965879999999902e-13 -6.049600000000000364e+03 2.051123219999999949e-13 -6.054500000000000000e+03 1.961683770000000195e-13 -6.059399999999999636e+03 1.881890550000000036e-13 -6.064300000000000182e+03 1.807494180000000036e-13 -6.069199999999999818e+03 1.736093879999999884e-13 -6.074100000000000364e+03 1.669181819999999962e-13 -6.079000000000000000e+03 1.608468029999999924e-13 -6.083899999999999636e+03 1.536196140000000122e-13 -6.088800000000000182e+03 1.491334710000000041e-13 -6.093699999999999818e+03 1.454316360000000006e-13 -6.098600000000000364e+03 1.424786160000000116e-13 -6.103500000000000000e+03 1.419232650000000017e-13 -6.108399999999999636e+03 1.403721659999999878e-13 -6.113300000000000182e+03 1.386330150000000047e-13 -6.118199999999999818e+03 1.400811330000000117e-13 -6.123100000000000364e+03 1.405290659999999869e-13 -6.128000000000000000e+03 1.425184409999999791e-13 -6.132899999999999636e+03 1.462942049999999946e-13 -6.137800000000000182e+03 1.480192770000000071e-13 -6.142699999999999818e+03 1.507263269999999910e-13 -6.147600000000000364e+03 1.542871649999999911e-13 -6.152500000000000000e+03 1.605583529999999867e-13 -6.157399999999999636e+03 1.658836979999999991e-13 -6.162300000000000182e+03 1.710006510000000187e-13 -6.167199999999999818e+03 1.791849300000000084e-13 -6.172100000000000364e+03 1.864923419999999909e-13 -6.177000000000000000e+03 1.926999659999999953e-13 -6.181899999999999636e+03 1.998900300000000016e-13 -6.186800000000000182e+03 2.071903920000000291e-13 -6.191699999999999818e+03 2.135270850000000136e-13 -6.196600000000000364e+03 2.190624449999999852e-13 -6.201500000000000000e+03 2.268549270000000156e-13 -6.206399999999999636e+03 2.340285839999999656e-13 -6.211300000000000182e+03 2.399470859999999844e-13 -6.216199999999999818e+03 2.448888120000000166e-13 -6.221100000000000364e+03 2.500151580000000048e-13 -6.226000000000000000e+03 2.585580929999999946e-13 -6.230899999999999636e+03 2.626514790000000143e-13 -6.235800000000000182e+03 2.722472099999999607e-13 -6.240699999999999818e+03 2.724785819999999813e-13 -6.245600000000000364e+03 2.764397309999999855e-13 -6.250500000000000000e+03 2.821473059999999820e-13 -6.255399999999999636e+03 2.843111309999999816e-13 -6.260300000000000182e+03 2.867657429999999890e-13 -6.265199999999999818e+03 2.854165680000000217e-13 -6.270100000000000364e+03 2.956682190000000153e-13 -6.275000000000000000e+03 2.978154929999999844e-13 -6.279899999999999636e+03 2.991597059999999995e-13 -6.284800000000000182e+03 3.039502200000000183e-13 -6.289699999999999818e+03 3.048155400000000282e-13 -6.294600000000000364e+03 3.090098099999999842e-13 -6.299500000000000000e+03 3.094271100000000031e-13 -6.304399999999999636e+03 2.995364849999999742e-13 -6.309300000000000182e+03 3.019830899999999780e-13 -6.314199999999999818e+03 2.964644189999999993e-13 -6.319100000000000364e+03 2.934742110000000161e-13 -6.324000000000000000e+03 2.929082159999999788e-13 -6.328899999999999636e+03 2.913366570000000135e-13 -6.333800000000000182e+03 2.886848909999999717e-13 -6.338699999999999818e+03 2.897050440000000435e-13 -6.343600000000000364e+03 2.925722129999999834e-13 -6.348500000000000000e+03 2.941242959999999968e-13 -6.353399999999999636e+03 2.994816870000000330e-13 -6.358300000000000182e+03 2.984811389999999592e-13 -6.363199999999999818e+03 2.952028650000000022e-13 -6.368100000000000364e+03 2.971974479999999908e-13 -6.373000000000000000e+03 3.008289000000000128e-13 -6.377899999999999636e+03 2.997598199999999840e-13 -6.382800000000000182e+03 3.074153399999999723e-13 -6.387699999999999818e+03 3.071532600000000026e-13 -6.392600000000000364e+03 3.047172299999999945e-13 -6.397500000000000000e+03 3.038607900000000014e-13 -6.402399999999999636e+03 3.027239099999999615e-13 -6.407300000000000182e+03 2.999109210000000363e-13 -6.412199999999999818e+03 3.013274099999999886e-13 -6.417100000000000364e+03 2.985500819999999980e-13 -6.422000000000000000e+03 3.003085500000000311e-13 -6.426899999999999636e+03 3.003979799999999975e-13 -6.431800000000000182e+03 2.988532799999999990e-13 -6.436699999999999818e+03 2.980828530000000133e-13 -6.441600000000000364e+03 2.944616220000000128e-13 -6.446500000000000000e+03 2.911357170000000170e-13 -6.451399999999999636e+03 2.926335000000000374e-13 -6.456300000000000182e+03 2.910840600000000088e-13 -6.461199999999999818e+03 2.927445060000000068e-13 -6.466100000000000364e+03 2.932575269999999764e-13 -6.471000000000000000e+03 2.932801769999999753e-13 -6.475899999999999636e+03 2.932292909999999861e-13 -6.480800000000000182e+03 2.848557150000000305e-13 -6.485699999999999818e+03 2.859606689999999997e-13 -6.490600000000000364e+03 2.849450909999999940e-13 -6.495500000000000000e+03 2.861123699999999945e-13 -6.500399999999999636e+03 2.814488939999999869e-13 -6.505300000000000182e+03 2.822473379999999960e-13 -6.510199999999999818e+03 2.838099119999999950e-13 -6.515100000000000364e+03 2.829070589999999836e-13 -6.520000000000000000e+03 2.828510850000000017e-13 -6.524899999999999636e+03 2.798390580000000026e-13 -6.529800000000000182e+03 2.783714369999999917e-13 -6.534699999999999818e+03 2.776420620000000113e-13 -6.539600000000000364e+03 2.790330660000000145e-13 -6.544500000000000000e+03 2.718146580000000373e-13 -6.549399999999999636e+03 2.708429610000000261e-13 -6.554300000000000182e+03 2.680137989999999898e-13 -6.559199999999999818e+03 2.729625629999999792e-13 -6.564100000000000364e+03 2.695285890000000090e-13 -6.569000000000000000e+03 2.653152089999999974e-13 -6.573899999999999636e+03 2.651944199999999907e-13 -6.578800000000000182e+03 2.654639609999999740e-13 -6.583699999999999818e+03 2.654640089999999654e-13 -6.588600000000000364e+03 2.678053559999999999e-13 -6.593500000000000000e+03 2.596665990000000312e-13 -6.598399999999999636e+03 2.616543600000000237e-13 -6.603300000000000182e+03 2.592551460000000009e-13 -6.608199999999999818e+03 2.593024619999999892e-13 -6.613100000000000364e+03 2.543147700000000412e-13 -6.618000000000000000e+03 2.529857639999999957e-13 -6.622899999999999636e+03 2.537719380000000304e-13 -6.627800000000000182e+03 2.501930909999999721e-13 -6.632699999999999818e+03 2.483310329999999976e-13 -6.637600000000000364e+03 2.494585650000000292e-13 -6.642500000000000000e+03 2.471128830000000368e-13 -6.647399999999999636e+03 2.478997680000000255e-13 -6.652300000000000182e+03 2.473182629999999912e-13 -6.657199999999999818e+03 2.443761029999999907e-13 -6.662100000000000364e+03 2.468572169999999851e-13 -6.667000000000000000e+03 2.472547499999999972e-13 -6.671899999999999636e+03 2.458194210000000037e-13 -6.676800000000000182e+03 2.422960620000000022e-13 -6.681699999999999818e+03 2.458275929999999713e-13 -6.686600000000000364e+03 2.443277549999999864e-13 -6.691500000000000000e+03 2.397922530000000234e-13 -6.696399999999999636e+03 2.341902449999999847e-13 -6.701300000000000182e+03 2.299364789999999866e-13 -6.706199999999999818e+03 2.300843640000000121e-13 -6.711100000000000364e+03 2.279375730000000127e-13 -6.716000000000000000e+03 2.300787809999999760e-13 -6.720899999999999636e+03 2.293734030000000107e-13 -6.725800000000000182e+03 2.297907420000000035e-13 -6.730699999999999818e+03 2.286660360000000059e-13 -6.735600000000000364e+03 2.286615089999999816e-13 -6.740500000000000000e+03 2.266047629999999957e-13 -6.745399999999999636e+03 2.256262380000000022e-13 -6.750300000000000182e+03 2.229966569999999735e-13 -6.755199999999999818e+03 2.239202430000000071e-13 -6.760100000000000364e+03 2.223989759999999991e-13 -6.765000000000000000e+03 2.227590120000000032e-13 -6.769899999999999636e+03 2.200769670000000044e-13 -6.774800000000000182e+03 2.209956989999999904e-13 -6.779699999999999818e+03 2.209076999999999999e-13 -6.784600000000000364e+03 2.208167249999999898e-13 -6.789500000000000000e+03 2.185454280000000030e-13 -6.794399999999999636e+03 2.187553559999999716e-13 -6.799300000000000182e+03 2.188514610000000048e-13 -6.804199999999999818e+03 2.188341450000000174e-13 -6.809100000000000364e+03 2.163514470000000053e-13 -6.814000000000000000e+03 2.162939610000000179e-13 -6.818899999999999636e+03 2.149623960000000229e-13 -6.823800000000000182e+03 2.150765459999999816e-13 -6.828699999999999818e+03 2.127347189999999830e-13 -6.833600000000000364e+03 2.134996109999999997e-13 -6.838500000000000000e+03 2.122534050000000161e-13 -6.843399999999999636e+03 2.114851079999999877e-13 -6.848300000000000182e+03 2.094269249999999892e-13 -6.853199999999999818e+03 2.073368699999999986e-13 -6.858100000000000364e+03 2.083071749999999827e-13 -6.863000000000000000e+03 2.074022249999999766e-13 -6.867899999999999636e+03 2.079845369999999981e-13 -6.872800000000000182e+03 2.079146130000000160e-13 -6.877699999999999818e+03 2.098357169999999999e-13 -6.882600000000000364e+03 2.085536760000000247e-13 -6.887500000000000000e+03 2.104295040000000065e-13 -6.892399999999999636e+03 2.099104229999999919e-13 -6.897300000000000182e+03 2.083043069999999690e-13 -6.902199999999999818e+03 2.062849080000000055e-13 -6.907100000000000364e+03 2.068264169999999958e-13 -6.912000000000000000e+03 2.070043859999999818e-13 -6.916899999999999636e+03 2.051434620000000177e-13 -6.921800000000000182e+03 2.048516279999999902e-13 -6.926699999999999818e+03 2.055978419999999744e-13 -6.931600000000000364e+03 2.070484079999999951e-13 -6.936500000000000000e+03 2.061591899999999838e-13 -6.941399999999999636e+03 2.031465630000000170e-13 -6.946300000000000182e+03 2.032228320000000116e-13 -6.951199999999999818e+03 2.016513540000000001e-13 -6.956100000000000364e+03 1.984810230000000023e-13 -6.961000000000000000e+03 1.974253679999999988e-13 -6.965899999999999636e+03 1.970773019999999979e-13 -6.970800000000000182e+03 1.949992949999999839e-13 -6.975699999999999818e+03 1.935451559999999818e-13 -6.980600000000000364e+03 1.940170620000000016e-13 -6.985500000000000000e+03 1.943214989999999878e-13 -6.990399999999999636e+03 1.921564139999999879e-13 -6.995300000000000182e+03 1.921974239999999881e-13 -7.000199999999999818e+03 1.935098189999999888e-13 -7.005100000000000364e+03 1.928075370000000215e-13 -7.010000000000000000e+03 1.948698959999999750e-13 -7.014899999999999636e+03 1.969323780000000136e-13 -7.019800000000000182e+03 1.973499539999999827e-13 -7.024699999999999818e+03 1.975573589999999954e-13 -7.029600000000000364e+03 1.975263029999999827e-13 -7.034500000000000000e+03 1.976964030000000034e-13 -7.039399999999999636e+03 1.975645049999999836e-13 -7.044300000000000182e+03 1.957553519999999946e-13 -7.049199999999999818e+03 1.948101059999999985e-13 -7.054100000000000364e+03 1.962251070000000168e-13 -7.059000000000000000e+03 1.970403150000000117e-13 -7.063899999999999636e+03 1.991817390000000118e-13 -7.068800000000000182e+03 1.990766789999999942e-13 -7.073699999999999818e+03 1.981108259999999911e-13 -7.078600000000000364e+03 1.986943650000000000e-13 -7.083500000000000000e+03 1.966119900000000151e-13 -7.088399999999999636e+03 1.957066500000000161e-13 -7.093300000000000182e+03 1.974310470000000176e-13 -7.098199999999999818e+03 1.983250560000000057e-13 -7.103100000000000364e+03 2.006774309999999984e-13 -7.108000000000000000e+03 2.009164110000000124e-13 -7.112899999999999636e+03 2.009363520000000005e-13 -7.117800000000000182e+03 2.012679480000000005e-13 -7.122699999999999818e+03 2.002398119999999965e-13 -7.127600000000000364e+03 1.987045050000000172e-13 -7.132500000000000000e+03 1.969664909999999997e-13 -7.137399999999999636e+03 1.969810920000000152e-13 -7.142300000000000182e+03 1.959036660000000123e-13 -7.147199999999999818e+03 1.942581660000000119e-13 -7.152100000000000364e+03 1.935968879999999827e-13 -7.157000000000000000e+03 1.949093400000000173e-13 -7.161899999999999636e+03 1.955350619999999857e-13 -7.166800000000000182e+03 1.950752880000000030e-13 -7.171699999999999818e+03 1.951367699999999777e-13 -7.176600000000000364e+03 1.948408050000000061e-13 -7.181500000000000000e+03 1.926408329999999953e-13 -7.186399999999999636e+03 1.907811150000000286e-13 -7.191300000000000182e+03 1.912305690000000013e-13 -7.196199999999999818e+03 1.907614829999999786e-13 -7.201100000000000364e+03 1.887129059999999798e-13 -7.206000000000000000e+03 1.876859219999999955e-13 -7.210899999999999636e+03 1.882096530000000186e-13 -7.215800000000000182e+03 1.863551549999999957e-13 -7.220699999999999818e+03 1.837974719999999850e-13 -7.225600000000000364e+03 1.832321130000000099e-13 -7.230500000000000000e+03 1.848326490000000025e-13 -7.235399999999999636e+03 1.846354109999999832e-13 -7.240300000000000182e+03 1.829728169999999933e-13 -7.245199999999999818e+03 1.830012419999999937e-13 -7.250100000000000364e+03 1.832731379999999885e-13 -7.255000000000000000e+03 1.829850150000000060e-13 -7.259899999999999636e+03 1.819678859999999955e-13 -7.264800000000000182e+03 1.824873599999999835e-13 -7.269699999999999818e+03 1.819228020000000093e-13 -7.274600000000000364e+03 1.803103260000000207e-13 -7.279500000000000000e+03 1.792573680000000049e-13 -7.284399999999999636e+03 1.767287970000000035e-13 -7.289300000000000182e+03 1.757017320000000149e-13 -7.294199999999999818e+03 1.754170559999999987e-13 -7.299100000000000364e+03 1.748993040000000162e-13 -7.304000000000000000e+03 1.736399429999999966e-13 -7.308899999999999636e+03 1.739192969999999739e-13 -7.313800000000000182e+03 1.738293270000000290e-13 -7.318699999999999818e+03 1.723726859999999850e-13 -7.323600000000000364e+03 1.704880770000000002e-13 -7.328500000000000000e+03 1.688259930000000068e-13 -7.333399999999999636e+03 1.680926489999999900e-13 -7.338300000000000182e+03 1.667021099999999978e-13 -7.343199999999999818e+03 1.660497149999999913e-13 -7.348100000000000364e+03 1.659016319999999888e-13 -7.353000000000000000e+03 1.658838090000000107e-13 -7.357899999999999636e+03 1.677448469999999921e-13 -7.362800000000000182e+03 1.675744620000000038e-13 -7.367699999999999818e+03 1.669260539999999926e-13 -7.372600000000000364e+03 1.660962659999999973e-13 -7.377500000000000000e+03 1.662266399999999885e-13 -7.382399999999999636e+03 1.658106149999999989e-13 -7.387300000000000182e+03 1.634111459999999905e-13 -7.392199999999999818e+03 1.648520490000000028e-13 -7.397100000000000364e+03 1.666052399999999825e-13 -7.402000000000000000e+03 1.658503470000000146e-13 -7.406899999999999636e+03 1.677737669999999855e-13 -7.411800000000000182e+03 1.666198050000000044e-13 -7.416699999999999818e+03 1.640412809999999910e-13 -7.421600000000000364e+03 1.629873570000000103e-13 -7.426500000000000000e+03 1.604798610000000074e-13 -7.431399999999999636e+03 1.569308279999999961e-13 -7.436300000000000182e+03 1.545574950000000027e-13 -7.441199999999999818e+03 1.533486690000000040e-13 -7.446100000000000364e+03 1.526180160000000138e-13 -7.451000000000000000e+03 1.498705620000000089e-13 -7.455899999999999636e+03 1.466588309999999927e-13 -7.460800000000000182e+03 1.443016800000000015e-13 -7.465699999999999818e+03 1.433104559999999908e-13 -7.470600000000000364e+03 1.425331260000000047e-13 -7.475500000000000000e+03 1.403215499999999879e-13 -7.480399999999999636e+03 1.397259960000000154e-13 -7.485300000000000182e+03 1.389421499999999907e-13 -7.490199999999999818e+03 1.377831629999999867e-13 -7.495100000000000364e+03 1.366560000000000086e-13 -7.500000000000000000e+03 1.359036870000000054e-13 -7.504899999999999636e+03 1.356736500000000032e-13 -7.509800000000000182e+03 1.353023610000000119e-13 -7.514699999999999818e+03 1.356346949999999927e-13 -7.519600000000000364e+03 1.347448889999999863e-13 -7.524500000000000000e+03 1.350780720000000098e-13 -7.529399999999999636e+03 1.351698120000000021e-13 -7.534300000000000182e+03 1.358917830000000029e-13 -7.539199999999999818e+03 1.356505139999999782e-13 -7.544100000000000364e+03 1.347601949999999948e-13 -7.549000000000000000e+03 1.336069859999999981e-13 -7.553899999999999636e+03 1.345258650000000145e-13 -7.558800000000000182e+03 1.355890590000000049e-13 -7.563699999999999818e+03 1.359044819999999948e-13 -7.568600000000000364e+03 1.352223270000000199e-13 -7.573500100000000202e+03 1.365544709999999928e-13 -7.578400099999999838e+03 1.385601629999999944e-13 -7.583300100000000384e+03 1.378194300000000016e-13 -7.588200100000000020e+03 1.388958239999999883e-13 -7.593100099999999657e+03 1.399893659999999927e-13 -7.598000100000000202e+03 1.381617959999999937e-13 -7.602900099999999838e+03 1.374555839999999892e-13 -7.607800100000000384e+03 1.396024229999999799e-13 -7.612700100000000020e+03 1.403121930000000128e-13 -7.617600099999999657e+03 1.416842520000000000e-13 -7.622500100000000202e+03 1.425945479999999903e-13 -7.627400099999999838e+03 1.439748599999999999e-13 -7.632300100000000384e+03 1.445312310000000029e-13 -7.637200100000000020e+03 1.434808710000000116e-13 -7.642100099999999657e+03 1.457754209999999960e-13 -7.647000100000000202e+03 1.470397409999999873e-13 -7.651900099999999838e+03 1.469999219999999809e-13 -7.656800100000000384e+03 1.482375510000000004e-13 -7.661700100000000020e+03 1.478996549999999986e-13 -7.666600099999999657e+03 1.494362189999999978e-13 -7.671500100000000202e+03 1.496521829999999904e-13 -7.676400099999999838e+03 1.513482540000000052e-13 -7.681300100000000384e+03 1.506919709999999918e-13 -7.686200100000000020e+03 1.522058820000000116e-13 -7.691100099999999657e+03 1.552351229999999785e-13 -7.696000100000000202e+03 1.572296730000000046e-13 -7.700900099999999838e+03 1.579432529999999952e-13 -7.705800100000000384e+03 1.579261289999999985e-13 -7.710700100000000020e+03 1.586396130000000064e-13 -7.715600099999999657e+03 1.599375990000000075e-13 -7.720500100000000202e+03 1.606549650000000106e-13 -7.725400099999999838e+03 1.603050269999999934e-13 -7.730300100000000384e+03 1.614163080000000163e-13 -7.735200100000000020e+03 1.609354649999999962e-13 -7.740100099999999657e+03 1.636171170000000215e-13 -7.745000100000000202e+03 1.624719060000000111e-13 -7.749900099999999838e+03 1.652121269999999867e-13 -7.754800100000000384e+03 1.640147700000000120e-13 -7.759700100000000020e+03 1.646577179999999965e-13 -7.764600099999999657e+03 1.664123819999999824e-13 -7.769500100000000202e+03 1.679324220000000030e-13 -7.774400099999999838e+03 1.652895059999999960e-13 -7.779300100000000384e+03 1.652562509999999943e-13 -7.784200100000000020e+03 1.631833620000000055e-13 -7.789100099999999657e+03 1.638841890000000013e-13 -7.794000100000000202e+03 1.639394130000000046e-13 -7.798900099999999838e+03 1.639179450000000075e-13 -7.803800100000000384e+03 1.624318140000000097e-13 -7.808700100000000020e+03 1.596919139999999953e-13 -7.813600099999999657e+03 1.591989720000000015e-13 -7.818500100000000202e+03 1.618318409999999935e-13 -7.823400099999999838e+03 1.602193559999999876e-13 -7.828300100000000384e+03 1.602402719999999831e-13 -7.833200100000000020e+03 1.586560530000000000e-13 -7.838100099999999657e+03 1.579163400000000002e-13 -7.843000100000000202e+03 1.551581880000000155e-13 -7.847900099999999838e+03 1.523284080000000021e-13 -7.852800100000000384e+03 1.552771950000000021e-13 -7.857700100000000020e+03 1.557499529999999948e-13 -7.862600099999999657e+03 1.564815449999999989e-13 -7.867500100000000202e+03 1.557531990000000036e-13 -7.872400099999999838e+03 1.572416400000000021e-13 -7.877300100000000384e+03 1.548684510000000080e-13 -7.882200100000000020e+03 1.509187079999999823e-13 -7.887100099999999657e+03 1.513732650000000018e-13 -7.892000100000000202e+03 1.520490720000000089e-13 -7.896900099999999838e+03 1.478679540000000074e-13 -7.901800100000000384e+03 1.471022309999999825e-13 -7.906700100000000020e+03 1.449862920000000074e-13 -7.911600099999999657e+03 1.421982839999999959e-13 -7.916500100000000202e+03 1.414899150000000074e-13 -7.921400099999999838e+03 1.393348859999999892e-13 -7.926300100000000384e+03 1.395801089999999963e-13 -7.931200100000000020e+03 1.371515460000000132e-13 -7.936100099999999657e+03 1.354305119999999931e-13 -7.941000100000000202e+03 1.322311200000000084e-13 -7.945900099999999838e+03 1.315793700000000056e-13 -7.950800100000000384e+03 1.285266600000000042e-13 -7.955700100000000020e+03 1.232716110000000079e-13 -7.960600099999999657e+03 1.225175969999999891e-13 -7.965500100000000202e+03 1.210628250000000062e-13 -7.970400099999999838e+03 1.158178140000000076e-13 -7.975300100000000384e+03 1.120643580000000147e-13 -7.980200100000000020e+03 1.096614779999999957e-13 -7.985100099999999657e+03 1.054350059999999934e-13 -7.990000100000000202e+03 1.040062620000000072e-13 -7.994900099999999838e+03 1.021299420000000130e-13 -7.999800100000000384e+03 1.017436379999999924e-13 -8.004700100000000020e+03 1.003631910000000008e-13 -8.009600099999999657e+03 1.008031890000000099e-13 -8.014500100000000202e+03 1.004153279999999983e-13 -8.019400099999999838e+03 1.012438619999999921e-13 -8.024300100000000384e+03 1.000196400000000011e-13 -8.029200100000000020e+03 9.983979899999999876e-14 -8.034100099999999657e+03 1.013946330000000028e-13 -8.039000100000000202e+03 9.944356799999999211e-14 -8.043900099999999838e+03 1.003046699999999915e-13 -8.048800100000000384e+03 1.017203609999999991e-13 -8.053700100000000020e+03 1.015126650000000073e-13 -8.058600099999999657e+03 1.018084559999999976e-13 -8.063500100000000202e+03 1.044544289999999907e-13 -8.068400099999999838e+03 1.058548230000000072e-13 -8.073300100000000384e+03 1.040501879999999873e-13 -8.078200100000000020e+03 1.050598710000000004e-13 -8.083100099999999657e+03 1.043488109999999979e-13 -8.088000100000000202e+03 1.035715049999999948e-13 -8.092900099999999838e+03 1.027856610000000017e-13 -8.097800100000000384e+03 1.009685309999999910e-13 -8.102700100000000020e+03 9.928330799999999214e-14 -8.107600099999999657e+03 1.004845470000000126e-13 -8.112500100000000202e+03 1.001179920000000021e-13 -8.117400099999999838e+03 1.005821849999999906e-13 -8.122300100000000384e+03 9.899488200000000736e-14 -8.127200100000000020e+03 9.840248399999999682e-14 -8.132100099999999657e+03 9.852031500000000589e-14 -8.137000100000000202e+03 9.893045100000000188e-14 -8.141900099999999838e+03 9.628087200000001436e-14 -8.146800100000000384e+03 9.493758900000000859e-14 -8.151700100000000020e+03 9.432483300000000301e-14 -8.156600099999999657e+03 9.337432500000000764e-14 -8.161500100000000202e+03 9.112178700000000717e-14 -8.166400099999999838e+03 9.015727500000000875e-14 -8.171300100000000384e+03 8.880635399999998973e-14 -8.176200100000000020e+03 8.871753000000000254e-14 -8.181100099999999657e+03 8.904371699999999823e-14 -8.186000100000000202e+03 8.788188299999999561e-14 -8.190900099999999838e+03 8.933834099999999046e-14 -8.195800100000000384e+03 8.942451300000000072e-14 -8.200700100000000020e+03 8.820235199999999842e-14 -8.205600099999999657e+03 8.593421699999998508e-14 -8.210500099999999293e+03 8.870200199999999619e-14 -8.215400100000000748e+03 8.774278499999999739e-14 -8.220300100000000384e+03 8.954222100000000039e-14 -8.225200100000000020e+03 9.128115599999998454e-14 -8.230100099999999657e+03 9.134501700000000429e-14 -8.235000099999999293e+03 9.208735799999999795e-14 -8.239900100000000748e+03 9.379164599999999114e-14 -8.244800100000000384e+03 9.532876799999999080e-14 -8.249700100000000020e+03 9.759893700000000396e-14 -8.254600099999999657e+03 9.825759300000000028e-14 -8.259500099999999293e+03 1.009075800000000027e-13 -8.264400100000000748e+03 1.018147619999999856e-13 -8.269300100000000384e+03 1.000793130000000050e-13 -8.274200100000000020e+03 1.005185190000000052e-13 -8.279100099999999657e+03 1.025449830000000031e-13 -8.284000099999999293e+03 1.020221399999999969e-13 -8.288900100000000748e+03 1.005486719999999975e-13 -8.293800100000000384e+03 9.940209300000000616e-14 -8.298700100000000020e+03 1.007320949999999986e-13 -8.303600099999999657e+03 1.006944720000000007e-13 -8.308500099999999293e+03 1.019240430000000068e-13 -8.313400100000000748e+03 1.007871120000000077e-13 -8.318300100000000384e+03 1.004506080000000078e-13 -8.323200100000000020e+03 9.914914200000000210e-14 -8.328100099999999657e+03 1.010245980000000004e-13 -8.333000099999999293e+03 1.017329069999999996e-13 -8.337900100000000748e+03 1.034720280000000008e-13 -8.342800100000000384e+03 1.042020870000000095e-13 -8.347700100000000020e+03 1.059735930000000050e-13 -8.352600099999999657e+03 1.093818000000000136e-13 -8.357500099999999293e+03 1.110894359999999846e-13 -8.362400100000000748e+03 1.122023280000000014e-13 -8.367300100000000384e+03 1.130910899999999939e-13 -8.372200100000000020e+03 1.152613500000000024e-13 -8.377100099999999657e+03 1.181245049999999960e-13 -8.382000099999999293e+03 1.175757179999999907e-13 -8.386900100000000748e+03 1.184762579999999957e-13 -8.391800100000000384e+03 1.211673630000000042e-13 -8.396700100000000020e+03 1.235838449999999976e-13 -8.401600099999999657e+03 1.265073989999999779e-13 -8.406500099999999293e+03 1.229885700000000065e-13 -8.411400100000000748e+03 1.241427839999999927e-13 -8.416300100000000384e+03 1.266675690000000067e-13 -8.421200100000000020e+03 1.287691680000000141e-13 -8.426100099999999657e+03 1.293614640000000051e-13 -8.431000099999999293e+03 1.302432900000000094e-13 -8.435900100000000748e+03 1.311022469999999973e-13 -8.440800100000000384e+03 1.296555270000000037e-13 -8.445700100000000020e+03 1.312013340000000111e-13 -8.450600099999999657e+03 1.342183109999999899e-13 -8.455500099999999293e+03 1.365336269999999842e-13 -8.460400100000000748e+03 1.365471930000000030e-13 -8.465300100000000384e+03 1.347167069999999989e-13 -8.470200100000000020e+03 1.345802610000000154e-13 -8.475100099999999657e+03 1.359123210000000034e-13 -8.480000099999999293e+03 1.362564059999999953e-13 -8.484900100000000748e+03 1.364905769999999979e-13 -8.489800100000000384e+03 1.381338179999999948e-13 -8.494700100000000020e+03 1.375328910000000115e-13 -8.499600099999999657e+03 1.383758579999999880e-13 -8.504500099999999293e+03 1.392347790000000077e-13 -8.509400100000000748e+03 1.408511279999999995e-13 -8.514300100000000384e+03 1.416440159999999992e-13 -8.519200100000000020e+03 1.400658690000000083e-13 -8.524100099999999657e+03 1.399439699999999870e-13 -8.529000099999999293e+03 1.412337570000000191e-13 -8.533900100000000748e+03 1.418666070000000167e-13 -8.538800100000000384e+03 1.413465090000000149e-13 -8.543700100000000020e+03 1.396751819999999880e-13 -8.548600099999999657e+03 1.392407370000000078e-13 -8.553500099999999293e+03 1.390105530000000005e-13 -8.558400100000000748e+03 1.380276389999999957e-13 -8.563300100000000384e+03 1.378298069999999950e-13 -8.568200100000000020e+03 1.380506220000000041e-13 -8.573100099999999657e+03 1.377344009999999938e-13 -8.578000099999999293e+03 1.380105509999999925e-13 -8.582900100000000748e+03 1.379603490000000064e-13 -8.587800100000000384e+03 1.400826270000000078e-13 -8.592700100000000020e+03 1.419384449999999950e-13 -8.597600099999999657e+03 1.417760580000000183e-13 -8.602500099999999293e+03 1.412316839999999947e-13 -8.607400100000000748e+03 1.401607290000000195e-13 -8.612300100000000384e+03 1.401775409999999966e-13 -8.617200100000000020e+03 1.416655410000000050e-13 -8.622100099999999657e+03 1.417737359999999945e-13 -8.627000099999999293e+03 1.398695639999999914e-13 -8.631900100000000748e+03 1.386719100000000008e-13 -8.636800100000000384e+03 1.362079980000000017e-13 -8.641700100000000020e+03 1.368758250000000066e-13 -8.646600099999999657e+03 1.399939650000000041e-13 -8.651500099999999293e+03 1.402691820000000004e-13 -8.656400100000000748e+03 1.381549379999999788e-13 -8.661300100000000384e+03 1.388606159999999911e-13 -8.666200100000000020e+03 1.398323520000000016e-13 -8.671100099999999657e+03 1.389986280000000081e-13 -8.676000099999999293e+03 1.376730210000000133e-13 -8.680900100000000748e+03 1.389807209999999947e-13 -8.685800100000000384e+03 1.387804139999999788e-13 -8.690700100000000020e+03 1.369799099999999914e-13 -8.695600099999999657e+03 1.377316380000000053e-13 -8.700500099999999293e+03 1.382615039999999903e-13 -8.705400100000000748e+03 1.371125879999999969e-13 -8.710300100000000384e+03 1.367091329999999782e-13 -8.715200100000000020e+03 1.370779949999999962e-13 -8.720100099999999657e+03 1.362941970000000134e-13 -8.725000099999999293e+03 1.333200510000000036e-13 -8.729900100000000748e+03 1.331824199999999874e-13 -8.734800100000000384e+03 1.336883699999999868e-13 -8.739700100000000020e+03 1.321225140000000108e-13 -8.744600099999999657e+03 1.322413170000000090e-13 -8.749500099999999293e+03 1.325563920000000110e-13 -8.754400100000000748e+03 1.322379419999999792e-13 -8.759300100000000384e+03 1.321396920000000104e-13 -8.764200100000000020e+03 1.304190809999999962e-13 -8.769100099999999657e+03 1.291168979999999997e-13 -8.774000099999999293e+03 1.293091350000000170e-13 -8.778900100000000748e+03 1.296462900000000070e-13 -8.783800100000000384e+03 1.287552030000000103e-13 -8.788700100000000020e+03 1.266716910000000093e-13 -8.793600099999999657e+03 1.272700260000000048e-13 -8.798500099999999293e+03 1.256030520000000210e-13 -8.803400100000000748e+03 1.241363490000000090e-13 -8.808300100000000384e+03 1.238822429999999794e-13 -8.813200100000000020e+03 1.205304720000000083e-13 -8.818100099999999657e+03 1.191141089999999954e-13 -8.823000099999999293e+03 1.196075190000000059e-13 -8.827900100000000748e+03 1.176211050000000044e-13 -8.832800100000000384e+03 1.163028840000000050e-13 -8.837700100000000020e+03 1.149441000000000070e-13 -8.842600099999999657e+03 1.128837959999999927e-13 -8.847500099999999293e+03 1.116862410000000032e-13 -8.852400100000000748e+03 1.108221930000000041e-13 -8.857300100000000384e+03 1.098098429999999978e-13 -8.862200100000000020e+03 1.084197090000000021e-13 -8.867100099999999657e+03 1.071423030000000066e-13 -8.872000099999999293e+03 1.054894530000000042e-13 -8.876900100000000748e+03 1.038241469999999977e-13 -8.881800100000000384e+03 1.029095009999999954e-13 -8.886700100000000020e+03 1.025526959999999965e-13 -8.891600099999999657e+03 1.026446369999999968e-13 -8.896500099999999293e+03 1.020208019999999980e-13 -8.901400100000000748e+03 1.016476860000000012e-13 -8.906300100000000384e+03 1.008145380000000050e-13 -8.911200100000000020e+03 1.008028530000000073e-13 -8.916100099999999657e+03 1.020239940000000039e-13 -8.921000099999999293e+03 1.021751640000000122e-13 -8.925900100000000748e+03 1.013104109999999949e-13 -8.930800100000000384e+03 1.008126270000000146e-13 -8.935700100000000020e+03 1.014136500000000058e-13 -8.940600099999999657e+03 1.017218250000000132e-13 -8.945500099999999293e+03 1.022148749999999876e-13 -8.950400100000000748e+03 1.012108710000000059e-13 -8.955300100000000384e+03 1.029332009999999946e-13 -8.960200100000000020e+03 1.031457029999999921e-13 -8.965100099999999657e+03 1.028203829999999980e-13 -8.970000099999999293e+03 1.031224200000000125e-13 -8.974900100000000748e+03 1.031767110000000008e-13 -8.979800100000000384e+03 1.043221139999999892e-13 -8.984700100000000020e+03 1.030453590000000090e-13 -8.989600099999999657e+03 1.024324319999999900e-13 -8.994500099999999293e+03 1.028725230000000013e-13 -8.999400100000000748e+03 1.015463070000000088e-13 -9.004300100000000384e+03 1.021422809999999940e-13 -9.009200100000000020e+03 1.025757570000000034e-13 -9.014100099999999657e+03 1.027639079999999864e-13 -9.019000099999999293e+03 1.031421569999999868e-13 -9.023900100000000748e+03 1.021723260000000057e-13 -9.028800100000000384e+03 1.005888540000000079e-13 -9.033700100000000020e+03 1.002152969999999959e-13 -9.038600099999999657e+03 1.001709389999999925e-13 -9.043500099999999293e+03 9.908843099999999582e-14 -9.048400100000000748e+03 1.001423429999999913e-13 -9.053300100000000384e+03 1.007369069999999905e-13 -9.058200100000000020e+03 1.025107380000000029e-13 -9.063100099999999657e+03 1.020250980000000071e-13 -9.068000099999999293e+03 1.011065010000000030e-13 -9.072900100000000748e+03 1.023708869999999951e-13 -9.077800100000000384e+03 1.034759219999999939e-13 -9.082700100000000020e+03 1.020598710000000006e-13 -9.087600099999999657e+03 1.023552840000000085e-13 -9.092500099999999293e+03 1.048733940000000064e-13 -9.097400100000000748e+03 1.042130639999999959e-13 -9.102300100000000384e+03 1.038794700000000022e-13 -9.107200100000000020e+03 1.034602980000000048e-13 -9.112100099999999657e+03 1.036862730000000063e-13 -9.117000099999999293e+03 1.040800020000000090e-13 -9.121900100000000748e+03 1.037402670000000039e-13 -9.126800100000000384e+03 1.064605049999999863e-13 -9.131700100000000020e+03 1.044952979999999974e-13 -9.136600099999999657e+03 1.047428549999999881e-13 -9.141500099999999293e+03 1.045536119999999998e-13 -9.146400100000000748e+03 1.079832659999999904e-13 -9.151300100000000384e+03 1.067608500000000024e-13 -9.156200100000000020e+03 1.076022300000000059e-13 -9.161100099999999657e+03 1.075591649999999906e-13 -9.166000099999999293e+03 1.066086480000000032e-13 -9.170900100000000748e+03 1.056934110000000001e-13 -9.175800100000000384e+03 1.059472049999999975e-13 -9.180700100000000020e+03 1.054329809999999983e-13 -9.185600099999999657e+03 1.073352599999999951e-13 -9.190500099999999293e+03 1.063431780000000001e-13 -9.195400100000000748e+03 1.054522169999999934e-13 -9.200300100000000384e+03 1.052197289999999970e-13 -9.205200100000000020e+03 1.050549000000000056e-13 -9.210100099999999657e+03 1.057382010000000013e-13 -9.215000099999999293e+03 1.055240039999999998e-13 -9.219900100000000748e+03 1.065663239999999997e-13 -9.224800100000000384e+03 1.064168669999999922e-13 -9.229700100000000020e+03 1.060804679999999923e-13 -9.234600099999999657e+03 1.066643669999999995e-13 -9.239500099999999293e+03 1.047437909999999963e-13 -9.244400100000000748e+03 1.061933340000000055e-13 -9.249300100000000384e+03 1.051765019999999983e-13 -9.254200100000000020e+03 1.050403439999999883e-13 -9.259100099999999657e+03 1.054313760000000033e-13 -9.264000099999999293e+03 1.043131559999999991e-13 -9.268900100000000748e+03 1.037792670000000000e-13 -9.273800100000000384e+03 1.029064019999999917e-13 -9.278700100000000020e+03 1.027082160000000042e-13 -9.283600099999999657e+03 1.026446429999999957e-13 -9.288500099999999293e+03 1.029314339999999909e-13 -9.293400100000000748e+03 1.034128199999999953e-13 -9.298300100000000384e+03 1.026350280000000039e-13 -9.303200100000000020e+03 1.045062239999999992e-13 -9.308100099999999657e+03 1.049268180000000056e-13 -9.313000099999999293e+03 1.036802940000000036e-13 -9.317900100000000748e+03 1.020221339999999853e-13 -9.322800100000000384e+03 1.026821220000000069e-13 -9.327700100000000020e+03 1.022447250000000028e-13 -9.332600099999999657e+03 1.024928669999999955e-13 -9.337500099999999293e+03 1.018918109999999913e-13 -9.342400100000000748e+03 1.013803080000000008e-13 -9.347300100000000384e+03 1.010961870000000045e-13 -9.352200100000000020e+03 1.008008550000000136e-13 -9.357100099999999657e+03 9.896931299999999758e-14 -9.362000099999999293e+03 1.001703929999999899e-13 -9.366900100000000748e+03 9.965928300000001064e-14 -9.371800100000000384e+03 9.960012000000000333e-14 -9.376700100000000020e+03 9.870247200000000780e-14 -9.381600099999999657e+03 9.878557499999999632e-14 -9.386500099999999293e+03 9.887633700000000062e-14 -9.391400100000000748e+03 1.001171580000000007e-13 -9.396300100000000384e+03 9.934439999999999925e-14 -9.401200100000000020e+03 9.668088300000000942e-14 -9.406100099999999657e+03 9.762777299999999984e-14 -9.411000099999999293e+03 9.804152700000001339e-14 -9.415900100000000748e+03 9.533672100000000412e-14 -9.420800100000000384e+03 9.373461599999999739e-14 -9.425700100000000020e+03 9.499431899999999324e-14 -9.430600099999999657e+03 9.530725200000000230e-14 -9.435500099999999293e+03 9.365180399999998803e-14 -9.440400100000000748e+03 9.520112100000000720e-14 -9.445300100000000384e+03 9.159180600000000705e-14 -9.450200100000000020e+03 9.175505399999999916e-14 -9.455100099999999657e+03 9.072040200000000706e-14 -9.460000099999999293e+03 9.102569399999999711e-14 -9.464900100000000748e+03 9.020206200000000424e-14 -9.469800100000000384e+03 9.024140099999999610e-14 -9.474700100000000020e+03 8.806286700000000045e-14 -9.479600099999999657e+03 8.796148799999999546e-14 -9.484500099999999293e+03 8.898837900000000278e-14 -9.489400100000000748e+03 8.950449299999998985e-14 -9.494300100000000384e+03 8.815952699999999047e-14 -9.499200100000000020e+03 8.844813900000000487e-14 -9.504100099999999657e+03 8.742498000000000721e-14 -9.509000099999999293e+03 8.588364900000000173e-14 -9.513900100000000748e+03 8.691135600000001360e-14 -9.518800100000000384e+03 8.504921400000000378e-14 -9.523700100000000020e+03 8.355466499999999433e-14 -9.528600099999999657e+03 8.422050899999999656e-14 -9.533500099999999293e+03 8.542280699999999675e-14 -9.538400100000000748e+03 8.341798199999999676e-14 -9.543300100000000384e+03 8.273647500000000618e-14 -9.548200100000000020e+03 8.247977700000000147e-14 -9.553100099999999657e+03 8.208130800000000647e-14 -9.558000099999999293e+03 8.232857699999999854e-14 -9.562900100000000748e+03 8.172164700000000427e-14 -9.567800100000000384e+03 8.026808699999999254e-14 -9.572700100000000020e+03 8.186064299999999562e-14 -9.577600099999999657e+03 8.180952899999999697e-14 -9.582500099999999293e+03 8.092130699999999569e-14 -9.587400100000000748e+03 7.956042299999999706e-14 -9.592300100000000384e+03 8.041495499999999286e-14 -9.597200100000000020e+03 7.984894499999998980e-14 -9.602100099999999657e+03 7.960054500000000572e-14 -9.607000099999999293e+03 7.914634500000000398e-14 -9.611900100000000748e+03 7.924010400000000512e-14 -9.616800100000000384e+03 7.886766899999999298e-14 -9.621700100000000020e+03 7.681408799999999895e-14 -9.626600099999999657e+03 7.705881300000000728e-14 -9.631500099999999293e+03 7.671319499999999481e-14 -9.636400100000000748e+03 7.714737900000000305e-14 -9.641300100000000384e+03 7.722696600000000613e-14 -9.646200100000000020e+03 7.700876700000000568e-14 -9.651100099999999657e+03 7.759864800000000869e-14 -9.656000099999999293e+03 7.580578199999999664e-14 -9.660900100000000748e+03 7.647716700000000469e-14 -9.665800100000000384e+03 7.667573099999999985e-14 -9.670700100000000020e+03 7.573904999999999523e-14 -9.675600099999999657e+03 7.573884899999999986e-14 -9.680500099999999293e+03 7.474154399999999223e-14 -9.685400100000000748e+03 7.391462700000000388e-14 -9.690300100000000384e+03 7.445232900000000435e-14 -9.695200100000000020e+03 7.552325700000000336e-14 -9.700100099999999657e+03 7.354781099999999615e-14 -9.705000099999999293e+03 7.261581600000000613e-14 -9.709900100000000748e+03 7.188028199999999232e-14 -9.714800100000000384e+03 7.200038400000000272e-14 -9.719700100000000020e+03 7.064364900000000810e-14 -9.724600099999999657e+03 7.026871200000000467e-14 -9.729500099999999293e+03 7.146815099999999580e-14 -9.734400100000000748e+03 7.153943699999999772e-14 -9.739300100000000384e+03 7.072037100000000320e-14 -9.744200100000000020e+03 7.057759499999999821e-14 -9.749100099999999657e+03 7.096142099999999791e-14 -9.754000099999999293e+03 7.015990499999999911e-14 -9.758900100000000748e+03 6.982683899999999868e-14 -9.763800100000000384e+03 6.985059000000000761e-14 -9.768700100000000020e+03 7.015774499999999672e-14 -9.773600099999999657e+03 6.947816699999999332e-14 -9.778500099999999293e+03 6.953819100000000338e-14 -9.783400100000000748e+03 6.969011099999999028e-14 -9.788300100000000384e+03 6.974871599999999708e-14 -9.793200100000000020e+03 6.955799400000000368e-14 -9.798100099999999657e+03 6.942487500000000815e-14 -9.803000099999999293e+03 6.956454300000000472e-14 -9.807900100000000748e+03 6.915447899999999578e-14 -9.812800100000000384e+03 6.968058599999999492e-14 -9.817700100000000020e+03 6.963318000000001026e-14 -9.822600099999999657e+03 6.892326299999999758e-14 -9.827500099999999293e+03 6.831049799999999994e-14 -9.832400100000000748e+03 6.843485099999999599e-14 -9.837300100000000384e+03 6.862392900000000770e-14 -9.842200100000000020e+03 6.856812000000000237e-14 -9.847100099999999657e+03 6.890846400000000513e-14 -9.852000099999999293e+03 6.916353899999999281e-14 -9.856900100000000748e+03 6.900098700000000160e-14 -9.861800100000000384e+03 6.916157399999999949e-14 -9.866700100000000020e+03 6.792179099999998919e-14 -9.871600099999999657e+03 6.769706400000000284e-14 -9.876500099999999293e+03 6.874158900000000338e-14 -9.881400100000000748e+03 6.861563400000000546e-14 -9.886300100000000384e+03 6.898144799999999164e-14 -9.891200100000000020e+03 6.881781299999999978e-14 -9.896100099999999657e+03 6.809291700000000182e-14 -9.901000099999999293e+03 6.810674699999999834e-14 -9.905900100000000748e+03 6.831471300000000468e-14 -9.910800100000000384e+03 6.790064099999999790e-14 -9.915700100000000020e+03 6.630845699999999096e-14 -9.920600099999999657e+03 6.644180399999999593e-14 -9.925500099999999293e+03 6.702269100000000264e-14 -9.930400100000000748e+03 6.666667200000000106e-14 -9.935300100000000384e+03 6.549996899999999785e-14 -9.940200100000000020e+03 6.495115500000000376e-14 -9.945100099999999657e+03 6.440884799999999303e-14 -9.950000099999999293e+03 6.395016900000000884e-14 -9.954900100000000748e+03 6.450120000000000136e-14 -9.959800100000000384e+03 6.517934099999999212e-14 -9.964700100000000020e+03 6.463800900000000149e-14 -9.969600099999999657e+03 6.421934700000000069e-14 -9.974500099999999293e+03 6.504088500000000453e-14 -9.979400100000000748e+03 6.582923700000000050e-14 -9.984300100000000384e+03 6.521490300000000136e-14 -9.989200100000000020e+03 6.496581900000000159e-14 -9.994100099999999657e+03 6.451449299999999990e-14 -9.999000099999999293e+03 6.461735400000000313e-14 -1.000389999999999964e+04 6.478121700000000443e-14 -1.000879999999999927e+04 6.453051599999999918e-14 -1.001370000000000073e+04 6.484269300000000551e-14 -1.001860000000000036e+04 6.535440599999999608e-14 -1.002350000000000000e+04 6.610199099999999223e-14 -1.002839999999999964e+04 6.556517400000000282e-14 -1.003329999999999927e+04 6.556379700000000462e-14 -1.003820000000000073e+04 6.481619999999999800e-14 -1.004310000000000036e+04 6.406590299999999787e-14 -1.004800000000000000e+04 6.403416299999999472e-14 -1.005289999999999964e+04 6.394892100000000634e-14 -1.005779999999999927e+04 6.278585099999999906e-14 -1.006270000000000073e+04 6.316002600000000084e-14 -1.006760000000000036e+04 6.362958299999999555e-14 -1.007250000000000000e+04 6.302441100000000031e-14 -1.007739999999999964e+04 6.274889099999998908e-14 -1.008229999999999927e+04 6.246730800000000290e-14 -1.008720000000000073e+04 6.178926600000000063e-14 -1.009210000000000036e+04 6.191642100000000970e-14 -1.009700000000000000e+04 6.265330500000000765e-14 -1.010189999999999964e+04 6.258655499999999685e-14 -1.010679999999999927e+04 6.272366400000000608e-14 -1.011170000000000073e+04 6.300449399999999530e-14 -1.011660000000000036e+04 6.272133900000000185e-14 -1.012150000000000000e+04 6.277074299999999282e-14 -1.012639999999999964e+04 6.346268100000000497e-14 -1.013129999999999927e+04 6.323811299999999631e-14 -1.013620000000000073e+04 6.235815600000000266e-14 -1.014110000000000036e+04 6.254079300000000650e-14 -1.014600000000000000e+04 6.148387499999999685e-14 -1.015089999999999964e+04 6.237559200000000629e-14 -1.015579999999999927e+04 6.151317000000000475e-14 -1.016070000000000073e+04 6.132846299999999495e-14 -1.016560000000000036e+04 6.032291700000000060e-14 -1.017050000000000000e+04 6.165375000000000121e-14 -1.017539999999999964e+04 6.103342800000000730e-14 -1.018029999999999927e+04 6.055243199999999581e-14 -1.018520000000000073e+04 5.987712300000000004e-14 -1.019010000000000036e+04 5.965173300000000054e-14 -1.019500000000000000e+04 5.965200900000000133e-14 -1.019989999999999964e+04 5.964073799999999216e-14 -1.020479999999999927e+04 5.920895699999999935e-14 -1.020970000000000073e+04 5.932628399999999819e-14 -1.021460000000000036e+04 5.959167600000000272e-14 -1.021950000000000000e+04 5.776900800000000464e-14 -1.022439999999999964e+04 5.979466199999999691e-14 -1.022929999999999927e+04 5.910422099999999922e-14 -1.023420000000000073e+04 5.912577599999999963e-14 -1.023910000000000036e+04 5.931351599999999980e-14 -1.024400000000000000e+04 5.833610400000000150e-14 -1.024889999999999964e+04 5.809794600000000359e-14 -1.025379999999999927e+04 5.803583999999998972e-14 -1.025870000000000073e+04 5.803373099999999709e-14 -1.026360000000000036e+04 5.788761300000000058e-14 -1.026850000000000000e+04 5.777701200000000247e-14 -1.027339999999999964e+04 5.752770600000000480e-14 -1.027829999999999927e+04 5.736086099999999765e-14 -1.028320000000000073e+04 5.718533099999999537e-14 -1.028810000000000036e+04 5.719029299999999815e-14 -1.029300000000000000e+04 5.685717600000000059e-14 -1.029789999999999964e+04 5.694871799999999067e-14 -1.030279999999999927e+04 5.673348299999999931e-14 -1.030770000000000073e+04 5.660957699999999852e-14 -1.031260000000000036e+04 5.644372800000000137e-14 -1.031750000000000000e+04 5.628200699999999939e-14 -1.032239999999999964e+04 5.670487200000000710e-14 -1.032729999999999927e+04 5.668236600000000752e-14 -1.033220000000000073e+04 5.587199699999999966e-14 -1.033710000000000036e+04 5.599413599999999673e-14 -1.034200000000000000e+04 5.550867600000000008e-14 -1.034689999999999964e+04 5.542915800000000351e-14 -1.035179999999999927e+04 5.508004500000000181e-14 -1.035670000000000073e+04 5.526942600000000314e-14 -1.036160000000000036e+04 5.505432300000000064e-14 -1.036650000000000000e+04 5.455360499999999320e-14 -1.037139999999999964e+04 5.456768099999999592e-14 -1.037629999999999927e+04 5.448223500000000009e-14 -1.038120000000000073e+04 5.435656800000000080e-14 -1.038610000000000036e+04 5.427839700000000153e-14 -1.039100000000000000e+04 5.394260699999999928e-14 -1.039589999999999964e+04 5.367229800000000280e-14 -1.040079999999999927e+04 5.358552000000000066e-14 -1.040570000000000073e+04 5.297032200000000561e-14 -1.041060000000000036e+04 5.291923200000000265e-14 -1.041550000000000000e+04 5.272058700000000314e-14 -1.042039999999999964e+04 5.203108200000000102e-14 -1.042529999999999927e+04 5.162915099999999824e-14 -1.043020000000000073e+04 5.152964099999999753e-14 -1.043510000000000036e+04 5.135975400000000164e-14 -1.044000000000000000e+04 5.077458300000000261e-14 -1.044489999999999964e+04 5.047420500000000505e-14 -1.044979999999999927e+04 5.067842999999999704e-14 -1.045470000000000073e+04 5.003769000000000628e-14 -1.045960000000000036e+04 4.919078999999999956e-14 -1.046450000000000000e+04 4.859969700000000019e-14 -1.046939999999999964e+04 4.823181299999999541e-14 -1.047429999999999927e+04 4.775839499999999534e-14 -1.047920000000000073e+04 4.761131099999999604e-14 -1.048410000000000036e+04 4.761182700000000412e-14 -1.048900000000000000e+04 4.743649199999999828e-14 -1.049389999999999964e+04 4.725093599999999618e-14 -1.049879999999999927e+04 4.666110000000000400e-14 -1.050370000000000073e+04 4.631337600000000467e-14 -1.050860000000000036e+04 4.638159299999999747e-14 -1.051350000000000000e+04 4.635534000000000355e-14 -1.051839999999999964e+04 4.597887600000000367e-14 -1.052329999999999927e+04 4.613784600000000238e-14 -1.052820000000000073e+04 4.643590800000000040e-14 -1.053310000000000036e+04 4.634692200000000452e-14 -1.053800000000000000e+04 4.613206199999999613e-14 -1.054289999999999964e+04 4.616485500000000534e-14 -1.054779999999999927e+04 4.596942600000000112e-14 -1.055270000000000073e+04 4.605394499999999345e-14 -1.055760000000000036e+04 4.628983200000000264e-14 -1.056250000000000000e+04 4.628422200000000293e-14 -1.056739999999999964e+04 4.639741500000000138e-14 -1.057229999999999927e+04 4.679529000000000234e-14 -1.057720000000000073e+04 4.740520800000000138e-14 -1.058210000000000036e+04 4.794411599999999929e-14 -1.058700000000000000e+04 4.821311100000000515e-14 -1.059189999999999964e+04 4.828436699999999986e-14 -1.059679999999999927e+04 4.827365099999999805e-14 -1.060170000000000073e+04 4.856812199999999888e-14 -1.060660000000000036e+04 4.909116300000000730e-14 -1.061150000000000000e+04 4.887072599999999957e-14 -1.061639999999999964e+04 4.899408599999999769e-14 -1.062129999999999927e+04 4.926812699999999752e-14 -1.062620000000000073e+04 4.926663600000000091e-14 -1.063110000000000036e+04 4.988122800000000409e-14 -1.063600000000000000e+04 4.983667199999999856e-14 -1.064089999999999964e+04 5.017882800000000325e-14 -1.064579999999999927e+04 5.023518899999999754e-14 -1.065070000000000073e+04 5.050069200000000102e-14 -1.065560000000000036e+04 5.125544099999999478e-14 -1.066050000000000000e+04 5.115767700000000157e-14 -1.066539999999999964e+04 5.185702799999999806e-14 -1.067029999999999927e+04 5.244539400000000246e-14 -1.067520000000000073e+04 5.231298900000000460e-14 -1.068010000000000036e+04 5.239864799999999994e-14 -1.068500000000000000e+04 5.258476800000000148e-14 -1.068989999999999964e+04 5.312409000000000058e-14 -1.069479999999999927e+04 5.331502499999999981e-14 -1.069970000000000073e+04 5.357195399999999448e-14 -1.070460000000000036e+04 5.376139799999999709e-14 -1.070950000000000000e+04 5.444184600000000163e-14 -1.071439999999999964e+04 5.452002000000000037e-14 -1.071929999999999927e+04 5.415311699999999568e-14 -1.072420000000000073e+04 5.475331500000000291e-14 -1.072910000000000036e+04 5.488058399999999776e-14 -1.073400000000000000e+04 5.585228400000000209e-14 -1.073889999999999964e+04 5.522593500000000151e-14 -1.074379999999999927e+04 5.596704300000000258e-14 -1.074870000000000073e+04 5.561517299999999870e-14 -1.075360000000000036e+04 5.539877100000000288e-14 -1.075850000000000000e+04 5.533957500000000151e-14 -1.076339999999999964e+04 5.517119399999999323e-14 -1.076829999999999927e+04 5.489712300000000511e-14 -1.077320000000000073e+04 5.454140099999999424e-14 -1.077810000000000036e+04 5.508410999999999569e-14 -1.078300000000000000e+04 5.501243100000000142e-14 -1.078789999999999964e+04 5.493429300000000251e-14 -1.079279999999999927e+04 5.512902899999999267e-14 -1.079770000000000073e+04 5.516712599999999988e-14 -1.080260000000000036e+04 5.562103500000000353e-14 -1.080750000000000000e+04 5.518424100000000450e-14 -1.081239999999999964e+04 5.451300000000000208e-14 -1.081729999999999927e+04 5.467143599999999596e-14 -1.082220000000000073e+04 5.536371299999999757e-14 -1.082710000000000036e+04 5.426828700000000421e-14 -1.083200000000000000e+04 5.477319300000000232e-14 -1.083689999999999964e+04 5.454527700000000322e-14 -1.084179999999999927e+04 5.344034699999999810e-14 -1.084670000000000073e+04 5.275506599999999910e-14 -1.085160000000000036e+04 5.303841600000000163e-14 -1.085650000000000000e+04 5.327159100000000684e-14 -1.086139999999999964e+04 5.345391899999999689e-14 -1.086629999999999927e+04 5.420163900000000029e-14 -1.087120000000000073e+04 5.414394599999999969e-14 -1.087610000000000036e+04 5.429462100000000248e-14 -1.088100000000000000e+04 5.399598300000000088e-14 -1.088589999999999964e+04 5.127051000000000173e-14 -1.089079999999999927e+04 5.136267299999999991e-14 -1.089570000000000073e+04 5.266523699999999722e-14 -1.090060000000000036e+04 5.295460500000000173e-14 -1.090550000000000000e+04 5.296262699999999632e-14 -1.091039999999999964e+04 5.358844800000000362e-14 -1.091529999999999927e+04 5.381006100000000156e-14 -1.092020000000000073e+04 5.284378799999999834e-14 -1.092510000000000036e+04 5.242719900000000296e-14 -1.093000000000000000e+04 5.147112899999999924e-14 -1.093489999999999964e+04 5.171018100000000027e-14 -1.093979999999999927e+04 5.201255099999999891e-14 -1.094470000000000073e+04 5.203740900000000417e-14 -1.094960000000000036e+04 5.195250000000000001e-14 -1.095450000000000000e+04 5.202206100000000328e-14 -1.095939999999999964e+04 5.207420399999999967e-14 -1.096429999999999927e+04 5.223411300000000604e-14 -1.096920000000000073e+04 5.212243500000000620e-14 -1.097410000000000036e+04 5.210978699999999882e-14 -1.097900000000000000e+04 5.182606500000000016e-14 -1.098389999999999964e+04 5.181658800000000247e-14 -1.098879999999999927e+04 5.149634700000000280e-14 -1.099370000000000073e+04 5.192663999999999845e-14 -1.099860000000000036e+04 5.173492200000000766e-14 -1.100350000000000000e+04 5.184350700000000270e-14 -1.101050000000000000e+04 5.183896799999999318e-14 -1.101750000000000000e+04 5.103215700000000738e-14 -1.102450000000000000e+04 5.132267400000000065e-14 -1.103150000000000000e+04 5.163916199999999445e-14 -1.103850000000000000e+04 5.118936900000000075e-14 -1.104550000000000000e+04 5.095411799999999696e-14 -1.105250000000000000e+04 5.065748700000000005e-14 -1.105950000000000000e+04 5.056491000000000067e-14 -1.106650000000000000e+04 5.057438399999999890e-14 -1.107350000000000000e+04 5.035322400000000144e-14 -1.108050000000000000e+04 5.013332400000000431e-14 -1.108750000000000000e+04 4.961577899999999720e-14 -1.109450000000000000e+04 4.993166699999999805e-14 -1.110150000000000000e+04 4.968304200000000399e-14 -1.110850000000000000e+04 4.965768899999999318e-14 -1.111550000000000000e+04 4.966061099999999722e-14 -1.112250000000000000e+04 4.977938700000000024e-14 -1.112950000000000000e+04 4.953004200000000328e-14 -1.113650000000000000e+04 4.981995900000000361e-14 -1.114350000000000000e+04 4.951570800000000284e-14 -1.115050000000000000e+04 4.938564599999999335e-14 -1.115750000000000000e+04 4.916863200000000043e-14 -1.116450000000000000e+04 4.829757299999999513e-14 -1.117150000000000000e+04 4.769363700000000455e-14 -1.117850000000000000e+04 4.850489099999999823e-14 -1.118550000000000000e+04 4.878975000000000044e-14 -1.119250000000000000e+04 4.879135800000000755e-14 -1.119950000000000000e+04 4.804235100000000235e-14 -1.120650000000000000e+04 4.819357500000000096e-14 -1.121350000000000000e+04 4.738118399999999742e-14 -1.122050000000000000e+04 4.736562299999999701e-14 -1.122750000000000000e+04 4.763464800000000378e-14 -1.123450000000000000e+04 4.639845600000000328e-14 -1.124150000000000000e+04 4.735110299999999850e-14 -1.124850000000000000e+04 4.640105999999999515e-14 -1.125550000000000000e+04 4.669042200000000073e-14 -1.126250000000000000e+04 4.632513900000000099e-14 -1.126950000000000000e+04 4.610089499999999710e-14 -1.127650000000000000e+04 4.594699799999999380e-14 -1.128350000000000000e+04 4.624009500000000220e-14 -1.129050000000000000e+04 4.620334500000000491e-14 -1.129750000000000000e+04 4.559074200000000334e-14 -1.130450000000000000e+04 4.565011200000000494e-14 -1.131150000000000000e+04 4.542465600000000469e-14 -1.131850000000000000e+04 4.510776000000000231e-14 -1.132550000000000000e+04 4.513530900000000271e-14 -1.133250000000000000e+04 4.556603400000000263e-14 -1.133950000000000000e+04 4.437466799999999691e-14 -1.134650000000000000e+04 4.385994000000000011e-14 -1.135350000000000000e+04 4.354343100000000379e-14 -1.136050000000000000e+04 4.353329099999999925e-14 -1.136750000000000000e+04 4.397592900000000003e-14 -1.137450000000000000e+04 4.459534499999999929e-14 -1.138150000000000000e+04 4.449209699999999632e-14 -1.138850000000000000e+04 4.473601499999999848e-14 -1.139550000000000000e+04 4.483402200000000473e-14 -1.140250000000000000e+04 4.474487100000000069e-14 -1.140950000000000000e+04 4.458157499999999828e-14 -1.141650000000000000e+04 4.401714900000000034e-14 -1.142350000000000000e+04 4.393316100000000076e-14 -1.143050000000000000e+04 4.439836800000000240e-14 -1.143750000000000000e+04 4.397927700000000310e-14 -1.144450000000000000e+04 4.393962000000000538e-14 -1.145150000000000000e+04 4.381150799999999823e-14 -1.145850000000000000e+04 4.390720499999999754e-14 -1.146550000000000000e+04 4.373019000000000387e-14 -1.147250000000000000e+04 4.366064700000000368e-14 -1.147950000000000000e+04 4.415613000000000069e-14 -1.148650000000000000e+04 4.456730700000000489e-14 -1.149350000000000000e+04 4.437388199999999958e-14 -1.150050000000000000e+04 4.474165199999999964e-14 -1.150750000000000000e+04 4.437813299999999784e-14 -1.151450000000000000e+04 4.478725499999999968e-14 -1.152150000000000000e+04 4.458558299999999612e-14 -1.152850000000000000e+04 4.475219999999999383e-14 -1.153550000000000000e+04 4.448052299999999752e-14 -1.154250000000000000e+04 4.455484500000000189e-14 -1.154950000000000000e+04 4.429800299999999786e-14 -1.155650000000000000e+04 4.469361899999999533e-14 -1.156350000000000000e+04 4.464018000000000508e-14 -1.157050000000000000e+04 4.477336200000000188e-14 -1.157750000000000000e+04 4.458833999999999830e-14 -1.158450000000000000e+04 4.465787400000000011e-14 -1.159150000000000000e+04 4.475759700000000033e-14 -1.159850000000000000e+04 4.472653799999999448e-14 -1.160550000000000000e+04 4.457613599999999934e-14 -1.161250000000000000e+04 4.483181700000000413e-14 -1.161950000000000000e+04 4.464092399999999734e-14 -1.162650000000000000e+04 4.448030399999999908e-14 -1.163350000000000000e+04 4.412910300000000097e-14 -1.164050000000000000e+04 4.390993799999999774e-14 -1.164750000000000000e+04 4.367828699999999582e-14 -1.165450000000000000e+04 4.362630000000000289e-14 -1.166150000000000000e+04 4.380255600000000068e-14 -1.166850000000000000e+04 4.351392899999999529e-14 -1.167550000000000000e+04 4.301992499999999705e-14 -1.168250000000000000e+04 4.248337500000000375e-14 -1.168950000000000000e+04 4.240608299999999768e-14 -1.169650000000000000e+04 4.219293300000000328e-14 -1.170350000000000000e+04 4.216920299999999687e-14 -1.171050000000000000e+04 4.202314199999999641e-14 -1.171750000000000000e+04 4.159846199999999993e-14 -1.172450000000000000e+04 4.153089600000000352e-14 -1.173150000000000000e+04 4.152910799999999727e-14 -1.173850000000000000e+04 4.148780999999999839e-14 -1.174550000000000000e+04 4.141341900000000013e-14 -1.175250000000000000e+04 4.151505900000000231e-14 -1.175950000000000000e+04 4.139261100000000407e-14 -1.176650000000000000e+04 4.110249299999999576e-14 -1.177350000000000000e+04 4.129737599999999731e-14 -1.178050000000000000e+04 4.114466700000000101e-14 -1.178750000000000000e+04 4.106549399999999912e-14 -1.179450000000000000e+04 4.117139699999999740e-14 -1.180150000000000000e+04 4.107544499999999982e-14 -1.180850000000000000e+04 4.064289899999999959e-14 -1.181550000000000000e+04 4.070915699999999800e-14 -1.182250000000000000e+04 4.092248099999999894e-14 -1.182950000000000000e+04 4.106765100000000204e-14 -1.183650000000000000e+04 4.114060200000000081e-14 -1.184350000000000000e+04 4.120763699999999816e-14 -1.185050000000000000e+04 4.106695200000000168e-14 -1.185750000000000000e+04 4.105052100000000013e-14 -1.186450000000000000e+04 4.080308400000000044e-14 -1.187150000000000000e+04 4.088885400000000104e-14 -1.187850000000000000e+04 4.080986099999999830e-14 -1.188550000000000000e+04 4.108768799999999807e-14 -1.189250000000000000e+04 4.090296900000000305e-14 -1.189950000000000000e+04 4.079056500000000139e-14 -1.190650000000000000e+04 3.993177900000000156e-14 -1.191350000000000000e+04 4.009221000000000229e-14 -1.192050000000000000e+04 3.968715600000000011e-14 -1.192750000000000000e+04 3.970372800000000152e-14 -1.193450000000000000e+04 3.919507800000000221e-14 -1.194150000000000000e+04 3.888779999999999738e-14 -1.194850000000000000e+04 3.922208099999999994e-14 -1.195550000000000000e+04 3.886127399999999581e-14 -1.196250000000000000e+04 3.891794099999999812e-14 -1.196950000000000000e+04 3.994142400000000056e-14 -1.197650000000000000e+04 3.904245899999999602e-14 -1.198350000000000000e+04 3.854062500000000018e-14 -1.199050000000000000e+04 3.892985699999999845e-14 -1.199750000000000000e+04 3.921831900000000199e-14 -1.200450000000000000e+04 3.751565400000000058e-14 -1.201150000000000000e+04 3.678913200000000507e-14 -1.201850000000000000e+04 3.644166900000000291e-14 -1.202550000000000000e+04 3.653102400000000178e-14 -1.203250000000000000e+04 3.720162000000000042e-14 -1.203950000000000000e+04 3.610244400000000064e-14 -1.204650000000000000e+04 3.516543299999999864e-14 -1.205350000000000000e+04 3.482201699999999992e-14 -1.206050000000000000e+04 3.494550600000000006e-14 -1.206750000000000000e+04 3.556539900000000179e-14 -1.207450000000000000e+04 3.619214400000000050e-14 -1.208150000000000000e+04 3.580342499999999822e-14 -1.208850000000000000e+04 3.522952800000000151e-14 -1.209550000000000000e+04 3.479277300000000177e-14 -1.210250000000000000e+04 3.511086899999999636e-14 -1.210950000000000000e+04 3.424974300000000130e-14 -1.211650000000000000e+04 3.405954000000000282e-14 -1.212350000000000000e+04 3.322491300000000157e-14 -1.213050000000000000e+04 3.317212500000000139e-14 -1.213750000000000000e+04 3.310052999999999830e-14 -1.214450000000000000e+04 3.308427299999999698e-14 -1.215150000000000000e+04 3.296581799999999928e-14 -1.215850000000000000e+04 3.298212900000000350e-14 -1.216550000000000000e+04 3.299815500000000224e-14 -1.217250000000000000e+04 3.327611099999999771e-14 -1.217950000000000000e+04 3.331309199999999759e-14 -1.218650000000000000e+04 3.318579900000000075e-14 -1.219350000000000000e+04 3.340372799999999933e-14 -1.220050000000000000e+04 3.350343299999999648e-14 -1.220750000000000000e+04 3.373884300000000320e-14 -1.221450000000000000e+04 3.365616600000000109e-14 -1.222150000000000000e+04 3.339271500000000051e-14 -1.222850000000000000e+04 3.376416899999999993e-14 -1.223550000000000000e+04 3.413565300000000027e-14 -1.224250000000000000e+04 3.431058899999999590e-14 -1.224950000000000000e+04 3.454707599999999804e-14 -1.225650000000000000e+04 3.522470399999999912e-14 -1.226350000000000000e+04 3.507361499999999514e-14 -1.227050000000000000e+04 3.524239500000000101e-14 -1.227750000000000000e+04 3.537486599999999961e-14 -1.228450000000000000e+04 3.527995799999999708e-14 -1.229150000000000000e+04 3.489468599999999897e-14 -1.229850000000000000e+04 3.529852799999999849e-14 -1.230550000000000000e+04 3.538184699999999861e-14 -1.231250000000000000e+04 3.546434400000000157e-14 -1.231950000000000000e+04 3.552111600000000391e-14 -1.232650000000000000e+04 3.544104000000000051e-14 -1.233350000000000000e+04 3.549297899999999578e-14 -1.234050000000000000e+04 3.545809799999999646e-14 -1.234750000000000000e+04 3.513777599999999875e-14 -1.235450000000000000e+04 3.524576400000000030e-14 -1.236150000000000000e+04 3.514211999999999920e-14 -1.236850000000000000e+04 3.509744700000000211e-14 -1.237550000000000000e+04 3.484731299999999575e-14 -1.238250000000000000e+04 3.504497400000000202e-14 -1.238950000000000000e+04 3.515195700000000149e-14 -1.239650000000000000e+04 3.488330699999999662e-14 -1.240350000000000000e+04 3.471575700000000281e-14 -1.241050000000000000e+04 3.443899199999999485e-14 -1.241750000000000000e+04 3.475498200000000257e-14 -1.242450000000000000e+04 3.502924500000000030e-14 -1.243150000000000000e+04 3.492675300000000005e-14 -1.243850000000000000e+04 3.483838200000000073e-14 -1.244550000000000000e+04 3.484806599999999902e-14 -1.245250000000000000e+04 3.459391800000000221e-14 -1.245950000000000000e+04 3.464441399999999852e-14 -1.246650000000000000e+04 3.462444900000000215e-14 -1.247350000000000000e+04 3.449964600000000508e-14 -1.248050000000000000e+04 3.443554199999999752e-14 -1.248750000000000000e+04 3.440676600000000346e-14 -1.249450000000000000e+04 3.437622599999999883e-14 -1.250150000000000000e+04 3.402758700000000015e-14 -1.250850000000000000e+04 3.406105199999999565e-14 -1.251550000000000000e+04 3.416763900000000331e-14 -1.252250000000000000e+04 3.402378900000000237e-14 -1.252950000000000000e+04 3.383416800000000007e-14 -1.253650000000000000e+04 3.370110900000000005e-14 -1.254350000000000000e+04 3.394023600000000020e-14 -1.255050000000000000e+04 3.388722000000000320e-14 -1.255750000000000000e+04 3.372133200000000046e-14 -1.256450000000000000e+04 3.360402900000000361e-14 -1.257150000000000000e+04 3.359379600000000319e-14 -1.257850000000000000e+04 3.298796100000000111e-14 -1.258550000000000000e+04 3.233487299999999944e-14 -1.259250000000000000e+04 3.258905100000000347e-14 -1.259950000000000000e+04 3.318349199999999959e-14 -1.260650000000000000e+04 3.331728599999999981e-14 -1.261350000000000000e+04 3.345115499999999914e-14 -1.262050000000000000e+04 3.311215200000000108e-14 -1.262750000000000000e+04 3.252241199999999793e-14 -1.263450000000000000e+04 3.235386000000000150e-14 -1.264150000000000000e+04 3.257880899999999836e-14 -1.264850000000000000e+04 3.295838999999999872e-14 -1.265550000000000000e+04 3.285582600000000512e-14 -1.266250000000000000e+04 3.263235600000000073e-14 -1.266950000000000000e+04 3.284092499999999948e-14 -1.267650000000000000e+04 3.273152699999999936e-14 -1.268350000000000000e+04 3.217386600000000143e-14 -1.269050000000000000e+04 3.169363800000000313e-14 -1.269750000000000000e+04 3.187273199999999483e-14 -1.270450000000000000e+04 3.208442399999999930e-14 -1.271150000000000000e+04 3.176402699999999616e-14 -1.271850000000000000e+04 3.168009000000000002e-14 -1.272550000000000000e+04 3.175087799999999694e-14 -1.273250000000000000e+04 3.185230499999999960e-14 -1.273950000000000000e+04 3.182755500000000014e-14 -1.274650000000000000e+04 3.177673499999999905e-14 -1.275350000000000000e+04 3.168099600000000098e-14 -1.276050000000000000e+04 3.160454100000000199e-14 -1.276750000000000000e+04 3.164714099999999996e-14 -1.277450000000000000e+04 3.163736700000000526e-14 -1.278150000000000000e+04 3.150605699999999958e-14 -1.278850000000000000e+04 3.154601400000000008e-14 -1.279550000000000000e+04 3.139416600000000022e-14 -1.280250000000000000e+04 3.111085800000000276e-14 -1.280950000000000000e+04 3.121077000000000051e-14 -1.281650000000000000e+04 3.124505699999999948e-14 -1.282350000000000000e+04 3.099616499999999670e-14 -1.283050000000000000e+04 3.101798699999999952e-14 -1.283750000000000000e+04 3.095004000000000228e-14 -1.284450000000000000e+04 3.066403799999999760e-14 -1.285150000000000000e+04 3.055070999999999822e-14 -1.285850000000000000e+04 3.054078599999999897e-14 -1.286550000000000000e+04 3.044882099999999669e-14 -1.287250000000000000e+04 3.035131500000000122e-14 -1.287950000000000000e+04 3.013019099999999727e-14 -1.288650000000000000e+04 2.992249350000000254e-14 -1.289350000000000000e+04 2.959636469999999637e-14 -1.290050000000000000e+04 2.932835579999999914e-14 -1.290750000000000000e+04 2.925158039999999472e-14 -1.291450000000000000e+04 2.911437869999999903e-14 -1.292150000000000000e+04 2.900775600000000095e-14 -1.292850000000000000e+04 2.892917759999999930e-14 -1.293550000000000000e+04 2.883228780000000017e-14 -1.294250000000000000e+04 2.882234219999999849e-14 -1.294950000000000000e+04 2.865404280000000076e-14 -1.295650000000000000e+04 2.852515439999999454e-14 -1.296350000000000000e+04 2.854869630000000010e-14 -1.297050000000000000e+04 2.832167039999999851e-14 -1.297750000000000000e+04 2.821540979999999835e-14 -1.298450000000000000e+04 2.828469330000000109e-14 -1.299150000000000000e+04 2.822762280000000201e-14 -1.299850000000000000e+04 2.815722150000000173e-14 -1.300550000000000000e+04 2.811224369999999956e-14 -1.301250000000000000e+04 2.796468150000000117e-14 -1.301950000000000000e+04 2.771574420000000023e-14 -1.302650000000000000e+04 2.761325099999999704e-14 -1.303350000000000000e+04 2.759362889999999889e-14 -1.304050000000000000e+04 2.733221729999999716e-14 -1.304750000000000000e+04 2.735349570000000319e-14 -1.305450000000000000e+04 2.744021609999999677e-14 -1.306150000000000000e+04 2.713657469999999984e-14 -1.306850000000000000e+04 2.669441820000000387e-14 -1.307550000000000000e+04 2.701653839999999969e-14 -1.308250000000000000e+04 2.726049989999999718e-14 -1.308950000000000000e+04 2.723767109999999892e-14 -1.309650000000000000e+04 2.708837340000000059e-14 -1.310350000000000000e+04 2.714512019999999800e-14 -1.311050000000000000e+04 2.730924840000000204e-14 -1.311750000000000000e+04 2.755930139999999774e-14 -1.312450000000000000e+04 2.767155689999999774e-14 -1.313150000000000000e+04 2.725631309999999998e-14 -1.313850000000000000e+04 2.676316109999999981e-14 -1.314550000000000000e+04 2.628573779999999826e-14 -1.315250000000000000e+04 2.597592479999999860e-14 -1.315950000000000000e+04 2.634434970000000066e-14 -1.316650000000000000e+04 2.669304719999999828e-14 -1.317350000000000000e+04 2.702897940000000016e-14 -1.318050000000000000e+04 2.724098670000000151e-14 -1.318750000000000000e+04 2.689869690000000198e-14 -1.319450000000000000e+04 2.660392229999999900e-14 -1.320150000000000000e+04 2.628095700000000072e-14 -1.320850000000000000e+04 2.641185209999999906e-14 -1.321550000000000000e+04 2.692206870000000029e-14 -1.322250000000000000e+04 2.694514140000000198e-14 -1.322950000000000000e+04 2.683292820000000068e-14 -1.323650000000000000e+04 2.694271289999999744e-14 -1.324350000000000000e+04 2.722265580000000123e-14 -1.325050000000000000e+04 2.745255479999999988e-14 -1.325750000000000000e+04 2.745904049999999655e-14 -1.326450000000000000e+04 2.758398359999999995e-14 -1.327150000000000000e+04 2.771399010000000049e-14 -1.327850000000000000e+04 2.750229839999999913e-14 -1.328550000000000000e+04 2.731276619999999978e-14 -1.329250000000000000e+04 2.762021669999999880e-14 -1.329950000000000000e+04 2.779245210000000102e-14 -1.330650000000000000e+04 2.769865320000000076e-14 -1.331350000000000000e+04 2.807530079999999913e-14 -1.332050000000000000e+04 2.833871009999999776e-14 -1.332750000000000000e+04 2.799089639999999879e-14 -1.333450000000000000e+04 2.761782719999999986e-14 -1.334150000000000000e+04 2.782095510000000005e-14 -1.334850000000000000e+04 2.800962480000000323e-14 -1.335550000000000000e+04 2.773737120000000345e-14 -1.336250000000000000e+04 2.764410989999999790e-14 -1.336950000000000000e+04 2.739912899999999778e-14 -1.337650000000000000e+04 2.741711400000000038e-14 -1.338350000000000000e+04 2.786771280000000046e-14 -1.339050000000000000e+04 2.803296660000000379e-14 -1.339750000000000000e+04 2.745709830000000228e-14 -1.340450000000000000e+04 2.699115750000000022e-14 -1.341150000000000000e+04 2.708999129999999960e-14 -1.341850000000000000e+04 2.738474430000000016e-14 -1.342550000000000000e+04 2.788652159999999989e-14 -1.343250000000000000e+04 2.730190949999999806e-14 -1.343950000000000000e+04 2.605942920000000006e-14 -1.344650000000000000e+04 2.657028810000000241e-14 -1.345350000000000000e+04 2.719649370000000357e-14 -1.346050000000000000e+04 2.759471879999999830e-14 -1.346750000000000000e+04 2.775071789999999863e-14 -1.347450000000000000e+04 2.578705499999999990e-14 -1.348150000000000000e+04 2.507454870000000218e-14 -1.348850000000000000e+04 2.762405579999999864e-14 -1.349550000000000000e+04 2.755841519999999952e-14 -1.350250000000000000e+04 2.556432300000000147e-14 -1.350950000000000000e+04 2.549539980000000013e-14 -1.351650000000000000e+04 2.677400460000000075e-14 -1.352350000000000000e+04 2.747384460000000386e-14 -1.353050000000000000e+04 2.670299100000000027e-14 -1.353750000000000000e+04 2.581672710000000302e-14 -1.354450000000000000e+04 2.382348239999999753e-14 -1.355150000000000000e+04 2.383426260000000040e-14 -1.355850000000000000e+04 2.682940259999999803e-14 -1.356550000000000000e+04 2.734148760000000051e-14 -1.357250000000000000e+04 2.553807510000000032e-14 -1.357950000000000000e+04 2.564506169999999915e-14 -1.358650000000000000e+04 2.556359070000000078e-14 -1.359350000000000000e+04 2.565861689999999781e-14 -1.360050000000000000e+04 2.836310790000000383e-14 -1.360750000000000000e+04 2.464686239999999791e-14 -1.361450000000000000e+04 1.680626580000000001e-14 -1.362150000000000000e+04 1.689785160000000114e-14 -1.362850000000000000e+04 2.789571150000000194e-14 -1.363550000000000000e+04 2.882364209999999481e-14 -1.364250000000000000e+04 1.944954510000000155e-14 -1.364950000000000000e+04 1.856797920000000096e-14 -1.365650000000000000e+04 2.641622099999999818e-14 -1.366350000000000000e+04 2.998516050000000376e-14 -1.367050000000000000e+04 2.334282030000000165e-14 -1.367750000000000000e+04 1.836830039999999826e-14 -1.368450000000000000e+04 2.109943380000000067e-14 -1.369150000000000000e+04 2.720198880000000187e-14 -1.369850000000000000e+04 2.606837910000000114e-14 -1.370550000000000000e+04 2.184272100000000068e-14 -1.371250000000000000e+04 2.043586319999999935e-14 -1.371950000000000000e+04 2.105219820000000111e-14 -1.372650000000000000e+04 2.277150870000000016e-14 -1.373350000000000000e+04 2.416788570000000151e-14 -1.374050000000000000e+04 2.316332490000000017e-14 -1.374750000000000000e+04 2.369269559999999863e-14 -1.375450000000000000e+04 2.430067200000000014e-14 -1.376150000000000000e+04 2.210134829999999882e-14 -1.376850000000000000e+04 2.289061919999999975e-14 -1.377550000000000000e+04 2.577466260000000014e-14 -1.378250000000000000e+04 2.293373250000000312e-14 -1.378950000000000000e+04 2.518636709999999883e-14 -1.379650000000000000e+04 2.629194210000000141e-14 -1.380350000000000000e+04 2.049931139999999876e-14 -1.381050000000000000e+04 2.384479230000000104e-14 -1.381750000000000000e+04 2.392818420000000066e-14 -1.382450000000000000e+04 1.748337300000000019e-14 -1.383150000000000000e+04 1.908920519999999852e-14 -1.383850000000000000e+04 2.268656609999999889e-14 -1.384550000000000000e+04 2.034585750000000088e-14 -1.385250000000000000e+04 1.886372190000000003e-14 -1.385950000000000000e+04 2.201974229999999952e-14 -1.386650000000000000e+04 2.489254319999999824e-14 -1.387350000000000000e+04 2.040156839999999862e-14 -1.388050000000000000e+04 1.806999990000000216e-14 -1.388750000000000000e+04 2.198677769999999912e-14 -1.389450000000000000e+04 2.237030279999999935e-14 -1.390150000000000000e+04 2.293652880000000139e-14 -1.390850000000000000e+04 2.502983670000000264e-14 -1.391550000000000000e+04 2.178381690000000040e-14 -1.392250000000000000e+04 1.786861680000000022e-14 -1.392950000000000000e+04 2.270827890000000244e-14 -1.393650000000000000e+04 2.674162169999999975e-14 -1.394350000000000000e+04 2.281675800000000077e-14 -1.395050000000000000e+04 1.702182900000000170e-14 -1.395750000000000000e+04 1.531519019999999945e-14 -1.396450000000000000e+04 1.661414040000000054e-14 -1.397150000000000000e+04 2.065776780000000159e-14 -1.397850000000000000e+04 2.438118209999999795e-14 -1.398550000000000000e+04 2.566449240000000020e-14 -1.399250000000000000e+04 2.289046589999999895e-14 -1.399950000000000000e+04 1.639767719999999996e-14 -1.400650000000000000e+04 1.362824009999999915e-14 -1.401350000000000000e+04 1.674798119999999864e-14 -1.402050000000000000e+04 2.227136579999999646e-14 -1.402750000000000000e+04 2.399587709999999947e-14 -1.403450000000000000e+04 2.240322390000000128e-14 -1.404150000000000000e+04 1.747376190000000140e-14 -1.404850000000000000e+04 1.733521409999999879e-14 -1.405550000000000000e+04 2.245883429999999818e-14 -1.406250000000000000e+04 2.070380760000000188e-14 -1.406950000000000000e+04 1.755030990000000258e-14 -1.407650000000000000e+04 2.219156160000000093e-14 -1.408350000000000000e+04 2.193427169999999866e-14 -1.409050000000000000e+04 1.742730330000000079e-14 -1.409750000000000000e+04 1.806714119999999935e-14 -1.410450000000000000e+04 2.049678089999999997e-14 -1.411150000000000000e+04 2.010564359999999763e-14 -1.411850000000000000e+04 2.034858720000000167e-14 -1.412550000000000000e+04 2.238935670000000199e-14 -1.413250000000000000e+04 2.193988980000000006e-14 -1.413950000000000000e+04 1.779959249999999815e-14 -1.414650000000000000e+04 1.634514510000000104e-14 -1.415350000000000000e+04 1.919629920000000010e-14 -1.416050000000000000e+04 2.139649200000000271e-14 -1.416750000000000000e+04 2.133361349999999855e-14 -1.417450000000000000e+04 2.158060739999999912e-14 -1.418150000000000000e+04 2.107189259999999887e-14 -1.418850000000000000e+04 1.790536380000000121e-14 -1.419550000000000000e+04 1.803411330000000088e-14 -1.420250000000000000e+04 1.921516410000000205e-14 -1.420950000000000000e+04 2.019343110000000103e-14 -1.421650000000000000e+04 2.164103280000000003e-14 -1.422350000000000000e+04 2.090611800000000095e-14 -1.423050000000000000e+04 1.842704249999999930e-14 -1.423750000000000000e+04 1.863936750000000025e-14 -1.424450000000000000e+04 2.011370850000000027e-14 -1.425150000000000000e+04 1.916043600000000091e-14 -1.425850000000000000e+04 1.950592050000000271e-14 -1.426550000000000000e+04 2.032235790000000033e-14 -1.427250000000000000e+04 1.920301020000000037e-14 -1.427950000000000000e+04 1.819822860000000093e-14 -1.428650000000000000e+04 1.857795120000000104e-14 -1.429350000000000000e+04 2.012927190000000025e-14 -1.430050000000000000e+04 2.135499779999999813e-14 -1.430750000000000000e+04 1.988718509999999972e-14 -1.431450000000000000e+04 1.740613170000000077e-14 -1.432150000000000000e+04 1.720550219999999884e-14 -1.432850000000000000e+04 1.905961529999999953e-14 -1.433550000000000000e+04 1.907643510000000050e-14 -1.434250000000000000e+04 1.855067639999999860e-14 -1.434950000000000000e+04 1.916733029999999975e-14 -1.435650000000000000e+04 1.955330280000000111e-14 -1.436350000000000000e+04 1.946540880000000110e-14 -1.437050000000000000e+04 1.806724439999999970e-14 -1.437750000000000000e+04 1.795239749999999926e-14 -1.438450000000000000e+04 1.904432280000000127e-14 -1.439150000000000000e+04 1.888785689999999978e-14 -1.439850000000000000e+04 1.908026849999999822e-14 -1.440550000000000000e+04 1.932624630000000187e-14 -1.441250000000000000e+04 1.917141990000000182e-14 -1.441950000000000000e+04 1.912836509999999738e-14 -1.442650000000000000e+04 1.892888849999999930e-14 -1.443350000000000000e+04 1.957876769999999808e-14 -1.444050000000000000e+04 2.030183969999999943e-14 -1.444750000000000000e+04 1.919191110000000127e-14 -1.445450000000000000e+04 1.767638610000000077e-14 -1.446150000000000000e+04 1.799157269999999853e-14 -1.446850000000000000e+04 1.850560290000000105e-14 -1.447550000000000000e+04 1.872436500000000109e-14 -1.448250000000000000e+04 1.922519970000000014e-14 -1.448950000000000000e+04 1.963775789999999863e-14 -1.449650000000000000e+04 1.890110909999999936e-14 -1.450350000000000000e+04 1.764786509999999867e-14 -1.451050000000000000e+04 1.776057749999999844e-14 -1.451750000000000000e+04 1.823990850000000047e-14 -1.452450000000000000e+04 1.825925850000000028e-14 -1.453150000000000000e+04 1.865999909999999966e-14 -1.453850000000000000e+04 1.897805730000000106e-14 -1.454550000000000000e+04 1.869822329999999975e-14 -1.455250000000000000e+04 1.843714890000000043e-14 -1.455950000000000000e+04 1.863675389999999748e-14 -1.456650000000000000e+04 1.855027349999999857e-14 -1.457350000000000000e+04 1.834841100000000090e-14 -1.458050000000000000e+04 1.840480409999999888e-14 -1.458750000000000000e+04 1.857221279999999920e-14 -1.459450000000000000e+04 1.837968000000000050e-14 -1.460150000000000000e+04 1.810323899999999732e-14 -1.460850000000000000e+04 1.810948560000000232e-14 -1.461550000000000000e+04 1.832681399999999859e-14 -1.462250000000000000e+04 1.828512780000000018e-14 -1.462950000000000000e+04 1.800909509999999921e-14 -1.463650000000000000e+04 1.826485410000000259e-14 -1.464350000000000000e+04 1.834904520000000031e-14 -1.465050000000000000e+04 1.805863260000000086e-14 -1.465750000000000000e+04 1.784332560000000038e-14 -1.466450000000000000e+04 1.763272680000000104e-14 -1.467150000000000000e+04 1.760191259999999844e-14 -1.467850000000000000e+04 1.777998570000000040e-14 -1.468550000000000000e+04 1.789986570000000029e-14 -1.469250000000000000e+04 1.781292149999999967e-14 -1.469950000000000000e+04 1.766553840000000059e-14 -1.470650000000000000e+04 1.748642760000000244e-14 -1.471350000000000000e+04 1.742702160000000102e-14 -1.472050000000000000e+04 1.731036840000000077e-14 -1.472750000000000000e+04 1.718900579999999960e-14 -1.473450000000000000e+04 1.717137660000000236e-14 -1.474150000000000000e+04 1.726534919999999975e-14 -1.474850000000000000e+04 1.732972619999999918e-14 -1.475550000000000000e+04 1.727957520000000071e-14 -1.476250000000000000e+04 1.721610900000000138e-14 -1.476950000000000000e+04 1.711649999999999957e-14 -1.477650000000000000e+04 1.699848450000000162e-14 -1.478350000000000000e+04 1.694885070000000154e-14 -1.479050000000000000e+04 1.704562020000000024e-14 -1.479750000000000000e+04 1.704053850000000008e-14 -1.480450000000000000e+04 1.694220869999999830e-14 -1.481150000000000000e+04 1.689111239999999963e-14 -1.481850000000000000e+04 1.689740639999999925e-14 -1.482550000000000000e+04 1.680175649999999777e-14 -1.483250000000000000e+04 1.688740950000000050e-14 -1.483950000000000000e+04 1.708122870000000110e-14 -1.484650000000000000e+04 1.718105820000000108e-14 -1.485350000000000000e+04 1.717510110000000075e-14 -1.486050000000000000e+04 1.719389669999999941e-14 -1.486750000000000000e+04 1.716639569999999983e-14 -1.487450000000000000e+04 1.706687700000000069e-14 -1.488150000000000000e+04 1.698943980000000183e-14 -1.488850000000000000e+04 1.699674389999999946e-14 -1.489550000000000000e+04 1.698317789999999958e-14 -1.490250000000000000e+04 1.694587199999999825e-14 -1.490950000000000000e+04 1.691789910000000159e-14 -1.491650000000000000e+04 1.689899670000000008e-14 -1.492350000000000000e+04 1.684149240000000021e-14 -1.493050000000000000e+04 1.677675539999999933e-14 -1.493750000000000000e+04 1.681177740000000166e-14 -1.494450000000000000e+04 1.682620860000000038e-14 -1.495150000000000000e+04 1.675695449999999866e-14 -1.495850000000000000e+04 1.667346840000000023e-14 -1.496550000000000000e+04 1.660714170000000157e-14 -1.497250000000000000e+04 1.652287500000000168e-14 -1.497950000000000000e+04 1.647587400000000090e-14 -1.498650000000000000e+04 1.646165460000000191e-14 -1.499350000000000000e+04 1.642411530000000157e-14 -1.500050000000000000e+04 1.640186759999999966e-14 -1.500750000000000000e+04 1.639291769999999858e-14 -1.501450000000000000e+04 1.639332540000000091e-14 -1.502150000000000000e+04 1.641100769999999806e-14 -1.502850000000000000e+04 1.637273460000000046e-14 -1.503550000000000000e+04 1.627311660000000027e-14 -1.504250000000000000e+04 1.611031200000000089e-14 -1.504950000000000000e+04 1.589155649999999966e-14 -1.505650000000000000e+04 1.568714520000000019e-14 -1.506350000000000000e+04 1.556255339999999980e-14 -1.507050000000000000e+04 1.551678150000000177e-14 -1.507750000000000000e+04 1.549211459999999997e-14 -1.508450000000000000e+04 1.554698730000000031e-14 -1.509150000000000000e+04 1.559974200000000017e-14 -1.509850000000000000e+04 1.558810380000000031e-14 -1.510550000000000000e+04 1.551331559999999784e-14 -1.511250000000000000e+04 1.545962909999999850e-14 -1.511950000000000000e+04 1.534509149999999917e-14 -1.512650000000000000e+04 1.526488200000000088e-14 -1.513350000000000000e+04 1.522649280000000210e-14 -1.514050000000000000e+04 1.520818950000000001e-14 -1.514750000000000000e+04 1.519736640000000171e-14 -1.515450000000000000e+04 1.514496840000000073e-14 -1.516150000000000000e+04 1.508435489999999898e-14 -1.516850000000000000e+04 1.501281000000000265e-14 -1.517550000000000000e+04 1.496115779999999993e-14 -1.518250000000000000e+04 1.492215180000000176e-14 -1.518950000000000000e+04 1.492646790000000092e-14 -1.519650000000000000e+04 1.496572499999999806e-14 -1.520350000000000000e+04 1.496241209999999814e-14 -1.521050000000000000e+04 1.497179160000000076e-14 -1.521750000000000000e+04 1.494513240000000109e-14 -1.522450000000000000e+04 1.491066689999999954e-14 -1.523150000000000000e+04 1.487314259999999966e-14 -1.523850000000000000e+04 1.487764350000000026e-14 -1.524550000000000000e+04 1.487810489999999923e-14 -1.525250000000000000e+04 1.493123490000000094e-14 -1.525950000000000000e+04 1.497000420000000071e-14 -1.526650000000000000e+04 1.501559160000000041e-14 -1.527350000000000000e+04 1.503775619999999835e-14 -1.528050000000000000e+04 1.505081220000000169e-14 -1.528750000000000000e+04 1.505063159999999949e-14 -1.529450000000000000e+04 1.502418959999999858e-14 -1.530150000000000000e+04 1.499260289999999938e-14 -1.530850000000000000e+04 1.494083910000000097e-14 -1.531550000000000000e+04 1.488198360000000141e-14 -1.532250000000000000e+04 1.480849020000000248e-14 -1.532950000000000000e+04 1.475023169999999956e-14 -1.533650000000000000e+04 1.470002039999999932e-14 -1.534350000000000000e+04 1.466554499999999956e-14 -1.535050000000000000e+04 1.462265130000000082e-14 -1.535750000000000000e+04 1.460569559999999908e-14 -1.536450000000000000e+04 1.458175680000000187e-14 -1.537150000000000000e+04 1.451270760000000113e-14 -1.537850000000000000e+04 1.444558260000000105e-14 -1.538550000000000000e+04 1.440861419999999890e-14 -1.539250000000000000e+04 1.434902189999999946e-14 -1.539950000000000000e+04 1.431040800000000012e-14 -1.540650000000000000e+04 1.428006750000000058e-14 -1.541350000000000000e+04 1.424980260000000006e-14 -1.542050000000000000e+04 1.416440759999999979e-14 -1.542750000000000000e+04 1.412651609999999817e-14 -1.543450000000000000e+04 1.411389779999999807e-14 -1.544150000000000000e+04 1.409164859999999958e-14 -1.544850000000000000e+04 1.403844870000000099e-14 -1.545550000000000000e+04 1.402043909999999967e-14 -1.546250000000000000e+04 1.396822950000000106e-14 -1.546950000000000000e+04 1.387117529999999997e-14 -1.547650000000000000e+04 1.379118239999999897e-14 -1.548350000000000000e+04 1.374936179999999952e-14 -1.549050000000000000e+04 1.369731059999999921e-14 -1.549750000000000000e+04 1.361095320000000023e-14 -1.550450000000000000e+04 1.360680900000000010e-14 -1.551150000000000000e+04 1.364997180000000087e-14 -1.551850000000000000e+04 1.363592040000000162e-14 -1.552550000000000000e+04 1.365531389999999991e-14 -1.553250000000000000e+04 1.359955679999999944e-14 -1.553950000000000000e+04 1.355276129999999953e-14 -1.554650000000000000e+04 1.347858990000000118e-14 -1.555350000000000000e+04 1.345992299999999829e-14 -1.556050000000000000e+04 1.346078430000000099e-14 -1.556750000000000000e+04 1.343700390000000051e-14 -1.557450000000000000e+04 1.336784429999999913e-14 -1.558150000000000000e+04 1.333823250000000093e-14 -1.558850000000000000e+04 1.330014300000000026e-14 -1.559550000000000000e+04 1.323597659999999920e-14 -1.560250000000000000e+04 1.316644289999999891e-14 -1.560950000000000000e+04 1.314252150000000172e-14 -1.561650000000000000e+04 1.312219619999999922e-14 -1.562350000000000000e+04 1.303997129999999933e-14 -1.563050000000000000e+04 1.297454249999999995e-14 -1.563750000000000000e+04 1.296484890000000023e-14 -1.564450000000000000e+04 1.292146920000000065e-14 -1.565150000000000000e+04 1.283391869999999875e-14 -1.565850000000000000e+04 1.281470399999999982e-14 -1.566550000000000000e+04 1.282086689999999939e-14 -1.567250000000000000e+04 1.274449439999999974e-14 -1.567950000000000000e+04 1.264431120000000033e-14 -1.568650000000000000e+04 1.253185739999999817e-14 -1.569350000000000000e+04 1.238255640000000044e-14 -1.570050000000000000e+04 1.211402609999999927e-14 -1.570750000000000000e+04 1.194929309999999999e-14 -1.571450000000000000e+04 1.184553479999999896e-14 -1.572150000000000000e+04 1.178396429999999912e-14 -1.572850000000000000e+04 1.178211119999999985e-14 -1.573550000000000000e+04 1.191246659999999911e-14 -1.574250000000000000e+04 1.204483950000000118e-14 -1.574950000000000000e+04 1.209881159999999958e-14 -1.575650000000000000e+04 1.210994430000000052e-14 -1.576350000000000000e+04 1.212618599999999986e-14 -1.577050000000000000e+04 1.207549920000000004e-14 -1.577750000000000000e+04 1.195927499999999828e-14 -1.578450000000000000e+04 1.192305330000000054e-14 -1.579150000000000000e+04 1.196680860000000192e-14 -1.579850000000000000e+04 1.196813250000000022e-14 -1.580550000000000000e+04 1.194448679999999915e-14 -1.581250000000000000e+04 1.199055539999999899e-14 -1.581950000000000000e+04 1.203845399999999909e-14 -1.582650000000000000e+04 1.198385910000000080e-14 -1.583350000000000000e+04 1.196279819999999821e-14 -1.584050000000000000e+04 1.206223050000000028e-14 -1.584750000000000000e+04 1.209557249999999900e-14 -1.585450000000000000e+04 1.210534440000000039e-14 -1.586150000000000000e+04 1.217565240000000169e-14 -1.586850000000000000e+04 1.224107969999999977e-14 -1.587550000000000000e+04 1.217761619999999996e-14 -1.588250000000000000e+04 1.210983630000000103e-14 -1.588950000000000000e+04 1.208037150000000003e-14 -1.589650000000000000e+04 1.203324599999999958e-14 -1.590350000000000000e+04 1.190954639999999949e-14 -1.591050000000000000e+04 1.185779699999999849e-14 -1.591750000000000000e+04 1.186898730000000010e-14 -1.592450000000000000e+04 1.190201880000000108e-14 -1.593150000000000000e+04 1.194656940000000127e-14 -1.593850000000000000e+04 1.195558139999999906e-14 -1.594550000000000000e+04 1.194617250000000016e-14 -1.595250000000000000e+04 1.179031680000000083e-14 -1.595950000000000000e+04 1.154248409999999823e-14 -1.596650000000000000e+04 1.138002509999999975e-14 -1.597350000000000000e+04 1.129238700000000100e-14 -1.598050000000000000e+04 1.110478920000000048e-14 -1.598750000000000000e+04 1.101830039999999992e-14 -1.599450000000000000e+04 1.092246179999999927e-14 -1.600150000000000000e+04 1.073144640000000032e-14 -1.600850000000000000e+04 1.047582179999999957e-14 -1.601550000000000000e+04 1.034881949999999931e-14 -1.602250000000000000e+04 1.028449410000000005e-14 -1.602950000000000000e+04 1.019391840000000008e-14 -1.603650000000000000e+04 1.023817680000000082e-14 -1.604350000000000000e+04 1.044261600000000000e-14 -1.605050000000000000e+04 1.051727340000000078e-14 -1.605750000000000000e+04 1.047828359999999969e-14 -1.606450000000000000e+04 1.046320650000000051e-14 -1.607150000000000000e+04 1.041034800000000040e-14 -1.607850000000000000e+04 1.025683859999999989e-14 -1.608550000000000000e+04 1.014651239999999964e-14 -1.609250000000000000e+04 1.019722920000000038e-14 -1.609950000000000000e+04 1.023027899999999964e-14 -1.610650000000000000e+04 1.016407080000000016e-14 -1.611350000000000000e+04 1.014549360000000005e-14 -1.612050000000000000e+04 1.024275360000000038e-14 -1.612750000000000000e+04 1.026339449999999970e-14 -1.613450000000000000e+04 1.026662490000000027e-14 -1.614150000000000000e+04 1.038261330000000030e-14 -1.614850000000000000e+04 1.055223060000000057e-14 -1.615550000000000000e+04 1.058297159999999899e-14 -1.616250000000000000e+04 1.058651340000000030e-14 -1.616950000000000000e+04 1.071148350000000042e-14 -1.617650000000000000e+04 1.077747809999999891e-14 -1.618350000000000000e+04 1.071570510000000082e-14 -1.619050000000000000e+04 1.075317480000000107e-14 -1.619750000000000000e+04 1.089945599999999975e-14 -1.620450000000000000e+04 1.091152409999999952e-14 -1.621150000000000000e+04 1.088308679999999969e-14 -1.621850000000000000e+04 1.096235910000000106e-14 -1.622550000000000000e+04 1.104969839999999996e-14 -1.623250000000000000e+04 1.099932660000000022e-14 -1.623950000000000000e+04 1.100723279999999830e-14 -1.624650000000000000e+04 1.118550420000000084e-14 -1.625350000000000000e+04 1.129070550000000082e-14 -1.626050000000000000e+04 1.127909640000000046e-14 -1.626750000000000000e+04 1.139833500000000065e-14 -1.627450000000000000e+04 1.157864249999999949e-14 -1.628150000000000000e+04 1.162046280000000058e-14 -1.628850000000000000e+04 1.162425329999999971e-14 -1.629550000000000000e+04 1.178436600000000095e-14 -1.630250000000000000e+04 1.196294430000000030e-14 -1.630950000000000000e+04 1.197581129999999981e-14 -1.631650000000000000e+04 1.200572640000000020e-14 -1.632350000000000000e+04 1.223881620000000024e-14 -1.633050000000000000e+04 1.231166100000000077e-14 -1.633750000000000000e+04 1.223130779999999995e-14 -1.634450000000000000e+04 1.235593260000000071e-14 -1.635150000000000000e+04 1.257811620000000005e-14 -1.635850000000000000e+04 1.259326709999999857e-14 -1.636550000000000000e+04 1.257956550000000102e-14 -1.637250000000000000e+04 1.269997080000000100e-14 -1.637950000000000000e+04 1.272454439999999909e-14 -1.638650000000000000e+04 1.255196100000000115e-14 -1.639350000000000000e+04 1.248644880000000100e-14 -1.640050000000000000e+04 1.257859889999999834e-14 -1.640750000000000000e+04 1.250357759999999997e-14 -1.641450000000000000e+04 1.233175109999999986e-14 -1.642150000000000000e+04 1.228862759999999833e-14 -1.642850000000000000e+04 1.233651779999999994e-14 -1.643550000000000000e+04 1.223640839999999987e-14 -1.644250000000000000e+04 1.216302719999999967e-14 -1.644950000000000000e+04 1.231061040000000060e-14 -1.645650000000000000e+04 1.239472080000000023e-14 -1.646350000000000000e+04 1.225825650000000115e-14 -1.647050000000000000e+04 1.227082410000000091e-14 -1.647750000000000000e+04 1.242530220000000056e-14 -1.648450000000000000e+04 1.238475269999999945e-14 -1.649150000000000000e+04 1.228697279999999965e-14 -1.649850000000000000e+04 1.237766730000000032e-14 -1.650550000000000000e+04 1.249669199999999958e-14 -1.651250000000000000e+04 1.242493710000000003e-14 -1.651950000000000000e+04 1.244633879999999964e-14 -1.652650000000000000e+04 1.264931429999999887e-14 -1.653350000000000000e+04 1.273408769999999904e-14 -1.654050000000000000e+04 1.268311289999999900e-14 -1.654750000000000000e+04 1.275265410000000109e-14 -1.655450000000000000e+04 1.286340959999999978e-14 -1.656150000000000000e+04 1.282583729999999908e-14 -1.656850000000000000e+04 1.279282950000000014e-14 -1.657550000000000000e+04 1.287680550000000031e-14 -1.658250000000000000e+04 1.294181430000000116e-14 -1.658950000000000000e+04 1.277119619999999806e-14 -1.659650000000000000e+04 1.260692940000000004e-14 -1.660350000000000000e+04 1.266251850000000077e-14 -1.661050000000000000e+04 1.262179229999999992e-14 -1.661750000000000000e+04 1.250470079999999970e-14 -1.662450000000000000e+04 1.261209330000000118e-14 -1.663150000000000000e+04 1.269187260000000119e-14 -1.663850000000000000e+04 1.244123640000000005e-14 -1.664550000000000000e+04 1.216449690000000012e-14 -1.665250000000000000e+04 1.210205040000000022e-14 -1.665950000000000000e+04 1.209092459999999962e-14 -1.666650000000000000e+04 1.199687909999999958e-14 -1.667350000000000000e+04 1.206717150000000053e-14 -1.668050000000000000e+04 1.224167309999999864e-14 -1.668750000000000000e+04 1.224614970000000046e-14 -1.669450000000000000e+04 1.216961430000000017e-14 -1.670150000000000000e+04 1.226224830000000190e-14 -1.670850000000000000e+04 1.243628279999999891e-14 -1.671550000000000000e+04 1.251024209999999916e-14 -1.672250000000000000e+04 1.256235660000000069e-14 -1.672950000000000000e+04 1.269170549999999972e-14 -1.673650000000000000e+04 1.274190659999999865e-14 -1.674350000000000000e+04 1.264159230000000075e-14 -1.675050000000000000e+04 1.261930589999999950e-14 -1.675750000000000000e+04 1.267552739999999997e-14 -1.676450000000000000e+04 1.263571950000000103e-14 -1.677150000000000000e+04 1.256737020000000049e-14 -1.677850000000000000e+04 1.262901749999999913e-14 -1.678550000000000000e+04 1.266791669999999917e-14 -1.679250000000000000e+04 1.254912690000000022e-14 -1.679950000000000000e+04 1.245766949999999806e-14 -1.680650000000000000e+04 1.248073499999999946e-14 -1.681350000000000000e+04 1.242532559999999951e-14 -1.682050000000000000e+04 1.224950429999999918e-14 -1.682750000000000000e+04 1.224117930000000077e-14 -1.683450000000000000e+04 1.226471639999999930e-14 -1.684150000000000000e+04 1.217501220000000020e-14 -1.684850000000000000e+04 1.208132910000000118e-14 -1.685550000000000000e+04 1.213332780000000147e-14 -1.686250000000000000e+04 1.219747320000000157e-14 -1.686950000000000000e+04 1.215796499999999915e-14 -1.687650000000000000e+04 1.211471760000000099e-14 -1.688350000000000000e+04 1.213663080000000001e-14 -1.689050000000000000e+04 1.205665680000000034e-14 -1.689750000000000000e+04 1.187079569999999953e-14 -1.690450000000000000e+04 1.182597750000000018e-14 -1.691150000000000000e+04 1.187015549999999804e-14 -1.691850000000000000e+04 1.180307219999999992e-14 -1.692550000000000000e+04 1.176590760000000154e-14 -1.693250000000000000e+04 1.181733180000000113e-14 -1.693950000000000000e+04 1.182010799999999986e-14 -1.694650000000000000e+04 1.171649580000000093e-14 -1.695350000000000000e+04 1.170041130000000010e-14 -1.696050000000000000e+04 1.173475260000000035e-14 -1.696750000000000000e+04 1.170217769999999920e-14 -1.697450000000000000e+04 1.162784970000000065e-14 -1.698150000000000000e+04 1.162858620000000058e-14 -1.698850000000000000e+04 1.163094660000000001e-14 -1.699550000000000000e+04 1.152796589999999940e-14 -1.700250000000000000e+04 1.143047459999999970e-14 -1.700950000000000000e+04 1.139248110000000068e-14 -1.701650000000000000e+04 1.136849309999999970e-14 -1.702350000000000000e+04 1.134310529999999832e-14 -1.703050000000000000e+04 1.142270519999999908e-14 -1.703750000000000000e+04 1.157404620000000186e-14 -1.704450000000000000e+04 1.164475260000000085e-14 -1.705150000000000000e+04 1.165590749999999937e-14 -1.705850000000000000e+04 1.164402269999999974e-14 -1.706550000000000000e+04 1.153690289999999965e-14 -1.707250000000000000e+04 1.130259510000000117e-14 -1.707950000000000000e+04 1.116785399999999950e-14 -1.708650000000000000e+04 1.108378950000000107e-14 -1.709350000000000000e+04 1.099037760000000055e-14 -1.710050000000000000e+04 1.092267749999999988e-14 -1.710750000000000000e+04 1.096277400000000051e-14 -1.711450000000000000e+04 1.097000219999999918e-14 -1.712150000000000000e+04 1.092838110000000167e-14 -1.712850000000000000e+04 1.089595139999999963e-14 -1.713550000000000000e+04 1.092505950000000016e-14 -1.714250000000000000e+04 1.096327649999999840e-14 -1.714950000000000000e+04 1.102584930000000080e-14 -1.715650000000000000e+04 1.111895459999999972e-14 -1.716350000000000000e+04 1.123843980000000127e-14 -1.717050000000000000e+04 1.126910820000000014e-14 -1.717750000000000000e+04 1.119525389999999835e-14 -1.718450000000000000e+04 1.112014170000000056e-14 -1.719150000000000000e+04 1.105882229999999969e-14 -1.719850000000000000e+04 1.101905759999999927e-14 -1.720550000000000000e+04 1.102769789999999930e-14 -1.721250000000000000e+04 1.105834260000000086e-14 -1.721950000000000000e+04 1.102670099999999892e-14 -1.722650000000000000e+04 1.092317850000000119e-14 -1.723350000000000000e+04 1.081117739999999957e-14 -1.724050000000000000e+04 1.070500110000000000e-14 -1.724750000000000000e+04 1.068616020000000004e-14 -1.725450000000000000e+04 1.073391780000000029e-14 -1.726150000000000000e+04 1.082178629999999857e-14 -1.726850000000000000e+04 1.083251700000000089e-14 -1.727550000000000000e+04 1.082145689999999950e-14 -1.728250000000000000e+04 1.080190589999999959e-14 -1.728950000000000000e+04 1.077868289999999973e-14 -1.729650000000000000e+04 1.071768600000000074e-14 -1.730350000000000000e+04 1.070062680000000028e-14 -1.731050000000000000e+04 1.067921910000000017e-14 -1.731750000000000000e+04 1.058423069999999950e-14 -1.732450000000000000e+04 1.049925720000000064e-14 -1.733150000000000000e+04 1.050217410000000086e-14 -1.733850000000000000e+04 1.049770740000000041e-14 -1.734550000000000000e+04 1.044142739999999943e-14 -1.735250000000000000e+04 1.041593369999999975e-14 -1.735950000000000000e+04 1.039606919999999949e-14 -1.736650000000000000e+04 1.035270150000000089e-14 -1.737350000000000000e+04 1.032819689999999984e-14 -1.738050000000000000e+04 1.030062329999999914e-14 -1.738750000000000000e+04 1.026590099999999965e-14 -1.739450000000000000e+04 1.020217469999999982e-14 -1.740150000000000000e+04 1.014815279999999934e-14 -1.740850000000000000e+04 1.011204270000000043e-14 -1.741550000000000000e+04 1.004365289999999930e-14 -1.742250000000000000e+04 9.940261500000000053e-15 -1.742950000000000000e+04 9.883086300000000890e-15 -1.743650000000000000e+04 9.865456200000000659e-15 -1.744350000000000000e+04 9.781352999999999731e-15 -1.745050000000000000e+04 9.728386200000000189e-15 -1.745750000000000000e+04 9.719788199999998861e-15 -1.746450000000000000e+04 9.693964200000000278e-15 -1.747150000000000000e+04 9.658950899999999540e-15 -1.747850000000000000e+04 9.687956699999999559e-15 -1.748550000000000000e+04 9.740723700000000363e-15 -1.749250000000000000e+04 9.727704899999999789e-15 -1.749950000000000000e+04 9.665700000000000847e-15 -1.750650000000000000e+04 9.638078699999999264e-15 -1.751350000000000000e+04 9.606711899999999915e-15 -1.752050000000000000e+04 9.546636300000000719e-15 -1.752750000000000000e+04 9.505599900000000492e-15 -1.753450000000000000e+04 9.467410799999998816e-15 -1.754150000000000000e+04 9.432840900000000289e-15 -1.754850000000000000e+04 9.433560300000000141e-15 -1.755550000000000000e+04 9.462716699999999867e-15 -1.756250000000000000e+04 9.463006199999999810e-15 -1.756950000000000000e+04 9.420968699999999962e-15 -1.757650000000000000e+04 9.384729000000000723e-15 -1.758350000000000000e+04 9.289745999999999077e-15 -1.759050000000000000e+04 9.200389500000000482e-15 -1.759750000000000000e+04 9.152716500000000782e-15 -1.760450000000000000e+04 9.138615899999999339e-15 -1.761150000000000000e+04 9.103189500000000401e-15 -1.761850000000000000e+04 9.082679099999999673e-15 -1.762550000000000000e+04 9.058369199999999857e-15 -1.763250000000000000e+04 9.007008599999999856e-15 -1.763950000000000000e+04 8.942081999999999982e-15 -1.764650000000000000e+04 8.861927699999999641e-15 -1.765350000000000000e+04 8.797030799999999152e-15 -1.766050000000000000e+04 8.837654699999999493e-15 -1.766750000000000000e+04 8.890419599999999097e-15 -1.767450000000000000e+04 8.936613300000000075e-15 -1.768150000000000000e+04 8.998760400000000236e-15 -1.768850000000000000e+04 9.060100200000000595e-15 -1.769550000000000000e+04 8.988651600000001124e-15 -1.770250000000000000e+04 8.954617199999999271e-15 -1.770950000000000000e+04 8.990972999999999695e-15 -1.771650000000000000e+04 9.008569199999999718e-15 -1.772350000000000000e+04 9.019902900000000757e-15 -1.773050000000000000e+04 9.049744200000000235e-15 -1.773750000000000000e+04 9.056093699999999333e-15 -1.774450000000000000e+04 9.035059499999999825e-15 -1.775150000000000000e+04 9.044750699999999969e-15 -1.775850000000000000e+04 9.079959599999998623e-15 -1.776550000000000000e+04 9.111791700000000973e-15 -1.777250000000000000e+04 9.108427200000000877e-15 -1.777950000000000000e+04 9.113581200000000645e-15 -1.778650000000000000e+04 9.104147699999999857e-15 -1.779350000000000000e+04 9.069289799999999540e-15 -1.780050000000000000e+04 9.034246199999999524e-15 -1.780750000000000000e+04 9.042085800000000134e-15 -1.781450000000000000e+04 9.063612899999999253e-15 -1.782150000000000000e+04 9.054619799999999639e-15 -1.782850000000000000e+04 9.015596399999999865e-15 -1.783550000000000000e+04 8.977647899999999048e-15 -1.784250000000000000e+04 8.937321000000000455e-15 -1.784950000000000000e+04 8.828721600000000121e-15 -1.785650000000000000e+04 8.764046999999999052e-15 -1.786350000000000000e+04 8.764358099999999839e-15 -1.787050000000000000e+04 8.742620099999999248e-15 -1.787750000000000000e+04 8.716508400000000398e-15 -1.788450000000000000e+04 8.734597799999999978e-15 -1.789150000000000000e+04 8.738943000000000213e-15 -1.789850000000000000e+04 8.710901100000000202e-15 -1.790550000000000000e+04 8.702748900000000653e-15 -1.791250000000000000e+04 8.695123200000000975e-15 -1.791950000000000000e+04 8.670575099999999869e-15 -1.792650000000000000e+04 8.637832500000000519e-15 -1.793350000000000000e+04 8.633724299999998636e-15 -1.794050000000000000e+04 8.633368199999999639e-15 -1.794750000000000000e+04 8.615720699999999386e-15 -1.795450000000000000e+04 8.583738900000000322e-15 -1.796150000000000000e+04 8.564885399999999472e-15 -1.796850000000000000e+04 8.556434700000000023e-15 -1.797550000000000000e+04 8.547867299999999497e-15 -1.798250000000000000e+04 8.539023599999999806e-15 -1.798950000000000000e+04 8.553162000000000754e-15 -1.799650000000000000e+04 8.558244300000000809e-15 -1.800350000000000000e+04 8.524963200000000592e-15 -1.801050000000000000e+04 8.508958799999999547e-15 -1.801750000000000000e+04 8.532109199999999861e-15 -1.802450000000000000e+04 8.558181899999999422e-15 -1.803150000000000000e+04 8.621289900000000131e-15 -1.803850000000000000e+04 8.684831100000000155e-15 -1.804550000000000000e+04 8.712538499999998858e-15 -1.805250000000000000e+04 8.726863200000000974e-15 -1.805950000000000000e+04 8.736425700000000624e-15 -1.806650000000000000e+04 8.748290099999999200e-15 -1.807350000000000000e+04 8.779748399999999430e-15 -1.808050000000000000e+04 8.868007499999999965e-15 -1.808750000000000000e+04 8.905460999999999973e-15 -1.809450000000000000e+04 8.949543299999999281e-15 -1.810150000000000000e+04 9.001512600000000132e-15 -1.810850000000000000e+04 9.017362200000000648e-15 -1.811550000000000000e+04 9.045698400000001316e-15 -1.812250000000000000e+04 9.170413500000000012e-15 -1.812950000000000000e+04 9.200434800000000215e-15 -1.813650000000000000e+04 9.263808300000000454e-15 -1.814350000000000000e+04 9.302978099999999113e-15 -1.815050000000000000e+04 9.387264600000000172e-15 -1.815750000000000000e+04 9.441739799999999508e-15 -1.816450000000000000e+04 9.435724800000000139e-15 -1.817150000000000000e+04 9.430233899999999496e-15 -1.817850000000000000e+04 9.392970300000000008e-15 -1.818550000000000000e+04 9.399413399999999610e-15 -1.819250000000000000e+04 9.331157699999999576e-15 -1.819950000000000000e+04 9.338418300000000300e-15 -1.820650000000000000e+04 9.289286999999999675e-15 -1.821350000000000000e+04 9.192811200000000159e-15 -1.822050000000000000e+04 9.082554600000000000e-15 -1.822750000000000000e+04 9.078108000000000666e-15 -1.823450000000000000e+04 9.228269399999999683e-15 -1.824150000000000000e+04 9.348870900000000623e-15 -1.824850000000000000e+04 9.365847900000000110e-15 -1.825550000000000000e+04 9.374359499999999639e-15 -1.826250000000000000e+04 9.235254899999999449e-15 -1.826950000000000000e+04 8.922282900000000563e-15 -1.827650000000000000e+04 8.801463900000000917e-15 -1.828350000000000000e+04 8.727586800000000070e-15 -1.829050000000000000e+04 8.652091800000000210e-15 -1.829750000000000000e+04 8.821733400000000841e-15 -1.830450000000000000e+04 8.992500899999999134e-15 -1.831150000000000000e+04 8.883499500000000178e-15 -1.831850000000000000e+04 8.897488799999999571e-15 -1.832550000000000000e+04 8.794331699999999163e-15 -1.833250000000000000e+04 8.630949599999999636e-15 -1.833950000000000000e+04 8.620273800000000055e-15 -1.834650000000000000e+04 8.259668100000000704e-15 -1.835350000000000000e+04 8.722554300000000515e-15 -1.836050000000000000e+04 7.452793499999999527e-15 -1.836750000000000000e+04 8.544130800000000111e-15 -1.837450000000000000e+04 8.557248600000000216e-15 -1.838150000000000000e+04 8.593388999999999978e-15 -1.838850000000000000e+04 8.325526500000000055e-15 -1.839550000000000000e+04 7.967731500000001111e-15 -1.840250000000000000e+04 9.023403000000000106e-15 -1.840950000000000000e+04 8.176310700000001185e-15 -1.841650000000000000e+04 8.043538500000000018e-15 -1.842350000000000000e+04 8.367564299999999848e-15 -1.843050000000000000e+04 8.308019400000001345e-15 -1.843750000000000000e+04 8.593944300000000975e-15 -1.844450000000000000e+04 8.688472200000000939e-15 -1.845150000000000000e+04 8.330822699999999465e-15 -1.845850000000000000e+04 8.325520799999999504e-15 -1.846550000000000000e+04 7.774920900000000360e-15 -1.847250000000000000e+04 8.179780800000001202e-15 -1.847950000000000000e+04 8.645929800000000486e-15 -1.848650000000000000e+04 7.594014900000000414e-15 -1.849350000000000000e+04 8.147907299999999995e-15 -1.850050000000000000e+04 8.182235699999999403e-15 -1.850750000000000000e+04 7.998959100000000278e-15 -1.851450000000000000e+04 7.923718500000000370e-15 -1.852150000000000000e+04 7.849137899999999964e-15 -1.852850000000000000e+04 7.993495800000000976e-15 -1.853550000000000000e+04 8.055349500000000319e-15 -1.854250000000000000e+04 8.599804799999999761e-15 -1.854950000000000000e+04 7.650790500000000523e-15 -1.855650000000000000e+04 8.444362200000000212e-15 -1.856350000000000000e+04 7.445640599999999923e-15 -1.857050000000000000e+04 8.179082999999999039e-15 -1.857750000000000000e+04 7.729575599999999674e-15 -1.858450000000000000e+04 7.679262599999998811e-15 -1.859150000000000000e+04 7.642866600000000892e-15 -1.859850000000000000e+04 8.090399100000000833e-15 -1.860550000000000000e+04 7.873035599999999840e-15 -1.861250000000000000e+04 8.532470699999999463e-15 -1.861950000000000000e+04 7.830004499999999021e-15 -1.862650000000000000e+04 7.096027499999999914e-15 -1.863350000000000000e+04 6.665685300000000500e-15 -1.864050000000000000e+04 8.324324400000000335e-15 -1.864750000000000000e+04 7.608218700000000631e-15 -1.865450000000000000e+04 7.866307800000001009e-15 -1.866150000000000000e+04 7.460541899999999201e-15 -1.866850000000000000e+04 7.823574000000000306e-15 -1.867550000000000000e+04 8.094705600000000146e-15 -1.868250000000000000e+04 7.737333300000000830e-15 -1.868950000000000000e+04 7.769662200000000510e-15 -1.869650000000000000e+04 7.684502700000000432e-15 -1.870350000000000000e+04 7.505153099999999527e-15 -1.871050000000000000e+04 7.563014699999999749e-15 -1.871750000000000000e+04 7.777747199999999536e-15 -1.872450000000000000e+04 7.561938299999999485e-15 -1.873150000000000000e+04 7.774948800000000070e-15 -1.873850000000000000e+04 7.834422599999998753e-15 -1.874550000000000000e+04 7.937530500000000130e-15 -1.875250000000000000e+04 7.769149799999999677e-15 -1.875950000000000000e+04 8.013012899999999102e-15 -1.876650000000000000e+04 7.593579599999999900e-15 -1.877350000000000000e+04 7.748115000000000277e-15 -1.878050000000000000e+04 7.743663300000000284e-15 -1.878750000000000000e+04 7.773804899999999338e-15 -1.879450000000000000e+04 7.820650199999999752e-15 -1.880150000000000000e+04 7.644792900000001177e-15 -1.880850000000000000e+04 7.663280700000000026e-15 -1.881550000000000000e+04 7.556639100000000616e-15 -1.882250000000000000e+04 7.604486100000000543e-15 -1.882950000000000000e+04 7.542185099999999691e-15 -1.883650000000000000e+04 7.517574000000000462e-15 -1.884350000000000000e+04 7.470518100000000099e-15 -1.885050000000000000e+04 7.380741299999999866e-15 -1.885750000000000000e+04 7.319465399999999047e-15 -1.886450000000000000e+04 7.366732199999999305e-15 -1.887150000000000000e+04 7.439078099999999730e-15 -1.887850000000000000e+04 7.458025800000000974e-15 -1.888550000000000000e+04 7.417000799999998696e-15 -1.889250000000000000e+04 7.390080899999998627e-15 -1.889950000000000000e+04 7.332611399999998808e-15 -1.890650000000000000e+04 7.219116600000001056e-15 -1.891350000000000000e+04 7.106576699999998622e-15 -1.892050000000000000e+04 7.075488899999999529e-15 -1.892750000000000000e+04 7.123785300000000587e-15 -1.893450000000000000e+04 7.187951100000000175e-15 -1.894150000000000000e+04 7.212585899999999871e-15 -1.894850000000000000e+04 7.173729000000000098e-15 -1.895550000000000000e+04 7.119275999999999921e-15 -1.896250000000000000e+04 7.142798999999999416e-15 -1.896950000000000000e+04 7.203527699999999357e-15 -1.897650000000000000e+04 7.235380199999999611e-15 -1.898350000000000000e+04 7.176068700000000107e-15 -1.899050000000000000e+04 7.090463099999999882e-15 -1.899750000000000000e+04 7.000209299999999543e-15 -1.900450000000000000e+04 6.921917100000000002e-15 -1.901150000000000000e+04 6.870161999999999242e-15 -1.901850000000000000e+04 6.843888300000000370e-15 -1.902550000000000000e+04 6.888094800000000194e-15 -1.903250000000000000e+04 6.913515900000000319e-15 -1.903950000000000000e+04 6.999865799999999856e-15 -1.904650000000000000e+04 6.948850799999999953e-15 -1.905350000000000000e+04 6.935503200000000202e-15 -1.906050000000000000e+04 6.899622300000000262e-15 -1.906750000000000000e+04 6.866898899999999822e-15 -1.907450000000000000e+04 6.837169499999999130e-15 -1.908150000000000000e+04 6.806277599999999477e-15 -1.908850000000000000e+04 6.760012800000000256e-15 -1.909550000000000000e+04 6.737901900000000538e-15 -1.910250000000000000e+04 6.761268299999999828e-15 -1.910950000000000000e+04 6.817593300000000601e-15 -1.911650000000000000e+04 6.799402500000000345e-15 -1.912350000000000000e+04 6.691058399999999800e-15 -1.913050000000000000e+04 6.634037699999999642e-15 -1.913750000000000000e+04 6.676606200000000129e-15 -1.914450000000000000e+04 6.639714000000000038e-15 -1.915150000000000000e+04 6.499964100000000855e-15 -1.915850000000000000e+04 6.439627499999999740e-15 -1.916550000000000000e+04 6.561023999999999542e-15 -1.917250000000000000e+04 6.722195400000000290e-15 -1.917950000000000000e+04 6.725588699999999934e-15 -1.918650000000000000e+04 6.589714199999999584e-15 -1.919350000000000000e+04 6.477657900000000011e-15 -1.920050000000000000e+04 6.533258699999999430e-15 -1.920750000000000000e+04 6.671666100000000504e-15 -1.921450000000000000e+04 6.713862300000000178e-15 -1.922150000000000000e+04 6.587115000000000541e-15 -1.922850000000000000e+04 6.442920300000000123e-15 -1.923550000000000000e+04 6.432736800000000260e-15 -1.924250000000000000e+04 6.531674399999999890e-15 -1.924950000000000000e+04 6.564890699999999152e-15 -1.925650000000000000e+04 6.477264299999999878e-15 -1.926350000000000000e+04 6.386397000000000343e-15 -1.927050000000000000e+04 6.390636299999999923e-15 -1.927750000000000000e+04 6.447591899999999968e-15 -1.928450000000000000e+04 6.455027099999999233e-15 -1.929150000000000000e+04 6.392301899999999024e-15 -1.929850000000000000e+04 6.332302799999999465e-15 -1.930550000000000000e+04 6.349900500000000007e-15 -1.931250000000000000e+04 6.403701000000000121e-15 -1.931950000000000000e+04 6.405761099999999194e-15 -1.932650000000000000e+04 6.355752899999999463e-15 -1.933350000000000000e+04 6.332949300000000609e-15 -1.934050000000000000e+04 6.357956100000000382e-15 -1.934750000000000000e+04 6.356822100000000234e-15 -1.935450000000000000e+04 6.327501600000000076e-15 -1.936150000000000000e+04 6.316068899999999507e-15 -1.936850000000000000e+04 6.349319100000000554e-15 -1.937550000000000000e+04 6.350688300000000166e-15 -1.938250000000000000e+04 6.317114399999999023e-15 -1.938950000000000000e+04 6.273899999999999651e-15 -1.939650000000000000e+04 6.225844500000000975e-15 -1.940350000000000000e+04 6.177596099999999163e-15 -1.941050000000000000e+04 6.162087000000000451e-15 -1.941750000000000000e+04 6.198006000000000631e-15 -1.942450000000000000e+04 6.230790900000000254e-15 -1.943150000000000000e+04 6.254513100000000172e-15 -1.943850000000000000e+04 6.214243199999999206e-15 -1.944550000000000000e+04 6.195169800000000082e-15 -1.945250000000000000e+04 6.113702700000000230e-15 -1.945950000000000000e+04 6.112130700000000054e-15 -1.946650000000000000e+04 6.144837599999999521e-15 -1.947350000000000000e+04 6.157611899999999938e-15 -1.948050000000000000e+04 6.132765599999999667e-15 -1.948750000000000000e+04 6.086937899999999847e-15 -1.949450000000000000e+04 6.064626899999999868e-15 -1.950150000000000000e+04 6.083512199999999725e-15 -1.950850000000000000e+04 6.128702699999999882e-15 -1.951550000000000000e+04 6.095708100000000149e-15 -1.952250000000000000e+04 6.072859499999999141e-15 -1.952950000000000000e+04 6.050414699999999585e-15 -1.953650000000000000e+04 6.029901599999999343e-15 -1.954350000000000000e+04 6.001557000000000188e-15 -1.955050000000000000e+04 5.979510899999999847e-15 -1.955750000000000000e+04 5.969192999999999727e-15 -1.956450000000000000e+04 5.961518400000000176e-15 -1.957150000000000000e+04 5.947820699999999559e-15 -1.957850000000000000e+04 5.941052100000000974e-15 -1.958550000000000000e+04 5.959836600000000047e-15 -1.959250000000000000e+04 5.989939199999999812e-15 -1.959950000000000000e+04 5.992689300000000085e-15 -1.960650000000000000e+04 5.955160499999999435e-15 -1.961350000000000000e+04 5.908397999999999890e-15 -1.962050000000000000e+04 5.873624100000000226e-15 -1.962750000000000000e+04 5.863408499999999832e-15 -1.963450000000000000e+04 5.870281200000000974e-15 -1.964150000000000000e+04 5.879561700000000909e-15 -1.964850000000000000e+04 5.876714699999999149e-15 -1.965550000000000000e+04 5.865956700000000168e-15 -1.966250000000000000e+04 5.858866800000000266e-15 -1.966950000000000000e+04 5.853303000000000126e-15 -1.967650000000000000e+04 5.842671300000000494e-15 -1.968350000000000000e+04 5.825117400000000743e-15 -1.969050000000000000e+04 5.809247699999999901e-15 -1.969750000000000000e+04 5.794757100000000044e-15 -1.970450000000000000e+04 5.788948199999999856e-15 -1.971150000000000000e+04 5.800401599999999854e-15 -1.971850000000000000e+04 5.821853699999999854e-15 -1.972550000000000000e+04 5.829941100000000025e-15 -1.973250000000000000e+04 5.810989499999999483e-15 -1.973950000000000000e+04 5.772428100000000150e-15 -1.974650000000000000e+04 5.735988900000000541e-15 -1.975350000000000000e+04 5.713575000000000156e-15 -1.976050000000000000e+04 5.718012899999999478e-15 -1.976750000000000000e+04 5.731640400000000112e-15 -1.977450000000000000e+04 5.738259000000000460e-15 -1.978150000000000000e+04 5.722713300000000449e-15 -1.978850000000000000e+04 5.701533900000000261e-15 -1.979550000000000000e+04 5.699582099999999833e-15 -1.980250000000000000e+04 5.718420599999999439e-15 -1.980950000000000000e+04 5.726056499999999647e-15 -1.981650000000000000e+04 5.701287300000000483e-15 -1.982350000000000000e+04 5.664872399999999655e-15 -1.983050000000000000e+04 5.637866400000000099e-15 -1.983750000000000000e+04 5.631927899999999579e-15 -1.984450000000000000e+04 5.633255399999999599e-15 -1.985150000000000000e+04 5.636190899999999625e-15 -1.985850000000000000e+04 5.626447499999999412e-15 -1.986550000000000000e+04 5.615303100000000579e-15 -1.987250000000000000e+04 5.610019200000000533e-15 -1.987950000000000000e+04 5.600586600000000373e-15 -1.988650000000000000e+04 5.579018100000000030e-15 -1.989350000000000000e+04 5.560785000000000290e-15 -1.990050000000000000e+04 5.569453500000000758e-15 -1.990750000000000000e+04 5.590653899999999532e-15 -1.991450000000000000e+04 5.603686200000000041e-15 -1.992150000000000000e+04 5.595869700000000006e-15 -1.992850000000000000e+04 5.583433500000000248e-15 -1.993550000000000000e+04 5.568713099999999954e-15 -1.994250000000000000e+04 5.553940499999999593e-15 -1.994950000000000000e+04 5.533970100000000249e-15 -1.995650000000000000e+04 5.548952399999999933e-15 -1.996350000000000000e+04 5.576695800000000044e-15 -1.997050000000000000e+04 5.582987700000000046e-15 -1.997750000000000000e+04 5.587584299999999195e-15 -1.998450000000000000e+04 5.585768699999999489e-15 -1.999150000000000000e+04 5.577649200000000364e-15 -1.999850000000000000e+04 5.571646799999999515e-15 -2.000550000000000000e+04 5.563611300000000255e-15 -2.001250000000000000e+04 5.561319599999999492e-15 -2.001950000000000000e+04 5.555909700000000043e-15 -2.002650000000000000e+04 5.569218300000000505e-15 -2.003350000000000000e+04 5.580285300000000651e-15 -2.004050000000000000e+04 5.575785599999999834e-15 -2.004750000000000000e+04 5.575686900000000249e-15 -2.005450000000000000e+04 5.573960099999999544e-15 -2.006150000000000000e+04 5.576719799999999667e-15 -2.006850000000000000e+04 5.577946200000000534e-15 -2.007550000000000000e+04 5.572830900000000110e-15 -2.008250000000000000e+04 5.575904399999999744e-15 -2.008950000000000000e+04 5.579241300000000077e-15 -2.009650000000000000e+04 5.578765800000000489e-15 -2.010350000000000000e+04 5.566692600000000852e-15 -2.011050000000000000e+04 5.557599300000000346e-15 -2.011750000000000000e+04 5.562463200000000278e-15 -2.012450000000000000e+04 5.573443500000000257e-15 -2.013150000000000000e+04 5.574242100000000049e-15 -2.013850000000000000e+04 5.564803800000000126e-15 -2.014550000000000000e+04 5.556884399999999684e-15 -2.015250000000000000e+04 5.554541400000000269e-15 -2.015950000000000000e+04 5.552779200000000415e-15 -2.016650000000000000e+04 5.551028700000000033e-15 -2.017350000000000000e+04 5.549277899999999705e-15 -2.018050000000000000e+04 5.547530400000000361e-15 -2.018750000000000000e+04 5.545780799999999816e-15 -2.019450000000000000e+04 5.544027299999999974e-15 -2.020150000000000000e+04 5.542274400000000024e-15 -2.020850000000000000e+04 5.540520299999999501e-15 -2.021550000000000000e+04 5.538759900000000113e-15 -2.022250000000000000e+04 5.537002499999999395e-15 -2.022950000000000000e+04 5.535174600000000326e-15 -2.023650000000000000e+04 5.533345199999999950e-15 -2.024350000000000000e+04 5.531582099999999470e-15 -2.025050000000000000e+04 5.529811500000000340e-15 -2.025750000000000000e+04 5.528043899999999881e-15 -2.026450000000000000e+04 5.524796100000000073e-15 -2.027150000000000000e+04 5.519429699999999892e-15 -2.027850000000000000e+04 5.511343199999999558e-15 -2.028550000000000000e+04 5.509030799999999367e-15 -2.029250000000000000e+04 5.511559500000000058e-15 -2.029950000000000000e+04 5.527365900000000464e-15 -2.030650000000000000e+04 5.528605200000000587e-15 -2.031350000000000000e+04 5.516919299999999061e-15 -2.032050000000000000e+04 5.493898500000000657e-15 -2.032750000000000000e+04 5.519710199999999877e-15 -2.033450000000000000e+04 5.490188399999999674e-15 -2.034150000000000000e+04 5.499931499999999941e-15 -2.034850000000000000e+04 5.483598000000000560e-15 -2.035550000000000000e+04 5.508542700000000471e-15 -2.036250000000000000e+04 5.483662499999999203e-15 -2.036950000000000000e+04 5.481452999999999418e-15 -2.037650000000000000e+04 5.487416400000000189e-15 -2.038350000000000000e+04 5.469873000000000125e-15 -2.039050000000000000e+04 5.452895699999999904e-15 -2.039750000000000000e+04 5.488749000000000079e-15 -2.040450000000000000e+04 5.500987199999999198e-15 -2.041150000000000000e+04 5.450472899999999868e-15 -2.041850000000000000e+04 5.475544199999999861e-15 -2.042550000000000000e+04 5.476329000000000560e-15 -2.043250000000000000e+04 5.469187200000000535e-15 -2.043950000000000000e+04 5.489734799999999300e-15 -2.044650000000000000e+04 5.508120300000000789e-15 -2.045350000000000000e+04 5.458901100000000212e-15 -2.046050000000000000e+04 5.461754999999999941e-15 -2.046750000000000000e+04 5.497819799999999903e-15 -2.047450000000000000e+04 5.457520500000000286e-15 -2.048150000000000000e+04 5.435485200000000368e-15 -2.048850000000000000e+04 5.466740400000000876e-15 -2.049550000000000000e+04 5.463058799999999495e-15 -2.050250000000000000e+04 5.495220900000000018e-15 -2.050950000000000000e+04 5.470904099999999867e-15 -2.051650000000000000e+04 5.452510199999999101e-15 -2.052350000000000000e+04 5.462324100000000820e-15 -2.053050000000000000e+04 5.460377099999999529e-15 -2.053750000000000000e+04 5.474774699999999564e-15 -2.054450000000000000e+04 5.451963599999999693e-15 -2.055150000000000000e+04 5.438061600000000360e-15 -2.055850000000000000e+04 5.462178900000000141e-15 -2.056550000000000000e+04 5.460164699999999904e-15 -2.057250000000000000e+04 5.443563299999999847e-15 -2.057950000000000000e+04 5.444289600000000823e-15 -2.058650000000000000e+04 5.467477800000000642e-15 -2.059350000000000000e+04 5.458222500000000904e-15 -2.060050000000000000e+04 5.429702400000000214e-15 -2.060750000000000000e+04 5.413894800000000024e-15 -2.061450000000000000e+04 5.435863800000000046e-15 -2.062150000000000000e+04 5.417630099999999625e-15 -2.062850000000000000e+04 5.406372299999999121e-15 -2.063550000000000000e+04 5.445316200000000586e-15 -2.064250000000000000e+04 5.417228999999999264e-15 -2.064950000000000000e+04 5.437322100000000971e-15 -2.065650000000000000e+04 5.421930300000000073e-15 -2.066350000000000000e+04 5.431999500000000004e-15 -2.067050000000000000e+04 5.434919999999999575e-15 -2.067750000000000000e+04 5.435854800000000089e-15 -2.068450000000000000e+04 5.445526500000000589e-15 -2.069150000000000000e+04 5.448025800000000262e-15 -2.069850000000000000e+04 5.449663199999999708e-15 -2.070550000000000000e+04 5.432825999999999506e-15 -2.071250000000000000e+04 5.425769399999999919e-15 -2.071950000000000000e+04 5.409699600000000393e-15 -2.072650000000000000e+04 5.401214999999999947e-15 -2.073350000000000000e+04 5.393145899999999636e-15 -2.074050000000000000e+04 5.397266400000000095e-15 -2.074750000000000000e+04 5.406637500000000283e-15 -2.075450000000000000e+04 5.414371199999999449e-15 -2.076150000000000000e+04 5.422390800000000783e-15 -2.076850000000000000e+04 5.421095400000000506e-15 -2.077550000000000000e+04 5.425486500000000365e-15 -2.078250000000000000e+04 5.413731899999999376e-15 -2.078950000000000000e+04 5.407862099999999897e-15 -2.079650000000000000e+04 5.386568399999999777e-15 -2.080350000000000000e+04 5.373102600000000007e-15 -2.081050000000000000e+04 5.354393699999999945e-15 -2.081750000000000000e+04 5.343607500000000519e-15 -2.082450000000000000e+04 5.336941199999999293e-15 -2.083150000000000000e+04 5.336325600000000475e-15 -2.083850000000000000e+04 5.339360999999999081e-15 -2.084550000000000000e+04 5.333086500000000678e-15 -2.085250000000000000e+04 5.328775800000000543e-15 -2.085950000000000000e+04 5.316094200000000002e-15 -2.086650000000000000e+04 5.323325399999999708e-15 -2.087350000000000000e+04 5.320421099999999587e-15 -2.088050000000000000e+04 5.325283499999999790e-15 -2.088750000000000000e+04 5.316453899999999928e-15 -2.089450000000000000e+04 5.310683699999999872e-15 -2.090150000000000000e+04 5.302294199999999659e-15 -2.090850000000000000e+04 5.296726500000000222e-15 -2.091550000000000000e+04 5.295562799999999899e-15 -2.092250000000000000e+04 5.290034400000000485e-15 -2.092950000000000000e+04 5.292291899999999517e-15 -2.093650000000000000e+04 5.285898900000000361e-15 -2.094350000000000000e+04 5.290108499999999766e-15 -2.095050000000000000e+04 5.276874600000000054e-15 -2.095750000000000000e+04 5.271718499999999875e-15 -2.096450000000000000e+04 5.259559799999999854e-15 -2.097150000000000000e+04 5.252568900000000271e-15 -2.097850000000000000e+04 5.238199199999999946e-15 -2.098550000000000000e+04 5.225508000000000344e-15 -2.099250000000000000e+04 5.220816300000000174e-15 -2.099950000000000000e+04 5.215448700000000209e-15 -2.100650000000000000e+04 5.214914400000000164e-15 -2.101350000000000000e+04 5.211275399999999790e-15 -2.102050000000000000e+04 5.221989600000000346e-15 -2.102750000000000000e+04 5.214503699999999954e-15 -2.103450000000000000e+04 5.199258000000000362e-15 -2.104150000000000000e+04 5.170837499999999883e-15 -2.104850000000000000e+04 5.148857099999999547e-15 -2.105550000000000000e+04 5.128194900000000116e-15 -2.106250000000000000e+04 5.113228499999999937e-15 -2.106950000000000000e+04 5.103888899999999599e-15 -2.107650000000000000e+04 5.095804799999999622e-15 -2.108350000000000000e+04 5.092266300000000087e-15 -2.109050000000000000e+04 5.077964699999999334e-15 -2.109750000000000000e+04 5.066273700000000304e-15 -2.110450000000000000e+04 5.042894099999999446e-15 -2.111150000000000000e+04 5.036015100000000227e-15 -2.111850000000000000e+04 5.027923200000000077e-15 -2.112550000000000000e+04 5.030815499999999992e-15 -2.113250000000000000e+04 5.029608299999999612e-15 -2.113950000000000000e+04 5.027243700000000141e-15 -2.114650000000000000e+04 5.020857299999999798e-15 -2.115350000000000000e+04 5.010946199999999801e-15 -2.116050000000000000e+04 5.004439799999999763e-15 -2.116750000000000000e+04 4.990774500000000412e-15 -2.117450000000000000e+04 4.984226399999999994e-15 -2.118150000000000000e+04 4.972872000000000315e-15 -2.118850000000000000e+04 4.978654800000000469e-15 -2.119550000000000000e+04 4.977536399999999879e-15 -2.120250000000000000e+04 4.978179000000000147e-15 -2.120950000000000000e+04 4.967370899999999931e-15 -2.121650000000000000e+04 4.954034999999999651e-15 -2.122350000000000000e+04 4.935901500000000122e-15 -2.123050000000000000e+04 4.920487800000000011e-15 -2.123750000000000000e+04 4.921044599999999950e-15 -2.124450000000000000e+04 4.928046600000000689e-15 -2.125150000000000000e+04 4.937721300000000649e-15 -2.125850000000000000e+04 4.924355999999999351e-15 -2.126550000000000000e+04 4.914456600000000404e-15 -2.127250000000000000e+04 4.902839399999999920e-15 -2.127950000000000000e+04 4.906781100000000226e-15 -2.128650000000000000e+04 4.905116400000000173e-15 -2.129350000000000000e+04 4.902485399999999756e-15 -2.130050000000000000e+04 4.893816900000000077e-15 -2.130750000000000000e+04 4.880917500000000095e-15 -2.131450000000000000e+04 4.867865100000000049e-15 -2.132150000000000000e+04 4.852278000000000391e-15 -2.132850000000000000e+04 4.853520299999999974e-15 -2.133550000000000000e+04 4.854546299999999845e-15 -2.134250000000000000e+04 4.865788500000000002e-15 -2.134950000000000000e+04 4.860158999999999858e-15 -2.135650000000000000e+04 4.862309100000000082e-15 -2.136350000000000000e+04 4.858031700000000262e-15 -2.137050000000000000e+04 4.853610899999999439e-15 -2.137750000000000000e+04 4.843053300000000666e-15 -2.138450000000000000e+04 4.835477699999999857e-15 -2.139150000000000000e+04 4.836532800000000011e-15 -2.139850000000000000e+04 4.835927700000000091e-15 -2.140550000000000000e+04 4.838658899999999823e-15 -2.141250000000000000e+04 4.825938599999999938e-15 -2.141950000000000000e+04 4.818425999999999620e-15 -2.142650000000000000e+04 4.802165399999999736e-15 -2.143350000000000000e+04 4.802445899999999721e-15 -2.144050000000000000e+04 4.799556000000000163e-15 -2.144750000000000000e+04 4.798750200000000090e-15 -2.145450000000000000e+04 4.789787099999999808e-15 -2.146150000000000000e+04 4.781952599999999858e-15 -2.146850000000000000e+04 4.779834600000000166e-15 -2.147550000000000000e+04 4.773611699999999573e-15 -2.148250000000000000e+04 4.761039899999999774e-15 -2.148950000000000000e+04 4.734925800000000567e-15 -2.149650000000000000e+04 4.711799399999999876e-15 -2.150350000000000000e+04 4.683719099999999679e-15 -2.151050000000000000e+04 4.662146400000000093e-15 -2.151750000000000000e+04 4.647536400000000433e-15 -2.152450000000000000e+04 4.652245200000000680e-15 -2.153150000000000000e+04 4.665132599999999668e-15 -2.153850000000000000e+04 4.675367099999999815e-15 -2.154550000000000000e+04 4.678394099999999933e-15 -2.155250000000000000e+04 4.677662699999999875e-15 -2.155950000000000000e+04 4.682069999999999973e-15 -2.156650000000000000e+04 4.682773499999999532e-15 -2.157350000000000000e+04 4.684171200000000324e-15 -2.158050000000000000e+04 4.671924299999999616e-15 -2.158750000000000000e+04 4.660263900000000599e-15 -2.159450000000000000e+04 4.640445599999999904e-15 -2.160150000000000000e+04 4.625543699999999945e-15 -2.160850000000000000e+04 4.612497300000000396e-15 -2.161550000000000000e+04 4.604043599999999909e-15 -2.162250000000000000e+04 4.597291799999999877e-15 -2.162950000000000000e+04 4.593101700000000117e-15 -2.163650000000000000e+04 4.598283000000000491e-15 -2.164350000000000000e+04 4.602207899999999878e-15 -2.165050000000000000e+04 4.603441199999999503e-15 -2.165750000000000000e+04 4.586113500000000048e-15 -2.166450000000000000e+04 4.572985800000000148e-15 -2.167150000000000000e+04 4.562906099999999741e-15 -2.167850000000000000e+04 4.564537500000000267e-15 -2.168550000000000000e+04 4.565845499999999853e-15 -2.169250000000000000e+04 4.566663299999999344e-15 -2.169950000000000000e+04 4.562826599999999855e-15 -2.170650000000000000e+04 4.550674500000000223e-15 -2.171350000000000000e+04 4.532376900000000262e-15 -2.172050000000000000e+04 4.510728300000000142e-15 -2.172750000000000000e+04 4.503864900000000481e-15 -2.173450000000000000e+04 4.505059499999999974e-15 -2.174150000000000000e+04 4.516692300000000015e-15 -2.174850000000000000e+04 4.515881700000000018e-15 -2.175550000000000000e+04 4.507307699999999891e-15 -2.176250000000000000e+04 4.487401799999999979e-15 -2.176950000000000000e+04 4.472335499999999641e-15 -2.177650000000000000e+04 4.465298099999999753e-15 -2.178350000000000000e+04 4.461234000000000185e-15 -2.179050000000000000e+04 4.456240499999999919e-15 -2.179750000000000000e+04 4.439646900000000036e-15 -2.180450000000000000e+04 4.423843800000000613e-15 -2.181150000000000000e+04 4.400696399999999759e-15 -2.181850000000000000e+04 4.394586600000000103e-15 -2.182550000000000000e+04 4.387957800000000014e-15 -2.183250000000000000e+04 4.392829200000000174e-15 -2.183950000000000000e+04 4.392620099999999955e-15 -2.184650000000000000e+04 4.394218500000000112e-15 -2.185350000000000000e+04 4.389226499999999576e-15 -2.186050000000000000e+04 4.379122800000000335e-15 -2.186750000000000000e+04 4.368081900000000223e-15 -2.187450000000000000e+04 4.354289700000000054e-15 -2.188150000000000000e+04 4.349446500000000338e-15 -2.188850000000000000e+04 4.338923999999999978e-15 -2.189550000000000000e+04 4.336630199999999594e-15 -2.190250000000000000e+04 4.322676900000000030e-15 -2.190950000000000000e+04 4.314656399999999647e-15 -2.191650000000000000e+04 4.299921599999999579e-15 -2.192350000000000000e+04 4.287216600000000096e-15 -2.193050000000000000e+04 4.266039000000000373e-15 -2.193750000000000000e+04 4.241907899999999920e-15 -2.194450000000000000e+04 4.225332900000000632e-15 -2.195150000000000000e+04 4.216250099999999813e-15 -2.195850000000000000e+04 4.215574499999999964e-15 -2.196550000000000000e+04 4.209018300000000215e-15 -2.197250000000000000e+04 4.204221899999999962e-15 -2.197950000000000000e+04 4.178901299999999887e-15 -2.198650000000000000e+04 4.160251500000000229e-15 -2.199350000000000000e+04 4.160374500000000172e-15 -2.200050000000000000e+04 4.195262099999999875e-15 -2.200750000000000000e+04 4.224770700000000088e-15 -2.201450000000000000e+04 4.228402200000000234e-15 -2.202150000000000000e+04 4.211204699999999426e-15 -2.202850000000000000e+04 4.186610400000000327e-15 -2.203550000000000000e+04 4.171814400000000234e-15 -2.204250000000000000e+04 4.164452699999999568e-15 -2.204950000000000000e+04 4.179074400000000277e-15 -2.205650000000000000e+04 4.187355600000000266e-15 -2.206350000000000000e+04 4.189245000000000095e-15 -2.207050000000000000e+04 4.173952799999999409e-15 -2.207750000000000000e+04 4.159637700000000298e-15 -2.208450000000000000e+04 4.140798600000000011e-15 -2.209150000000000000e+04 4.121459999999999725e-15 -2.209850000000000000e+04 4.100542199999999770e-15 -2.210550000000000000e+04 4.079868300000000079e-15 -2.211250000000000000e+04 4.068123600000000462e-15 -2.211950000000000000e+04 4.059380699999999978e-15 -2.212650000000000000e+04 4.068747300000000188e-15 -2.213350000000000000e+04 4.073856300000000170e-15 -2.214050000000000000e+04 4.075764899999999697e-15 -2.214750000000000000e+04 4.054255499999999758e-15 -2.215450000000000000e+04 4.042106400000000375e-15 -2.216150000000000000e+04 4.037037899999999413e-15 -2.216850000000000000e+04 4.038879000000000050e-15 -2.217550000000000000e+04 4.032327300000000279e-15 -2.218250000000000000e+04 4.016578199999999812e-15 -2.218950000000000000e+04 4.002128399999999709e-15 -2.219650000000000000e+04 3.985953600000000154e-15 -2.220350000000000000e+04 3.982305299999999878e-15 -2.221050000000000000e+04 3.976467599999999353e-15 -2.221750000000000000e+04 3.983411399999999527e-15 -2.222450000000000000e+04 3.972876300000000647e-15 -2.223150000000000000e+04 3.956931599999999897e-15 -2.223850000000000000e+04 3.936681599999999617e-15 -2.224550000000000000e+04 3.929068799999999984e-15 -2.225250000000000000e+04 3.928124099999999675e-15 -2.225950000000000000e+04 3.927988499999999634e-15 -2.226650000000000000e+04 3.932476200000000245e-15 -2.227350000000000000e+04 3.933553800000000292e-15 -2.228050000000000000e+04 3.936406200000000291e-15 -2.228750000000000000e+04 3.930164100000000000e-15 -2.229450000000000000e+04 3.932411400000000079e-15 -2.230150000000000000e+04 3.930599099999999779e-15 -2.230850000000000000e+04 3.927960299999999978e-15 -2.231550000000000000e+04 3.920728800000000325e-15 -2.232250000000000000e+04 3.913507199999999680e-15 -2.232950000000000000e+04 3.906288600000000072e-15 -2.233650000000000000e+04 3.894706499999999579e-15 -2.234350000000000000e+04 3.878225999999999843e-15 -2.235050000000000000e+04 3.856203599999999969e-15 -2.235750000000000000e+04 3.845832299999999997e-15 -2.236450000000000000e+04 3.843333900000000161e-15 -2.237150000000000000e+04 3.857718599999999363e-15 -2.237850000000000000e+04 3.857843399999999771e-15 -2.238550000000000000e+04 3.851904300000000148e-15 -2.239250000000000000e+04 3.835688099999999369e-15 -2.239950000000000000e+04 3.828239700000000114e-15 -2.240650000000000000e+04 3.829265400000000039e-15 -2.241350000000000000e+04 3.834652499999999649e-15 -2.242050000000000000e+04 3.835553999999999847e-15 -2.242750000000000000e+04 3.824534399999999845e-15 -2.243450000000000000e+04 3.816694200000000132e-15 -2.244150000000000000e+04 3.806513399999999783e-15 -2.244850000000000000e+04 3.801586800000000095e-15 -2.245550000000000000e+04 3.788288699999999319e-15 -2.246250000000000000e+04 3.792737999999999745e-15 -2.246950000000000000e+04 3.805166099999999383e-15 -2.247650000000000000e+04 3.819205500000000011e-15 -2.248350000000000000e+04 3.812525699999999638e-15 -2.249050000000000000e+04 3.792309299999999620e-15 -2.249750000000000000e+04 3.776574600000000504e-15 -2.250450000000000000e+04 3.770871600000000183e-15 -2.251150000000000000e+04 3.773807400000000154e-15 -2.251850000000000000e+04 3.766614299999999900e-15 -2.252550000000000000e+04 3.764202900000000178e-15 -2.253250000000000000e+04 3.759299400000000274e-15 -2.253950000000000000e+04 3.765400499999999919e-15 -2.254650000000000000e+04 3.763763999999999523e-15 -2.255350000000000000e+04 3.763589400000000192e-15 -2.256050000000000000e+04 3.763053899999999574e-15 -2.256750000000000000e+04 3.765866999999999549e-15 -2.257450000000000000e+04 3.764523899999999971e-15 -2.258150000000000000e+04 3.748335299999999746e-15 -2.258850000000000000e+04 3.723611700000000261e-15 -2.259550000000000000e+04 3.691598699999999715e-15 -2.260250000000000000e+04 3.673058999999999955e-15 -2.260950000000000000e+04 3.663970800000000108e-15 -2.261650000000000000e+04 3.665862299999999559e-15 -2.262350000000000000e+04 3.667365300000000325e-15 -2.263050000000000000e+04 3.668863200000000432e-15 -2.263750000000000000e+04 3.670356899999999717e-15 -2.264450000000000000e+04 3.671842499999999672e-15 -2.265150000000000000e+04 3.672270299999999958e-15 -2.265850000000000000e+04 3.665304299999999837e-15 -2.266550000000000000e+04 3.651664499999999840e-15 -2.267250000000000000e+04 3.639305399999999611e-15 -2.267950000000000000e+04 3.652855200000000035e-15 -2.268650000000000000e+04 3.675504599999999830e-15 -2.269350000000000000e+04 3.696141599999999854e-15 -2.270050000000000000e+04 3.688758299999999922e-15 -2.270750000000000000e+04 3.682331699999999716e-15 -2.271450000000000000e+04 3.674127600000000045e-15 -2.272150000000000000e+04 3.671222700000000032e-15 -2.272850000000000000e+04 3.659959199999999765e-15 -2.273550000000000000e+04 3.635132099999999981e-15 -2.274250000000000000e+04 3.612208199999999909e-15 -2.274950000000000000e+04 3.607962899999999832e-15 -2.275650000000000000e+04 3.638223900000000266e-15 -2.276350000000000000e+04 3.666319500000000075e-15 -2.277050000000000000e+04 3.676868100000000469e-15 -2.277750000000000000e+04 3.656710199999999384e-15 -2.278450000000000000e+04 3.635615399999999742e-15 -2.279150000000000000e+04 3.611683499999999713e-15 -2.279850000000000000e+04 3.598644900000000338e-15 -2.280550000000000000e+04 3.592625100000000255e-15 -2.281250000000000000e+04 3.588510300000000349e-15 -2.281950000000000000e+04 3.586304699999999862e-15 -2.282650000000000000e+04 3.587279099999999557e-15 -2.283350000000000000e+04 3.599990700000000219e-15 -2.284050000000000000e+04 3.596859299999999964e-15 -2.284750000000000000e+04 3.591355500000000066e-15 -2.285450000000000000e+04 3.576840299999999905e-15 -2.286150000000000000e+04 3.575119500000000486e-15 -2.286850000000000000e+04 3.562020000000000242e-15 -2.287550000000000000e+04 3.545562600000000292e-15 -2.288250000000000000e+04 3.525810900000000228e-15 -2.288950000000000000e+04 3.522258000000000130e-15 -2.289650000000000000e+04 3.542773199999999994e-15 -2.290350000000000000e+04 3.564483300000000087e-15 -2.291050000000000000e+04 3.571308300000000350e-15 -2.291750000000000000e+04 3.553680299999999741e-15 -2.292450000000000000e+04 3.545383800000000140e-15 -2.293150000000000000e+04 3.531830700000000310e-15 -2.293850000000000000e+04 3.523376099999999985e-15 -2.294550000000000000e+04 3.516394800000000252e-15 -2.295250000000000000e+04 3.529123500000000202e-15 -2.295950000000000000e+04 3.539348399999999710e-15 -2.296650000000000000e+04 3.529138199999999922e-15 -2.297350000000000000e+04 3.505253999999999982e-15 -2.298050000000000000e+04 3.484279799999999926e-15 -2.298750000000000000e+04 3.479745299999999852e-15 -2.299450000000000000e+04 3.468631500000000244e-15 -2.300150000000000000e+04 3.457895700000000027e-15 -2.300850000000000000e+04 3.446679600000000298e-15 -2.301550000000000000e+04 3.444932700000000057e-15 -2.302250000000000000e+04 3.444614699999999723e-15 -2.302950000000000000e+04 3.449812199999999942e-15 -2.303650000000000000e+04 3.461974199999999764e-15 -2.304350000000000000e+04 3.473362500000000438e-15 -2.305050000000000000e+04 3.473990100000000251e-15 -2.305750000000000000e+04 3.458639699999999788e-15 -2.306450000000000000e+04 3.450369900000000113e-15 -2.307150000000000000e+04 3.451687500000000337e-15 -2.307850000000000000e+04 3.472850100000000395e-15 -2.308550000000000000e+04 3.478839299999999676e-15 -2.309250000000000000e+04 3.477646499999999859e-15 -2.309950000000000000e+04 3.461253300000000182e-15 -2.310650000000000000e+04 3.449127900000000082e-15 -2.311350000000000000e+04 3.437181600000000079e-15 -2.312050000000000000e+04 3.429054599999999938e-15 -2.312750000000000000e+04 3.440460299999999846e-15 -2.313450000000000000e+04 3.446924699999999557e-15 -2.314150000000000000e+04 3.446694599999999964e-15 -2.314850000000000000e+04 3.451609800000000127e-15 -2.315550000000000000e+04 3.450587400000000002e-15 -2.316250000000000000e+04 3.447114000000000185e-15 -2.316950000000000000e+04 3.438918899999999683e-15 -2.317650000000000000e+04 3.455254799999999815e-15 -2.318350000000000000e+04 3.481774499999999755e-15 -2.319050000000000000e+04 3.465216900000000095e-15 -2.319750000000000000e+04 3.441474000000000354e-15 -2.320450000000000000e+04 3.429539700000000163e-15 -2.321150000000000000e+04 3.429929700000000156e-15 -2.321850000000000000e+04 3.438248099999999759e-15 -2.322550000000000000e+04 3.441111299999999785e-15 -2.323250000000000000e+04 3.440453399999999905e-15 -2.323950000000000000e+04 3.417877799999999839e-15 -2.324650000000000000e+04 3.402165299999999882e-15 -2.325350000000000000e+04 3.393534900000000442e-15 -2.326050000000000000e+04 3.399046500000000120e-15 -2.326750000000000000e+04 3.394143600000000109e-15 -2.327450000000000000e+04 3.389895900000000069e-15 -2.328150000000000000e+04 3.393253499999999830e-15 -2.328850000000000000e+04 3.401512799999999818e-15 -2.329550000000000000e+04 3.401159700000000282e-15 -2.330250000000000000e+04 3.384401999999999966e-15 -2.330950000000000000e+04 3.379176899999999589e-15 -2.331650000000000000e+04 3.385071600000000106e-15 -2.332350000000000000e+04 3.400895700000000481e-15 -2.333050000000000000e+04 3.397264800000000227e-15 -2.333750000000000000e+04 3.394644299999999892e-15 -2.334450000000000000e+04 3.392872499999999795e-15 -2.335150000000000000e+04 3.396083399999999935e-15 -2.335850000000000000e+04 3.392344499999999799e-15 -2.336550000000000000e+04 3.380033999999999892e-15 -2.337250000000000000e+04 3.367470000000000266e-15 -2.337950000000000000e+04 3.353615700000000233e-15 -2.338650000000000000e+04 3.352380600000000144e-15 -2.339350000000000000e+04 3.351011700000000477e-15 -2.340050000000000000e+04 3.373412100000000138e-15 -2.340750000000000000e+04 3.387923400000000213e-15 -2.341450000000000000e+04 3.395980800000000264e-15 -2.342150000000000000e+04 3.378219000000000078e-15 -2.342850000000000000e+04 3.361185600000000491e-15 -2.343550000000000000e+04 3.350090999999999792e-15 -2.344250000000000000e+04 3.346481999999999934e-15 -2.344950000000000000e+04 3.342888600000000422e-15 -2.345650000000000000e+04 3.330206699999999935e-15 -2.346350000000000000e+04 3.320499600000000287e-15 -2.347050000000000000e+04 3.311102100000000118e-15 -2.347750000000000000e+04 3.320709599999999555e-15 -2.348450000000000000e+04 3.324407400000000386e-15 -2.349150000000000000e+04 3.324320699999999823e-15 -2.349850000000000000e+04 3.318664200000000202e-15 -2.350550000000000000e+04 3.326355600000000278e-15 -2.351250000000000000e+04 3.335744999999999933e-15 -2.351950000000000000e+04 3.335046599999999851e-15 -2.352650000000000000e+04 3.328163100000000258e-15 -2.353350000000000000e+04 3.320156999999999649e-15 -2.354050000000000000e+04 3.314088300000000482e-15 -2.354750000000000000e+04 3.302713199999999797e-15 -2.355450000000000000e+04 3.315277199999999818e-15 -2.356150000000000000e+04 3.328449000000000061e-15 -2.356850000000000000e+04 3.325397100000000087e-15 -2.357550000000000000e+04 3.302382299999999814e-15 -2.358250000000000000e+04 3.310256700000000075e-15 -2.358950000000000000e+04 3.338936699999999981e-15 -2.359650000000000000e+04 3.349192799999999788e-15 -2.360350000000000000e+04 3.328842899999999745e-15 -2.361050000000000000e+04 3.309912900000000047e-15 -2.361750000000000000e+04 3.315644399999999971e-15 -2.362450000000000000e+04 3.310261799999999945e-15 -2.363150000000000000e+04 3.298298400000000260e-15 -2.363850000000000000e+04 3.277970400000000219e-15 -2.364550000000000000e+04 3.277289099999999819e-15 -2.365250000000000000e+04 3.266256000000000275e-15 -2.365950000000000000e+04 3.256625999999999761e-15 -2.366650000000000000e+04 3.254829000000000257e-15 -2.367350000000000000e+04 3.268584599999999916e-15 -2.368050000000000000e+04 3.273971700000000314e-15 -2.368750000000000000e+04 3.244051500000000053e-15 -2.369450000000000000e+04 3.207614400000000067e-15 -2.370150000000000000e+04 3.217644599999999920e-15 -2.370850000000000000e+04 3.258553200000000279e-15 -2.371550000000000000e+04 3.262888199999999983e-15 -2.372250000000000000e+04 3.282295200000000182e-15 -2.372950000000000000e+04 3.282609000000000089e-15 -2.373650000000000000e+04 3.271002300000000081e-15 -2.374350000000000000e+04 3.254521500000000005e-15 -2.375050000000000000e+04 3.249043499999999800e-15 -2.375750000000000000e+04 3.240403800000000063e-15 -2.376450000000000000e+04 3.243698399999999728e-15 -2.377150000000000000e+04 3.258586499999999805e-15 -2.377850000000000000e+04 3.266518800000000291e-15 -2.378550000000000000e+04 3.261518699999999636e-15 -2.379250000000000000e+04 3.245570999999999821e-15 -2.379950000000000000e+04 3.248559900000000093e-15 -2.380650000000000000e+04 3.255062400000000045e-15 -2.381350000000000000e+04 3.250576199999999952e-15 -2.382050000000000000e+04 3.231893999999999816e-15 -2.382750000000000000e+04 3.225683399999999770e-15 -2.383450000000000000e+04 3.235303200000000148e-15 -2.384150000000000000e+04 3.241886400000000163e-15 -2.384850000000000000e+04 3.232282500000000079e-15 -2.385550000000000000e+04 3.214305899999999912e-15 -2.386250000000000000e+04 3.209007300000000146e-15 -2.386950000000000000e+04 3.215515199999999914e-15 -2.387650000000000000e+04 3.228167699999999777e-15 -2.388350000000000000e+04 3.221071799999999772e-15 -2.389050000000000000e+04 3.198754200000000192e-15 -2.389750000000000000e+04 3.173363400000000134e-15 -2.390450000000000000e+04 3.163368600000000219e-15 -2.391150000000000000e+04 3.174481200000000044e-15 -2.391850000000000000e+04 3.187560000000000070e-15 -2.392550000000000000e+04 3.177642599999999630e-15 -2.393250000000000000e+04 3.168615899999999755e-15 -2.393950000000000000e+04 3.172922699999999804e-15 -2.394650000000000000e+04 3.176335500000000276e-15 -2.395350000000000000e+04 3.175192200000000224e-15 -2.396050000000000000e+04 3.168730799999999579e-15 -2.396750000000000000e+04 3.157243500000000162e-15 -2.397450000000000000e+04 3.150638700000000091e-15 -2.398150000000000000e+04 3.151106999999999791e-15 -2.398850000000000000e+04 3.159999599999999750e-15 -2.399550000000000000e+04 3.160629899999999866e-15 -2.400250000000000000e+04 3.154466999999999909e-15 -2.400950000000000000e+04 3.142988100000000163e-15 -2.401650000000000000e+04 3.137313299999999892e-15 -2.402350000000000000e+04 3.131916900000000379e-15 -2.403050000000000000e+04 3.129434699999999993e-15 -2.403750000000000000e+04 3.146366100000000196e-15 -2.404450000000000000e+04 3.146313300000000236e-15 -2.405150000000000000e+04 3.127636199999999970e-15 -2.405850000000000000e+04 3.106656000000000205e-15 -2.406550000000000000e+04 3.098120399999999870e-15 -2.407250000000000000e+04 3.113795699999999819e-15 -2.407950000000000000e+04 3.137292900000000410e-15 -2.408650000000000000e+04 3.139965600000000024e-15 -2.409350000000000000e+04 3.113066699999999724e-15 -2.410050000000000000e+04 3.077494500000000215e-15 -2.410750000000000000e+04 3.055907700000000012e-15 -2.411450000000000000e+04 3.061178400000000068e-15 -2.412150000000000000e+04 3.078169500000000171e-15 -2.412850000000000000e+04 3.087780000000000251e-15 -2.413550000000000000e+04 3.084561299999999937e-15 -2.414250000000000000e+04 3.075969600000000236e-15 -2.414950000000000000e+04 3.074348699999999792e-15 -2.415650000000000000e+04 3.089283599999999726e-15 -2.416350000000000000e+04 3.108006300000000459e-15 -2.417050000000000000e+04 3.084375300000000293e-15 -2.417750000000000000e+04 3.027680100000000302e-15 -2.418450000000000000e+04 2.992162019999999726e-15 -2.419150000000000000e+04 3.037545299999999885e-15 -2.419850000000000000e+04 3.083051699999999965e-15 -2.420550000000000000e+04 3.097004400000000425e-15 -2.421250000000000000e+04 3.088138499999999999e-15 -2.421950000000000000e+04 3.090011100000000486e-15 -2.422650000000000000e+04 3.091075499999999754e-15 -2.423350000000000000e+04 3.093329399999999828e-15 -2.424050000000000000e+04 3.100406100000000135e-15 -2.424750000000000000e+04 3.095582100000000118e-15 -2.425450000000000000e+04 3.065813100000000245e-15 -2.426150000000000000e+04 3.014503799999999686e-15 -2.426850000000000000e+04 2.977998479999999755e-15 -2.427550000000000000e+04 2.970483660000000230e-15 -2.428250000000000000e+04 3.012483299999999794e-15 -2.428950000000000000e+04 3.073173000000000446e-15 -2.429650000000000000e+04 3.097987800000000078e-15 -2.430350000000000000e+04 3.070304100000000263e-15 -2.431050000000000000e+04 3.010174800000000084e-15 -2.431750000000000000e+04 2.951553359999999797e-15 -2.432450000000000000e+04 2.924425860000000029e-15 -2.433150000000000000e+04 2.928343589999999917e-15 -2.433850000000000000e+04 2.940514320000000139e-15 -2.434550000000000000e+04 3.024387599999999864e-15 -2.435250000000000000e+04 3.052045799999999538e-15 -2.435950000000000000e+04 3.072855600000000004e-15 -2.436650000000000000e+04 3.062707800000000025e-15 -2.437350000000000000e+04 3.012681900000000326e-15 -2.438050000000000000e+04 2.972138669999999661e-15 -2.438750000000000000e+04 2.914925280000000274e-15 -2.439450000000000000e+04 2.885382629999999881e-15 -2.440150000000000000e+04 2.880272670000000073e-15 -2.440850000000000000e+04 2.887101060000000121e-15 -2.441550000000000000e+04 2.896055010000000078e-15 -2.442250000000000000e+04 2.913633030000000219e-15 -2.442950000000000000e+04 2.923240859999999596e-15 -2.443650000000000000e+04 2.920727910000000014e-15 -2.444350000000000000e+04 2.889390329999999743e-15 -2.445050000000000000e+04 2.860153680000000266e-15 -2.445750000000000000e+04 2.848442610000000117e-15 -2.446450000000000000e+04 2.860997669999999774e-15 -2.447150000000000000e+04 2.877707009999999725e-15 -2.447850000000000000e+04 2.885184660000000025e-15 -2.448550000000000000e+04 2.880223590000000232e-15 -2.449250000000000000e+04 2.854569179999999909e-15 -2.449950000000000000e+04 2.835449280000000085e-15 -2.450650000000000000e+04 2.857906350000000193e-15 -2.451350000000000000e+04 2.950674179999999525e-15 -2.452050000000000000e+04 3.017395499999999709e-15 -2.452750000000000000e+04 2.995414799999999821e-15 -2.453450000000000000e+04 2.901765779999999789e-15 -2.454150000000000000e+04 2.835298979999999930e-15 -2.454850000000000000e+04 2.824166850000000071e-15 -2.455550000000000000e+04 2.831901179999999912e-15 -2.456250000000000000e+04 2.823476459999999730e-15 -2.456950000000000000e+04 2.819639070000000365e-15 -2.457650000000000000e+04 2.873964299999999880e-15 -2.458350000000000000e+04 2.937694500000000191e-15 -2.459050000000000000e+04 2.992090380000000003e-15 -2.459750000000000000e+04 3.018482400000000054e-15 -2.460450000000000000e+04 3.026649899999999609e-15 -2.461150000000000000e+04 2.994023669999999818e-15 -2.461850000000000000e+04 2.947016009999999842e-15 -2.462550000000000000e+04 2.889763979999999918e-15 -2.463250000000000000e+04 2.852940929999999999e-15 -2.463950000000000000e+04 2.826962969999999947e-15 -2.464650000000000000e+04 2.783727029999999721e-15 -2.465350000000000000e+04 2.742763859999999721e-15 -2.466050000000000000e+04 2.732005200000000070e-15 -2.466750000000000000e+04 2.746012530000000161e-15 -2.467450000000000000e+04 2.750133630000000116e-15 -2.468150000000000000e+04 2.765798100000000438e-15 -2.468850000000000000e+04 2.763274920000000330e-15 -2.469550000000000000e+04 2.751800970000000088e-15 -2.470250000000000000e+04 2.721234510000000218e-15 -2.470950000000000000e+04 2.679984989999999708e-15 -2.471650000000000000e+04 2.653583070000000256e-15 -2.472350000000000000e+04 2.663708129999999990e-15 -2.473050000000000000e+04 2.716286700000000010e-15 -2.473750000000000000e+04 2.746171739999999895e-15 -2.474450000000000000e+04 2.743524059999999721e-15 -2.475150000000000000e+04 2.703146729999999558e-15 -2.475850000000000000e+04 2.687014199999999887e-15 -2.476550000000000000e+04 2.676590339999999912e-15 -2.477250000000000000e+04 2.679772229999999754e-15 -2.477950000000000000e+04 2.679748889999999617e-15 -2.478650000000000000e+04 2.678609490000000441e-15 -2.479350000000000000e+04 2.675384129999999749e-15 -2.480050000000000000e+04 2.665542869999999800e-15 -2.480750000000000000e+04 2.665743389999999985e-15 -2.481450000000000000e+04 2.656930439999999886e-15 -2.482150000000000000e+04 2.656577159999999988e-15 -2.482850000000000000e+04 2.625467730000000056e-15 -2.483550000000000000e+04 2.621360160000000031e-15 -2.484250000000000000e+04 2.634289289999999789e-15 -2.484950000000000000e+04 2.671318949999999980e-15 -2.485650000000000000e+04 2.673819659999999794e-15 -2.486350000000000000e+04 2.644027770000000098e-15 -2.487050000000000000e+04 2.614517310000000220e-15 -2.487750000000000000e+04 2.610239369999999709e-15 -2.488450000000000000e+04 2.653348409999999906e-15 -2.489150000000000000e+04 2.680955790000000051e-15 -2.489850000000000000e+04 2.716436610000000235e-15 -2.490550000000000000e+04 2.708237910000000381e-15 -2.491250000000000000e+04 2.679468989999999918e-15 -2.491950000000000000e+04 2.647926479999999861e-15 -2.492650000000000000e+04 2.618205179999999683e-15 -2.493350000000000000e+04 2.600531850000000136e-15 -2.494050000000000000e+04 2.585477759999999967e-15 -2.494750000000000000e+04 2.581453499999999931e-15 -2.495450000000000000e+04 2.589815130000000034e-15 -2.496150000000000000e+04 2.608667580000000284e-15 -2.496850000000000000e+04 2.613835919999999836e-15 -2.497550000000000000e+04 2.610045389999999923e-15 -2.498250000000000000e+04 2.589266670000000172e-15 diff --git a/docs/io/visualization/how_to_abundance_widget.ipynb b/docs/io/visualization/how_to_abundance_widget.ipynb deleted file mode 100644 index ec906eb34ad..00000000000 --- a/docs/io/visualization/how_to_abundance_widget.ipynb +++ /dev/null @@ -1,183 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Generate Custom Abundance Widget" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This notebook demonstrates how to generate and display Custom Abundance Widget." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, import `CustomAbundanceWidget` module from `visualization` subpackage to create the widget." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.visualization import CustomAbundanceWidget" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Initialize the GUI " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There are four ways to generate the widget. You can generate it from `.yml`/`.csvy` configuration files before running any simulation." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using a YAML file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "widget = CustomAbundanceWidget.from_yml(\"tardis_example.yml\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using a CSVY file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# widget = CustomAbundanceWidget.from_csvy(\"demo.csvy\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Alternatively, you can generate the widget after the simulation from a Simulation instance or a saved simulation (HDF file)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using a Simulation object" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# sim = run_tardis(\"tardis_example.yml\")\n", - "# widget = CustomAbundanceWidget.from_simulation(sim)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using a HDF file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# widget = CustomAbundanceWidget.from_hdf(\"demo.h5\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Display the GUI" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "No matter which way you use to initialize the widget, you can call `.display()` to display the GUI easily." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "widget.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The image below is just a screenshot of the GUI for a demonstration purpose. If you want to interact with the GUI, please run the code in the notebook.\n", - "\n", - "![Custom Abundance Widget Demo](../images/custom_abundance_widget.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "interpreter": { - "hash": "42180fb7a26743e791b9c1155ac51f7e87399be241c0afbd4c0781c11826afd9" - }, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/io/visualization/how_to_generating_widgets.ipynb b/docs/io/visualization/how_to_generating_widgets.ipynb deleted file mode 100644 index 2b7f2b0930b..00000000000 --- a/docs/io/visualization/how_to_generating_widgets.ipynb +++ /dev/null @@ -1,1921 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Generate Data Exploration Widgets\n", - "A demonstration of how to generate TARDIS widgets that allows you to **explore simulation data within Jupyter Notebook with ease**!\n", - "\n", - "This notebook is a quickstart how-to guide, but more details on each widget (and its features) is given in the [Using TARDIS Widgets](https://tardis-sn.github.io/tardis/io/visualization/using_widgets.html) section of the documentation.\n", - "\n", - "## Warning\n", - "You must install `qgridnext` inside your tardis environment using `pip install qgridnext` for the widgets to function.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First create and run a simulation that we can use to generate widgets (more details about running simulation in [Quickstart](https://tardis-sn.github.io/tardis/quickstart/quickstart.html) section):\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2021-02-18T16:10:42.838867Z", - "start_time": "2021-02-18T16:09:22.826173Z" - }, - "scrolled": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "249c822c710e42c08ccafcbcb80fde09", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e69e6acc16ab4e35a578e53d08c6d539", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Packets: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Atomic Data kurucz_cd23_chianti_H_He already exists in /home/afullard/Downloads/tardis-data/kurucz_cd23_chianti_H_He.h5. Will not download - override with force_download=True.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.io.model.parse_atom_data\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tReading Atomic Data from kurucz_cd23_chianti_H_He.h5 (\u001b[1mparse_atom_data.py\u001b[0m:40)\n", - "[\u001b[1mtardis.io.atom_data.util\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tAtom Data kurucz_cd23_chianti_H_He.h5 not found in local path.\n", - "\tExists in TARDIS Data repo /home/afullard/Downloads/tardis-data/kurucz_cd23_chianti_H_He.h5 (\u001b[1mutil.py\u001b[0m:36)\n", - "[\u001b[1mtardis.io.atom_data.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tReading Atom Data with: UUID = 6f7b09e887a311e7a06b246e96350010 MD5 = 864f1753714343c41f99cb065710cace (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.io.atom_data.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tNon provided Atomic Data: synpp_refs, photoionization_data, yg_data, two_photon_data, linelist_atoms, linelist_molecules (\u001b[1mbase.py\u001b[0m:266)\n", - "[\u001b[1mtardis.io.model.parse_density_configuration\u001b[0m][\u001b[1;33mWARNING\u001b[0m] \n", - "\tNumber of density points larger than number of shells. Assuming inner point irrelevant (\u001b[1mparse_density_configuration.py\u001b[0m:114)\n", - "[\u001b[1mtardis.model.matter.decay\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tDecaying abundances for 1123200.0 seconds (\u001b[1mdecay.py\u001b[0m:101)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 1 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mpy.warnings \u001b[0m][\u001b[1;33mWARNING\u001b[0m] \n", - "\t/home/afullard/tardis/tardis/transport/montecarlo/montecarlo_main_loop.py:123: NumbaTypeSafetyWarning: \u001b[1m\u001b[1m\u001b[1munsafe cast from uint64 to int64. Precision may be lost.\u001b[0m\u001b[0m\u001b[0m\n", - " vpacket_collection = vpacket_collections[i]\n", - " (\u001b[1mwarnings.py\u001b[0m:112)\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1e008796934f446385fa088552215991", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "TqdmHBox(children=(HTML(value='Iterations:', layout=Layout(width='6%')), FloatProgress(value=0.0, layout=Layou…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "39e4c502e52f455b9086c831ef47d824", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "TqdmHBox(children=(HTML(value='Packets:\\u2007\\u2007\\u2007', layout=Layout(width='6%')), FloatProgress(value=0.…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 7.942e+42 erg / s\n", - "\tLuminosity absorbed = 2.659e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_bac1d\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_bac1d_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_bac1d_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_bac1d_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_bac1d_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_bac1d_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_bac1d_row0_col0\" class=\"data row0 col0\" >9.93e+03 K</td>\n", - " <td id=\"T_bac1d_row0_col1\" class=\"data row0 col1\" >1.01e+04 K</td>\n", - " <td id=\"T_bac1d_row0_col2\" class=\"data row0 col2\" >0.4</td>\n", - " <td id=\"T_bac1d_row0_col3\" class=\"data row0 col3\" >0.507</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_bac1d_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_bac1d_row1_col0\" class=\"data row1 col0\" >9.85e+03 K</td>\n", - " <td id=\"T_bac1d_row1_col1\" class=\"data row1 col1\" >1.02e+04 K</td>\n", - " <td id=\"T_bac1d_row1_col2\" class=\"data row1 col2\" >0.211</td>\n", - " <td id=\"T_bac1d_row1_col3\" class=\"data row1 col3\" >0.197</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_bac1d_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_bac1d_row2_col0\" class=\"data row2 col0\" >9.78e+03 K</td>\n", - " <td id=\"T_bac1d_row2_col1\" class=\"data row2 col1\" >1.01e+04 K</td>\n", - " <td id=\"T_bac1d_row2_col2\" class=\"data row2 col2\" >0.143</td>\n", - " <td id=\"T_bac1d_row2_col3\" class=\"data row2 col3\" >0.117</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_bac1d_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_bac1d_row3_col0\" class=\"data row3 col0\" >9.71e+03 K</td>\n", - " <td id=\"T_bac1d_row3_col1\" class=\"data row3 col1\" >9.87e+03 K</td>\n", - " <td id=\"T_bac1d_row3_col2\" class=\"data row3 col2\" >0.105</td>\n", - " <td id=\"T_bac1d_row3_col3\" class=\"data row3 col3\" >0.0869</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe31543ad0>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 9933.952 K\n", - "\tExpected t_inner for next iteration = 10703.212 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 2 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.071e+43 erg / s\n", - "\tLuminosity absorbed = 3.576e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_f0e95\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_f0e95_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_f0e95_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_f0e95_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_f0e95_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_f0e95_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_f0e95_row0_col0\" class=\"data row0 col0\" >1.01e+04 K</td>\n", - " <td id=\"T_f0e95_row0_col1\" class=\"data row0 col1\" >1.08e+04 K</td>\n", - " <td id=\"T_f0e95_row0_col2\" class=\"data row0 col2\" >0.507</td>\n", - " <td id=\"T_f0e95_row0_col3\" class=\"data row0 col3\" >0.525</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_f0e95_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_f0e95_row1_col0\" class=\"data row1 col0\" >1.02e+04 K</td>\n", - " <td id=\"T_f0e95_row1_col1\" class=\"data row1 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_f0e95_row1_col2\" class=\"data row1 col2\" >0.197</td>\n", - " <td id=\"T_f0e95_row1_col3\" class=\"data row1 col3\" >0.203</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_f0e95_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_f0e95_row2_col0\" class=\"data row2 col0\" >1.01e+04 K</td>\n", - " <td id=\"T_f0e95_row2_col1\" class=\"data row2 col1\" >1.08e+04 K</td>\n", - " <td id=\"T_f0e95_row2_col2\" class=\"data row2 col2\" >0.117</td>\n", - " <td id=\"T_f0e95_row2_col3\" class=\"data row2 col3\" >0.125</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_f0e95_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_f0e95_row3_col0\" class=\"data row3 col0\" >9.87e+03 K</td>\n", - " <td id=\"T_f0e95_row3_col1\" class=\"data row3 col1\" >1.05e+04 K</td>\n", - " <td id=\"T_f0e95_row3_col2\" class=\"data row3 col2\" >0.0869</td>\n", - " <td id=\"T_f0e95_row3_col3\" class=\"data row3 col3\" >0.0933</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe3fcdef00>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10703.212 K\n", - "\tExpected t_inner for next iteration = 10673.712 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 3 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.074e+43 erg / s\n", - "\tLuminosity absorbed = 3.391e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 1/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_52eca\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_52eca_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_52eca_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_52eca_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_52eca_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_52eca_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_52eca_row0_col0\" class=\"data row0 col0\" >1.08e+04 K</td>\n", - " <td id=\"T_52eca_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_52eca_row0_col2\" class=\"data row0 col2\" >0.525</td>\n", - " <td id=\"T_52eca_row0_col3\" class=\"data row0 col3\" >0.483</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52eca_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_52eca_row1_col0\" class=\"data row1 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_52eca_row1_col1\" class=\"data row1 col1\" >1.12e+04 K</td>\n", - " <td id=\"T_52eca_row1_col2\" class=\"data row1 col2\" >0.203</td>\n", - " <td id=\"T_52eca_row1_col3\" class=\"data row1 col3\" >0.189</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52eca_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_52eca_row2_col0\" class=\"data row2 col0\" >1.08e+04 K</td>\n", - " <td id=\"T_52eca_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_52eca_row2_col2\" class=\"data row2 col2\" >0.125</td>\n", - " <td id=\"T_52eca_row2_col3\" class=\"data row2 col3\" >0.118</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52eca_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_52eca_row3_col0\" class=\"data row3 col0\" >1.05e+04 K</td>\n", - " <td id=\"T_52eca_row3_col1\" class=\"data row3 col1\" >1.06e+04 K</td>\n", - " <td id=\"T_52eca_row3_col2\" class=\"data row3 col2\" >0.0933</td>\n", - " <td id=\"T_52eca_row3_col3\" class=\"data row3 col3\" >0.0895</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe3fcdef00>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10673.712 K\n", - "\tExpected t_inner for next iteration = 10635.953 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 4 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.058e+43 erg / s\n", - "\tLuminosity absorbed = 3.352e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 2/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_9f639\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_9f639_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_9f639_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_9f639_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_9f639_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_9f639_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_9f639_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_9f639_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_9f639_row0_col2\" class=\"data row0 col2\" >0.483</td>\n", - " <td id=\"T_9f639_row0_col3\" class=\"data row0 col3\" >0.469</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_9f639_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_9f639_row1_col0\" class=\"data row1 col0\" >1.12e+04 K</td>\n", - " <td id=\"T_9f639_row1_col1\" class=\"data row1 col1\" >1.12e+04 K</td>\n", - " <td id=\"T_9f639_row1_col2\" class=\"data row1 col2\" >0.189</td>\n", - " <td id=\"T_9f639_row1_col3\" class=\"data row1 col3\" >0.182</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_9f639_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_9f639_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_9f639_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_9f639_row2_col2\" class=\"data row2 col2\" >0.118</td>\n", - " <td id=\"T_9f639_row2_col3\" class=\"data row2 col3\" >0.113</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_9f639_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_9f639_row3_col0\" class=\"data row3 col0\" >1.06e+04 K</td>\n", - " <td id=\"T_9f639_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_9f639_row3_col2\" class=\"data row3 col2\" >0.0895</td>\n", - " <td id=\"T_9f639_row3_col3\" class=\"data row3 col3\" >0.0861</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c781280>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10635.953 K\n", - "\tExpected t_inner for next iteration = 10638.407 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 5 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.055e+43 erg / s\n", - "\tLuminosity absorbed = 3.399e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 3/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_40b08\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_40b08_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_40b08_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_40b08_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_40b08_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_40b08_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_40b08_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_40b08_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_40b08_row0_col2\" class=\"data row0 col2\" >0.469</td>\n", - " <td id=\"T_40b08_row0_col3\" class=\"data row0 col3\" >0.479</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_40b08_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_40b08_row1_col0\" class=\"data row1 col0\" >1.12e+04 K</td>\n", - " <td id=\"T_40b08_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_40b08_row1_col2\" class=\"data row1 col2\" >0.182</td>\n", - " <td id=\"T_40b08_row1_col3\" class=\"data row1 col3\" >0.178</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_40b08_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_40b08_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_40b08_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_40b08_row2_col2\" class=\"data row2 col2\" >0.113</td>\n", - " <td id=\"T_40b08_row2_col3\" class=\"data row2 col3\" >0.113</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_40b08_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_40b08_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_40b08_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_40b08_row3_col2\" class=\"data row3 col2\" >0.0861</td>\n", - " <td id=\"T_40b08_row3_col3\" class=\"data row3 col3\" >0.0839</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe3e8289b0>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10638.407 K\n", - "\tExpected t_inner for next iteration = 10650.202 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 6 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.061e+43 erg / s\n", - "\tLuminosity absorbed = 3.398e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 4/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_8ee52\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_8ee52_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_8ee52_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_8ee52_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_8ee52_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_8ee52_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_8ee52_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_8ee52_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_8ee52_row0_col2\" class=\"data row0 col2\" >0.479</td>\n", - " <td id=\"T_8ee52_row0_col3\" class=\"data row0 col3\" >0.47</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_8ee52_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_8ee52_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_8ee52_row1_col1\" class=\"data row1 col1\" >1.12e+04 K</td>\n", - " <td id=\"T_8ee52_row1_col2\" class=\"data row1 col2\" >0.178</td>\n", - " <td id=\"T_8ee52_row1_col3\" class=\"data row1 col3\" >0.185</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_8ee52_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_8ee52_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_8ee52_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_8ee52_row2_col2\" class=\"data row2 col2\" >0.113</td>\n", - " <td id=\"T_8ee52_row2_col3\" class=\"data row2 col3\" >0.112</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_8ee52_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_8ee52_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_8ee52_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_8ee52_row3_col2\" class=\"data row3 col2\" >0.0839</td>\n", - " <td id=\"T_8ee52_row3_col3\" class=\"data row3 col3\" >0.0856</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe38fb95b0>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10650.202 K\n", - "\tExpected t_inner for next iteration = 10645.955 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 7 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.061e+43 erg / s\n", - "\tLuminosity absorbed = 3.382e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 5/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_2589d\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_2589d_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_2589d_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_2589d_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_2589d_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_2589d_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_2589d_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_2589d_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_2589d_row0_col2\" class=\"data row0 col2\" >0.47</td>\n", - " <td id=\"T_2589d_row0_col3\" class=\"data row0 col3\" >0.47</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_2589d_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_2589d_row1_col0\" class=\"data row1 col0\" >1.12e+04 K</td>\n", - " <td id=\"T_2589d_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_2589d_row1_col2\" class=\"data row1 col2\" >0.185</td>\n", - " <td id=\"T_2589d_row1_col3\" class=\"data row1 col3\" >0.178</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_2589d_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_2589d_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_2589d_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_2589d_row2_col2\" class=\"data row2 col2\" >0.112</td>\n", - " <td id=\"T_2589d_row2_col3\" class=\"data row2 col3\" >0.112</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_2589d_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_2589d_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_2589d_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_2589d_row3_col2\" class=\"data row3 col2\" >0.0856</td>\n", - " <td id=\"T_2589d_row3_col3\" class=\"data row3 col3\" >0.086</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c7808f0>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10645.955 K\n", - "\tExpected t_inner for next iteration = 10642.050 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 8 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.062e+43 erg / s\n", - "\tLuminosity absorbed = 3.350e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 6/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_24f4f\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_24f4f_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_24f4f_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_24f4f_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_24f4f_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_24f4f_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_24f4f_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_24f4f_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_24f4f_row0_col2\" class=\"data row0 col2\" >0.47</td>\n", - " <td id=\"T_24f4f_row0_col3\" class=\"data row0 col3\" >0.472</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_24f4f_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_24f4f_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_24f4f_row1_col1\" class=\"data row1 col1\" >1.14e+04 K</td>\n", - " <td id=\"T_24f4f_row1_col2\" class=\"data row1 col2\" >0.178</td>\n", - " <td id=\"T_24f4f_row1_col3\" class=\"data row1 col3\" >0.175</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_24f4f_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_24f4f_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_24f4f_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_24f4f_row2_col2\" class=\"data row2 col2\" >0.112</td>\n", - " <td id=\"T_24f4f_row2_col3\" class=\"data row2 col3\" >0.111</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_24f4f_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_24f4f_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_24f4f_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_24f4f_row3_col2\" class=\"data row3 col2\" >0.086</td>\n", - " <td id=\"T_24f4f_row3_col3\" class=\"data row3 col3\" >0.084</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10642.050 K\n", - "\tExpected t_inner for next iteration = 10636.106 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 9 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.052e+43 erg / s\n", - "\tLuminosity absorbed = 3.411e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 7/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_62369\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_62369_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_62369_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_62369_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_62369_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_62369_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_62369_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_62369_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_62369_row0_col2\" class=\"data row0 col2\" >0.472</td>\n", - " <td id=\"T_62369_row0_col3\" class=\"data row0 col3\" >0.469</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_62369_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_62369_row1_col0\" class=\"data row1 col0\" >1.14e+04 K</td>\n", - " <td id=\"T_62369_row1_col1\" class=\"data row1 col1\" >1.15e+04 K</td>\n", - " <td id=\"T_62369_row1_col2\" class=\"data row1 col2\" >0.175</td>\n", - " <td id=\"T_62369_row1_col3\" class=\"data row1 col3\" >0.17</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_62369_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_62369_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_62369_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_62369_row2_col2\" class=\"data row2 col2\" >0.111</td>\n", - " <td id=\"T_62369_row2_col3\" class=\"data row2 col3\" >0.109</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_62369_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_62369_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_62369_row3_col1\" class=\"data row3 col1\" >1.08e+04 K</td>\n", - " <td id=\"T_62369_row3_col2\" class=\"data row3 col2\" >0.084</td>\n", - " <td id=\"T_62369_row3_col3\" class=\"data row3 col3\" >0.0822</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10636.106 K\n", - "\tExpected t_inner for next iteration = 10654.313 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 10 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.070e+43 erg / s\n", - "\tLuminosity absorbed = 3.335e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 8/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_8589d\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_8589d_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_8589d_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_8589d_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_8589d_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_8589d_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_8589d_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_8589d_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_8589d_row0_col2\" class=\"data row0 col2\" >0.469</td>\n", - " <td id=\"T_8589d_row0_col3\" class=\"data row0 col3\" >0.475</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_8589d_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_8589d_row1_col0\" class=\"data row1 col0\" >1.15e+04 K</td>\n", - " <td id=\"T_8589d_row1_col1\" class=\"data row1 col1\" >1.14e+04 K</td>\n", - " <td id=\"T_8589d_row1_col2\" class=\"data row1 col2\" >0.17</td>\n", - " <td id=\"T_8589d_row1_col3\" class=\"data row1 col3\" >0.177</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_8589d_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_8589d_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_8589d_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_8589d_row2_col2\" class=\"data row2 col2\" >0.109</td>\n", - " <td id=\"T_8589d_row2_col3\" class=\"data row2 col3\" >0.112</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_8589d_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_8589d_row3_col0\" class=\"data row3 col0\" >1.08e+04 K</td>\n", - " <td id=\"T_8589d_row3_col1\" class=\"data row3 col1\" >1.06e+04 K</td>\n", - " <td id=\"T_8589d_row3_col2\" class=\"data row3 col2\" >0.0822</td>\n", - " <td id=\"T_8589d_row3_col3\" class=\"data row3 col3\" >0.0878</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10654.313 K\n", - "\tExpected t_inner for next iteration = 10628.190 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 11 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.053e+43 erg / s\n", - "\tLuminosity absorbed = 3.363e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 9/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_eb87c\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_eb87c_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_eb87c_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_eb87c_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_eb87c_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_eb87c_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_eb87c_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_eb87c_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_eb87c_row0_col2\" class=\"data row0 col2\" >0.475</td>\n", - " <td id=\"T_eb87c_row0_col3\" class=\"data row0 col3\" >0.472</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_eb87c_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_eb87c_row1_col0\" class=\"data row1 col0\" >1.14e+04 K</td>\n", - " <td id=\"T_eb87c_row1_col1\" class=\"data row1 col1\" >1.12e+04 K</td>\n", - " <td id=\"T_eb87c_row1_col2\" class=\"data row1 col2\" >0.177</td>\n", - " <td id=\"T_eb87c_row1_col3\" class=\"data row1 col3\" >0.184</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_eb87c_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_eb87c_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_eb87c_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_eb87c_row2_col2\" class=\"data row2 col2\" >0.112</td>\n", - " <td id=\"T_eb87c_row2_col3\" class=\"data row2 col3\" >0.114</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_eb87c_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_eb87c_row3_col0\" class=\"data row3 col0\" >1.06e+04 K</td>\n", - " <td id=\"T_eb87c_row3_col1\" class=\"data row3 col1\" >1.06e+04 K</td>\n", - " <td id=\"T_eb87c_row3_col2\" class=\"data row3 col2\" >0.0878</td>\n", - " <td id=\"T_eb87c_row3_col3\" class=\"data row3 col3\" >0.0859</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10628.190 K\n", - "\tExpected t_inner for next iteration = 10644.054 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 12 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.056e+43 erg / s\n", - "\tLuminosity absorbed = 3.420e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 10/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_efdef\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_efdef_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_efdef_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_efdef_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_efdef_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_efdef_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_efdef_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_efdef_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_efdef_row0_col2\" class=\"data row0 col2\" >0.472</td>\n", - " <td id=\"T_efdef_row0_col3\" class=\"data row0 col3\" >0.467</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_efdef_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_efdef_row1_col0\" class=\"data row1 col0\" >1.12e+04 K</td>\n", - " <td id=\"T_efdef_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_efdef_row1_col2\" class=\"data row1 col2\" >0.184</td>\n", - " <td id=\"T_efdef_row1_col3\" class=\"data row1 col3\" >0.176</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_efdef_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_efdef_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_efdef_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_efdef_row2_col2\" class=\"data row2 col2\" >0.114</td>\n", - " <td id=\"T_efdef_row2_col3\" class=\"data row2 col3\" >0.11</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_efdef_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_efdef_row3_col0\" class=\"data row3 col0\" >1.06e+04 K</td>\n", - " <td id=\"T_efdef_row3_col1\" class=\"data row3 col1\" >1.08e+04 K</td>\n", - " <td id=\"T_efdef_row3_col2\" class=\"data row3 col2\" >0.0859</td>\n", - " <td id=\"T_efdef_row3_col3\" class=\"data row3 col3\" >0.0821</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10644.054 K\n", - "\tExpected t_inner for next iteration = 10653.543 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 13 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.062e+43 erg / s\n", - "\tLuminosity absorbed = 3.406e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 11/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_aa15a\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_aa15a_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_aa15a_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_aa15a_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_aa15a_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_aa15a_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_aa15a_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_aa15a_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_aa15a_row0_col2\" class=\"data row0 col2\" >0.467</td>\n", - " <td id=\"T_aa15a_row0_col3\" class=\"data row0 col3\" >0.466</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_aa15a_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_aa15a_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_aa15a_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_aa15a_row1_col2\" class=\"data row1 col2\" >0.176</td>\n", - " <td id=\"T_aa15a_row1_col3\" class=\"data row1 col3\" >0.18</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_aa15a_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_aa15a_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_aa15a_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_aa15a_row2_col2\" class=\"data row2 col2\" >0.11</td>\n", - " <td id=\"T_aa15a_row2_col3\" class=\"data row2 col3\" >0.111</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_aa15a_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_aa15a_row3_col0\" class=\"data row3 col0\" >1.08e+04 K</td>\n", - " <td id=\"T_aa15a_row3_col1\" class=\"data row3 col1\" >1.08e+04 K</td>\n", - " <td id=\"T_aa15a_row3_col2\" class=\"data row3 col2\" >0.0821</td>\n", - " <td id=\"T_aa15a_row3_col3\" class=\"data row3 col3\" >0.0841</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10653.543 K\n", - "\tExpected t_inner for next iteration = 10647.277 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 14 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.063e+43 erg / s\n", - "\tLuminosity absorbed = 3.369e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 12/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_770a1\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_770a1_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_770a1_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_770a1_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_770a1_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_770a1_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_770a1_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_770a1_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_770a1_row0_col2\" class=\"data row0 col2\" >0.466</td>\n", - " <td id=\"T_770a1_row0_col3\" class=\"data row0 col3\" >0.469</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_770a1_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_770a1_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_770a1_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_770a1_row1_col2\" class=\"data row1 col2\" >0.18</td>\n", - " <td id=\"T_770a1_row1_col3\" class=\"data row1 col3\" >0.182</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_770a1_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_770a1_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_770a1_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_770a1_row2_col2\" class=\"data row2 col2\" >0.111</td>\n", - " <td id=\"T_770a1_row2_col3\" class=\"data row2 col3\" >0.113</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_770a1_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_770a1_row3_col0\" class=\"data row3 col0\" >1.08e+04 K</td>\n", - " <td id=\"T_770a1_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_770a1_row3_col2\" class=\"data row3 col2\" >0.0841</td>\n", - " <td id=\"T_770a1_row3_col3\" class=\"data row3 col3\" >0.0854</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10647.277 K\n", - "\tExpected t_inner for next iteration = 10638.875 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 15 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.053e+43 erg / s\n", - "\tLuminosity absorbed = 3.417e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 13/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_4dc2e\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_4dc2e_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_4dc2e_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_4dc2e_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_4dc2e_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_4dc2e_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_4dc2e_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_4dc2e_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_4dc2e_row0_col2\" class=\"data row0 col2\" >0.469</td>\n", - " <td id=\"T_4dc2e_row0_col3\" class=\"data row0 col3\" >0.484</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_4dc2e_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_4dc2e_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_4dc2e_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_4dc2e_row1_col2\" class=\"data row1 col2\" >0.182</td>\n", - " <td id=\"T_4dc2e_row1_col3\" class=\"data row1 col3\" >0.181</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_4dc2e_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_4dc2e_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_4dc2e_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_4dc2e_row2_col2\" class=\"data row2 col2\" >0.113</td>\n", - " <td id=\"T_4dc2e_row2_col3\" class=\"data row2 col3\" >0.113</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_4dc2e_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_4dc2e_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_4dc2e_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_4dc2e_row3_col2\" class=\"data row3 col2\" >0.0854</td>\n", - " <td id=\"T_4dc2e_row3_col3\" class=\"data row3 col3\" >0.0858</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10638.875 K\n", - "\tExpected t_inner for next iteration = 10655.125 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 16 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.059e+43 erg / s\n", - "\tLuminosity absorbed = 3.445e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 14/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_5fbc5\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_5fbc5_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_5fbc5_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_5fbc5_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_5fbc5_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_5fbc5_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_5fbc5_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_5fbc5_row0_col1\" class=\"data row0 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_5fbc5_row0_col2\" class=\"data row0 col2\" >0.484</td>\n", - " <td id=\"T_5fbc5_row0_col3\" class=\"data row0 col3\" >0.472</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_5fbc5_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_5fbc5_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_5fbc5_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_5fbc5_row1_col2\" class=\"data row1 col2\" >0.181</td>\n", - " <td id=\"T_5fbc5_row1_col3\" class=\"data row1 col3\" >0.177</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_5fbc5_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_5fbc5_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_5fbc5_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_5fbc5_row2_col2\" class=\"data row2 col2\" >0.113</td>\n", - " <td id=\"T_5fbc5_row2_col3\" class=\"data row2 col3\" >0.113</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_5fbc5_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_5fbc5_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_5fbc5_row3_col1\" class=\"data row3 col1\" >1.06e+04 K</td>\n", - " <td id=\"T_5fbc5_row3_col2\" class=\"data row3 col2\" >0.0858</td>\n", - " <td id=\"T_5fbc5_row3_col3\" class=\"data row3 col3\" >0.0858</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10655.125 K\n", - "\tExpected t_inner for next iteration = 10655.561 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 17 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.067e+43 erg / s\n", - "\tLuminosity absorbed = 3.372e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 15/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_cae19\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_cae19_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_cae19_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_cae19_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_cae19_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_cae19_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_cae19_row0_col0\" class=\"data row0 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_cae19_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_cae19_row0_col2\" class=\"data row0 col2\" >0.472</td>\n", - " <td id=\"T_cae19_row0_col3\" class=\"data row0 col3\" >0.468</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_cae19_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_cae19_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_cae19_row1_col1\" class=\"data row1 col1\" >1.14e+04 K</td>\n", - " <td id=\"T_cae19_row1_col2\" class=\"data row1 col2\" >0.177</td>\n", - " <td id=\"T_cae19_row1_col3\" class=\"data row1 col3\" >0.175</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_cae19_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_cae19_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_cae19_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_cae19_row2_col2\" class=\"data row2 col2\" >0.113</td>\n", - " <td id=\"T_cae19_row2_col3\" class=\"data row2 col3\" >0.11</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_cae19_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_cae19_row3_col0\" class=\"data row3 col0\" >1.06e+04 K</td>\n", - " <td id=\"T_cae19_row3_col1\" class=\"data row3 col1\" >1.08e+04 K</td>\n", - " <td id=\"T_cae19_row3_col2\" class=\"data row3 col2\" >0.0858</td>\n", - " <td id=\"T_cae19_row3_col3\" class=\"data row3 col3\" >0.0816</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe1c57bb60>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10655.561 K\n", - "\tExpected t_inner for next iteration = 10636.536 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 18 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.057e+43 erg / s\n", - "\tLuminosity absorbed = 3.365e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 16/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_52967\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_52967_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_52967_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_52967_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_52967_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_52967_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_52967_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_52967_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_52967_row0_col2\" class=\"data row0 col2\" >0.468</td>\n", - " <td id=\"T_52967_row0_col3\" class=\"data row0 col3\" >0.464</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52967_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_52967_row1_col0\" class=\"data row1 col0\" >1.14e+04 K</td>\n", - " <td id=\"T_52967_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_52967_row1_col2\" class=\"data row1 col2\" >0.175</td>\n", - " <td id=\"T_52967_row1_col3\" class=\"data row1 col3\" >0.177</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52967_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_52967_row2_col0\" class=\"data row2 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_52967_row2_col1\" class=\"data row2 col1\" >1.1e+04 K</td>\n", - " <td id=\"T_52967_row2_col2\" class=\"data row2 col2\" >0.11</td>\n", - " <td id=\"T_52967_row2_col3\" class=\"data row2 col3\" >0.113</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52967_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_52967_row3_col0\" class=\"data row3 col0\" >1.08e+04 K</td>\n", - " <td id=\"T_52967_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_52967_row3_col2\" class=\"data row3 col2\" >0.0816</td>\n", - " <td id=\"T_52967_row3_col3\" class=\"data row3 col3\" >0.0848</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe242eb290>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10636.536 K\n", - "\tExpected t_inner for next iteration = 10641.692 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 19 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.056e+43 erg / s\n", - "\tLuminosity absorbed = 3.405e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\tIteration converged 17/4 consecutive times. (\u001b[1mbase.py\u001b[0m:262)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tPlasma stratification: (\u001b[1mbase.py\u001b[0m:631)\n" - ] - }, - { - "data": { - "text/html": [ - "<style type=\"text/css\">\n", - "</style>\n", - "<table id=\"T_52f90\">\n", - " <thead>\n", - " <tr>\n", - " <th class=\"index_name level0\" >Shell No.</th>\n", - " <th id=\"T_52f90_level0_col0\" class=\"col_heading level0 col0\" >t_rad</th>\n", - " <th id=\"T_52f90_level0_col1\" class=\"col_heading level0 col1\" >next_t_rad</th>\n", - " <th id=\"T_52f90_level0_col2\" class=\"col_heading level0 col2\" >w</th>\n", - " <th id=\"T_52f90_level0_col3\" class=\"col_heading level0 col3\" >next_w</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th id=\"T_52f90_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n", - " <td id=\"T_52f90_row0_col0\" class=\"data row0 col0\" >1.11e+04 K</td>\n", - " <td id=\"T_52f90_row0_col1\" class=\"data row0 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_52f90_row0_col2\" class=\"data row0 col2\" >0.464</td>\n", - " <td id=\"T_52f90_row0_col3\" class=\"data row0 col3\" >0.466</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52f90_level0_row1\" class=\"row_heading level0 row1\" >5</th>\n", - " <td id=\"T_52f90_row1_col0\" class=\"data row1 col0\" >1.13e+04 K</td>\n", - " <td id=\"T_52f90_row1_col1\" class=\"data row1 col1\" >1.13e+04 K</td>\n", - " <td id=\"T_52f90_row1_col2\" class=\"data row1 col2\" >0.177</td>\n", - " <td id=\"T_52f90_row1_col3\" class=\"data row1 col3\" >0.177</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52f90_level0_row2\" class=\"row_heading level0 row2\" >10</th>\n", - " <td id=\"T_52f90_row2_col0\" class=\"data row2 col0\" >1.1e+04 K</td>\n", - " <td id=\"T_52f90_row2_col1\" class=\"data row2 col1\" >1.11e+04 K</td>\n", - " <td id=\"T_52f90_row2_col2\" class=\"data row2 col2\" >0.113</td>\n", - " <td id=\"T_52f90_row2_col3\" class=\"data row2 col3\" >0.111</td>\n", - " </tr>\n", - " <tr>\n", - " <th id=\"T_52f90_level0_row3\" class=\"row_heading level0 row3\" >15</th>\n", - " <td id=\"T_52f90_row3_col0\" class=\"data row3 col0\" >1.07e+04 K</td>\n", - " <td id=\"T_52f90_row3_col1\" class=\"data row3 col1\" >1.07e+04 K</td>\n", - " <td id=\"T_52f90_row3_col2\" class=\"data row3 col2\" >0.0848</td>\n", - " <td id=\"T_52f90_row3_col3\" class=\"data row3 col3\" >0.0853</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n" - ], - "text/plain": [ - "<pandas.io.formats.style.Styler at 0x7fbe242e9e20>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tCurrent t_inner = 10641.692 K\n", - "\tExpected t_inner for next iteration = 10650.463 K\n", - " (\u001b[1mbase.py\u001b[0m:658)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tSimulation finished in 19 iterations \n", - "\tSimulation took 29.04 s\n", - " (\u001b[1mbase.py\u001b[0m:548)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tStarting iteration 20 of 20 (\u001b[1mbase.py\u001b[0m:450)\n", - "[\u001b[1mtardis.simulation.base\u001b[0m][\u001b[1;37mINFO\u001b[0m ] \n", - "\t\n", - "\tLuminosity emitted = 1.061e+43 erg / s\n", - "\tLuminosity absorbed = 3.401e+42 erg / s\n", - "\tLuminosity requested = 1.059e+43 erg / s\n", - " (\u001b[1mbase.py\u001b[0m:663)\n" - ] - } - ], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data(\"kurucz_cd23_chianti_H_He\")\n", - "\n", - "sim = run_tardis(\"tardis_example.yml\", virtual_packet_logging=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, import functions & class to create widgets from `visualization` subpackage:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2021-02-18T17:29:30.986893Z", - "start_time": "2021-02-18T17:29:30.978764Z" - } - }, - "outputs": [], - "source": [ - "from tardis.visualization import (\n", - " shell_info_from_simulation,\n", - " shell_info_from_hdf,\n", - " LineInfoWidget,\n", - " GrotrianWidget,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Shell Info Widget\n", - "\n", - "This widget allows you to explore chemical abundances of each shell - all the way from elements to ions to levels - by just clicking on the rows you want to explore!\n", - "\n", - "There are two ways in which you can generate the widget:\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using a Simulation object\n", - "\n", - "We will use the simulation object we created in the beginning, `sim` to generate shell info widget. Then simply display it to start using.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2021-02-18T16:11:15.097803Z", - "start_time": "2021-02-18T16:11:14.753761Z" - } - }, - "outputs": [], - "source": [ - "shell_info_widget = shell_info_from_simulation(sim)\n", - "shell_info_widget.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can interact with the widget produced in output above (which won't be visible if you're viewing this notebook in our docs as an html page) like this:\n", - "\n", - "![Shell Info Widget Demo](../images/shell_info_widget_demo.gif)\n", - "\n", - "Use the button at the top of this page to run the notebook in interactively to use the widgets!\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Using a saved simulation (HDF file)\n", - "\n", - "Alternatively, if you have a TARDIS simulation model saved on your disk as an HDF file, you can also use it to generate the shell info widget.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-02-18T17:24:41.195180Z", - "start_time": "2021-02-18T17:24:39.006861Z" - }, - "scrolled": true - }, - "outputs": [], - "source": [ - "# shell_info_widget = shell_info_from_hdf('demo.h5')\n", - "# shell_info_widget.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Line Info Widget\n", - "\n", - "This widget lets you explore the atomic lines responsible for producing features in the simulated spectrum.\n", - "\n", - "You can select any wavelength range in the spectrum interactively to display a table giving the fraction of packets that experienced their last interaction with each species. Using toggle buttons, you can specify whether to filter the selected range by the emitted or absorbed wavelengths of packets. Clicking on a row in the species table, shows packet counts for each last line interaction of the selected species, which can be grouped in several ways.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To generate line info widget, we will again use the simulation object `sim` and then display the widget:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-02-18T17:24:55.634945Z", - "start_time": "2021-02-18T17:24:49.354718Z" - } - }, - "outputs": [], - "source": [ - "line_info_widget = LineInfoWidget.from_simulation(sim)\n", - "line_info_widget.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can interact with this widget (which again won't be visible if you're viewing this notebook in our docs as an html page) like this:\n", - "\n", - "![Line Info Widget Demo](../images/line_info_widget_demo.gif)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "The virtual packet logging capability must be active in order to produce virtual packets' spectrum in `Line Info Widget`. Thus, make sure to set `virtual_packet_logging: True` in your configuration file. It should be added under `virtual` property of `spectrum` property, as described in [configuration schema](https://tardis-sn.github.io/tardis/using/components/configuration/configuration.html#spectrum).\n", - "\n", - "</div>\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Energy Level Diagram\n", - "\n", - "This widget lets you explore and visualize the various level populations and line interactions in a simulation in the form of an Energy Level Diagram.\n", - "\n", - "You can select any ion present in the simulation and filter the transitions by wavelength or model shell to display an energy level diagram, where:\n", - "\n", - "- The horizontal lines represent the energy levels. The thickness of each line shows the relative population of that energy level, with thicker lines being more populated.\n", - "- The arrows represent the line interactions between levels, with the arrow direction giving the direction of the transition. The thickness of each arrow also shows the number of packets that underwent the transition while the wavelength is given by the color.\n", - "\n", - "In addition, you can also select between linear- and log-scaling for the y-axis (which represents the energy of each level) and the maximum number of levels to display, beginning from the lowest energy levels.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To generate the energy level diagram, we will again use the simulation object `sim` and then display the widget:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "energy_level_widget = GrotrianWidget.from_simulation(sim)\n", - "energy_level_widget.display()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can interact with this widget (which again won't be visible if you're viewing this notebook in our docs as an html page) like this:\n", - "\n", - "![Energy Level Diagram Demo](../images/energy_level_widget_options.gif)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - }, - "notify_time": "5", - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": false, - "sideBar": true, - "skip_h1_title": false, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": {}, - "toc_section_display": true, - "toc_window_display": true - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "position": { - "height": "271.85px", - "left": "1265.58px", - "right": "20px", - "top": "65px", - "width": "420.167px" - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/io/visualization/how_to_liv_plot.ipynb b/docs/io/visualization/how_to_liv_plot.ipynb deleted file mode 100644 index 7e18b4de8ee..00000000000 --- a/docs/io/visualization/how_to_liv_plot.ipynb +++ /dev/null @@ -1,581 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Generate a Last Interaction Velocity (LIV) Plot\n", - "The Last Interaction Velocity Plot tracks and display the velocities at which different elements (or species) last interacted with packets in the simulation." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, create and run a simulation for which you want to generate this plot:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "\n", - "sim = run_tardis(\"tardis_example.yml\", virtual_packet_logging=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "The virtual packet logging capability must be active in order to produce the Last Interaction Velocity Plot for virtual packets population. Thus, make sure to set `virtual_packet_logging: True` in your configuration file if you want to generate the Last Interaction Velocity Plot with virtual packets. It should be added under the `virtual` property of the `spectrum` property, as described in the [configuration schema](https://tardis-sn.github.io/tardis/io/configuration/components/spectrum.html).\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, import the plotting interface for Last Interaction Velocity Plot, i.e. the `LIVPlotter` class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.visualization.tools.liv_plot import LIVPlotter" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And create a plotter object to process the data of simulation object `sim` for generating the Last Interaction Velocity plot." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter = LIVPlotter.from_simulation(sim)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Static Plot (in matplotlib)\n", - "You can now call the `generate_plot_mpl()` method on your plotter object to create a highly informative and visually appealing Last Interaction Velocity plot using matplotlib." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Virtual packets mode\n", - "By default, a Last Interaction Velocity plot is produced for the virtual packet population of the simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Real packets mode\n", - "You can produce a Last Interaction Velocity plot for the real packet population of the simulation by setting `packets_mode=\"real\"` which is `\"virtual\"` by default." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(packets_mode=\"real\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific wavelength range\n", - "You can also restrict the wavelength range of escaped packets that you want to plot by specifying `packet_wvl_range`. It should be a quantity in Angstroms, containing two values - lower lambda and upper lambda i.e. `[lower_lambda, upper_lambda] * u.AA`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from astropy import units as u" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(packet_wvl_range=[3000, 9000] * u.AA)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting only the top contributing elements" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `nelements` option allows you to plot the top contributing elements to the spectrum. Only the top elements are shown in the plot. Please note this works only for elements and not for ions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(nelements=3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Choosing what elements/ions to plot\n", - "\n", - "You can pass a `species_list` for the species you want plotted in the Last Interaction Velocity Plot. Valid options include elements (e.g., Si), ions (specified in Roman numeral format, e.g., Si II), a range of ions (e.g., Si I-III), or any combination of these." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(species_list = [\"Si I-III\", \"O\", \"Ca\", \"S\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When using both the `nelements` and the `species_list` options, `species_list` takes precedence. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(species_list = [\"Si I-III\", \"Ca\", \"S\"], nelements=3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific number of bins\n", - "You can regroup the bins with broader widths within the same velocity range using `num_bins`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(species_list = [\"Si I-III\", \"O\", \"Ca\", \"S\"], num_bins=10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting on the Log Scale\n", - "You can plot on the log scale on x-axis using `xlog_scale=True` and on y-axis using `ylog_scale=True` by default both are set to `False` which plots on a linear scale." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(species_list = [\"Si I-III\", \"O\", \"Ca\", \"S\"], xlog_scale=True, ylog_scale=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific velocity range\n", - "You can restrict the range of bins to plot in the Last Interaction Velocity Plot by specifying a valid `velocity_range`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(species_list = [\"Si I-III\", \"O\", \"Ca\", \"S\"], velocity_range=(12500, 15050))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Additional plotting options" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# To list all available options (or parameters) with their description\n", - "help(plotter.generate_plot_mpl)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `generate_plot_mpl` method also has options specific to the matplotlib API, thereby providing you with more control over how your last interaction velocity looks. Possible cases where you may use them are:\n", - "\n", - "- `ax`: To plot on an Axis of a plot you're already working with, e.g. for subplots.\n", - "\n", - "- `figsize`: To resize the plot as per your requirements.\n", - "\n", - "- `cmapname`: To use a colormap of your preference, instead of \"jet\"." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Interactive Plot (in plotly)\n", - "If you're using the Last Interaction Velocity plot for exploration, consider creating an interactive version with `generate_plot_ply()`. This allows you to zoom, pan, inspect data values by hovering, resize the scale, and more conveniently.\n", - "\n", - "\n", - "\n", - "**This method takes the same arguments as `generate_plot_mpl` except for a few specific to the Plotly library.** You can produce all the plots shown above in Plotly by passing the same arguments." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Virtual packets mode\n", - "By default, a Last Interaction Velocity plot is produced for the virtual packet population of the simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Real packets mode\n", - "You can produce a Last Interaction Velocity plot for the real packet population of the simulation by setting `packets_mode=\"real\"` which is `\"virtual\"` by default." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(packets_mode=\"real\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific wavelength range\n", - "You can also restrict the wavelength range of escaped packets that you want to plot by specifying `packet_wvl_range`. It should be a quantity in Angstroms, containing two values - lower lambda and upper lambda i.e. `[lower_lambda, upper_lambda] * u.AA`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from astropy import units as u" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(packet_wvl_range=[3000, 9000] * u.AA)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting only the top contributing elements" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `nelements` option allows you to plot the top contributing elements to the spectrum. Only the top elements are shown in the plot. Please note this works only for elements and not for ions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(nelements=10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Choosing what elements/ions to plot\n", - "\n", - "You can pass a `species_list` for the species you want plotted in the Last Interaction Velocity Plot. Valid options include elements (e.g., Si), ions (specified in Roman numeral format, e.g., Si II), a range of ions (e.g., Si I-III), or any combination of these." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(species_list = [\"Si I-III\", \"Ca\", \"S\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When using both the `nelements` and the `species_list` options, `species_list` takes precedence. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(species_list = [\"Si I-III\", \"Ca\", \"S\"], nelements=3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific number of bins\n", - "You can regroup the bins with broader widths within the same velocity range using `num_bins`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(species_list = [\"Si I-III\", \"Ca\", \"S\"], num_bins=10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting on the Log Scale\n", - "You can plot on the log scale on x-axis using `xlog_scale=True` and on y-axis using `ylog_scale=True` by default both are set to `False`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(species_list = [\"Si I-III\", \"Ca\", \"S\"], xlog_scale=True, ylog_scale=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific velocity range\n", - "You can restrict the range of bins to plot in the Last Interaction Velocity Plot by specifying a valid `velocity_range`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(species_list = [\"Si I-III\", \"Ca\", \"S\"], velocity_range=(12500, 15050))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Additional plotting options" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# To list all available options (or parameters) with their description\n", - "help(plotter.generate_plot_ply)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "The `generate_plot_ply` method also has options specific to the plotly API, thereby providing you with more control over how your last interaction velocity plot looks. Possible cases where you may use them are:\n", - "\n", - " - `fig`: To plot the last interaction velocity plot on a figure you are already using e.g. for subplots.\n", - "\n", - " - `graph_height`: To specify the height of the graph as needed.\n", - " \n", - " - `cmapname`: To use a colormap of your preference instead of \"jet\"." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using simulation saved as HDF\n", - "Other than producing the Last Interaction Velocity Plot for simulation objects in runtime, you can also produce it for saved TARDIS simulations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# hdf_plotter = LIVPlotter.from_hdf(\"demo.h5\") ## Files is too large - just as an example" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This `hdf_plotter` object is similar to the `plotter` object we used above, **so you can use each plotting method demonstrated above with this too.**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Static plot with virtual packets mode\n", - "# hdf_plotter.generate_plot_mpl()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Static plot with real packets mode\n", - "#hdf_plotter.generate_plot_mpl(packets_mode=\"real\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Interactive plot with virtual packets mode and specific list of species\n", - "# hdf_plotter.generate_plot_ply(species_list=[\"Si I-III\", \"Ca\", \"O\", \"S\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Interactive plot with virtual packets mode and regrouped bins\n", - "# hdf_plotter.generate_plot_ply(num_bins=10)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tardis", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/io/visualization/how_to_sdec_plot.ipynb b/docs/io/visualization/how_to_sdec_plot.ipynb deleted file mode 100644 index 16e0cb4ddb8..00000000000 --- a/docs/io/visualization/how_to_sdec_plot.ipynb +++ /dev/null @@ -1,640 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Generate a Spectral element DEComposition (SDEC) Plot\n", - "The SDEC Plot illustrates the contributions of different chemical elements in the formation of a simulation model's spectrum. It is a spectral diagnostic plot similar to those originally proposed by M. Kromer (see, for example, [Kromer et al. 2013](https://arxiv.org/abs/1311.0310), figure 4)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:54:24.525446Z", - "start_time": "2021-10-01T11:54:24.522894Z" - }, - "nbsphinx": "hidden" - }, - "outputs": [], - "source": [ - "# We filter out warnings throughout this notebook\n", - "import warnings\n", - "warnings.filterwarnings('ignore')\n", - "\n", - "# Due to the large size of the SDEC plots in SVG format, we request output as a\n", - "# high-resolution PNG\n", - "%config InlineBackend.figure_formats='png2x'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, create and run a simulation for which you want to generate this plot:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:28.560853Z", - "start_time": "2021-10-01T11:54:24.527697Z" - }, - "scrolled": true - }, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "\n", - "sim = run_tardis(\"tardis_example.yml\", virtual_packet_logging=True)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "The virtual packet logging capability must be active in order to produce the SDEC Plot for virtual packets population. Thus, make sure to set `virtual_packet_logging: True` in your configuration file if you want to generate the SDEC Plot with virtual packets. It should be added under the `virtual` property of the `spectrum` property, as described in the [configuration schema](https://tardis-sn.github.io/tardis/io/configuration/components/spectrum.html).\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, import the plotting interface for the SDEC plot, i.e. the `SDECPlotter` class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:28.570289Z", - "start_time": "2021-10-01T11:55:28.565985Z" - } - }, - "outputs": [], - "source": [ - "from tardis.visualization import SDECPlotter" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And create a plotter object to process the data of simulation object `sim` for generating the SDEC plots." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:28.856453Z", - "start_time": "2021-10-01T11:55:28.573256Z" - } - }, - "outputs": [], - "source": [ - "plotter = SDECPlotter.from_simulation(sim)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Static Plot (in matplotlib)\n", - "You can now call the `generate_plot_mpl()` method on your `plotter` object to get a highly informative, yet beautiful, SDEC plot produced in matplotlib." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Virtual packets mode\n", - "By default, an SDEC plot is produced for the virtual packet population of the simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:31.451258Z", - "start_time": "2021-10-01T11:55:28.858833Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Real packets mode\n", - "You can produce the SDEC plot for the real packet population of the simulation by setting `packets_mode=\"real\"` which is `\"virtual\"` by default. Since `packets_mode` is the 1st argument, you can simply pass `\"real\"` string only." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:32.158763Z", - "start_time": "2021-10-01T11:55:31.452265Z" - }, - "scrolled": false - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(\"real\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting a specific wavelength range\n", - "You can also restrict the wavelength range of escaped packets that you want to plot by specifying `packet_wvl_range`. It should be a quantity in Angstroms, containing two values - lower lambda and upper lambda i.e. `[lower_lambda, upper_lambda] * u.AA`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:32.162522Z", - "start_time": "2021-10-01T11:55:32.160130Z" - } - }, - "outputs": [], - "source": [ - "from astropy import units as u" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:32.834975Z", - "start_time": "2021-10-01T11:55:32.165455Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(packet_wvl_range=[3000, 9000] * u.AA)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting only the top contributing elements" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `nelements` option allows you to plot the top contributing elements to the spectrum. The top elements are shown in unique colors and the rest of the elements are shown in silver. Please note this works only for elements and not for ions." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:33.596372Z", - "start_time": "2021-10-01T11:55:32.836722Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(packet_wvl_range=[2000, 8000] * u.AA, nelements = 3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Choosing what elements/ions to plot" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also pass a list of elements/ions of your choice in the `species_list` option and plot them. Valid options include elements (e.g. Si), ions (which must be specified in Roman numeral format, e.g. Si II), a range of ions (e.g. Si I-III), or any combination of these." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:34.453347Z", - "start_time": "2021-10-01T11:55:33.597694Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(packet_wvl_range=[2000, 8000] * u.AA, species_list = ['Si II', 'S I-V', 'Ca'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When using both the `nelements` and the `species_list` options, `species_list` takes precedence. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:36.222650Z", - "start_time": "2021-10-01T11:55:34.454511Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(nelements = 3, species_list = ['Si II', 'S I-V', 'Ca'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting flux instead of luminosity\n", - "You can plot in units of flux on the Y-axis of the SDEC plot, by specifying the `distance` parameter. It should be a quantity with a unit of length like m, Mpc, etc. and must be a positive value. By default, `distance=None` plots luminosity on the Y-axis." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:37.709270Z", - "start_time": "2021-10-01T11:55:36.223839Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(distance=100 * u.Mpc)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Plotting an observed spectrum\n", - "To add an observed spectrum to the SDEC plot, you would need to pass the wavelength and the flux to the `observed_spectrum` parameter. The argument passed should be a tuple/list where the first value is the wavelength and the second value is the flux of the observed spectrum. Please note that these values should be instances of `astropy.Quantity`. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:37.763078Z", - "start_time": "2021-10-01T11:55:37.711523Z" - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "data = np.loadtxt('demo_observed_spectrum.dat')\n", - "\n", - "observed_spectrum_wavelength, observed_spectrum_flux = data.T\n", - "observed_spectrum_wavelength = observed_spectrum_wavelength * u.AA\n", - "observed_spectrum_flux = observed_spectrum_flux * u.erg / (u.s * u.cm**2 * u.AA)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:39.116098Z", - "start_time": "2021-10-01T11:55:37.764988Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(observed_spectrum = (observed_spectrum_wavelength, observed_spectrum_flux), distance = 6 * u.Mpc)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Hiding modeled spectrum\n", - "By default, the modeled spectrum is shown in SDEC plot. You can hide it by setting `show_modeled_spectrum=False`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:40.310281Z", - "start_time": "2021-10-01T11:55:39.117361Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_mpl(show_modeled_spectrum=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Additional plotting options" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:40.316100Z", - "start_time": "2021-10-01T11:55:40.311570Z" - }, - "scrolled": false - }, - "outputs": [], - "source": [ - "# To list all available options (or parameters) with their description\n", - "help(plotter.generate_plot_mpl)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `generate_plot_mpl` method also has options specific to the matplotlib API, thereby providing you with more control over how your SDEC plot looks. Possible cases where you may use them are:\n", - "\n", - "- `ax`: To plot SDEC on the Axis of a plot you're already working with, e.g. for subplots.\n", - "\n", - "- `figsize`: To resize the SDEC plot as per your requirements.\n", - "\n", - "- `cmapname`: To use a colormap of your preference, instead of \"jet\"." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Interactive Plot (in plotly)\n", - "If you're using the SDEC plot for exploration purposes, you should plot its interactive version by using `generate_plot_ply()`. This not only allows you to zoom & pan but also to inspect data values by hovering, to resize scale, etc. conveniently (as shown below).\n", - "\n", - "![Interactions possible with SDEC plotly plot](../images/sdec_ply_interaction.gif)\n", - "\n", - "\n", - "**This method takes the exact same arguments as `generate_plot_mpl` except a few that are specific to the plotting library.** We can produce all the plots above in plotly, by passing the same arguments." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Virtual packets mode" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:42.308258Z", - "start_time": "2021-10-01T11:55:40.317173Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_ply()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Real packets mode" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:43.189422Z", - "start_time": "2021-10-01T11:55:42.310142Z" - } - }, - "outputs": [], - "source": [ - "plotter.generate_plot_ply(packets_mode=\"real\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In a similar manner, you can also use the `packet_wvl_range`, `nelements`, `species_list`, `show_modeled_spectrum`, `observed_spectrum` and distance arguments in plotly plots (try it out in interactive mode!)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Additional plotting options" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `generate_plot_ply` method also has options specific to the plotly API, thereby providing you with more control over how your SDEC plot looks. Possible cases where you may use them are:\n", - "- `fig`: To plot the SDEC plot on a figure you are already using e.g. for subplots.\n", - "- `graph_height`: To specify the height of the graph as needed.\n", - "- `cmapname`: To use a colormap of your preference instead of \"jet\"." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:47.644716Z", - "start_time": "2021-10-01T11:55:47.640577Z" - }, - "scrolled": false - }, - "outputs": [], - "source": [ - "# To list all available options (or parameters) with their description\n", - "help(plotter.generate_plot_ply)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using simulation saved as HDF\n", - "Other than producing the SDEC Plot for simulation objects in runtime, you can also produce it for saved TARDIS simulations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:47.833327Z", - "start_time": "2021-10-01T11:55:47.645614Z" - } - }, - "outputs": [], - "source": [ - "# hdf_plotter = SDECPlotter.from_hdf(\"demo.h5\") ## Files is too large - just as an example" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This `hdf_plotter` object is similar to the `plotter` object we used above, **so you can use each plotting method demonstrated above with this too.**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:48.266791Z", - "start_time": "2021-10-01T11:55:47.834808Z" - } - }, - "outputs": [], - "source": [ - "# Static plot with virtual packets mode\n", - "# hdf_plotter.generate_plot_mpl()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:48.659429Z", - "start_time": "2021-10-01T11:55:48.268776Z" - } - }, - "outputs": [], - "source": [ - "# Static plot with real packets mode\n", - "# hdf_plotter.generate_plot_mpl(\"real\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2021-10-01T11:55:48.854879Z", - "start_time": "2021-10-01T11:55:48.661398Z" - } - }, - "outputs": [], - "source": [ - "# Interactive plot with virtual packets mode\n", - "# hdf_plotter.generate_plot_ply()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - }, - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": false, - "sideBar": true, - "skip_h1_title": false, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": { - "height": "calc(100% - 180px)", - "left": "10px", - "top": "150px", - "width": "229.767px" - }, - "toc_section_display": true, - "toc_window_display": true - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/io/visualization/index.rst b/docs/io/visualization/index.rst deleted file mode 100644 index c98a32caae0..00000000000 --- a/docs/io/visualization/index.rst +++ /dev/null @@ -1,33 +0,0 @@ -.. _visualization: - -***************************** -Visualization Tools & Widgets -***************************** - -TARDIS Visualization Tools -========================== -A collection of tools that post-process TARDIS simulations to generate -diagnostic visualizations. - -.. toctree:: - :maxdepth: 2 - - how_to_sdec_plot - how_to_liv_plot - tutorial_convergence_plot - tutorial_montecarlo_packet_visualization - - -TARDIS Widgets (Graphical User Interfaces) -========================================== - -A collection of Jupyter widgets that allow you to interactively explore TARDIS -simulations. Widgets are simple Graphical User Interfaces (GUIs) that run within -Jupyter Notebooks, making data exploration much easier. - -.. toctree:: - :maxdepth: 2 - - using_widgets - Generating Custom Abundance Widget <how_to_abundance_widget> - Generating Data Exploration Widgets <how_to_generating_widgets> \ No newline at end of file diff --git a/docs/io/visualization/tardis_example.yml b/docs/io/visualization/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/io/visualization/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/io/visualization/tutorial_convergence_plot.ipynb b/docs/io/visualization/tutorial_convergence_plot.ipynb deleted file mode 100644 index 1b7242d4d47..00000000000 --- a/docs/io/visualization/tutorial_convergence_plot.ipynb +++ /dev/null @@ -1,242 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d5f95feb", - "metadata": {}, - "source": [ - "# Convergence Plots" - ] - }, - { - "cell_type": "markdown", - "id": "dc1a0c1f", - "metadata": {}, - "source": [ - "The Convergence Plots consist of two Plotly FigureWidget Subplots, the `plasma_plot` and the `t_inner_luminosities_plot`. The plots can be displayed by setting the `show_convergence_plots` option in the `run_tardis` function to `True`. The plots are stored in the `convergence_plots` attribute of the simulation object `sim` and can be accessed using `sim.convergence_plots.plasma_plot` and `sim.convergence_plots.t_inner_luminosities_plot`." - ] - }, - { - "cell_type": "markdown", - "id": "6db4edf2", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "You only need to include `export_convergence_plots=True` in the `run_tardis` function when you want to share the notebook. The function shows the plot using the Plotly `notebook_connected` renderer, which helps display the plot online. You don't need to do it when running the notebook locally.\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ba7cc7d2", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "\n", - "# We run a simulation\n", - "sim = run_tardis('tardis_example.yml', show_convergence_plots=True, export_convergence_plots=True)" - ] - }, - { - "cell_type": "markdown", - "id": "ae1623d6", - "metadata": {}, - "source": [ - "## Displaying Convergence Plots\n", - "You can also call the plots outside of `run_tardis` function. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "48768471", - "metadata": {}, - "outputs": [], - "source": [ - "sim.convergence_plots.plasma_plot.show(renderer=\"notebook_connected\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9db6b395", - "metadata": {}, - "outputs": [], - "source": [ - "sim.convergence_plots.t_inner_luminosities_plot.show(renderer=\"notebook_connected\")" - ] - }, - { - "cell_type": "markdown", - "id": "b1bf44fa", - "metadata": {}, - "source": [ - "## Changing Line Colors\n", - "The default line-colors of the plasma plots can be changed by passing the name of the cmap in the `plasma_cmap` option. \n", - "\n", - "```py\n", - "sim = run_tardis(\"tardis_example.yml\", show_convergence_plots=True, plasma_cmap=\"viridis\")\n", - "```\n", - "\n", - "Alongwith the cmap name, one can also provide a list of colors in rgb, hex or css-names format in the `t_inner_luminosities_colors` option to change the default colors of the luminosity and inner boundary temperature plots. \n", - "```py\n", - "# hex colors example list\n", - "colors = [\n", - " '#8c564b', # chestnut brown\n", - " '#e377c2', # raspberry yogurt pink\n", - " '#7f7f7f', # middle gray\n", - " '#bcbd22', # curry yellow-green\n", - " '#17becf' # blue-teal\n", - "]\n", - "\n", - "# rgb colors example list\n", - "colors = ['rgb(31, 119, 180)',\n", - " 'rgb(255, 127, 14)',\n", - " 'rgb(44, 160, 44)', \n", - " 'rgb(214, 39, 40)',\n", - " 'rgb(148, 103, 189)',]\n", - " \n", - "# css colors\n", - "colors = [\"indigo\",\"lightseagreen\", \"midnightblue\", \"pink\", \"teal\"]\n", - "```\n", - "For more css-names please see [this](https://www.w3schools.com/colors/colors_names.asp). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9109967e", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(\n", - " \"tardis_example.yml\",\n", - " show_convergence_plots=True,\n", - " plasma_cmap= \"viridis\", \n", - " t_inner_luminosities_colors = ['rgb(102, 197, 204)',\n", - " 'rgb(246, 207, 113)',\n", - " 'rgb(248, 156, 116)',\n", - " 'rgb(220, 176, 242)',\n", - " 'rgb(135, 197, 95)'],\n", - " export_convergence_plots = True\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "1f63c60a", - "metadata": {}, - "source": [ - "## Changing the default layout" - ] - }, - { - "cell_type": "markdown", - "id": "3a3bdc2d", - "metadata": {}, - "source": [ - "You can override the default layout by passing dictionaries as arguments in `t_inner_luminosities_config` and `plasma_plot_config` in the `run_tardis` function. The dictionaries should have the format of `plotly.graph_objects.FigureWidget().to_dict()`. For more information on the structure of the dictionary, please see the [plotly documentation](https://plotly.com/python/figure-structure/). \n", - "\n", - "For sake of simplicity, all properties in the data dictionary are applied equally across all traces, meaning traces-specific properties can't be changed from the function. They however be changed after the simulation has finished, for example:\n", - "```py\n", - "sim.convergence_plots.t_inner_luminosities_plot.data[0].line.dash = \"dashdot\"\n", - "```\n", - "\n", - "You can investigate more about the layout/data of any plots by calling `sim.convergence_plots.t_inner_luminosities_plot.layout` or `sim.convergence_plots.t_inner_luminosities_plot.data`. \n", - "\n", - "Here is an example:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "548990c8", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "sim = run_tardis(\n", - " \"tardis_example.yml\",\n", - " show_convergence_plots=True,\n", - " plasma_plot_config={\n", - " \"layout\": {\n", - " \"template\": \"ggplot2\",\n", - " \"xaxis1\": {\n", - " \"nticks\": 20\n", - " },\n", - " \"xaxis2\": {\n", - " \"title\": {\"text\": \"new changed title of x axis2\"},\n", - " \"nticks\": 20\n", - " },\n", - " },\n", - " },\n", - " t_inner_luminosities_config={\n", - " \"data\": {\n", - " \"line\":{\n", - " \"dash\":\"dot\"\n", - " },\n", - " \"mode\": \"lines+markers\",\n", - " },\n", - " \"layout\": {\n", - " \"template\": \"plotly_dark\",\n", - " \"hovermode\":\"x\",\n", - " \"xaxis\":{\"showgrid\":False},\n", - " \"xaxis2\":{\"showgrid\":False},\n", - " \"xaxis3\":{\"showgrid\":False},\n", - " \n", - " },\n", - " },\n", - " export_convergence_plots = True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6ceaaa1e", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "from tardis.visualization import ConvergencePlots\n", - "help(ConvergencePlots)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/io/visualization/tutorial_montecarlo_packet_visualization.ipynb b/docs/io/visualization/tutorial_montecarlo_packet_visualization.ipynb deleted file mode 100644 index b3b9ea8b028..00000000000 --- a/docs/io/visualization/tutorial_montecarlo_packet_visualization.ipynb +++ /dev/null @@ -1,259 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Montecarlo Packet Visualization" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`RPacketPlotter` plots the `RPackets` that are generated by the [Montecarlo](https://tardis-sn.github.io/tardis/physics/montecarlo/index.html) method and creates an animated plot that contains the packet trajectories as they move away from the photosphere.\n", - "The properties of individual RPackets are taken from the [rpacket_tracker](https://tardis-sn.github.io/tardis/io/output/rpacket_tracking.html).\n", - "\n", - "`RPacketPlotter` uses the properties (specifically, `mu` and `r`) present in the `rpacket_tracker` to calculate the coordinates of packets as they move through the ejecta. In the following section, the mathematical expression for getting the angle(θ) of packets with respect to the x-axis is shown, which can be used (along with radius `r`) to calculate the x and y coordinates of packets." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Getting packet coordinates\n", - "\n", - "`RPacketPlotter` uses the properties (specifically, `mu` and `r`) present in the `rpacket_tracker` to calculate the coordinates of packets as they move through the ejecta. In the following section, the mathematical expression for getting the angle(θ) of packets with respect to the x-axis is shown, which can be used (along with radius `r`) to calculate the x and y coordinates of packets.\n", - "<br><br>\n", - "<img src=\"attachment:packet_diagram.jpg\" style=\"width:400px\">\n", - "\n", - "<br>The diagram above shows the packet trajectory as it starts from photosphere `P0` and continues to move along the subsequent points `P1`, `P2`, and so on.\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "Here `μ` represents the direction of packet propagation with respect to the radial line.\n", - " \n", - "</div>\n", - "\n", - "To determine the polar coordinates of any arbitrary point, say `P2`, we need `r2` and `θ2`. `r2` is already present in the array obtained from the simulation. To determine `θ2`, we use the sine rule and apply it to the triangle `OP1P2`, where `O` is the center.\n", - "\n", - "$$\n", - "\\frac{r_{2}}{\\sin(\\pi - \\mu_{1})} = \\frac{r_{1}}{\\sin(\\alpha)}\n", - "$$\n", - "\n", - "Now, writing `α` in terms of `μ1` and `θ2`\n", - "\n", - "$$ \n", - "α = μ_{1} - θ_{2}\n", - "$$\n", - "$$\n", - "\\frac{r_{2}}{\\sin(\\pi - \\mu_{1})} = \\frac{r_{1}}{\\sin(μ_{1} - θ_{2})}\n", - "$$\n", - "\n", - "Thus,\n", - "\n", - "$$ \n", - "θ_{2} = -\\sin^{-1}(\\frac{r1}{r2}\\sin(\\mu_{1})) + \\mu_{1}\n", - "$$\n", - "\n", - "Hence, for `i-th` point, `θ` will be:\n", - "\n", - "$$ \n", - "θ_{i} = -\\sin^{-1}(\\frac{r_{i-1}}{r_{i}}\\sin(\\mu_{i-1})) + \\mu_{i-1}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Running the simulation" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import run_tardis\n", - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Reading the Configuration stored in `tardis_example.yml` into config\n", - "\n", - "config = Configuration.from_yaml(\"tardis_example.yml\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# changing config file for enabling the rpacket_tracking\n", - "\n", - "config[\"montecarlo\"][\"tracking\"][\"track_rpacket\"]=True" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "sim = run_tardis(config, show_progress_bars=False)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plotting Packets with RPacketPlotter" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Importing the RPacketPlotter" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.visualization import RPacketPlotter" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we create an RPacketPlotter object `rpacket_plotter` that will be used to generate a plot.\n", - "\n", - "`no_of_packets` can be specified as a parameter to the `from_simulation` class method. By default, `15` packets will used to create a plot." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "rpacket_plotter = RPacketPlotter.from_simulation(sim, no_of_packets=20)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Using the `rpacket_plotter` we use the `generate_plot` method to create a plot.\n", - "\n", - "Here the `theme` parameter can be defined. Currently, we have 2 themes, i.e. `light` and `dark`. By Default the `light` theme will be plotted." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Light Theme" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "rpacket_plotter.generate_plot().show(renderer=\"notebook_connected\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Dark Theme" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "rpacket_plotter.generate_plot(theme=\"dark\").show(renderer=\"notebook_connected\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Using Animation and Other interactive features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `Play` button at the bottom-left can be used to start the animation. The animation can be paused at any time using the `pause` button. Also, the `timeline slider` can be used to reach any point in the animation. A demo is shown below.\n", - "<br><br>\n", - "<img src=\"attachment:ezgif.com-gif-maker.gif\" style=\"width:800px\">\n", - "<br><br>" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Hovering over any packet will show its properties like its coordinates, interaction type, etc. The `zoom-in` feature can be used to view a particular part of the plot. The demo below shows these features.\n", - "<br><br>\n", - "<img src=\"attachment:ezgif.com-gif-maker%20%281%29.gif\" style=\"width:800px\">" - ] - } - ], - "metadata": { - "interpreter": { - "hash": "6890d83cfa6c65bebc4bd449872c06a268510d8b8ae8c923ce6786e6c4796836" - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/io/visualization/using_widgets.rst b/docs/io/visualization/using_widgets.rst deleted file mode 100644 index ecc95ea123d..00000000000 --- a/docs/io/visualization/using_widgets.rst +++ /dev/null @@ -1,217 +0,0 @@ -******************** -Using TARDIS Widgets -******************** - -This page describes what each TARDIS Widget has to offer and how you can make -the best use of it. If you're looking for the code to generate widgets, head -over to `Generating Custom Abundance Widget <how_to_abundance_widget>`_ section or -`Generating Data Exploration Widgets <how_to_generating_widgets>`_ section to see the -notebook in action. - -Currently, TARDIS supports the following widgets: - -Custom Abundance Widget -####################### -This widget (or GUI) allows you to develop custom model compositions -graphically and output the model to a new file. - -.. image:: ../images/custom_abundance_widget.png - :alt: Demo of Custom Abundance Widget - -The GUI consists of three parts: - -1. **Visualization plot** - An interactive step graph that shows abundances -and densities as a function of velocity. - -2. **Data editor** - An interface to edit abundances, densities and velocity -shells. - -3. **File output** - An output module to save the model compositions as a CSVY -file. - -Interacting with the GUI -======================== - -You can interact with this GUI in the following ways: - -Edit Abundances ---------------- -There are two radio buttons which allow you to edit either single shell or -multiple shells. The new input will be applied to selected shell(s) immediately -and the plot is updated at the same time. If you want to edit multiple shells -at a time, remember to choose the second radio button and set the range of -shell number using int slider. The selected shell(s) is highlighted in the -plot. - -.. image:: ../images/cus_abund_edit_abundance.gif - :alt: Demo of editing abundances - -Normalize Abundances --------------------- -Click `Normalize` button to normalize the abundances on selected shell(s) to -1. If you wish to keep the abundance of a certain element unchanged during the -normalization, you can select the checkbox near that element to lock it. -The normalization will be applied to other elements and the sum of the -abundances still remains at 1. - -.. image:: ../images/cus_abund_norm.gif - :alt: Demo of normalization - -Edit Densities --------------- -In `Edit Density` tab, you also can edit either single shell or the whole -density profile. To calculate a new profile, you need to choose the density -type and input required parameters. - -.. image:: ../images/cus_abund_edit_density.gif - :alt: Demo of editing densities - -Add New Element ---------------- -At the bottom of the editor, the symbol input box allows you to add new element -or isotope to the model. It automatically recognizes whether the symbol exists -or whether the element is already in the model. - -.. image:: ../images/cus_abund_add_element.gif - :alt: Demo of adding new element - -Add New Shell -------------- -Another important functionality is to add new shell to the model. You need to -specify the velocity range of the new shell and abundances at that new shell -will be set to 0. Note that the existing shell(s) will be resized smartly if -the new shell overlaps with it. - -.. image:: ../images/cus_abund_add_shell.gif - :alt: Demo of adding new shell - -Shell Info Widget -################# - -This widget allows you to explore the chemical abundances in different shells -of the model Supernova ejecta. - -.. image:: ../images/shell_info_widget_demo.gif - :alt: Demo of Shell Info Widget - -It consists of four interlinked tables - clicking on any row in a table, -populates data in the table(s) to the right of it. Each table has the -following information: - -1. **Shells Data** - Radiative temperature and Dilution Factor (W) of each shell -(computational partitions) of the model Supernova ejecta. Shell numbers are -given in ascending order, from the innermost shell to the outermost. - -2. **Element Abundances** - Fractional mass abundance of each element present -in the selected shell. - -3. **Ion Abundances** - Fractional mass abundance of each ion (species) of the -selected element present in the selected shell. - -4. **Level Abundances** - Fractional mass abundance of each level of the -selected ion and element in the selected shell. - -Line Info Widget -################ - -This widget lets you explore the atomic lines responsible for producing -features in the simulated spectrum. - -.. image:: ../images/line_info_widget_demo.gif - :alt: Demo of Line Info Widget - -By selecting a wavelength range on the spectrum plot, you can see the species -that produced the features within that range. This is determined by counting -the number of escaping packets that experienced their last interaction with -each species. Packets can be filtered by the wavelength at which they were -absorbed or emitted, using the toggle buttons. - -You can then click on a species to see the packets count for each last line -interaction it experienced. Using the dropdown menu, these counts can be grouped -by excitation lines, de-excitation lines, or both. - -Interacting with Spectrum -========================= - -The spectrum in the Line Info Widget is an interactive figure made using -`plotly <https://plotly.com/python/>`_, there are several things you can -do with it: - -Making Selection ----------------- -The box selection is enabled by default, so you just need to click and drag on -the figure and a pink colored selection box will appear. By making a -selection across the wavelength range you're interested in, tables update -to show line information of only packets from that range. - -.. image:: ../images/line_info_spectrum_selection.gif - :alt: Demo of making selection - -After making a selection, if you need to resize the selection box (say, make it -narrower), simply redraw a new selection box over the older one. - -Using Rangesilder ------------------ -The rangeslider is a long bar below the figure that allows you to zoom in on a -particular wavelength range in the long spectrum. - -.. image:: ../images/line_info_spectrum_rangeslider.gif - :alt: Demo of using rangeslider - -Either you can **slide** the zoomed range by clicking and dragging it or you -can **resize** it by dragging the handles (vertical bars) at its edges. - -Using other options in Modebar ------------------------------- -If you take your mouse to the top right corner of the figure, you will see a -Modebar with multiple options. The default option when Line Info Widget first -displays is **Box Select** - the dotted square icon. You can click on other -options like **Zoom** (magnifying glass icon), to do a rectangular zoom which -may be helpful to focus on a feature in the spectrum. You can always revert -back to the initial state of the figure by clicking on **Reset Axes** option. - -.. image:: ../images/line_info_spectrum_modebar.gif - :alt: Demo of using modebar options - -There are also several other options in the modebar which we have not explained -(because they are not very relevant) but you're free to explore them as long as -you remember to click back on the **Box Select** option for making selections on -spectrum. - -Energy Level Diagram -################ - -This widget lets you visualize the last line interactions - -.. image:: ../images/energy_level_widget_demo.gif - :alt: Demo of Energy Level Diagram - -By selecting an ion on the widget, you can see its energy level diagram, which -also shows information about the last line interactions experienced by packets -in the simulation. - -The y-axis of the plot represents energy while the horizontal lines show -discrete energy levels. The thickness of each line represents the level -population, with thicker lines representing a greater population than the thin lines. - -Arrows represent the line interactions experienced by packets. Upwards arrows -show excitation from lower energy levels to higher levels and downward arrows -show de-excitation from higher energy levels to lower levels. The thickness of -each arrow represents the number of packets that underwent that interaction, -with thicker lines representing more packets than the thin lines. -The wavelength of the transition is given by the color. - -Setting Other Options ------------------ -You can select the range on which to filter the wavelength using the slider. -You can also select the model shell by which to filter the last line interactions -and the level populations. If no shell is selected, then all the last line -interactions are plotted and the level populations are averaged across all shells -in the simulation. You can also set the maximum number of levels to show on the plot. - -Lastly, you can also set the scale of the y-axis: Linear or Log. - -.. image:: ../images/energy_level_widget_options.gif - :alt: Demo of using options - -.. Toggle legend diff --git a/docs/physics/images/expansion_animation.gif b/docs/physics/images/expansion_animation.gif deleted file mode 100644 index 4b1fa6f358a..00000000000 Binary files a/docs/physics/images/expansion_animation.gif and /dev/null differ diff --git a/docs/physics/images/formal_integral_2d.ggb b/docs/physics/images/formal_integral_2d.ggb deleted file mode 100644 index 12db84d6364..00000000000 Binary files a/docs/physics/images/formal_integral_2d.ggb and /dev/null differ diff --git a/docs/physics/images/formal_integral_2d_above.png b/docs/physics/images/formal_integral_2d_above.png deleted file mode 100644 index 16499cea231..00000000000 Binary files a/docs/physics/images/formal_integral_2d_above.png and /dev/null differ diff --git a/docs/physics/images/formal_integral_2d_below.png b/docs/physics/images/formal_integral_2d_below.png deleted file mode 100644 index c0c24c82fe7..00000000000 Binary files a/docs/physics/images/formal_integral_2d_below.png and /dev/null differ diff --git a/docs/physics/images/formal_integral_sphere.ggb b/docs/physics/images/formal_integral_sphere.ggb deleted file mode 100644 index 184b0c588f7..00000000000 Binary files a/docs/physics/images/formal_integral_sphere.ggb and /dev/null differ diff --git a/docs/physics/images/formal_integral_sphere.jpg b/docs/physics/images/formal_integral_sphere.jpg deleted file mode 100644 index c49adb77327..00000000000 Binary files a/docs/physics/images/formal_integral_sphere.jpg and /dev/null differ diff --git a/docs/physics/images/optical_depth_summation.png b/docs/physics/images/optical_depth_summation.png deleted file mode 100644 index d1d736e1715..00000000000 Binary files a/docs/physics/images/optical_depth_summation.png and /dev/null differ diff --git a/docs/physics/images/propagation_direction.ggb b/docs/physics/images/propagation_direction.ggb deleted file mode 100644 index 405768ad167..00000000000 Binary files a/docs/physics/images/propagation_direction.ggb and /dev/null differ diff --git a/docs/physics/images/propagation_direction.png b/docs/physics/images/propagation_direction.png deleted file mode 100644 index 6e212b95643..00000000000 Binary files a/docs/physics/images/propagation_direction.png and /dev/null differ diff --git a/docs/physics/images/scatter_downbranch_ma.png b/docs/physics/images/scatter_downbranch_ma.png deleted file mode 100644 index e4101d34be7..00000000000 Binary files a/docs/physics/images/scatter_downbranch_ma.png and /dev/null differ diff --git a/docs/physics/images/spherical_symmetry.png b/docs/physics/images/spherical_symmetry.png deleted file mode 100644 index efea4d94d58..00000000000 Binary files a/docs/physics/images/spherical_symmetry.png and /dev/null differ diff --git a/docs/physics/intro/images/atom.jpg b/docs/physics/intro/images/atom.jpg deleted file mode 100644 index f640eb0c1b0..00000000000 Binary files a/docs/physics/intro/images/atom.jpg and /dev/null differ diff --git a/docs/physics/intro/images/emspectrum.jpg b/docs/physics/intro/images/emspectrum.jpg deleted file mode 100644 index 1686ad548ff..00000000000 Binary files a/docs/physics/intro/images/emspectrum.jpg and /dev/null differ diff --git a/docs/physics/intro/images/escat.png b/docs/physics/intro/images/escat.png deleted file mode 100644 index dba5df1e3a3..00000000000 Binary files a/docs/physics/intro/images/escat.png and /dev/null differ diff --git a/docs/physics/intro/images/excitation.png b/docs/physics/intro/images/excitation.png deleted file mode 100644 index 2ea4de2bace..00000000000 Binary files a/docs/physics/intro/images/excitation.png and /dev/null differ diff --git a/docs/physics/intro/images/ionization.png b/docs/physics/intro/images/ionization.png deleted file mode 100644 index a2835c2e95f..00000000000 Binary files a/docs/physics/intro/images/ionization.png and /dev/null differ diff --git a/docs/physics/intro/images/levels.png b/docs/physics/intro/images/levels.png deleted file mode 100644 index e94c8c165e5..00000000000 Binary files a/docs/physics/intro/images/levels.png and /dev/null differ diff --git a/docs/physics/intro/images/lines.png b/docs/physics/intro/images/lines.png deleted file mode 100644 index 2aa06382a79..00000000000 Binary files a/docs/physics/intro/images/lines.png and /dev/null differ diff --git a/docs/physics/intro/index.rst b/docs/physics/intro/index.rst deleted file mode 100644 index 6ee4f3aeef4..00000000000 --- a/docs/physics/intro/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. _walkthrough: - -******************************** -Physics Walkthrough Introduction -******************************** - -How TARDIS Works -================ - -The goal of TARDIS is, given input information about a supernova, to determine (i) properties of the plasma making up the supernova and (ii) the spectrum of light that is emitted from the supernova. - -The physics of TARDIS is in four major parts, which are summarized here and in the diagram below. First, the TARDIS simulation is set up (:doc:`../setup/index`) from a TARDIS configuration (see :doc:`here <../../io/configuration/tutorial_read_configuration>` for how the configuration is created). This involves the creation of the supernova model and the initial conditions of the supernova's plasma, as well as initializing the Monte Carlo transport. Next is the Monte Carlo Iteration (:doc:`../montecarlo/index`) where the heart of TARDIS takes place; packets of light are sent through the supernova and tracked as they interact with matter. Next, TARDIS uses information from the Monte Carlo iteration to update properties of the plasma to eventually find the correct plasma state (:doc:`../update_and_conv/update_and_conv`). This process of doing a Monte Carlo iteration and then updating the plasma is repeated for a specified number of times or until certain aspects of the plasma state converge (as is also discussed in :doc:`../update_and_conv/update_and_conv`). After that, data generated in the Monte Carlo simulation is used to synthesize the output spectrum of the supernova (:doc:`../spectrum/index`). - -In the diagram, each physics step is shown in a box with the name of the step (bolded and underlined) along with the method that triggers the step (italicized) and the major components of the step. The reading of the configuration and the overall iterative process (comprising the Monte Carlo Iteration step and Updating Plasma and Convergence step) are also shown, again with the methods triggering these processes in italics. - -.. graphviz:: tardis_flowchart.dot - - -Background Material -=================== - -TARDIS is home to an incredibly diverse, multidisciplinary team. As such, we believe that it is important to make an understanding of the physics of TARDIS accessible to all, from students just getting started with physics and astronomy to expert researchers. The following pages are designed to give an overview of the basic physics that TARDIS relies upon to new students or anyone else in need of a refresher! - -.. toctree:: - light_and_matter diff --git a/docs/physics/intro/light_and_matter.rst b/docs/physics/intro/light_and_matter.rst deleted file mode 100644 index 2163dacb978..00000000000 --- a/docs/physics/intro/light_and_matter.rst +++ /dev/null @@ -1,125 +0,0 @@ -.. _light_and_matter: - -************************************ -Light, Matter, and How They Interact -************************************ - -Given that TARDIS tracks light as it travels through the ejecta of a supernova, one of the most fundamental pieces of physics used in TARDIS is what light and matter are, and how they interact. - - -Light -===== - -In the early 1900s, it was `shown <https://webs.morningside.edu/slaven/Physics/uncertainty/uncertainty2.html>`_ that light exhibits properties of both particles and waves. Like a particle, light comes in discrete units called photons, which could be understood as the "particle of light." Light is then just a collection of photons traveling through space. These photons each have an energy and momentum like any other particle. However, like a wave, light (and thus photons) has a frequency and a wavelength. Photons can thus be thought of as discrete units of a light wave with a certain wavelength and frequency. - -The energy :math:`E` of a photon is related to its frequency :math:`\nu` by the relation - -.. math:: E = h\nu - -where :math:`h` is Planck's constant. Thus a light made up of :math:`N` photons of frequency :math:`\nu` will have a total energy of :math:`Nh\nu`. Additionally, since light travels at the "speed of light" :math:`c`, approximately 300,000,000 meters per second, basic wave mechanics tells us that the wavelength :math:`\lambda` and frequency :math:`\nu` of light/photons are related by - -.. math:: \lambda\nu=c - -and thus :math:`\nu=c/\lambda` and :math:`\lambda=c/\nu`. These relations tell us that light with a lower frequency will have a lower amount of energy per photon and a longer wavelength, and light with a higher frequency will have a higher amount of energy per photon and a shorter wavelength. - -Light can then be classified by its frequency/wavelength on the electromagnetic spectrum, shown below. To the left is light with higher energy/higher frequency/shorter wavelength, and to the right is light with lower energy/lower frequency/longer wavelength. Notice visible light as a small branch of the spectrum, which ranges from a wavelength of about 400 nm (violet) to 700 nm (red). Because red is on the lower frequency/longer wavelength side of the visible light spectrum, we say if some light has a lower frequency/longer wavelength compared to other light, it is called "redder." Conversely, because blue is on the higher frequency/shorter wavelength side of the visible light spectrum, we say if some light has a higher frequency/shorter wavelength compared to other light, it is called "bluer." - -.. figure:: images/emspectrum.jpg - - Image from https://imagine.gsfc.nasa.gov/science/toolbox/emspectrum1.html. - -.. note:: - A common unit of wavelength used in astronomy is the Angstrom (:math:`\r{A}`), which is equal to :math:`10^{-10}` meters. Visible light consists of wavelengths between 4000 and 7000 Angstroms. - - -Matter -====== - -The other main ingredient of the physics of TARDIS is matter. Strictly speaking, matter is anything that has mass and takes up space. However, in supernovae as well as in every-day life (this is no coincidence -- everything on Earth came from the remnants of supernovae), matter refers to atoms and the particles that make them up. Atoms are, in that sense, the basic building block of matter. They are composed of three particles: protons, neutrons, and electrons. The protons and neutrons are found in the center of the atom, called the nucleus, and the electrons surround the nucleus, as shown in the figure below. Note that while electrons are often shown as orbiting the nucleus, this is not strictly true (see `atomic orbitals <https://en.wikipedia.org/wiki/Atomic_orbital>`_). However, it is still a useful way to think of atoms for our purposes. - -.. figure:: images/atom.jpg - - Image from https://alevelchemistry.co.uk/notes/atomic-structure-and-periodic-table/. - -Protons are positively charged particles with a charge of one elementary charge unit (e, about :math:`1.6\times 10^{-19}` Coulombs) and a mass of one atomic mass unit (amu, about :math:`1.66\times 10^{-24}` grams). Atoms are classified into elements on the `periodic table <https://en.wikipedia.org/wiki/Periodic_table>`_, based on the number of protons. For example, an atom with one proton is Hydrogen, an atom with two protons is Helium, and so on. In this way, the number of protons determines the identity of the atom. - -Neutrons are electrically neutral particles with roughly the same mass as a proton (1 amu). Protons and neutrons are far heavier than electrons, so the total mass of an atom in atomic mass units is roughly the number of protons plus the number of neutrons. Neutrons control the stability of atoms -- for example, Helium with 2 protons and 2 neutrons, called Helium-4, is stable; while Helium with 2 protons and 3 neutrons, called Helium-5, is highly unstable. Atoms of the same type (number of protons) but different numbers of neutrons (different masses) are called **isotopes**. Unstable isotopes will decay into more stable isotopes either of the same type of atom or a different type of atom (see `radioactive decay <https://en.wikipedia.org/wiki/Radioactive_decay>`_). This decay process helps power supernovae. - -The final part of atoms, electrons, are negatively charged with a charge of -1 e, the opposite of a proton. Their mass, as previously mentioned, is very small in comparison to protons and neutrons, less than 1/1800 of an amu. The number of electrons determines the overall electrical charge of the atom. For example, helium with 2 protons and 2 electrons will have a net neutral charge, but helium with 2 protons and 3 electrons will have a net charge of -1e. Atoms with unequal numbers of protons and electrons, and thus a non-neutral electrical charge, are called **ions**. In TARDIS, we generally deal with ions with more protons than electrons, called cations, which will have an overall positive charge. The "ion number" refers to how many more protons there are than electrons -- i.e. neutral Helium with 2 protons and 2 electrons would have an ion number of 0, and Helium with 2 protons and 0 electrons, which would have a charge of +2e, has an ion number of 2. - -.. note:: - - Often in astronomy, Roman numerals are used to denote ion number. Confusingly, an ion number of 0 is denoted by ``I``, an ion number of 1 is denoted by ``II``, and so on. - -Now, the electrons that are *bound to atoms* have very particular energies that they are allowed to have -- no other energies are allowed. These are called energy levels, or simply **levels**. An energy level diagram for lithium with a single electron (lithium III, with ion number 2) is shown below. Roughly, these energy levels have to do with how far away the electron is from the nucleus; a higher energy means farther away, a lower energy means closer together. By convention, an electron infinitely far away from the nucleus has zero energy, and all others have a negative energy. - -.. figure:: images/levels.png - - Image from http://dev.physicslab.org/Document.aspx?doctype=3&filename=AtomicNuclear_EnergyLevelDiagrams.xml. - -As we will see in the following section, electrons are the main part of an atom responsible for light-matter interactions. - - -Light-Matter Interactions -========================= - -Now that we have discussed light and matter, we can focus on how the two interact. For our purposes, this occurs in three main ways: line interactions, ionization, and electron scattering. - -Excitation (bound-bound interactions) -------------------------------------- - -The first type of light-matter interaction occurs when a photon carrying some energy :math:`E` is absorbed by an electron bound to an atom at an energy level :math:`l` with energy :math:`E_l`, and the electron "jumps" to a higher energy level :math:`u` with energy :math:`E_u` (:math:`l` meaning "lower" and :math:`u` meaning "upper"), as in the diagram below. We say that the electron is **excited** from the lower to higher energy level, and that it goes through a **transition** :math:`l\rightarrow u`. For this to happen, the photon has to have an energy equal to the difference between the two energy levels involved. That is, for an electron to be excited from :math:`l` to :math:`u`, it will gain an energy :math:`E_u-E_l` and thus the photon exciting the electron must have an energy :math:`E_u-E_l` and therefore a frequency :math:`\frac{E_u-E_l}{h}`. - -An electron in a higher energy level :math:`u` can also de-excite to a lower energy level :math:`l`, *releasing* a photon of energy :math:`E_u-E_l` and frequency :math:`\frac{E_u-E_l}{h}` (this would be notated as :math:`u\rightarrow l`). Note that if an electron is excited :math:`l\rightarrow u`, it need not de-excite back to the energy level :math:`l` where it began. It could de-excite to any level with a lower energy than :math:`E_u`. - -.. figure:: images/excitation.png - - Image from http://www.pas.rochester.edu/~blackman/ast104/bohr.html. - -Since energy levels are discrete, excitation can only be caused by certain frequencies of light. Specifically, it is caused by photons with an energy that equals the difference between two electron energy levels. The various energies/frequencies allowed to cause an excitation are called atomic **lines**, and thus excitation is frequently referred to as a **line interaction**. A photon with the right frequency to induce a line interaction (i.e. for the transition :math:`l\rightarrow u` this frequency would be :math:`\frac{E_u-E_l}{h}` as before), we say that the photon **resonates** with the line. Three atomic lines are shown below, again for Lithium with a single electron, represented by arrows connecting the energy levels (specifically, these arrows show a few possible transitions :math:`u\rightarrow l`). Note that transitions between any other pair of levels are also allowed atomic lines, though they are not explicitly shown on the diagram. - -.. figure:: images/lines.png - - Image from http://dev.physicslab.org/Document.aspx?doctype=3&filename=AtomicNuclear_EnergyLevelDiagrams.xml. - -Note that these are sometimes called bound-bound interactions, since the electron starts bound to an atom and ends bound to the same atom. - -Ionization (bound-free interactions) ------------------------------------- - -The next type of interaction is called ionization. This is when a photon interacts with an electron and gives the electron enough energy to escape from the atom, as shown in the diagram below. Unlike line interactions, the final energy of the electron is not restricted to discrete energy levels since the electron is not bound to an atom. The difference in energy :math:`E_f-E_i` of the electron can be anything above the ionization energy :math:`E_\mathrm{ion}`, or the minimum energy it takes to ionize the atom. This energy can be seen as the difference between the initial energy level and the dotted line labeled "ionization" on the energy level diagrams above. So, an ionizing photon can have any frequency greater than or equal to :math:`\frac{E_\mathrm{ion}}{h}`. Note that this is called ionization because the final atom is missing an electron and is thus an ion. - -.. figure:: images/ionization.png - - Image from https://idahoaskascientist.com/2016/01/08/why-are-gamma-rays-more-harmful-than-radio-waves/. - -Ionization is also called a bound-free interaction, since the electron starts bound to an atom and ends up not bound to an atom (i.e. free). - -Note that just like with de-excitation, ionization can be "reversed" through **recombination**. This is where any free electron (not necessarily one that was ionized off the particular atom) becomes bound to an atom (recombines with the atom). The electron's energy is lowered to one of the energy levels of the atom, and a photon is released with an energy equal to the amount of energy the electron loses in the recombination process. - -Electron Scattering -------------------- - -The final type of interaction is electron scattering. This is when a photon collides with a free electron, which then, like any two particles colliding, sends the electron and the light off in different directions in accordance with the `conservation of momentum <https://www.physicsclassroom.com/class/momentum/Lesson-2/Momentum-Conservation-Principle>`_. This is shown in the diagram below. If the electron is moving far slower than the speed of light, this is called `Thomson scattering <https://en.wikipedia.org/wiki/Thomson_scattering>`_, and the wavelength, frequency, and energy of the photon remains the same before and after the collision. If the electron is moving close to the speed of light, `relativity <https://en.wikipedia.org/wiki/Special_relativity>`_ kicks in, and we have `Compton scattering <https://en.wikipedia.org/wiki/Compton_scattering>`_ in which the wavelength, frequency, and energy of the photon will change after the collision. In Thomson scattering, photons of any frequency have the same likelihood of scattering with an electron. In Compton scattering, while any photon of any frequency can scatter, the likelihood of scattering depends on the frequency of the photon. - -.. figure:: images/escat.png - - Image from https://en.wikipedia.org/w/index.php?title=File%3ACompton-scattering.svg. - - -.. _opacity: - -Opacity and Optical Depth -========================= - -Consider the following experiment -- you fill a clear glass of water completely, shine a light down on it, and look through the bottom of the glass. Then, you drink half of the cup, and repeat. The light coming out from the bottom will be brighter. This is because as light travels through the water, it has a probability of interacting with the matter that makes up the water, and the longer it travels in the water, the more likely it is for the light to interact and thus not come out the other side. - -This is described by the Beer-Lambert law, which says that the intensity :math:`I` of light (related to how bright the light is -- more on this soon) after traveling a distance :math:`d` through some material is related to the initial intensity :math:`I_0` of the light before traveling through the material by - -.. math:: \frac{I}{I_0} = e^{-\alpha d} - -where :math:`\alpha` is called the **opacity**. Note that for our purposes, the intensity at some frequency is proportional to the number of photons at that frequency, so :math:`\frac{I}{I_0}` is the fraction of photons who enter the material who do not interact and thus make it out the other side. Note that the opacity can and typically does depend on the frequency of light, which is why we frequently interpret Beer-Lambert's law as applying to a specific frequency. - -We can interpret this in the following way: prior to traveling a distance :math:`d`, a photon will have had a :math:`e^{-\alpha d}` probability of *not* interacting with matter (and thus a :math:`1-e^{-\alpha d}` probability of having gone through an interaction). As you would expect, the larger the distance, the more likely it is that a photon interacts prior to traveling that distance, since it would have "more opportunities" to interact. Additionally, a higher :math:`\alpha` means a photon has a higher likelihood of interacting. So, more dense materials, for example, have a higher :math:`\alpha` since there is more matter for the light to interact with. Because :math:`\alpha` must take into account all three types of light-matter interactions, many of which depend on the frequency of light, it can be very difficult to calculate -- this is one of TARDIS's main tasks. - -Finally, the term :math:`\alpha d` has a special name: the **optical depth** :math:`\tau`. It is a dimensionless quantity that gives information about how likely it is for a photon to have gone through an interaction. Specifically, there is a :math:`1-e^{-1}\approx 63.2\%` of a photon interacting prior to traveling an optical depth of 1. The actual distance required to travel an optical depth of 1 depends on :math:`\alpha` and thus the material and the frequency of the light. diff --git a/docs/physics/intro/tardis_flowchart.dot b/docs/physics/intro/tardis_flowchart.dot deleted file mode 100644 index 1f62e996e1d..00000000000 --- a/docs/physics/intro/tardis_flowchart.dot +++ /dev/null @@ -1,19 +0,0 @@ -digraph { - compound = true - graph [nodesep=4, ranksep=1] - config [label=<<B>Configuration</B><br/><br/> <i><Configuration object>=Configuration.from_yaml(...)</i><br/> <i><Configuration object>=Configuration.from_config_dict(...)</i>>, shape=oval] - setup_sim [label=<<B><u>Setting up the Simulation</u></B> <br/><br/> <i><Simulation object>=Simulation.from_config(...)</i> <br/><br/> - Creates and calculates model <br/> - Creates and calculates plasma <br/> - Initializes Monte Carlo transport>, shape=rectangle] - mc_iteration [label=<<B><u>Monte Carlo Iteration</u></B> <br/><br/> <i><Simulation object>.iterate(...)</i><br/> <br/> - Initializes packets <br/> - Propagates packets <br/> - Calculates estimators>, shape=rectangle] - adv_state [label=<<B><u>Updating Plasma and Convergence</u></B> <br/><br/> <i><Simulation object>.advance_state()</i> <br/><br/> - Estimates and updates t_rad, w, and t_inner in model <br/> - Updates plasma <br/> - Checks for convergence>, shape=rectangle] - spec_gen [label=<<B><u>Spectrum Generation</u></B> <br/><br/> <i>From final Monte Carlo iteration</i> <br/><br/> - Basic spectrum generation <br/> - Virtual packets <br/> - Formal integral>, shape=rectangle] - subgraph cluster1 { - style = rounded - margin = .25 - label=<<br/><br/><i><Simulation object>.run_convergence()</i><br/> >; - mc_iteration -> adv_state - adv_state -> mc_iteration - } - config -> setup_sim - setup_sim -> mc_iteration [lhead=cluster1, minlen=2] - adv_state -> spec_gen [ltail=cluster1] -} diff --git a/docs/physics/montecarlo/basicprinciples.rst b/docs/physics/montecarlo/basicprinciples.rst deleted file mode 100644 index 1b24408e1e0..00000000000 --- a/docs/physics/montecarlo/basicprinciples.rst +++ /dev/null @@ -1,130 +0,0 @@ -.. _montecarlo_basics: - -************************************************* -Monte Carlo Radiative Transfer - Basic Principles -************************************************* - -Radiative transfer describes how electromagnetic radiation (light) propagates through a medium. Since there are -a large number of light-matter interactions that have the possibility of affecting the light propagation, solving -the radiative transfer problem is in most astrophysical cases only possible by means of numerical calculations. -While there are many different numerical techniques available to tackle this, Monte Carlo techniques have become a -successful and elegant tool particularly for radiative transfer problems in supernovae. - -Monte Carlo Radiative Transfer methods track a sufficiently large number of photons (light particles) as they -propagate through the supernova ejecta. The initial properties of these photons are randomly (in a probabilistic -sense) assigned in accordance with the macroscopic properties of the radiation field (see :doc:`initialization`) -and in a similar manner the decisions about when, where and how the photons interact with the surrounding material -are made (see :ref:`Propagation <propagation>`). Given a large enough sample, these photons behave as a microcosm -of all of the light traveling through the ejecta -- that is, based on the behavior of these photons, we can draw -conclusions about the propagation of light through the ejecta as a whole (see :ref:`estimators`). This is eventually -used to determine the actual steady-state plasma properties (see :doc:`../update_and_conv/update_and_conv`) and the -emitted spectrum (see :ref:`spectrum`). - - -.. _randomsampling: - -Random Sampling Basics -====================== - -Both the initialization of these photons and their propagation through the ejecta are modeled through -probabilistic processes. This involves assigning probabilities to the occurrence of certain events or properties. -For example, during isotropic scattering, finding a photon scattering into any given direction is equally likely. -During the Monte Carlo simulation, assignments -according to these probabilities have to be frequently performed. For this purpose, so-called Random -Number Generators are available. These produce (pseudo-) random numbers -:math:`z` uniformly distributed on the interval :math:`[0,1]`. The challenge -now lies in using these numbers to sample any physical process involved in the -Radiative transfer calculation. From a probability theory point of view, this -just implies finding a mapping between the probability distribution governing the -physical process and the one underlying the Random Number Generator. This -process is typically referred to as random sampling. - -Inverse transformation method -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. note:: - This is a very superficial and sloppy description of Random sampling. More - detailed and rigorous accounts are found in the standard literature, for - example in :cite:`Kalos2008`. - -The simplest and most-used technique in Monte Carlo radiative transfer -applications is referred to as the inverse transformation method and involves -the cumulative distribution function. In general, a random process captured by -the random variable :math:`X` is governed by a probability density -:math:`\rho_X(x)` (the continuous counterpart to discrete probabilities), with -:math:`\rho_X(x) \mathrm{d}x` describing the probability of the variable taking -values in the interval :math:`[x, x+\mathrm{d}x]`. The cumulative distribution -function in turn describes, as the name suggests, the probability of the -variable taking any value between :math:`-\infty` and :math:`x`: - -.. math:: - - f_X(x) = \int_{-\infty}^x \mathrm{d}x \rho_X(x) - -Since the probability density is by definition always positive, the cumulative -distribution function is monotonically increasing. This constitutes the basis -for the inverse transformation function. Consider two random variables, -:math:`X` and :math:`Y`. A mapping between those may be established by equating -their cumulative distribution functions. Numbers :math:`y` distributed -according to one of the probability densities (in this case :math:`\rho_Y(y)`) -may then be used to sample the other process by - -.. math:: - - x = f_X^{-1}\left(f_Y(y)\right). - -For the Random Number Generators described above, the cumulative distribution -function is trivial, namely :math:`f_Z(z) = z`. However, the inverse -distribution sampling method relies on finding the analytic inverse function of -the cumulative distribution function governing the physical processes to be -sampled. If this is not possible, other sampling methods, such as von-Neumann -rejection sampling techniques, have to be used. - -Examples -^^^^^^^^ - -A few examples are provided to illustrate the random sampling process using the -inverse transformation technique. - -Isotropic Scattering --------------------- - -Consider the case of an isotropic scattering. -Here, all scattering angles are equally likely. Thus, the corresponding -(normalized) probability density and the cumulative distribution function are given by - -.. math:: - - \rho(\mu) &= \frac{1}{2}\\ - f(\mu) &= \frac{1}{2} (\mu + 1). - -This leads to the sampling rule - -.. math:: - - \mu = 2 z - 1. - -Next Interaction Location -------------------------- - -The probability of a photon interacting after covering an optical depth -:math:`\tau` is given by (see :ref:`propagation`) - -.. math:: - - \rho(\tau) &= \exp(-\tau)\\ - f(\tau) &= 1 - \exp(-\tau). - - -With the inverse transformation method, the optical depth to the next interaction location may then be sampled by - -.. math:: - - \tau = - \mathrm{ln}(1 - z) - - -which is equivalent to - -.. math:: - - \tau = - \mathrm{ln}z. diff --git a/docs/physics/montecarlo/estimators.rst b/docs/physics/montecarlo/estimators.rst deleted file mode 100644 index 1163580d8bc..00000000000 --- a/docs/physics/montecarlo/estimators.rst +++ /dev/null @@ -1,94 +0,0 @@ -.. _estimators: - -*********************** -Volume-Based Estimators -*********************** - -Besides from just tracking the propagation of our packets, TARDIS also uses the Monte Carlo iteration is to determine useful information about the light traveling through the supernova (also called the radiation field). This information will eventually be used to help :doc:`update the plasma state <../update_and_conv/update_and_conv>` as well as :doc:`generate different types of spectra <../spectrum/index>`. We determine this information through volume-based estimators. The concept was originally developed by :cite:`Lucy1999` and successively refined by :cite:`Lucy1999a`, :cite:`Lucy2002` and :cite:`Lucy2003`. - - -Theory -====== - -:math:`J` and :math:`\bar \nu` Estimators ------------------------------------------ - -Ordinarily, TARDIS is not concerned about the physical amount of time a packet spends traveling through the ejecta. Instead, we consider the "time of simulation" :math:`\Delta t` which is chosen to be the amount of time in which the photosphere emits the ensemble of packets (see :doc:`Energy Packet Initialization <initialization>`). When looking at the estimators, a slightly different interpretation of the packets is necessary. Here, we view the packets as not carrying a discrete amount of energy :math:`\varepsilon` that is emitted in a time interval :math:`\Delta t`, but as being a flow of energy that carries an energy :math:`\varepsilon` over a time :math:`\Delta t` -- that is, each packet is carrying a luminosity (energy per unit time) of :math:`L = \frac{\varepsilon}{\Delta t}`. Now, we can say that if a packet spends a time :math:`\delta t` in the supernova's ejecta, it contributes an energy of :math:`L\delta t= \frac{\varepsilon}{\Delta t}\delta t` into the radiation energy of the ejecta. - -To account for the effects of the Monte Carlo packets on the ejecta, TARDIS uses the packets to first determine the average radiation energy density :math:`E` throughout each shell, where the energy density is the total radiation energy in the shell divided by the volume of the shell :math:`V=\frac{4}{3}\pi (r_\mathrm{outer}^3-r_\mathrm{inner}^3)`. Therefore, we add up the amount of energy each packet contributes to the radiation energy in that shell, and divide by the total volume of the shell: - -.. math:: E=\frac{1}{V}\sum_i L_i\delta t_i=\frac{1}{V}\sum_i \frac{\varepsilon_i}{\Delta t}\delta t_i = \frac{1}{V\Delta t}\sum_i \varepsilon_i\delta t_i - -where we sum over every Monte Carlo packet in the shell. Note that we are interested in the energy density in the co-moving frame (i.e. the energy density "according to the plasma," see :ref:`referenceframes`). Now, we note that the amount of time the Monte Carlo packet spends in a shell is :math:`\delta t = \frac{l_i}{c}` where :math:`l` is the distance that the packet travels through the shell. Thus, our estimator is - -.. math:: E=\frac{1}{V\Delta t}\sum_i \varepsilon_i\frac{l_i}{c} = \frac{1}{cV\Delta t}\sum_i \varepsilon_i l_i. - -Using this energy density, we can then calculate the mean radiation intensity :math:`J` in that shell using the relation :math:`J=\frac{c}{4\pi} E`, which gives us - -.. math:: J=\frac{1}{4\pi V\Delta t}\sum_i \varepsilon_i l_i. - -Since along any path the co-moving energy of the packet is continuously doppler shifted, we approximate this estimator using the co-moving energy at the beginning of the packet's path (theoretically, the midpoint of the path would be a better option. However, we use the beginning of the path for computational ease at a very small cost to the estimator's accuracy). - -Next, we calculate the mean radiation frequency in each shell. For this, in each shell we add up the frequency of each packet weighted by the intensity they contribute to the shell (and then divide by the total intensity, as will be discussed below). Remembering that intensity is :math:`\frac{c}{4\pi}` times the energy density, and as before each packet contributes an energy of :math:`\frac{\varepsilon_i l_i}{c\Delta t}` and thus energy density of :math:`\frac{\varepsilon_i l_i}{cV\Delta t}` to its shell, we have that each packet contributes an intensity of :math:`\frac{\varepsilon_i l_i}{4\pi V\Delta t}` to its shell. So, - -.. math:: \bar \nu = \sum_i \frac{\varepsilon_i l_i}{4\pi V \Delta t} \nu_i = \frac{1}{4\pi V \Delta t}\sum_i \varepsilon_i \nu_i l_i - -where once again the co-moving energy and frequency of each packet are taken at the beginning of the packet's path. - -It is important to note that, confusingly, :math:`\bar \nu` is not truly the mean frequency (as can be seen by its units -- it has dimensions of intensity times frequency). Indeed, the true mean frequency is actually :math:`\frac{\bar \nu}{J}`. - -.. note:: Both estimators take on a different value in each shell. - -These estimators will be used in the :doc:`../update_and_conv/update_and_conv` step to help update the plasma state between iterations. - - -.. _j-blue-estimator: - -:math:`J^b_{lu}` Estimator --------------------------- - -Another estimator, called the ``j_blue`` or :math:`J^b_{lu}` estimator, is unlike the two previous estimators discussed. Instead of storing the mean intensity over the entire spectrum, it stores the intensity at a specific frequency. More precisely, since frequency is a continuum, it stores the intensity per unit frequency. In each shell, we record the intensity per unit frequency at the blue end (higher frequency end; this is where the ":math:`b`" superscript in :math:`J^b_{lu}` comes from) of each line transition -- that is, if a line transition :math:`l\rightarrow u` (from the lower energy level :math:`l` to the upper energy level :math:`u`, hence the :math:`lu` in :math:`J^b_{lu}`) has a frequency :math:`\nu_{lu}`, the mean intensity between :math:`\nu_{lu}` and :math:`\nu_{lu}+d\nu` is :math:`J^b_{lu}d\nu`. **This means that the** :math:`J^b_{lu}` **estimator contains values for each atomic line in each shell**, and is hence called a *line estimator*. Now, using our previous :math:`J` estimator, we have - -.. math:: J^b_{lu}d\nu = \frac{1}{4\pi V\Delta t}\sum_i \varepsilon_i dl_i - -where :math:`dl_i` is the infinitesimal distance that the packet travels while it has a co-moving frequency between :math:`\nu_{lu}` and :math:`\nu_{lu}+d\nu` (here, therefore, we are summing over all packets in a shell that achieve a co-moving frequency of :math:`\nu_{lu}` and thus come into resonance with the line transition :math:`l\rightarrow u` within that shell). - -Now, say the packet with lab frequency :math:`\nu_\mathrm{lab}` has a co-moving frequency of :math:`\nu_{lu}` at a radius :math:`r_1` and propagation direction :math:`\mu_1`, and it has a co-moving frequency of :math:`\nu_{lu}+d\nu` at a radius :math:`r_2` and propagation direction :math:`\mu_2`. Then (see :ref:`referenceframes`): - -.. math:: \nu_{lu}=\left(1-\frac{r_1\mu_1}{ct_\mathrm{explosion}}\right)\nu_\mathrm{lab} - -and - -.. math:: \nu_{lu}+d\nu=\left(1-\frac{r_2\mu_2}{ct_\mathrm{explosion}}\right)\nu_\mathrm{lab}. - -But then subtracting, we get - -.. math:: d\nu = (r_2\mu_2-r_1\mu_1)\frac{\nu_\mathrm{lab}}{ct_\mathrm{explosion}}=dl*\frac{\nu_\mathrm{lab}}{ct_\mathrm{explosion}} - -(for the last equality, see :ref:`spherical-domain`). - -But now inputting this into the equation for :math:`J^b_{lu}` (using :math:`\frac{dl_i}{d\nu}=\frac{ct_\mathrm{explosion}}{\nu_\mathrm{lab,i}}`), we get - -.. math:: J^b_{lu} = \frac{ct_\mathrm{explosion}}{4\pi V\Delta t}\sum_i \frac{\varepsilon_i}{\nu_\mathrm{lab,i}}. - - -.. _edotlu: - -:math:`\dot{E}_{lu}` Estimator ------------------------------- - -The final estimator we consider, like the ``j_blue`` estimator, is a line estimator, meaning it has contains values for each atomic line in each shell. It calculates the rate at which energy density interacts with a line transition :math:`l\rightarrow u`. The first step is to calculate the rate at which energy density resonates with some line in some shell. Each packet that comes into resonance with the transition :math:`l\rightarrow u` in a shell of volume :math:`V` contributes an energy density to that shell of :math:`\frac{\varepsilon}{V}` over a time :math:`\Delta t`, meaning the rate at which energy density resonates with the line is :math:`\sum_i \frac{\varepsilon_i}{\Delta t V} = \frac{1}{\Delta t V} \sum \varepsilon` where we are summing over all packets which come into resonance with the atomic line in some shell (as usual, this sum is done using the energies in the co-moving frame). Finally, this light then has a :math:`\left( 1- e^{-\tau_{lu}}\right)` probability of interacting with the line (where :math:`\tau_{lu}` is the Sobolev optical depth for the transition :math:`l\rightarrow u`, see :ref:`physical-interactions`), so the rate at which energy density is absorbed into the transition :math:`l\rightarrow u`, called the ``Edotlu`` estimator, is - -.. math:: \dot{E}_{lu} = \frac{1}{\Delta t V} \left( 1- e^{-\tau_{lu}}\right) \sum_i \varepsilon_i. - -Note that while one may expect us to merely add up the contributions of each packet that *interacts* with the line, eliminating the need for the :math:`\left( 1- e^{-\tau_{lu}}\right)` term, the former determines the desired quantity with more accuracy and less noise than the latter, (this is because it does not depend on the limited number of packets TARDIS uses, rather a theoretical equation, to determine how much of the light that comes into resonance with a line actually interacts with that line). - - -Implementation -============== - -As previously discussed, a major component of each Monte Carlo iteration is the packet propagation process. During the packet propagation process this step, the :math:`J` and :math:`\bar \nu` estimators are updates every time a packet is moved to the next event location. Specifically, every time a packet is moved, :math:`\varepsilon l` is added to the "running total" :math:`J` estimator in the shell where the packet is, and :math:`\varepsilon \nu l` is added to the "running total" :math:`\bar\nu` estimator in the shell where the packet is (where :math:`l` is the distance the packet is moved, and :math:`\varepsilon` and :math:`\nu` are respectively the packet's co-moving energy and frequency at the beginning of the packet's path). The factor of :math:`\frac{1}{4\pi V\Delta t}`, for computational ease, is not attached to the estimators but is included during any calculations using these estimators, see :doc:`../update_and_conv/update_and_conv`. - -Additionally, during the propagation process, every time a packet passes through a Sobolev point, meaning it reaches a co-moving frequency of :math:`\nu_{lu}` for some transition :math:`l\rightarrow u` and thus comes in resonance with an atomic line, the :math:`J^b_{lu}` for that atomic transition in the shell it is in is incremented by :math:`\frac{\varepsilon}{\nu_\mathrm{lab}}`, where :math:`\varepsilon` is the packet's energy and :math:`\nu_\mathrm{lab}` is the packet's lab-frame frequency. As before, for computational ease, the factor :math:`\frac{ct_\mathrm{explosion}}{4\pi V \Delta t}` is included in calculations involving the estimator (such as when `updating <../update_and_conv/update_and_conv.ipynb#updating-other-quantities>`_ :math:`J^b_{lu}` in the plasma or in the :ref:`formal integral <formal_integral>`). Similarly, when a packet passes through a Sobolev point, the :math:`\dot{E}_{lu}` for that atomic transition in the shell it is in is incremented by :math:`\varepsilon`, and once again, for computational ease, the term :math:`\frac{1}{\Delta t V} \left( 1- e^{-\tau_{lu}}\right)` is not included until calculations involving the estimator are performed (specifically in the :ref:`formal integral <formal_integral>`). - -.. note:: Since the ``j_blue`` and ``Edotlu`` estimators are updated every time a packet comes into resonance with an atomic line (not necessarily going through a line interaction), these estimators are equal to zero in some shell for a specific line if (and only if) no packet comes into resonance with that line within the shell. diff --git a/docs/physics/montecarlo/index.rst b/docs/physics/montecarlo/index.rst deleted file mode 100644 index f23def90068..00000000000 --- a/docs/physics/montecarlo/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. _montecarlo: - -********************* -Monte Carlo Iteration -********************* - -After setting up the simulation, TARDIS runs the simulation using the ``.run_convergence()`` method. This runs several Monte -Carlo iterations (which will be described in the links below), corresponding to one less than the number of iterations specified -in the :ref:`Monte Carlo Configuration <montecarlo-config>`. As will be described in :doc:`../update_and_conv/update_and_conv` and -:ref:`spectrum`, these iterations will eventually be used to calculate the steady-state plasma properties. -TARDIS runs the last iteration of the simulation using the ``.run_final()`` method to determine the spectrum. - -The following pages provide a very basic introduction to Monte Carlo radiative -transfer techniques as they are used in TARDIS. All the information listed here -can also be found in various papers by L. Lucy and in the main TARDIS publication -(cf. :cite:`Abbott1985`, :cite:`Mazzali1993`, :cite:`Lucy1999`, -:cite:`Long2002`, :cite:`Lucy2002`, :cite:`Lucy2003`, :cite:`Lucy2005`, -:cite:`Kerzendorf2014`). - -.. toctree:: - :maxdepth: 2 - - basicprinciples - initialization - propagation - lineinteraction - estimators \ No newline at end of file diff --git a/docs/physics/montecarlo/initialization.ipynb b/docs/physics/montecarlo/initialization.ipynb deleted file mode 100644 index b20324d7e1b..00000000000 --- a/docs/physics/montecarlo/initialization.ipynb +++ /dev/null @@ -1,356 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "6c0dbe0a", - "metadata": {}, - "source": [ - "# Energy Packet Initialization\n", - "\n", - "## Theory\n", - "\n", - "While it is instructive to think about tracking the propagation history of\n", - "individual photons when illustrating the basic idea behind Monte Carlo radiative transfer\n", - "techniques, there are important numerical reasons for using a different\n", - "discretization scheme. Instead of thinking in the photon picture, it brings\n", - "significant advantages to follow the idea of <strong data-cite=\"Abbott1985\">[]</strong> and\n", - "<strong data-cite=\"Lucy1999\">[]</strong> and consider parcels of radiant energy as the fundamental\n", - "building blocks of the Monte Carlo calculation. These basic Monte Carlo quanta\n", - "are commonly referred to as \"energy packets\" or simply \"packets\", and are composed of many photons with the same frequency.\n", - "\n", - "During a Monte Carlo calculation, $N$ (a large number) packets, all with a certain\n", - "energy $\\varepsilon$, are created at the inner boundary of the computational domain (which is discussed in the [model section](../setup/model.rst)) known as the photosphere. Currently, the photosphere is modeled as a spherical [blackbody](https://en.wikipedia.org/wiki/Black-body_radiation) with a radius $r_\\mathrm{boundary\\_inner}$ and temperature $T_\\mathrm{inner}$. Both of these quantities are calculated as a part of the [model](../setup/model.ipynb), and $T_\\mathrm{inner}$ is additionally updated throughout the simulation as a part of the [Updating Plasma and Convergence](../update_and_conv/update_and_conv.ipynb) process.\n", - "\n", - "In TARDIS, all packets are assigned identical energies **in the lab frame** (see [Reference Frames](propagation.rst#reference-frames)), and the total (lab-frame) energy of the packets is 1 erg (and thus each packet has an energy of $\\frac{1}{N}$ ergs).\n", - "\n", - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "The indivisible energy packet scheme does not require that all packets have the same energy. This is just a convenient and simple choice adopted in TARDIS.\n", - "\n", - "</div>\n", - "\n", - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "Since all packets have the same total, and photon energy is proportional to frequency, higher-frequency packets will represent less real photons than lower-frequency packets.\n", - "\n", - "</div>\n", - "\n", - "Since the photosphere is modeled as a blackbody, its total luminosity $L_\\mathrm{inner}$ (recall that luminosity is energy emitted divided by the time in which it is emitted) is\n", - "$$L_\\mathrm{inner}=\\frac{N\\varepsilon}{\\Delta t}=4 \\pi r_\\mathrm{boundary\\_inner}^2 \\sigma_{\\mathrm{R}} T_{\\mathrm{inner}}^4$$\n", - "where $\\sigma_\\mathrm{R}$ is the Stefan-Boltzmann constant and $\\Delta t$ is the physical duration of the simulation. In order to make this relationship hold (remembering that $N\\varepsilon = 1$ erg), we use\n", - "$$\\Delta t = \\frac{1}{L_\\mathrm{inner}}=\\frac{1}{4 \\pi r_\\mathrm{boundary\\_inner}^2 \\sigma_{\\mathrm{R}} T_{\\mathrm{inner}}^4}.$$\n", - "\n", - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "As will be shown in the code example, this will lead to unphysically small values for $\\Delta t$. It may be easier to think of the Monte Carlo packets not as packets of energy $\\epsilon$ going through a simulation of duration $\\Delta t$, but as packets of luminosity that carry an energy $\\epsilon$ over a time $\\Delta t$ (and thus truly being luminosity packets of luminosity $\\frac{\\epsilon}{\\Delta t}$). Indeed, this view of the packets will be useful when deriving the [Monte Carlo Estimators](estimators.rst).\n", - "\n", - "</div>\n", - "\n", - "During packet initialization, each packet is assigned an initial propagation direction $\\mu$ which is the cosine of the angle $\\theta$ which the packet's path makes with the radial direction (see the image below). Using a pseudo-random number generator which generates numbers $z$ uniformly distributed on the interval $[0,1]$, the propagation direction is determined (due to physical considerations beyond the scope of this documentation) according to\n", - "$$\\mu = \\sqrt{z}.$$\n", - "This sampling is shown in the \"Code Example\" section.\n", - "\n", - "<img src=\"../images/propagation_direction.png\" width=500>\n", - "\n", - "Finally, each packet is assigned an initial frequency (or more precisely, the initial frequency of its constituent photons). Note that since each packet has the same energy, each packet will represent a different number of real photons. The sampling on packet frequencies is more involved than that of the propagation direction, as it involves sampling the Planck distribution (see below). TARDIS uses the technique described in <strong data-cite=\"Carter1975\">[]</strong> and summarized in <strong data-cite=\"Bjorkman2001\">[]</strong> for this purpose.\n", - "\n", - "During the simulation, the energy of the packet remains constant in the local\n", - "co-moving frame (see [Reference Frames](propagation.rst#reference-frames)). This naturally ensures energy\n", - "conservation and constitutes the main advantage of this discretization scheme. **However, while the energy of the packets is conserved in the co-moving frame, the co-moving frequency of the packet (and thus the photons represented by the packet) may vary over the course of the simulation. Thus, a packet may represent several different numbers of real photons throughout their lifetimes.**\n", - "\n", - "## Code Example\n", - "\n", - "We now demonstrate the TARDIS packet initialization framework:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "426325e5", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "from tardis.transport.montecarlo.packet_source import BlackBodySimpleSource\n", - "from tardis.transport.montecarlo.packet_collections import (\n", - " PacketCollection,\n", - ")\n", - "from astropy import units as u\n", - "from tardis import constants as const\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "4ae02998", - "metadata": {}, - "source": [ - "The following cell contains values that you can change to see how it affects the spectrum (in an actual simulation, the seed and number of packets are set in the [Monte Carlo configuration](../../io/configuration/components/montecarlo.rst), and the photospheric radius is calculated as a part of the [model](../setup/model.ipynb)):\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc34bf33", - "metadata": {}, - "outputs": [], - "source": [ - "# Base seed for the packet source\n", - "base_seed = 1\n", - "# Seed offset resets the Pseudo Random Number Generator with a new seed at each iteration\n", - "seed_offset = 0\n", - "\n", - "# Number of packets generated\n", - "n_packets = 40000\n", - "\n", - "# Radius of the supernova's photosphere in cm\n", - "r_boundary_inner = 1e15 * u.cm" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "450faf76", - "metadata": {}, - "source": [ - "We set the temperature of the photosphere $T_\\mathrm{inner}$, which will determine the photospheric luminosity (in an actual simulation, $T_\\mathrm{inner}$ is initially calculated as a part of the [model](../setup/model.ipynb) and updated as a part of the [Updating Plasma and Convergence](../update_and_conv/update_and_conv.ipynb) process):\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3fb3ca8c", - "metadata": {}, - "outputs": [], - "source": [ - "# Temperature in K\n", - "temperature_inner = 10000 * u.K\n", - "\n", - "luminosity_inner = (\n", - " 4\n", - " * np.pi\n", - " * (r_boundary_inner**2)\n", - " * const.sigma_sb\n", - " * (temperature_inner**4)\n", - ")\n", - "\n", - "# Makes sure the luminosity is given in erg/s\n", - "luminosity_inner = luminosity_inner.to(\"erg/s\")\n", - "\n", - "print(\"Luminosity of photosphere:\", luminosity_inner)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "516633c5", - "metadata": {}, - "source": [ - "We now generate the ensemble of packets. The array of packet energies and radii are also shown.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "925e9e1b", - "metadata": {}, - "outputs": [], - "source": [ - "# We define our packet source\n", - "packet_source = BlackBodySimpleSource(base_seed=base_seed)\n", - "\n", - "# Set radii and temperature from model\n", - "packet_source.radius = r_boundary_inner\n", - "packet_source.temperature = temperature_inner\n", - "\n", - "# Create packets\n", - "packet_collection = packet_source.create_packets(n_packets)\n", - "\n", - "# Sets the energies in units of ergs\n", - "packet_collection.initial_energies *= u.erg\n", - "\n", - "# Sets the frequencies in units of Hz\n", - "packet_collection.initial_nus *= u.Hz\n", - "\n", - "print(\"Energies:\", packet_collection.initial_energies)\n", - "print(\"Radii:\", packet_collection.initial_radii)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "16936bce", - "metadata": {}, - "source": [ - "We set the timespan of the simulation so that each packet contributes the appropriate luminosity to the spectrum.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fed35f47", - "metadata": {}, - "outputs": [], - "source": [ - "# Time of simulation\n", - "t_simulation = 1 * u.erg / luminosity_inner\n", - "print(\"Time of simulation:\", t_simulation)\n", - "\n", - "# Array of luminosity contribution by each packet\n", - "lumin_per_packet = packet_collection.initial_energies / t_simulation\n", - "print(\"Luminosity per packet:\", lumin_per_packet)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "0d839222", - "metadata": {}, - "source": [ - "We define important constants, and for comparison's sake, we code the Planck distribution function\n", - "$$L_\\nu (\\nu)=\\frac{8\\pi^2 r_\\mathrm{boundary\\_inner}^2 h\\nu^3}{c^2}\\frac{1}{\\exp\\left(\\frac{h\\nu}{k_BT_\\mathrm{inner}}\\right)-1}$$\n", - "where $L_\\nu$ is the luminosity density (see [Basic Spectrum Generation](../spectrum/basic.ipynb)) with respect to frequency, $\\nu$ is frequency, $h$ is Planck's constant, $c$ is the speed of light, and $k_B$ is Boltzmann's constant:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "916a5e22", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "h = const.h.cgs\n", - "c2 = const.c.cgs**2\n", - "kB = const.k_B.cgs\n", - "\n", - "\n", - "def planck_function(nu):\n", - " return (\n", - " 8\n", - " * np.pi**2\n", - " * r_boundary_inner**2\n", - " * h\n", - " * nu**3\n", - " / (c2 * (np.exp(h * nu / (kB * temperature_inner)) - 1))\n", - " )" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "78230177", - "metadata": {}, - "source": [ - "We plot the Planck distribution and a histogram of the generated packet distribution:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "913fcdbb", - "metadata": {}, - "outputs": [], - "source": [ - "# We set important quantities for making our histogram\n", - "bins = 200\n", - "nus_planck = np.linspace(min(packet_collection.initial_nus), max(packet_collection.initial_nus), bins).value\n", - "bin_width = nus_planck[1] - nus_planck[0]\n", - "\n", - "# In the histogram plot below, the weights argument is used\n", - "# to make sure our plotted spectrum has the correct y-axis scale\n", - "plt.hist(packet_collection.initial_nus.value, bins=bins, weights=lumin_per_packet / bin_width)\n", - "\n", - "# We plot the planck function for comparison\n", - "plt.plot(nus_planck * u.Hz, planck_function(nus_planck * u.Hz))\n", - "\n", - "plt.xlabel(\"Frequency (Hz)\")\n", - "plt.ylabel(\"Luminosity density w.r.t. frequency (erg/s/Hz)\")\n", - "plt.show()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ad4f0f0e", - "metadata": {}, - "source": [ - "We finally plot the generated $\\mu$ density distribution, followed by the generated $\\theta=\\arccos (\\mu)$ density distribution, compared with the respective curves $\\rho = 2\\mu$ and $\\rho = \\sin(2\\theta)$:\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ae4c97de", - "metadata": {}, - "outputs": [], - "source": [ - "x = np.linspace(0, 1, 1000)\n", - "\n", - "plt.hist(packet_collection.initial_mus, bins=bins, density=True)\n", - "plt.plot(x, 2 * x)\n", - "plt.xlabel(\"Propagation direction\")\n", - "plt.ylabel(\"Probability density\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41daa433", - "metadata": {}, - "outputs": [], - "source": [ - "thetas = np.linspace(0, np.pi / 2, 1000)\n", - "\n", - "plt.hist(np.arccos(packet_collection.initial_mus), bins=bins, density=True)\n", - "plt.plot(thetas, np.sin(2 * thetas))\n", - "plt.xlabel(\"Angle with normal (rad)\")\n", - "plt.ylabel(\"Probability density\")\n", - "plt.show()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "2f661592", - "metadata": {}, - "source": [ - "## Custom Packet Source\n", - "\n", - "TARDIS allows for the user to input a custom function that generates energy packets instead of the basic blackbody source described here. See [How to Run TARDIS with a Custom Packet Source](../../io/optional/how_to_custom_source.ipynb) for more information." - ] - } - ], - "metadata": { - "celltoolbar": "Raw Cell Format", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/physics/montecarlo/lineinteraction.rst b/docs/physics/montecarlo/lineinteraction.rst deleted file mode 100644 index 6e1c23ba725..00000000000 --- a/docs/physics/montecarlo/lineinteraction.rst +++ /dev/null @@ -1,100 +0,0 @@ -.. _lineinteraction: - -*************************** -Line Interaction Treatments -*************************** - -TARDIS currently offers different ways to handle line interactions, which may be -activated via the :term:`YAML` configuration file. Independently of the chosen -treatment, a number of steps are always carried out when a Monte Carlo packet -performs a line interaction. Since TARDIS adopts the indivisible energy packet -formalism (see :doc:`Energy Packets <initialization>`), the packet will have the -same energy in the co-moving frame after (f for final) the line interaction as -before (i for initial). Thus, after accounting for the frame transformations, - -.. math:: - - \varepsilon_f = \varepsilon_i \frac{1 - \beta \mu_i}{1 - \beta \mu_f} - -holds. Also, TARDIS treats that the re-emission of the line interaction -as an isotropic process. Thus, - -.. math:: - - \mu_f = 2 z - 1. - - -.. note:: - - In the Sobolev theory, the re-emission direction is given by the so-called - Sobolev escape fraction, with is in general non-isotropic. However, in the - special case of homologous expansion, isotropy is retained. - -.. note:: - - Strictly speaking, the re-mission process occurs in the local co-moving - frame. Thus, the so called angle aberration effect should be taken into - account when transforming into the lab frame. However, TARDIS, currently - neglects this effect. - -Essentially, the different line interaction treatments only determine how the -frequency of the packet after the line interaction is determined. - -Resonant Scattering -=================== - -The simplest line interaction mode assumes that all interactions with atomic -line transitions occur resonantly. This implies that in the co-moving frame the -emergent packet frequency is equal to the incident one. Again accounting for -the Doppler factors due to the frame transformations between co-moving and lab -frame, the post-interaction frequency is given by - -.. math:: - - \nu_f = \nu_i \frac{1 - \beta \mu_i}{1 - \beta \mu_f} - -Downbranching -============= - -The so-called downbranching scheme, introduced by :cite:`Lucy1999a`, is an -elegant approach to approximately account for fluorescence effects. In this -scheme, the packet is not re-emitted in the same transitions as it was absorbed -in. Instead, it now can emerge from any line transition linking the activated -upper energy level to a lower one. For any specific line interaction event, the -re-emission channel is probabilistically selected according to the branching -ratios of the different allowed de-excitation transitions. For more details -about the downbranching scheme, we refer to :cite:`Lucy1999a` and -:cite:`Kerzendorf2014`. - -Macro Atom Scheme -================= - -Finally, as the most sophisticated line interaction treatment, a simplified -version of the Macro Atom scheme of :cite:`Lucy2002` and :cite:`Lucy2003` is -implemented in TARDIS. This approach provides a more accurate representation of -fluorescence processes and multi-line effects. Once a Monte Carlo packet is -absorbed in a certain line transition (macro atom activation), an arbitrary -number of internal jumps up and downwards may be performed. One may think of -them as changing the energy level which is excited. At any point during this -process, there is the chance that the internal jump procedure terminates and -that the packet is re-emitted in a transition linking the currently excited -upper energy level to a lower one (macro atom deactivation). Again, all -involved processes are governed by probabilities reflecting the different line -transition strengths, radiative emission and absorption processes. More details -about the implementation of the Macro Atom scheme in TARDIS is provided -:ref:`here <macroatom>`. For more background information and -an in-depth derivation of the scheme, we refer to :cite:`Lucy2002` and -:cite:`Lucy2003`. - -Comparison -========== - -The different levels of sophistication are illustrated in the following plot, -taken from :cite:`Kerzendorf2014` and showing the incident wavelength versus the -emergent wavelength of Monte Carlo packets in line interactions. The left panel -shows the situation in the resonant scatter mode, the middle one for the -downbranching scheme and the right one the macro atom results. - -.. image:: - ../images/scatter_downbranch_ma.png - :width: 700 diff --git a/docs/physics/montecarlo/propagation.rst b/docs/physics/montecarlo/propagation.rst deleted file mode 100644 index 15050b1c6d6..00000000000 --- a/docs/physics/montecarlo/propagation.rst +++ /dev/null @@ -1,368 +0,0 @@ -.. _propagation: - -****************** -Packet Propagation -****************** - -The bulk of a Monte Carlo Radiative Transfer calculation is spent on -determining the propagation history of the different packets. After a packet is -initialized (see :doc:`initialization`), it is launched and may then perform interactions with the -surrounding material. This occurs again in a probabilistic manner. The packet -propagation is followed until it escapes through the outer boundary of the -computational domain, at which point the packet contributes to the synthetic -spectrum, the main product of a TARDIS calculation. The different spectral -features are simply a combined product of the changes in the packet properties -induced in the radiation-matter interactions. - -.. _spherical-domain: - -Propagation in a Spherical Domain -================================= - -Once the initial packet properties are assigned, the propagation process -commences. Without interacting, a packet, like a photon, will propagate on a -straight trajectory. - -.. note:: - Since TARDIS is designed for systems for which the Newtonian limit may be - safely applied, no general relativistic effects which would force photons on - curved trajectories are included. - -In spherical geometry, this propagation process may be illustrated by the -following sketch (taken from :cite:`Noebauer2014`): - - -.. image:: - ../images/spherical_symmetry.png - :width: 500 - - -The packet starts the propagation at :math:`r_i` along the direction -:math:`\mu_i`. After covering a distance :math:`l`, the packet is now located -at - -.. math:: - r_f = \sqrt{r_i^2 + l^2 + 2 l r_i \mu_i}. - -Note that the propagation direction has also changed and now takes the value - -.. math:: - \mu_f = \frac{l + r_i \mu_i}{r_f}. - - -Supernova Expansion -=================== - -.. note:: - This section is a summary of part of :doc:`../setup/model` which is included here for easy reference. For a complete - explanation, please refer back to that page. - -TARDIS models supernovae as expanding homologously, as shown in the animation below. This means that plasma at a -distance :math:`r` from the center of the supernova will be moving outwards at a velocity -:math:`v=\frac{r}{t_\mathrm{explosion}}`, where :math:`t_\mathrm{explosion}` is the time after the explosion for -which TARDIS is running (which is provided in the :ref:`model configuration <model-csvy-and-config>`). This is also -shown in the animation. - -TARDIS simulates radiative transfer between an inner boundary (the photosphere) with a radius -:math:`r_\mathrm{boundary\_inner}`, and an outer boundary (the outer edge of the supernova ejecta) with a radius -:math:`r_\mathrm{boundary\_outer}`. Additionally, TARDIS divides the space between the inner and outer computational -boundaries into cells -- radial shells for which the plasma state is (spatially) constant. In the animation, 6 cells -are shown, being divided by the light blue lines. The boundaries of the computational domain and of these cells are -computed during the simulation setup (refer back to :doc:`../setup/model`). As TARDIS is a time-independent code, meaning -that it calculates the spectra at an instant in time (namely at the time :math:`t_\mathrm{explosion}`), the radii of -the boundaries (both of the computational domain and of the cells) do not change throughout the simulation. - -.. image:: - ../images/expansion_animation.gif - :width: 500 - - -.. _referenceframes: - -Reference Frames -================ - -Because ejecta in the supernova is moving, TARDIS must take reference frames into account. - -In TARDIS, two reference frames are of particular importance: the lab frame and the co-moving frame. In the lab -frame, the center of the supernova is at rest; for example, the animation above is shown in the lab frame. -This is the frame for which the spectra are calculated. - -The co-moving frame at some point in the supernova, however, has the plasma at that point be at rest. This is the -frame of reference "according to the plasma." - -If a photon is propagating in the ejecta with a frequency :math:`\nu_\mathrm{lab}` in the lab frame and a propagation -direction :math:`\mu`, the doppler effect says that in the co-moving frame at a distance :math:`r` from the center of -the supernova, the photon's frequency is shifted to - -.. math:: - \nu_\mathrm{co-moving} = \nu_\mathrm{lab}\frac{1-\beta\mu}{\sqrt{1-\beta^2}} - -where :math:`\beta = \frac{v}{c} = \frac{r}{ct_\mathrm{explosion}}` (note again that :math:`v` is the velocity of the -plasma at a radius :math:`r` from the center of the supernova). The term :math:`\frac{1-\beta\mu}{\sqrt{1-\beta^2}}` -is known as the doppler factor. In the nonrelativistic limit (as :math:`v << c`), we get - -.. math:: - \nu_\mathrm{co-moving} = \nu_\mathrm{lab}(1-\beta\mu). - -Note that if the photon is propagating away from the center of the supernova (:math:`\mu>0`) it is red-shifted -(:math:`\nu_\mathrm{co-moving}<\nu_\mathrm{lab}`), and if the photon is propagating towards the center of the -supernova (:math:`\mu<0`) it is blue-shifted (:math:`\nu_\mathrm{co-moving}>\nu_\mathrm{lab}`). - -Numerical and Physical Events -============================= -While a packet is propagating through the computational domain, TARDIS calculates the distance the packet will -propagate until it (i) crosses into a new cell and (ii) interacts with the plasma in the ejecta. If the former -distance is shorter, the packet will be moved into the new cell (and the plasma properties will be recalculated), and -if the latter distance is shorter, the packet will be moved to the location of the interaction, and the interaction -will be performed. - -Distance to Next Cell ---------------------- - -.. note:: - In this documentation, and in TARDIS as a whole, the subscripts "inner" and "outer" refer respectively to the - inner an outer boundaries of a cell. The subscripts "inner_boundary" and "outer_boundary" refer respectively to - the inner and outer boundaries of the computational domain. - - -As previously mentioned, the physical properties of the plasma are stored in a discrete mesh of cells for which the -plasma state is spatially constant. As a consequence, whenever a packet propagates into a -new cell, important quantities which are relevant for performing -radiation-matter interactions have to be re-evaluated in accordance with the -new state of the ambient material. Thus, during the packet propagation, the -distance to the next radial shell is tracked to predict when the packet crosses -into a new shell. The following figures summarize the calculations -of these distances: - -The calculations for the distance to the outer cell boundary: - -.. image:: ../../graphics/d_outer.png - :width: 500 - -The calculations for the distance to the inner cell boundary: - -.. image:: ../../graphics/d_inner.png - :width: 500 - -Special care is taken at the edges of the computational -domain. If a packet crosses back into the photosphere, it is discarded. Its -propagation is stopped and it is no longer considered. Instead, processing the -next packet of the population is started. Similarly, the propagation is stopped -if the packet escapes through the outer surface of the domain. However, in this -case the packet contributes to the final emergent spectrum (see :ref:`Spectrum -Formation <spectrum>`). - -When a packet is moved into a new cell, as mentioned before, it is moved to the location at which it crosses the -boundary, the plasma properties are recalculated, and the propagation direction of the packet is updated (using -:math:`\mu_f = \frac{l + r_i \mu_i}{r_f}`). - -.. _physical-interactions: - -Physical Interactions ---------------------- - -As a packet propagates through the computational domain, physical radiation-matter interactions can trigger changes -in the packet properties. The probability that a photon/packet will interact with matter is characterized by its -optical depth :math:`\tau`; the probability that a packet will have interacted after going through an optical depth -:math:`\Delta \tau` is :math:`1-e^{-\Delta \tau}` (see :ref:`opacity` for more). To model this -(see :ref:`Random Sampling <randomsampling>`), the -packet is assigned a random value of optical depth :math:`\tau_\mathrm{interaction} = -\log z` (for another random -:math:`z` between 0 and 1), and upon reaching that optical depth, the packet will interact. - -TARDIS considers two different radiation-matter interactions within the simulation: electron scattering and atomic -line interactions (see :ref:`light_and_matter` for a basic introduction to these interactions). As packets propagate, -they accumulate optical depth due to the possibility of going through either -of these interactions. Since the main focus of TARDIS is to calculate optical spectra, -electron-scatterings are treated in the elastic low-energy limit as classical -Thomson scatterings. In this case, the electron scattering process is frequency-independent. As a consequence to the -frequency independence, the rate at which a packet accumulates electron scattering optical depth depends only on the -free electron density :math:`n_e`. The optical depth that a Monte Carlo packet accumulates along a path of length -:math:`l` due to -Thomson scattering is calculated by the formula - -.. math:: - - \Delta \tau = \sigma_{\mathrm{T}} n_e l. - -The Thomson cross section :math:`\sigma_{\mathrm{T}}`, which is a constant, -appears here. This corresponds to the fact that a packet has a probability of :math:`1-e^{-\sigma_{\mathrm{T}} n_e l}` -of going through a Thomson scattering prior to traveling a distance :math:`l` (in other words, the probability of the -packet making it across a distance :math:`l` without scattering is :math:`e^{-\sigma_{\mathrm{T}} n_e l}`). - -The situation is complicated by the inclusion of frequency-dependent -bound-bound interactions, i.e. interactions with atomic line transitions. -Photons and thus Monte Carlo packets can only interact with a line transition -if their frequency in the co-moving frame corresponds to the energy difference between the -atomic levels linked by the transition, i.e. if it comes into resonance. As discussed above, as a -photon/packet propagates through the homologously expanding ejecta, its -co-moving frame frequency is continuously red- or blue-shifted (depending on the packet's propagation direction). -Thus, during its -propagation through the supernova ejecta, a photon/packet may come into resonance with -many line transitions. This and the fact that line transitions have a finite -width given by the line profile function (in the case at hand, this width is -mainly given by thermal broadening) would render the determination of the line -optical depth accumulated along the photon/packet trajectory a complicated -task. Fortunately, the typical conditions in supernova ejecta warrant the use -of the so-called Sobolev approximation. Roughly speaking, this approximation replaces the line -profile function with a :math:`\delta` distribution around the natural line -frequency. Thus, photons/packets may only interact with a line transition if -their co-moving frame frequency exactly equals the natural frequency of the -line. The location at which this occurs is referred to as the resonance or -Sobolev point. This effectively reduces the line optical depth determination to -a pure local problem. - -If a packet with a frequency :math:`\nu_\mathrm{lab}` in the lab frame is at a radius :math:`r_i` with a propagation -direction :math:`\mu_i`, the distance that the packet must travel to reach the next Sobolev point is calculated by -setting the frequency of the packet in the co-moving frame at the Sobolev point equal to the resonant frequency that -it will next hit, which we will label :math:`\nu_\mathrm{line}` (which is, of course, in the co-moving frame). Using -the nonrelativistic doppler shift formula, we get - -.. math:: \nu_\mathrm{line} = (1-\beta_f \mu_f)\nu_\mathrm{lab} - -where the subscript :math:`f` refers to being at the sobolev point. Using -:math:`\beta_f=\frac{r_f}{ct_\mathrm{explosion}}` and :math:`\mu_f = \frac{l + r_i \mu_i}{r_f}`, we get that the -distance :math:`l` to the next Sobolev point is - -.. math:: l = \left( 1-\beta_i\mu_i - \frac{\nu_\mathrm{line}}{\nu_\mathrm{lab}} \right)ct_\mathrm{explosion} = \frac{\nu_{\mathrm{CMF},i}-\nu_\mathrm{line}}{\nu_\mathrm{lab}}ct_\mathrm{explosion} - -where :math:`\nu_{\mathrm{CMF},i}` is the frequency of the packet in the co-moving frame at the initial position. - -At a Sobolev point, the packet instantaneously accumulates optical depth, the value of which is called the Sobolev -optical depth :math:`\tau_\mathrm{Sobolev}` (see :ref:`tau_sobolev`). This corresponds to a probability of -:math:`1-e^{-\tau_\mathrm{Sobolev}}` that the packet interacts with the atomic line. - -Distance to Next Event ----------------------- - -With these assumptions, the accumulation of optical depth along a packet's trajectory currently proceeds according -to the following scheme (which was originally introduced by :cite:`Mazzali1993`): -given the current lab-frame frequency of the packet, the distance to the next -Sobolev point (i.e. to the next line resonance) is calculated as discussed above. -Until this location, the packet continuously accumulates optical depth due to the possibility of -electron-scattering. At the Sobolev point, the accumulated optical depth is -instantaneously incremented by the Sobolev optical depth. Afterwards, the -procedure is repeated, now with respect to the next transition in the -frequency-ordered list of all possible atomic line transitions. The point at -which the accumulated optical depth reaches the randomly generated interaction optical depth -:math:`\tau_\mathrm{interaction}` determines the type of interaction the packet performs and at which location in -the spatial mesh, as shown with the example cases in the sketch below (taken from :cite:`Noebauer2014`, adapted from -:cite:`Mazzali1993`): - -.. image:: - ../images/optical_depth_summation.png - :width: 500 - -Three possible cases are highlighted in the above diagram, with the dotted lines showing the (randomly assigned) -optical depth :math:`\tau_\mathrm{interaction}` at which the packet interacts. In case I, the interaction optical -depth value is reached on one of the path segments between successive Sobolev -points, where the packet is accumulating electron scattering optical depth. -Thus, the packet performs a Thomson scattering at the point at which its accumulated optical depth reaches -:math:`\tau_\mathrm{interaction}`. In case II, the interaction -optical depth is reached during the instantaneous increment by the line optical -depth at one of the Sobolev points. As a consequence, the packet performs an -interaction with the corresponding atomic line transition. In both of these cases, the packet is moved to the -interaction location, the interaction will be performed (as will be described in the next section), and the process -of accumulating optical depth starts over. Finally, if the packet reaches the shell boundary before the optical depth -value necessary for a physical interaction is achieved (as in case III), the packet will be moved to the next cell, -the plasma properties will be updated, and the accumulation of optical depth will **restart** in the next cell. - -.. note:: While it would make physical sense for the accumulation of optical depth to continue between cells until the packet eventually interacts, due to the exponential nature of optical depth and interaction probabilities, both continuing and restarting the accumulation of optical depth between cells can be mathematically shown to yield the same overall statistical results. Restarting the optical depth accumulation is computationally easier, and hence it is the method employed by TARDIS. - -Performing an Interaction -------------------------- - -When a physical interaction occurs, whether it is a Thomson scattering or a line interaction, the packet is moved to -the interaction location and a new propagation direction is assigned. Since this process is isotropic, the new -direction is sampled according to (see :ref:`Random Sampling <randomsampling>`) - -.. math:: - - \mu_f = 2 z - 1. - -using a new random :math:`z` (between 0 and 1). - -For Thomson scattering, the energy of the packet in the co-moving frame is conserved, and thus the new energy and -frequency of the packet in the lab frame (due to the doppler effect) is: - -.. math:: - - \varepsilon_f & = \varepsilon_i \frac{1 - \beta \mu_i}{1 - \beta \mu_f} \\ - \nu_f & = \nu_i \frac{1 - \beta \mu_i}{1 - \beta \mu_f} - -Here, the subscripts highlight the packet properties before (:math:`i` for -initial) and after (:math:`f` for final) the scattering. Note that :math:`\mu_i` is the propagation direction prior -to the interaction **but at the interaction location.** - -For line interactions, the energy of the packet after the interaction is still given by the same formula (based on -energy conservation in the co-moving frame). However, the post-interaction frequency depends on the selected line -interaction treatment (see :ref:`Line Interaction Treatments <lineinteraction>`). - -The ratio :math:`\frac{1 - \beta \mu_i}{1 - \beta \mu_f}` can be visualized with the following graph for a plasma -speed of :math:`1.1 \times 10^4` km/s: - -.. plot:: physics/pyplot/plot_mu_in_out_packet.py - - -Implementation: Main Propagation Loop -===================================== - -In summary of the concepts outlined above, the main Monte Carlo process within -TARDIS consists of successively processing all packets with represent the -radiation field emitted by the photosphere in the following way: - -* initialize the packet: assign initial energy, direction and frequency -* launch the packet: now the propagation of this packet is followed until one of the termination events is triggered -* follow the propagation: - * calculate the distance to the next shell and determine the distance to the next physical interaction - * the packet covers the shorter of these two distances: - * if the new shell is reached first, propagate into the shell and recalculate both distances - * if the packet has crossed through the inner domain boundary (photosphere), terminate propagation - * likewise, in case the packet escapes through the outer boundary (ejecta surface): account for contribution to emergent spectrum and terminate propagation - * if the interaction location is reached first, propagate to this location, perform interaction and recalculate both distances - * repeat this procedure until one of the two termination events occurs - -The following flow chart summarizes this process again: - - -.. graphviz:: - - digraph { - start[shape="box", style=rounded, label="Start"]; - end[shape="box", style=rounded, label="End"]; - allpacketsprocessed[shape="diamond", style="", label="All packets\nprocessed?"]; - shortestdistance[shape="diamond", style="", label="Distance to next\nshell shortests?"]; - outeredge[shape="diamond", style="", label="Escaping through\nsurface?"]; - inneredge[shape="diamond", style="", label="Crossing into\nphotosphere?"]; - - nextpacket[shape="box", style="rounded", label="Select next\npacket"]; - initpacket[shape="box", style="rounded", label="Initialize packet"]; - calculatedistances[shape="box", style="rounded", label="Calculated distances:\nto next cell, to next interaction"]; - crossintoshell[shape="box", style="rounded", label="Move packet into\nnext cell"]; - terminate[shape="box", style="rounded", label="Terminate propagation,\ndiscard packet"]; - interact[shape="box", style="rounded", label="Move packet to interaction location,\nperform interaction"]; - spectralcontrib[shape="box", style="rounded", label="Determine contribution to spectrum"]; - - start -> allpacketsprocessed; - allpacketsprocessed -> nextpacket[label="no"]; - allpacketsprocessed -> end[label="yes"]; - - nextpacket -> initpacket; - initpacket -> calculatedistances; - calculatedistances -> shortestdistance; - shortestdistance -> outeredge[label="yes"]; - shortestdistance -> interact[label="no"]; - interact -> calculatedistances; - crossintoshell -> calculatedistances; - outeredge -> spectralcontrib[label="yes"] - outeredge -> inneredge[label="no"] - inneredge -> terminate[label="yes"] - inneredge -> crossintoshell[label="no"]; - spectralcontrib -> terminate; - terminate -> allpacketsprocessed; - - allpacketsprocessed[label="All packets\nprocessed?"] - nextpacket[label="Select next packet\nfrom pool"] - shortestdistance[label="Distance to cell\nedge shortest?"] - - } diff --git a/docs/physics/nlte/nlte_rates.ipynb b/docs/physics/nlte/nlte_rates.ipynb deleted file mode 100644 index 09c5da18a83..00000000000 --- a/docs/physics/nlte/nlte_rates.ipynb +++ /dev/null @@ -1,960 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.plasma.nlte import nlte_data\n", - "from tardis.io.atom_data import download_atom_data\n", - "from tardis.io.atom_data import AtomData\n", - "\n", - "from scipy import sparse\n", - "import pandas as pd\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Atomic Data kurucz_cd23_chianti_H_He already exists in /Users/wkerzend/projects/tardis/tardis-data/kurucz_cd23_chianti_H_He.h5. Will not download - override with force_download=True.\n" - ] - } - ], - "source": [ - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "NLTE_SPECIES = [(1,0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "atom_data = AtomData.from_hdf('kurucz_cd23_chianti_H_He.h5')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/fg/nwmb1mss6kq3hwhj10dt0qh00000gn/T/ipykernel_25979/2147926970.py:1: PerformanceWarning: indexing past lexsort depth may impact performance.\n", - " test = atom_data.lines.loc[NLTE_SPECIES[0]]\n" - ] - } - ], - "source": [ - "test = atom_data.lines.loc[NLTE_SPECIES[0]]" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "325 µs ± 11.2 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n" - ] - } - ], - "source": [ - "%%timeit\n", - "\n", - "test.A_ul.unstack(fill_value=0)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "full_level_multi_index = pd.MultiIndex.from_product([atom_data.levels.loc[NLTE_SPECIES[0]].index, atom_data.levels.loc[NLTE_SPECIES[0]].index])" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th>level_number</th>\n", - " <th>0</th>\n", - " <th>1</th>\n", - " <th>2</th>\n", - " <th>3</th>\n", - " <th>4</th>\n", - " <th>5</th>\n", - " <th>6</th>\n", - " <th>7</th>\n", - " <th>8</th>\n", - " <th>9</th>\n", - " <th>...</th>\n", - " <th>15</th>\n", - " <th>16</th>\n", - " <th>17</th>\n", - " <th>18</th>\n", - " <th>19</th>\n", - " <th>20</th>\n", - " <th>21</th>\n", - " <th>22</th>\n", - " <th>23</th>\n", - " <th>24</th>\n", - " </tr>\n", - " <tr>\n", - " <th>level_number</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>NaN</td>\n", - " <td>6.273665e+08</td>\n", - " <td>NaN</td>\n", - " <td>6.262443e+08</td>\n", - " <td>1.670556e+08</td>\n", - " <td>NaN</td>\n", - " <td>1.664219e+08</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>6.805429e+07</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>3.438596e+07</td>\n", - " <td>NaN</td>\n", - " <td>3.438596e+07</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>2.105076e+06</td>\n", - " <td>NaN</td>\n", - " <td>5.378844e+07</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>429939.240273</td>\n", - " <td>NaN</td>\n", - " <td>7.855694e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>2.244369e+07</td>\n", - " <td>NaN</td>\n", - " <td>2.244401e+07</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>9.661716e+06</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>4.954019e+06</td>\n", - " <td>NaN</td>\n", - " <td>4.945181e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>4.209949e+06</td>\n", - " <td>NaN</td>\n", - " <td>1.079587e+07</td>\n", - " <td>6.474973e+07</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>859850.753800</td>\n", - " <td>NaN</td>\n", - " <td>1.574627e+06</td>\n", - " <td>9.435974e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>302288.604192</td>\n", - " <td>NaN</td>\n", - " <td>2.830168e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>3.062191e+06</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>1.637221e+06</td>\n", - " <td>NaN</td>\n", - " <td>1.633173e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>602531.413900</td>\n", - " <td>NaN</td>\n", - " <td>5.650034e+05</td>\n", - " <td>3.394761e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>7</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>3.479209e+05</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>1.495171e+05</td>\n", - " <td>NaN</td>\n", - " <td>1.491122e+04</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>4.240070e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>8</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>1.379376e+07</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>1.349097e+05</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>3.029557e+05</td>\n", - " <td>4.544335e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>9</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>215292.953168</td>\n", - " <td>NaN</td>\n", - " <td>1.238973e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>7.372768e+05</td>\n", - " <td>NaN</td>\n", - " <td>7.372907e+05</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>11</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>430569.564168</td>\n", - " <td>NaN</td>\n", - " <td>2.477853e+05</td>\n", - " <td>1.482659e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>12</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>1.884757e+05</td>\n", - " <td>NaN</td>\n", - " <td>1.888855e+04</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>2.410167e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>13</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>1.695886e+05</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>1.726362e+05</td>\n", - " <td>2.584466e+06</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>14</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>5.047039e+04</td>\n", - " <td>2.403367e+03</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>3.828462e+06</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>15</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>4.806703e+04</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>2.736774e+05</td>\n", - " <td>4.386991e+06</td>\n", - " </tr>\n", - " <tr>\n", - " <th>16</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>17</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>18</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>19</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>21</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>22</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>23</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " <tr>\n", - " <th>24</th>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>25 rows × 25 columns</p>\n", - "</div>" - ], - "text/plain": [ - "level_number 0 1 2 3 4 5 \\\n", - "level_number \n", - "0 NaN 6.273665e+08 NaN 6.262443e+08 1.670556e+08 NaN \n", - "1 NaN NaN NaN NaN NaN 2.105076e+06 \n", - "2 NaN NaN NaN NaN 2.244369e+07 NaN \n", - "3 NaN NaN NaN NaN NaN 4.209949e+06 \n", - "4 NaN NaN NaN NaN NaN NaN \n", - "5 NaN NaN NaN NaN NaN NaN \n", - "6 NaN NaN NaN NaN NaN NaN \n", - "7 NaN NaN NaN NaN NaN NaN \n", - "8 NaN NaN NaN NaN NaN NaN \n", - "9 NaN NaN NaN NaN NaN NaN \n", - "10 NaN NaN NaN NaN NaN NaN \n", - "11 NaN NaN NaN NaN NaN NaN \n", - "12 NaN NaN NaN NaN NaN NaN \n", - "13 NaN NaN NaN NaN NaN NaN \n", - "14 NaN NaN NaN NaN NaN NaN \n", - "15 NaN NaN NaN NaN NaN NaN \n", - "16 NaN NaN NaN NaN NaN NaN \n", - "17 NaN NaN NaN NaN NaN NaN \n", - "18 NaN NaN NaN NaN NaN NaN \n", - "19 NaN NaN NaN NaN NaN NaN \n", - "20 NaN NaN NaN NaN NaN NaN \n", - "21 NaN NaN NaN NaN NaN NaN \n", - "22 NaN NaN NaN NaN NaN NaN \n", - "23 NaN NaN NaN NaN NaN NaN \n", - "24 NaN NaN NaN NaN NaN NaN \n", - "\n", - "level_number 6 7 8 9 ... \\\n", - "level_number ... \n", - "0 1.664219e+08 NaN NaN 6.805429e+07 ... \n", - "1 NaN 5.378844e+07 NaN NaN ... \n", - "2 2.244401e+07 NaN NaN 9.661716e+06 ... \n", - "3 NaN 1.079587e+07 6.474973e+07 NaN ... \n", - "4 NaN NaN NaN NaN ... \n", - "5 NaN NaN NaN 3.062191e+06 ... \n", - "6 NaN NaN NaN NaN ... \n", - "7 NaN NaN NaN 3.479209e+05 ... \n", - "8 NaN NaN NaN NaN ... \n", - "9 NaN NaN NaN NaN ... \n", - "10 NaN NaN NaN NaN ... \n", - "11 NaN NaN NaN NaN ... \n", - "12 NaN NaN NaN NaN ... \n", - "13 NaN NaN NaN NaN ... \n", - "14 NaN NaN NaN NaN ... \n", - "15 NaN NaN NaN NaN ... \n", - "16 NaN NaN NaN NaN ... \n", - "17 NaN NaN NaN NaN ... \n", - "18 NaN NaN NaN NaN ... \n", - "19 NaN NaN NaN NaN ... \n", - "20 NaN NaN NaN NaN ... \n", - "21 NaN NaN NaN NaN ... \n", - "22 NaN NaN NaN NaN ... \n", - "23 NaN NaN NaN NaN ... \n", - "24 NaN NaN NaN NaN ... \n", - "\n", - "level_number 15 16 17 18 \\\n", - "level_number \n", - "0 NaN 3.438596e+07 NaN 3.438596e+07 \n", - "1 NaN NaN 429939.240273 NaN \n", - "2 NaN 4.954019e+06 NaN 4.945181e+06 \n", - "3 NaN NaN 859850.753800 NaN \n", - "4 NaN NaN 302288.604192 NaN \n", - "5 NaN 1.637221e+06 NaN 1.633173e+06 \n", - "6 NaN NaN 602531.413900 NaN \n", - "7 NaN 1.495171e+05 NaN 1.491122e+04 \n", - "8 1.379376e+07 NaN NaN 1.349097e+05 \n", - "9 NaN NaN 215292.953168 NaN \n", - "10 NaN 7.372768e+05 NaN 7.372907e+05 \n", - "11 NaN NaN 430569.564168 NaN \n", - "12 NaN 1.884757e+05 NaN 1.888855e+04 \n", - "13 NaN NaN NaN 1.695886e+05 \n", - "14 NaN NaN NaN NaN \n", - "15 NaN NaN NaN NaN \n", - "16 NaN NaN NaN NaN \n", - "17 NaN NaN NaN NaN \n", - "18 NaN NaN NaN NaN \n", - "19 NaN NaN NaN NaN \n", - "20 NaN NaN NaN NaN \n", - "21 NaN NaN NaN NaN \n", - "22 NaN NaN NaN NaN \n", - "23 NaN NaN NaN NaN \n", - "24 NaN NaN NaN NaN \n", - "\n", - "level_number 19 20 21 22 \\\n", - "level_number \n", - "0 NaN NaN NaN NaN \n", - "1 7.855694e+06 NaN NaN NaN \n", - "2 NaN NaN NaN NaN \n", - "3 1.574627e+06 9.435974e+06 NaN NaN \n", - "4 2.830168e+06 NaN NaN NaN \n", - "5 NaN NaN NaN NaN \n", - "6 5.650034e+05 3.394761e+06 NaN NaN \n", - "7 NaN NaN 4.240070e+06 NaN \n", - "8 NaN NaN 3.029557e+05 4.544335e+06 \n", - "9 1.238973e+06 NaN NaN NaN \n", - "10 NaN NaN NaN NaN \n", - "11 2.477853e+05 1.482659e+06 NaN NaN \n", - "12 NaN NaN 2.410167e+06 NaN \n", - "13 NaN NaN 1.726362e+05 2.584466e+06 \n", - "14 5.047039e+04 2.403367e+03 NaN NaN \n", - "15 NaN 4.806703e+04 NaN NaN \n", - "16 NaN NaN NaN NaN \n", - "17 NaN NaN NaN NaN \n", - "18 NaN NaN NaN NaN \n", - "19 NaN NaN NaN NaN \n", - "20 NaN NaN NaN NaN \n", - "21 NaN NaN NaN NaN \n", - "22 NaN NaN NaN NaN \n", - "23 NaN NaN NaN NaN \n", - "24 NaN NaN NaN NaN \n", - "\n", - "level_number 23 24 \n", - "level_number \n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "3 NaN NaN \n", - "4 NaN NaN \n", - "5 NaN NaN \n", - "6 NaN NaN \n", - "7 NaN NaN \n", - "8 NaN NaN \n", - "9 NaN NaN \n", - "10 NaN NaN \n", - "11 NaN NaN \n", - "12 NaN NaN \n", - "13 NaN NaN \n", - "14 3.828462e+06 NaN \n", - "15 2.736774e+05 4.386991e+06 \n", - "16 NaN NaN \n", - "17 NaN NaN \n", - "18 NaN NaN \n", - "19 NaN NaN \n", - "20 NaN NaN \n", - "21 NaN NaN \n", - "22 NaN NaN \n", - "23 NaN NaN \n", - "24 NaN NaN \n", - "\n", - "[25 rows x 25 columns]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "test.reindex(full_level_multi_index, fill_value=np.nan).A_ul.unstack(fill_value=0)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tardis-devel", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.1.0" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/physics/plasma/construction_simple_plasma.ipynb b/docs/physics/plasma/construction_simple_plasma.ipynb deleted file mode 100644 index 10b53802885..00000000000 --- a/docs/physics/plasma/construction_simple_plasma.ipynb +++ /dev/null @@ -1,220 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Constructing a simple thermal plasma" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/wkerzend/python/tardis/tardis/__init__.py:20: UserWarning: Astropy is already imported externally. Astropy should be imported after TARDIS.\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "adc8142e04de4ac4ad9fb6d9eba83286", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36b88ed7168e46c8864e17b0107f8f71", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Packets: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "from astropy import units as u\n", - "\n", - "from tardis.io.atom_data import AtomData\n", - "from tardis.plasma.assembly.base import PlasmaSolverFactory\n", - "from tardis.plasma.radiation_field import DilutePlanckianRadiationField\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the default configuration the plasma solver assumes the conditions for a Local Thermodynamic Equilibrium meaning a planckian radiation field and a maxwellian electron velocity distribution at the same templerature" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "NO_OF_CELLS = 1000\n", - "temperatures_rad = np.ones(NO_OF_CELLS) * 10000 * u.K\n", - "dilution_factor = np.ones(NO_OF_CELLS) * 0.1" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "d_radfield = DilutePlanckianRadiationField(temperature=temperatures_rad, dilution_factor=dilution_factor)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "base_density = 1e-15 * u.Unit('g/cm^3')\n", - "number_densities = pd.DataFrame(columns=range(NO_OF_CELLS), index=[1,26,28])\n", - "number_densities.values[:] = 0.5 * (base_density / u.u).to(1/u.cm**3).value\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "atom_data = AtomData.from_hdf('kurucz_cd23_chianti_H_He.h5')\n", - "plasma_solver_factory = PlasmaSolverFactory(atom_data, selected_atomic_numbers=[1,26,28])\n", - "plasma_solver_factory.setup_factory()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th>0</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"2\" valign=\"top\">1</th>\n", - " <th>0</th>\n", - " <td>2.245918e-04</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>3.011070e+08</td>\n", - " </tr>\n", - " <tr>\n", - " <th rowspan=\"3\" valign=\"top\">2</th>\n", - " <th>0</th>\n", - " <td>1.405189e-15</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>2.206015e-03</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>3.011070e+08</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " 0\n", - "atomic_number ion_number \n", - "1 0 2.245918e-04\n", - " 1 3.011070e+08\n", - "2 0 1.405189e-15\n", - " 1 2.206015e-03\n", - " 2 3.011070e+08" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plasma_solver.ion_number_density" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/physics/plasma/detailed_balance/collisional_rate_coefficients.hdf b/docs/physics/plasma/detailed_balance/collisional_rate_coefficients.hdf deleted file mode 100644 index 338b62012ca..00000000000 Binary files a/docs/physics/plasma/detailed_balance/collisional_rate_coefficients.hdf and /dev/null differ diff --git a/docs/physics/plasma/detailed_balance/comparison.ipynb b/docs/physics/plasma/detailed_balance/comparison.ipynb deleted file mode 100644 index f15ceb6145c..00000000000 --- a/docs/physics/plasma/detailed_balance/comparison.ipynb +++ /dev/null @@ -1,2132 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6ce91876833548fe8cd8c4c486b6e70a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5fd7f05b61ff4d5080726af72e29fd6c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Packets: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from astropy import units as u\n", - "\n", - "from tardis.io.atom_data import AtomData\n", - "from tardis.plasma.detailed_balance.rates import (\n", - " RadiativeRatesSolver,\n", - " ThermalCollisionalRateSolver,\n", - " UpsilonRegemorterSolver,\n", - ")\n", - "from tardis.plasma.radiation_field import (\n", - " DilutePlanckianRadiationField,\n", - " PlanckianRadiationField,\n", - ")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.model.base import SimulationState\n", - "\n", - "config = Configuration.from_yaml(\"test_continuum_template_wkerzen_rate_coeffs.yml\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "def get_radiative_rates(rad_field, radiative_transitions):\n", - " rad_rate_solver = RadiativeRatesSolver(radiative_transitions)\n", - " return rad_rate_solver.solve(rad_field)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def get_estimated_upsilon_rates(temperature, radiative_transitions):\n", - " col_strength_solver = UpsilonRegemorterSolver(radiative_transitions)\n", - " return col_strength_solver.solve(temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "def get_cmfgen_collisional_rates(atom_data, temperature, radiative_transitions,):\n", - " col_strength_temperatures = atom_data.collision_data_temperatures\n", - " col_strengths = atom_data.yg_data.loc[(1,0, slice(None), slice(None)), :]\n", - " collisional_rate_solver = ThermalCollisionalRateSolver(atom_data.levels, radiative_transitions, col_strength_temperatures, col_strengths, 'cmfgen')\n", - " return collisional_rate_solver.solve(temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "def get_chianti_collisional_rates(atom_data, temperature, radiative_transitions,):\n", - " col_strength_temperatures = atom_data.collision_data_temperatures\n", - " col_strengths = atom_data.collision_data.loc[(1,0, slice(None), slice(None)), :]\n", - " collisional_rate_solver = ThermalCollisionalRateSolver(atom_data.levels, radiative_transitions, col_strength_temperatures, col_strengths, 'chianti')\n", - " return collisional_rate_solver.solve(temperature)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Chianti rates" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "chianti_atom_data = AtomData.from_hdf('/home/afullard/carsus/docs/kurucz_cd23_chianti_H_He.h5')\n", - "chianti_radiative_transitions = chianti_atom_data.lines.loc[(1,0, slice(None), slice(None)), :]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Number of density points larger than number of shells. Assuming inner point irrelevant\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "\n", - "chianti_sim_state = SimulationState.from_config(config, atom_data=chianti_atom_data)\n", - "\n", - "reference_coeff = pd.HDFStore(\"collisional_rate_coefficients.hdf\")\n", - "reference_rate_coeff_df = pd.concat([reference_coeff[\"coll_exc_coeff\"], reference_coeff[\"coll_deexc_coeff\"].reorder_levels([0,1,3,2])])\n", - "\n", - "temperature = reference_coeff[\"t_electrons\"].values * u.K\n", - "rad_field = PlanckianRadiationField(temperature=temperature)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Chianti data comes from Carsus as `g_ratio = g_lower / g_upper`, `delta_E = energy_upper - energy_lower`, and a table of `beta_coll * upsilon / (g_upper * sqrt(T))`. See eq 9.57 Hubeny and Mihelas. Multiply by the boltzmann factor `exp(-delta_E / k * T)` to get the excitation rate. De-excitation rate should be `Excitation rate * (g_upper / g_lower) / boltzmann_factor` which for the Chianti data is `Excitation rate * (1 / g_ratio) / boltzmann_factor`" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "chianti_radiative_rates = get_radiative_rates(rad_field, chianti_radiative_transitions)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "chianti_upsilon_rates = get_estimated_upsilon_rates(temperature, chianti_radiative_transitions)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "chianti_collisional_rates = get_chianti_collisional_rates(chianti_atom_data, temperature, chianti_radiative_transitions)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Raw Chianti upsilon/g values currently differ from CMFGEN by factor of ~10^-7. Delta energies are the same (within data error). Chianti level data is very different. `g` values are basically the same ballpark though. Conversion of Chianti rate data into upsilon/g seems correct, but there may be an extra Boltzmann factor in the Chianti data. Changed to divide by lower level `g` to match CMFGEN." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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xOn3nXCVT9oKJ9e6Tux1rXffvHrX01La//3L1FFnXevVFxpUQkJ926pv3oPCTAPnUYtjQNI0p/4DRG9s2Mm8zhCBhwcVoscmqeeEdO8EV8eJp875dZ2kGrB+nSc3ad3r1ltbPfuud9t11KayrKT+bWvVU98jBY46tl1XsHhoAKjrfWv4EClE7QEDkqYpzQayrqq7ClUSLaicFBVOCErzIFH9g13fssrz69zP/cs85AR6r97GbgPKdSofxyOezBs073G208BlIFE6ATf2iydTImr7GJA0TeAEwGNAA07aDzghAg08eUru2+6DluXJkIiI2hcGJE1j6VH7RURERGqjpe4CiIiIiDQNAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpIQBiYiIiEgJAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpIQBiYiIiEgJAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpIQBiYiIiEgJAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpIQBiYiIiEgJAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpIQBiYiIiEgJAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpIQBiYiIiEgJAxIRERGREgYkIiIiIiUMSERERERKGJCIiIiIlDAgERERESlhQCIiIiJSwoBEREREpKRdBKTRo0fDwsICzz//vMq83bt3w9vbG506dcI333yjhuqIiIhI07SLgPT666/ju+++U5leXV2N+fPn4/Dhwzh37hxWrlyJ3NxcNVRIREREmqRdBKTQ0FCYmJioTD99+jT8/f3h5OQEExMTDB8+HPv27VNDhURERKRJ1B6Qjh07hhEjRsDR0RESiQS7du1SWWbdunXw8PCAvr4+goKCcPz48SbZd2pqKpycnOSvnZ2dkZKS0iTbJiIiotZL7QGppKQEXbt2xZdfflnn/G3btmHevHlYtGgRzp8/j/79+2PYsGFITk6WLxMUFISAgACVr9TU1AfuWwihMk0ikTzeAREREVGrp63uAoYNG4Zhw4bVO3/VqlWYNm0aXnnlFQDA6tWrsW/fPkRGRiIiIgIAEB0d3ah9Ozk5KbQY3blzBz179qxz2YqKClRUVMhfFxYWNmqfREREpPnU3oL0IJWVlYiOjkZYWJjC9LCwMJw4ceKxt//EE0/g8uXLSElJQVFREfbu3Yvw8PA6l42IiICZmZn8y8XF5bH3T0RERJpJowNSdnY2ampqYGdnpzDdzs4O6enpDd5OeHg4xowZg71798LZ2RlnzpwBAGhra+Nf//oXQkND0a1bN7z99tuwsrKqcxsLFy5EQUGB/Ov27duNPzAiIiLSaGq/xNYQyv2ChBCP1FfoQXemPfPMM3jmmWceug09PT3o6ek1eJ9ERETUeml0C5K1tTWkUqlKa1FmZqZKqxIRERFRU9HogKSrq4ugoCAcOHBAYfqBAwfQp08fNVVFREREbZ3aL7EVFxfjxo0b8tdJSUmIiYmBpaUlXF1dMX/+fEycOBHBwcHo3bs31q9fj+TkZMyYMUONVRMREVFbpvaAdPbsWYSGhspfz58/HwAwadIkbNq0CePGjUNOTg6WLVuGtLQ0BAQEYO/evXBzc1NXyURERNTGSURdoyXSQxUWFsLMzAwFBQUwNTVVdzlERETUAA09f2t0HyQiIiIidWBAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiUMCARERERKWFAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiUMCARERERKWFAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiUMCARERERKWFAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiUMCARERERKWFAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiUMCARERERKWFAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiUMCARERERKWFAIiIiIlLCgERERESkhAGJiIiISAkDEhEREZESBiQiIiIiJQxIREREREoYkIiIiIiU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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "chianti_collisional_rates.loc[1,0,0,1].plot(logy=True,label=\"TARDIS exc\",legend=True)\n", - "chianti_collisional_rates.loc[1,0,1,0].plot(logy=True,label=\"TARDIS deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,0,1].plot(logy=True,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,0,1].plot(logy=True,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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7NOnVbetVCphb29/0/N3h2wyqa6uRkJCAl566SWN6dHR0Th27FiztyOXy+Hq6oqLFy/i+PHj+O9//9vosmvWrMFrr73W4pqb0lnSf2c5DqDzHIux/UXWUjwO42Lm6qpzwrUICWn1E1lb43FQUzpkQMrPz0ddXR3c3Nw0pru5uSE3N7fZ25k0aRKKiopgbW2NTZs2NXmJbenSpYiJiVG/b2hBag2d5ZdmZzkOoPMcS2f5xcnjIOpaTF1c4Pzsswb9XdshA1IDiUSi8V4IoTOtKbfS2iSTySCTyZq9/K3oLL80O8txAJ3rWIjakjGcyFoDj8O4mLm6GryVvkMGJGdnZ0ilUp3WIrlcrtOqRET1OssvTh6HcTGGE1lr4HGQNqO9zb8p5ubmiIiIQFxcnMb0uLg4DB482EBVtY7O8kuzsxwH0HmOpeEXZ0frrKmNx0FE7cFoW5BKS0uRmpqqfp+eno7ExEQ4OjrCx8cHMTExmD59OiIjIzFo0CBs2LABmZmZmDt3rgGrvn2dJf13luMAOtexEBFR8xhtQDp58iSioqLU7xs6SM+YMQObN2/GlClTUFBQgJUrVyInJwehoaHYs2cPfH19DVUyERERdRIdYhwkY9TccRSIiIjIeDT3/N0h+yARERERtSUGJCIiIiItDEhEREREWhiQiIiIiLQwIBERERFpYUAiIiIi0sKARERERKSFAYmIiIhICwMSERERkRYGJCIiIiItDEhEREREWhiQiIiIiLQwIBERERFpYUAiIiIi0sKARERERKSFAYmIiIhICwMSERERkRYGJCIiIiItDEhEREREWhiQiIiIiLQwIBERERFpYUAiIiIi0sKARERERKSFAYmIiIhICwMSERERkRYGJCIiIiItDEhEREREWhiQiIiIiLQwIBERERFpYUAiIiIi0sKARERERKSFAYmIiIhICwMSERERkRYGJCIiIiItDEhEREREWhiQiIiIiLQwIBERERFpYUAiIiIi0sKARERERKSFAYmIiIhICwMSERERkRYGJCIiIiItDEhEREREWhiQiIiIiLQwIBERERFpYUAiIiIi0sKARERERKSFAYmIiIhICwMSERERkRYGJCIiIiItDEhEREREWrpEQJo8eTK6deuGhx566JbmERERUdfUJQLSwoUL8fnnn9/yPCIiIuqaukRAioqKgq2t7S3PIyIi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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "chianti_collisional_rates.loc[1,0,0,2].plot(logy=True,label=\"TARDIS exc\",legend=True)\n", - "chianti_collisional_rates.loc[1,0,2,0].plot(logy=True,label=\"TARDIS deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,0,2].plot(logy=True,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,0,2].plot(logy=True,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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J05sdv27776L+fPn45lnngEAvP/++zhy5AgiIiKwadMmAEB0dHSH17lp0yasW7euw89DREREuqfzLraWVFVVITo6GqGhoWrLQ0NDcfr06U6tZeXKlVAoFKpXWlpap56fiIiIOo/OW5Bakpubi9raWjg5Oaktd3JyQmZmZquPExYWhvPnz6O0tBRubm7Yt28fhg8ffsd1jclkMshksnu7ICIiIuoS9DogNZBIJGrvhRBay1py5MiRNq0jIiKinkmvu9js7e0hlUq1Wouys7O1WpWIiIiI2oteByRjY2MEBgYiMjJSbXlkZCSCg4N1VBURERF1dzrvYispKUFSUpLqfUpKCmJjY2FrawsPDw+Eh4dj9uzZCAoKwsiRI7Ft2zakpqZi4cKFOqyaiIiIujOdB6Rz584hJCRE9T48PBwAMGfOHOzcuRMzZsxAXl4e1q9fj4yMDAQEBODQoUPw9PTUVclERETUzUmEEELXRXRFRUVFsLKygkKhgKWlpa7LISIiolZo7f1br8cgEREREekCAxIRERGRBgYkIiIiIg0MSEREREQaGJCIiIiINDAgEREREWlgQCIiIiLSwIBEREREpIEBiYiIiEgDAxIRERGRBgYkIiIiIg0MSEREREQaGJCIiIiINDAgEREREWlgQCIiIiLSwIBEREREpIEBiYiIiEgDAxIRERGRBgYkIiIiIg0MSEREREQaGJCIiIiINDAgEREREWlgQCIiIiLSwIBEREREpIEBiYiIiEgDAxIRERGRBgYkIiIiIg0MSEREREQaGJCIiIiINDAgEREREWlgQCIiIiLSwIBEREREpIEBiYiIiEgDAxIRERGRBgYkIiIiIg0MSEREREQaGJCIiIiINDAgEREREWlgQCIiIiLSwIBEREREpIEBiYiIiEgDAxIRERGRBgYkIiIiIg0MSEREREQaekRAmjp1KmxsbDB9+nS15cXFxRg+fDiGDBmCgQMHYvv27TqqkIiIiPSJRAghdF1ERztx4gRKSkqwa9cu7NmzR7W8trYWlZWVMDU1RVlZGQICAvDnn3/Czs7ujscsKiqClZUVFAoFLC0tO7J8IiIiaietvX/3iBakkJAQWFhYaC2XSqUwNTUFAFRUVKC2thY9IC8SERHRHeg8IJ08eRKTJk2Cq6srJBIJ9u/fr7XN1q1b4e3tDblcjsDAQJw6dardzl9Y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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "chianti_collisional_rates.loc[1,0,0,3].plot(logy=True,label=\"TARDIS exc\",legend=True)\n", - "chianti_collisional_rates.loc[1,0,3,0].plot(logy=True,label=\"TARDIS deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,0,3].plot(logy=True,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,0,3].plot(logy=True,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## CMFGEN collisional rates" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_atom_data = AtomData.from_hdf('/home/afullard/tardis-refdata/nlte_atom_data/TestNLTE_He_Ti.h5')\n", - "cmfgen_radiative_transitions = cmfgen_atom_data.lines.loc[(1,0, slice(None), slice(None)), :]" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Number of density points larger than number of shells. Assuming inner point irrelevant\n" - ] - } - ], - "source": [ - "cmfgen_sim_state = SimulationState.from_config(config, atom_data=cmfgen_atom_data)\n", - "\n", - "temperature = reference_coeff[\"t_electrons\"].values * u.K\n", - "rad_field = PlanckianRadiationField(temperature=temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_radiative_rates = get_radiative_rates(rad_field, cmfgen_radiative_transitions)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_upsilon_rates = get_estimated_upsilon_rates(temperature, cmfgen_radiative_transitions)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_collisional_rates = get_cmfgen_collisional_rates(cmfgen_atom_data, temperature, cmfgen_radiative_transitions)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>0</th>\n", - " <th>1</th>\n", - " <th>2</th>\n", - " <th>3</th>\n", - " <th>4</th>\n", - " <th>5</th>\n", - " <th>6</th>\n", - " <th>7</th>\n", - " <th>8</th>\n", - " <th>9</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_source</th>\n", - " <th>level_number_destination</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">1</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th rowspan=\"5\" valign=\"top\">0</th>\n", - " <th>1</th>\n", - " <td>1.267799e-13</td>\n", - " <td>7.409859e-14</td>\n", - " <td>4.118523e-14</td>\n", - " <td>2.162077e-14</td>\n", - " <td>1.063159e-14</td>\n", - " <td>4.847581e-15</td>\n", - " <td>2.024099e-15</td>\n", - " <td>7.620206e-16</td>\n", - " <td>2.536409e-16</td>\n", - " <td>7.279789e-17</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>3.356946e-15</td>\n", - " <td>1.788862e-15</td>\n", - " <td>8.989059e-16</td>\n", - " <td>4.223418e-16</td>\n", - " <td>1.836457e-16</td>\n", - " <td>7.299014e-17</td>\n", - " <td>2.611509e-17</td>\n", - " <td>8.253727e-18</td>\n", - " <td>2.250262e-18</td>\n", - " <td>5.134854e-19</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>1.989207e-16</td>\n", - " <td>9.873436e-17</td>\n", - " <td>4.586649e-17</td>\n", - " <td>1.978074e-17</td>\n", - " <td>7.842777e-18</td>\n", - " <td>2.825076e-18</td>\n", - " <td>9.111826e-19</td>\n", - " <td>2.584272e-19</td>\n", - " <td>6.299419e-20</td>\n", - " <td>1.281514e-20</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>1.370295e-16</td>\n", - " <td>6.868098e-17</td>\n", - " <td>3.227971e-17</td>\n", - " <td>1.410044e-17</td>\n", - " <td>5.663413e-18</td>\n", - " <td>2.064314e-18</td>\n", - " <td>6.719253e-19</td>\n", - " <td>1.914254e-19</td>\n", - " <td>4.654151e-20</td>\n", - " <td>9.350735e-21</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>6.270420e-17</td>\n", - " <td>3.114708e-17</td>\n", - " <td>1.449558e-17</td>\n", - " <td>6.263862e-18</td>\n", - " <td>2.486059e-18</td>\n", - " <td>8.942955e-19</td>\n", - " <td>2.868524e-19</td>\n", - " <td>8.039333e-20</td>\n", - " <td>1.918916e-20</td>\n", - " <td>3.775645e-21</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>28</th>\n", - " <th>26</th>\n", - " <td>7.195997e-03</td>\n", - " <td>7.293750e-03</td>\n", - " <td>7.396148e-03</td>\n", - " <td>7.503646e-03</td>\n", - " <td>7.616808e-03</td>\n", - " <td>7.736337e-03</td>\n", - " <td>7.863108e-03</td>\n", - " <td>7.998223e-03</td>\n", - " <td>8.143076e-03</td>\n", - " <td>8.299442e-03</td>\n", - " </tr>\n", - " <tr>\n", - " <th>29</th>\n", - " <th>26</th>\n", - " <td>1.417282e-03</td>\n", - " <td>1.436124e-03</td>\n", - " <td>1.455952e-03</td>\n", - " <td>1.476829e-03</td>\n", - " <td>1.498839e-03</td>\n", - " <td>1.522089e-03</td>\n", - " <td>1.546719e-03</td>\n", - " <td>1.572907e-03</td>\n", - " <td>1.600884e-03</td>\n", - " <td>1.630950e-03</td>\n", - " </tr>\n", - " <tr>\n", - " <th>28</th>\n", - " <th>27</th>\n", - " <td>1.326055e-01</td>\n", - " <td>1.345468e-01</td>\n", - " <td>1.365893e-01</td>\n", - " <td>1.387426e-01</td>\n", - " <td>1.410185e-01</td>\n", - " <td>1.434318e-01</td>\n", - " <td>1.460005e-01</td>\n", - " <td>1.487475e-01</td>\n", - " <td>1.517012e-01</td>\n", - " <td>1.548981e-01</td>\n", - " </tr>\n", - " <tr>\n", - " <th rowspan=\"2\" valign=\"top\">29</th>\n", - " <th>27</th>\n", - " <td>8.433900e-03</td>\n", - " <td>8.553185e-03</td>\n", - " <td>8.679063e-03</td>\n", - " <td>8.811975e-03</td>\n", - " <td>8.952486e-03</td>\n", - " <td>9.101318e-03</td>\n", - " <td>9.259392e-03</td>\n", - " <td>9.427886e-03</td>\n", - " <td>9.608311e-03</td>\n", - " <td>9.802624e-03</td>\n", - " </tr>\n", - " <tr>\n", - " <th>28</th>\n", - " <td>1.551432e-01</td>\n", - " <td>1.574200e-01</td>\n", - " <td>1.598144e-01</td>\n", - " <td>1.623386e-01</td>\n", - " <td>1.650073e-01</td>\n", - " <td>1.678385e-01</td>\n", - " <td>1.708545e-01</td>\n", - " <td>1.740831e-01</td>\n", - " <td>1.775591e-01</td>\n", - " <td>1.813264e-01</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>870 rows × 10 columns</p>\n", - "</div>" - ], - "text/plain": [ - " 0 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.267799e-13 \n", - " 2 3.356946e-15 \n", - " 3 1.989207e-16 \n", - " 4 1.370295e-16 \n", - " 5 6.270420e-17 \n", - "... ... \n", - " 28 26 7.195997e-03 \n", - " 29 26 1.417282e-03 \n", - " 28 27 1.326055e-01 \n", - " 29 27 8.433900e-03 \n", - " 28 1.551432e-01 \n", - "\n", - " 1 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 7.409859e-14 \n", - " 2 1.788862e-15 \n", - " 3 9.873436e-17 \n", - " 4 6.868098e-17 \n", - " 5 3.114708e-17 \n", - "... ... \n", - " 28 26 7.293750e-03 \n", - " 29 26 1.436124e-03 \n", - " 28 27 1.345468e-01 \n", - " 29 27 8.553185e-03 \n", - " 28 1.574200e-01 \n", - "\n", - " 2 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 4.118523e-14 \n", - " 2 8.989059e-16 \n", - " 3 4.586649e-17 \n", - " 4 3.227971e-17 \n", - " 5 1.449558e-17 \n", - "... ... \n", - " 28 26 7.396148e-03 \n", - " 29 26 1.455952e-03 \n", - " 28 27 1.365893e-01 \n", - " 29 27 8.679063e-03 \n", - " 28 1.598144e-01 \n", - "\n", - " 3 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 2.162077e-14 \n", - " 2 4.223418e-16 \n", - " 3 1.978074e-17 \n", - " 4 1.410044e-17 \n", - " 5 6.263862e-18 \n", - "... ... \n", - " 28 26 7.503646e-03 \n", - " 29 26 1.476829e-03 \n", - " 28 27 1.387426e-01 \n", - " 29 27 8.811975e-03 \n", - " 28 1.623386e-01 \n", - "\n", - " 4 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.063159e-14 \n", - " 2 1.836457e-16 \n", - " 3 7.842777e-18 \n", - " 4 5.663413e-18 \n", - " 5 2.486059e-18 \n", - "... ... \n", - " 28 26 7.616808e-03 \n", - " 29 26 1.498839e-03 \n", - " 28 27 1.410185e-01 \n", - " 29 27 8.952486e-03 \n", - " 28 1.650073e-01 \n", - "\n", - " 5 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 4.847581e-15 \n", - " 2 7.299014e-17 \n", - " 3 2.825076e-18 \n", - " 4 2.064314e-18 \n", - " 5 8.942955e-19 \n", - "... ... \n", - " 28 26 7.736337e-03 \n", - " 29 26 1.522089e-03 \n", - " 28 27 1.434318e-01 \n", - " 29 27 9.101318e-03 \n", - " 28 1.678385e-01 \n", - "\n", - " 6 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 2.024099e-15 \n", - " 2 2.611509e-17 \n", - " 3 9.111826e-19 \n", - " 4 6.719253e-19 \n", - " 5 2.868524e-19 \n", - "... ... \n", - " 28 26 7.863108e-03 \n", - " 29 26 1.546719e-03 \n", - " 28 27 1.460005e-01 \n", - " 29 27 9.259392e-03 \n", - " 28 1.708545e-01 \n", - "\n", - " 7 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 7.620206e-16 \n", - " 2 8.253727e-18 \n", - " 3 2.584272e-19 \n", - " 4 1.914254e-19 \n", - " 5 8.039333e-20 \n", - "... ... \n", - " 28 26 7.998223e-03 \n", - " 29 26 1.572907e-03 \n", - " 28 27 1.487475e-01 \n", - " 29 27 9.427886e-03 \n", - " 28 1.740831e-01 \n", - "\n", - " 8 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 2.536409e-16 \n", - " 2 2.250262e-18 \n", - " 3 6.299419e-20 \n", - " 4 4.654151e-20 \n", - " 5 1.918916e-20 \n", - "... ... \n", - " 28 26 8.143076e-03 \n", - " 29 26 1.600884e-03 \n", - " 28 27 1.517012e-01 \n", - " 29 27 9.608311e-03 \n", - " 28 1.775591e-01 \n", - "\n", - " 9 \n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 7.279789e-17 \n", - " 2 5.134854e-19 \n", - " 3 1.281514e-20 \n", - " 4 9.350735e-21 \n", - " 5 3.775645e-21 \n", - "... ... \n", - " 28 26 8.299442e-03 \n", - " 29 26 1.630950e-03 \n", - " 28 27 1.548981e-01 \n", - " 29 27 9.802624e-03 \n", - " 28 1.813264e-01 \n", - "\n", - "[870 rows x 10 columns]" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cmfgen_collisional_rates" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>0</th>\n", - " <th>1</th>\n", - " <th>2</th>\n", - " <th>3</th>\n", - " <th>4</th>\n", - " <th>5</th>\n", - " <th>6</th>\n", - " <th>7</th>\n", - " <th>8</th>\n", - " <th>9</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_source</th>\n", - " <th>level_number_destination</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">1</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th rowspan=\"5\" valign=\"top\">0</th>\n", - " <th>1</th>\n", - " <td>1.947332e-14</td>\n", - " <td>1.150685e-14</td>\n", - " <td>6.471781e-15</td>\n", - " <td>3.439696e-15</td>\n", - " <td>1.712729e-15</td>\n", - " <td>7.906211e-16</td>\n", - " <td>3.340165e-16</td>\n", - " <td>1.271031e-16</td>\n", - " <td>4.270088e-17</td>\n", - " <td>1.234665e-17</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>3.641834e-14</td>\n", - " <td>2.151969e-14</td>\n", - " <td>1.210328e-14</td>\n", - " <td>6.432783e-15</td>\n", - " <td>3.203073e-15</td>\n", - " <td>1.478585e-15</td>\n", - " <td>6.246623e-16</td>\n", - " <td>2.377021e-16</td>\n", - " <td>7.985702e-17</td>\n", - " <td>2.309004e-17</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>3.896169e-14</td>\n", - " <td>2.302253e-14</td>\n", - " <td>1.294850e-14</td>\n", - " <td>6.881995e-15</td>\n", - " <td>3.426742e-15</td>\n", - " <td>1.581830e-15</td>\n", - " <td>6.682786e-16</td>\n", - " <td>2.542985e-16</td>\n", - " <td>8.543234e-17</td>\n", - " <td>2.470200e-17</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>5.387536e-16</td>\n", - " <td>2.876504e-16</td>\n", - " <td>1.448241e-16</td>\n", - " <td>6.817268e-17</td>\n", - " <td>2.969700e-17</td>\n", - " <td>1.182313e-17</td>\n", - " <td>4.236734e-18</td>\n", - " <td>1.340854e-18</td>\n", - " <td>3.659825e-19</td>\n", - " <td>8.358726e-20</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>1.026299e-15</td>\n", - " <td>5.479599e-16</td>\n", - " <td>2.758829e-16</td>\n", - " <td>1.298656e-16</td>\n", - " <td>5.657133e-17</td>\n", - " <td>2.252248e-17</td>\n", - " <td>8.070772e-18</td>\n", - " <td>2.554261e-18</td>\n", - " <td>6.971787e-19</td>\n", - " <td>1.592296e-19</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <th>14</th>\n", - " <td>1.012879e-08</td>\n", - " <td>1.010773e-08</td>\n", - " <td>1.008320e-08</td>\n", - " <td>1.005477e-08</td>\n", - " <td>1.002191e-08</td>\n", - " <td>9.984012e-09</td>\n", - " <td>9.940370e-09</td>\n", - " <td>9.890124e-09</td>\n", - " <td>9.832251e-09</td>\n", - " <td>9.765511e-09</td>\n", - " </tr>\n", - " <tr>\n", - " <th>23</th>\n", - " <th>14</th>\n", - " <td>1.613469e-05</td>\n", - " <td>1.610114e-05</td>\n", - " <td>1.606207e-05</td>\n", - " <td>1.601678e-05</td>\n", - " <td>1.596443e-05</td>\n", - " <td>1.590407e-05</td>\n", - " <td>1.583455e-05</td>\n", - " <td>1.575451e-05</td>\n", - " <td>1.566232e-05</td>\n", - " <td>1.555601e-05</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <th>15</th>\n", - " <td>2.025768e-07</td>\n", - " <td>2.021555e-07</td>\n", - " <td>2.016650e-07</td>\n", - " <td>2.010963e-07</td>\n", - " <td>2.004391e-07</td>\n", - " <td>1.996813e-07</td>\n", - " <td>1.988084e-07</td>\n", - " <td>1.978035e-07</td>\n", - " <td>1.966460e-07</td>\n", - " <td>1.953112e-07</td>\n", - " </tr>\n", - " <tr>\n", - " <th>23</th>\n", - " <th>15</th>\n", - " <td>1.153401e-06</td>\n", - " <td>1.151002e-06</td>\n", - " <td>1.148210e-06</td>\n", - " <td>1.144972e-06</td>\n", - " <td>1.141230e-06</td>\n", - " <td>1.136915e-06</td>\n", - " <td>1.131945e-06</td>\n", - " <td>1.126223e-06</td>\n", - " <td>1.119633e-06</td>\n", - " <td>1.112033e-06</td>\n", - " </tr>\n", - " <tr>\n", - " <th>24</th>\n", - " <th>15</th>\n", - " <td>1.848863e-05</td>\n", - " <td>1.845018e-05</td>\n", - " <td>1.840541e-05</td>\n", - " <td>1.835351e-05</td>\n", - " <td>1.829353e-05</td>\n", - " <td>1.822436e-05</td>\n", - " <td>1.814470e-05</td>\n", - " <td>1.805298e-05</td>\n", - " <td>1.794734e-05</td>\n", - " <td>1.782552e-05</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>210 rows × 10 columns</p>\n", - "</div>" - ], - "text/plain": [ - " 0 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.947332e-14 \n", - " 2 3.641834e-14 \n", - " 3 3.896169e-14 \n", - " 4 5.387536e-16 \n", - " 5 1.026299e-15 \n", - "... ... \n", - " 20 14 1.012879e-08 \n", - " 23 14 1.613469e-05 \n", - " 20 15 2.025768e-07 \n", - " 23 15 1.153401e-06 \n", - " 24 15 1.848863e-05 \n", - "\n", - " 1 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.150685e-14 \n", - " 2 2.151969e-14 \n", - " 3 2.302253e-14 \n", - " 4 2.876504e-16 \n", - " 5 5.479599e-16 \n", - "... ... \n", - " 20 14 1.010773e-08 \n", - " 23 14 1.610114e-05 \n", - " 20 15 2.021555e-07 \n", - " 23 15 1.151002e-06 \n", - " 24 15 1.845018e-05 \n", - "\n", - " 2 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 6.471781e-15 \n", - " 2 1.210328e-14 \n", - " 3 1.294850e-14 \n", - " 4 1.448241e-16 \n", - " 5 2.758829e-16 \n", - "... ... \n", - " 20 14 1.008320e-08 \n", - " 23 14 1.606207e-05 \n", - " 20 15 2.016650e-07 \n", - " 23 15 1.148210e-06 \n", - " 24 15 1.840541e-05 \n", - "\n", - " 3 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 3.439696e-15 \n", - " 2 6.432783e-15 \n", - " 3 6.881995e-15 \n", - " 4 6.817268e-17 \n", - " 5 1.298656e-16 \n", - "... ... \n", - " 20 14 1.005477e-08 \n", - " 23 14 1.601678e-05 \n", - " 20 15 2.010963e-07 \n", - " 23 15 1.144972e-06 \n", - " 24 15 1.835351e-05 \n", - "\n", - " 4 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.712729e-15 \n", - " 2 3.203073e-15 \n", - " 3 3.426742e-15 \n", - " 4 2.969700e-17 \n", - " 5 5.657133e-17 \n", - "... ... \n", - " 20 14 1.002191e-08 \n", - " 23 14 1.596443e-05 \n", - " 20 15 2.004391e-07 \n", - " 23 15 1.141230e-06 \n", - " 24 15 1.829353e-05 \n", - "\n", - " 5 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 7.906211e-16 \n", - " 2 1.478585e-15 \n", - " 3 1.581830e-15 \n", - " 4 1.182313e-17 \n", - " 5 2.252248e-17 \n", - "... ... \n", - " 20 14 9.984012e-09 \n", - " 23 14 1.590407e-05 \n", - " 20 15 1.996813e-07 \n", - " 23 15 1.136915e-06 \n", - " 24 15 1.822436e-05 \n", - "\n", - " 6 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 3.340165e-16 \n", - " 2 6.246623e-16 \n", - " 3 6.682786e-16 \n", - " 4 4.236734e-18 \n", - " 5 8.070772e-18 \n", - "... ... \n", - " 20 14 9.940370e-09 \n", - " 23 14 1.583455e-05 \n", - " 20 15 1.988084e-07 \n", - " 23 15 1.131945e-06 \n", - " 24 15 1.814470e-05 \n", - "\n", - " 7 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.271031e-16 \n", - " 2 2.377021e-16 \n", - " 3 2.542985e-16 \n", - " 4 1.340854e-18 \n", - " 5 2.554261e-18 \n", - "... ... \n", - " 20 14 9.890124e-09 \n", - " 23 14 1.575451e-05 \n", - " 20 15 1.978035e-07 \n", - " 23 15 1.126223e-06 \n", - " 24 15 1.805298e-05 \n", - "\n", - " 8 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 4.270088e-17 \n", - " 2 7.985702e-17 \n", - " 3 8.543234e-17 \n", - " 4 3.659825e-19 \n", - " 5 6.971787e-19 \n", - "... ... \n", - " 20 14 9.832251e-09 \n", - " 23 14 1.566232e-05 \n", - " 20 15 1.966460e-07 \n", - " 23 15 1.119633e-06 \n", - " 24 15 1.794734e-05 \n", - "\n", - " 9 \n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 1.234665e-17 \n", - " 2 2.309004e-17 \n", - " 3 2.470200e-17 \n", - " 4 8.358726e-20 \n", - " 5 1.592296e-19 \n", - "... ... \n", - " 20 14 9.765511e-09 \n", - " 23 14 1.555601e-05 \n", - " 20 15 1.953112e-07 \n", - " 23 15 1.112033e-06 \n", - " 24 15 1.782552e-05 \n", - "\n", - "[210 rows x 10 columns]" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chianti_collisional_rates" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "assert cmfgen_collisional_rates.shape == reference_rate_coeff_df.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "pd.testing.assert_frame_equal(cmfgen_collisional_rates.sort_index() * (1-0.000015),reference_rate_coeff_df.sort_index(),check_names=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "reference_rate_coeff_df = reference_rate_coeff_df.sort_index()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "reference_rate_coeff_df.index.names=cmfgen_collisional_rates.sort_index().index.names" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>0</th>\n", - " <th>1</th>\n", - " <th>2</th>\n", - " <th>3</th>\n", - " <th>4</th>\n", - " <th>5</th>\n", - " <th>6</th>\n", - " <th>7</th>\n", - " <th>8</th>\n", - " <th>9</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_source</th>\n", - " <th>level_number_destination</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">1</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th rowspan=\"5\" valign=\"top\">0</th>\n", - " <th>1</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000014</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000014</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000014</td>\n", - " <td>0.000014</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th rowspan=\"5\" valign=\"top\">29</th>\n", - " <th>24</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " <tr>\n", - " <th>25</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " <tr>\n", - " <th>26</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " <tr>\n", - " <th>27</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " <tr>\n", - " <th>28</th>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " <td>0.000015</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>870 rows × 10 columns</p>\n", - "</div>" - ], - "text/plain": [ - " 0 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 1 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 2 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 3 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 4 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 5 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 6 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 7 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000015 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 8 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000015 \n", - " 4 0.000015 \n", - " 5 0.000014 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - " 9 \n", - "atomic_number ion_number level_number_source level_number_destination \n", - "1 0 0 1 0.000015 \n", - " 2 0.000015 \n", - " 3 0.000014 \n", - " 4 0.000014 \n", - " 5 0.000014 \n", - "... ... \n", - " 29 24 0.000015 \n", - " 25 0.000015 \n", - " 26 0.000015 \n", - " 27 0.000015 \n", - " 28 0.000015 \n", - "\n", - "[870 rows x 10 columns]" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(cmfgen_collisional_rates - reference_rate_coeff_df) / reference_rate_coeff_df" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis import constants as const\n", - "import numpy as np\n", - "beta_coll = (\n", - " (const.h**4 / (8 * const.k_B * const.m_e**3 * np.pi**3)) ** 0.5\n", - ").cgs" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.00010054083203834371" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "abs(8.63e-6 - beta_coll.value) / min(8.63e-6, beta_coll.value)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## CMFGEN data compared to reference data" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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0LFjxxAYGCitR0dHY9++fWZl9u7di379+jV21YiIiKiJsmkXWEFBAVJSUqT1ixcvIikpCV5eXggJCcH8+fORnp6OTZs2AQBWrlyJsLAwdOnSBQaDAZ9//jni4uIQFxcnnWPOnDkYMGAAVqxYgTFjxuDbb7/FDz/8gJ9++qnR74+IiIiaJpsGoD/++AODBw+W1ivG4UyZMgWxsbHIyMhAamqqtN9gMOD5559Heno6nJ2d0aVLF+zatQujRo2SyvTr1w9fffUVXnvtNSxYsADt27fHli1b0KdPn8a7MSIiImrSmsxzgJoSPgeIiIio+WnxzwEiIiIiuh0MQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDsMQERERCQ7DEBEREQkOwxAREREJDs2DUAJCQkYPXo0goKCoFAosH379mrLb926FcOGDYOvry88PDwQHR2N77//3qxMbGwsFAqFxaLT6RrwToiIiKg5sWkAKiwsRI8ePfDBBx/UqHxCQgKGDRuG3bt3IzExEYMHD8bo0aNx7Ngxs3IeHh7IyMgwW1QqVUPcAhERETVDDra8+MiRIzFy5Mgal1+5cqXZ+rJly/Dtt9/if//7HyIjI6XtCoUCAQEB9VVNIiIiamGa9Rggo9GI/Px8eHl5mW0vKChAaGgo2rRpg/vvv9+ihehmer0eWq3WbCEiIqKWq1kHoH//+98oLCzEuHHjpG3h4eGIjY3Fjh07sHnzZqhUKvTv3x/nzp2r8jzLly+HWq2WluDg4MaoPhEREdmIQgghbF0JwNRttW3bNowdO7ZG5Tdv3ownnngC3377LYYOHVplOaPRiF69emHAgAFYvXq11TJ6vR56vV5a12q1CA4OhkajgYeHR63ug4iIiGxDq9VCrVbX6PvbpmOA6mrLli2YPn06vvnmm2rDDwDY2dnhzjvvrLYFSKlUQqlU1nc1iYiIqIlqdl1gmzdvxtSpU/Hll1/ivvvuu2V5IQSSkpIQGBjYCLUjIiKi5sCmLUAFBQVISUmR1i9evIikpCR4eXkhJCQE8+fPR3p6OjZt2gTAFH4mT56MVatWoW/fvsjMzAQAODs7Q61WAwCWLFmCvn37okOHDtBqtVi9ejWSkpKwZs2axr9BIiIiapJs2gL0xx9/IDIyUprCPm/ePERGRmLhwoUAgIyMDKSmpkrlP/roI5SWlmLWrFkIDAyUljlz5khl8vLy8OSTT6Jz586IiYlBeno6EhIScNdddzXuzREREVGT1WQGQTcltRlERURERE1Dbb6/m90YICIiIqLbxQBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREssMARERERLLDAERERESywwBEREREsuNg6woQEVHzU1ZWhpKSEltXg2TIyckJdna3337DAERERDUmhEBmZiby8vJsXRWSKTs7O7Rt2xZOTk63dR4GICIiqrGK8OPn5wcXFxcoFApbV4lkxGg04sqVK8jIyEBISMht/ftjACIiohopKyuTwo+3t7etq0My5evriytXrqC0tBSOjo51Pg8HQRMRUY1UjPlxcXGxcU1Iziq6vsrKym7rPAxARERUK+z2Iluqr39/DEBEREQkOwxAREREJDsMQERE1KIpFIpql6lTp0plY2JiYG9vj19++cXiPFOnTpWOcXBwQEhICGbOnInc3FyzcmFhYVI5Z2dnhIWFYdy4cfjxxx/Nyl26dAkKhQJJSUnStri4OPTp0wdqtRru7u7o0qULnnvuuXr9fZAJAxAREbVoGRkZ0rJy5Up4eHiYbVu1ahUAIDU1FUeOHMHs2bOxYcMGq+caMWIEMjIycOnSJXzyySf43//+h6efftqi3Ouvv46MjAycOXMGmzZtgqenJ4YOHYqlS5dWWc8ffvgBjz76KB5++GH89ttvSExMxNKlS2EwGOrnF0FmGICIiKhFCwgIkBa1Wg2FQmGxDQA2btyI+++/HzNnzsSWLVtQWFhocS6lUomAgAC0adMGMTExGD9+PPbu3WtRzt3dHQEBAQgJ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NCtnLajExcWhT58+UKvVcHd3R5cuXfDcc8/V6++DTGocgAwGg9Qy8tlnn0Gn0zVYpaoSEBBg0ZKTlZUFBwcHeHt7V1vm5lahyubPnw+NRiMtld/nQkREzVtGRoa0rFy5Eh4eHmbbVq1aBQBITU3FkSNHMHv27Crf/zVixAhkZGTg0qVL+OSTT/C///0PTz/9tEW5119/HRkZGThz5gw2bdoET09PDB06FEuXLq2ynj/88AMeffRRPPzww/jtt9+QmJiIpUuXwmAw1M8vgszUOABFR0dj7NixePzxxyGEwLPPPotp06ZZXRpKdHQ09u3bZ7Zt7969iIqKgqOjY7Vl+vXrV+V5lUolPDw8zBYiImoZAgICpEWtVkOhUFhsA4CNGzfi/vvvx8yZM7FlyxarLwRVKpUICAhAmzZtEBMTg/Hjx2Pv3r0W5dzd3REQEICQkBAMGDAA69evx4IFC7Bw4UKcOXPGaj137tyJu+++Gy+88AI6deqEjh07YuzYsXj//fervb/ffvsNkZGRUKlUiIqKwrFjxyzKJCcnY9SoUXBzc4O/vz8mTZok9eoApp6St956C+3atYOzszN69OiB//73v9K+oUOHYsSIEVKvS15eHkJCQvDqq69K59ixYweioqKgUqng4+ODBx98sNp621qNA9Dnn3+OUaNGoaCgAACg0WiQm5trdampgoICJCUlSc1/Fy9eRFJSElJTUwGYWmYmT54slX/qqafw999/Y968eTh16hQ+/fRTbNiwAc8//7xUZs6cOdi7dy9WrFiB06dPY8WKFfjhhx8wd+7cGteLiIjkRQiBjRs34rHHHkN4eDg6duyIr7/+utpjLly4gO+++076D/BbmTNnDoQQ+Pbbb63uDwgIwMmTJ/HXX3/VuN6FhYW4//770alTJyQmJmLx4sVm34mAqQVs4MCB6NmzJ/744w989913uHr1KsaNGyeVee2117Bx40asW7cOJ0+exD//+U889thjOHjwIBQKBT777DP89ttvWL16NQDT97G/vz8WL14MANi1axcefPBB3HfffTh27Bj279+PqKioGt+HTYg6CAsLEzk5OXU51MyBAwcEAItlypQpQgghpkyZIgYOHGh2THx8vIiMjBROTk4iLCxMrFu3zuK833zzjejUqZNwdHQU4eHhIi4urlb10mg0AoDQaDR1vTUiohanuLhY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HY899hi8vb3h4uKCnj17IjEx0dbVkqXS0lK89tpraNu2LZydndGuXTu8/vrrMBqNtq5as8YA1Ei2bNmCuXPn4tVXX8WxY8dwzz33YOTIkUhNTbV11WTp4MGDmDVrFn755Rfs27cPpaWliImJQWFhoa2rJmu///471q9fj+7du9u6KrKWm5uL/v37w9HREXv27EFycjL+/e9/w9PT09ZVk6UVK1bgww8/xAcffIBTp07hrbfewttvv43333/f1lVr1jgLrJH06dMHvXr1wrp166RtnTt3xtixY7F8+XIb1owAIDs7G35+fjh48CAGDBhg6+rIUkFBAXr16oW1a9fizTffRM+ePbFy5UpbV0uWXn75Zfz8889spW4i7r//fvj7+2PDhg3StoceegguLi74z3/+Y8OaNW9sAWoEBoMBiYmJiImJMdseExODw4cP26hWVJlGowEAeHl52bgm8jVr1izcd999GDp0qK2rIns7duxAVFQUHnnkEfj5+SEyMhIff/yxraslW3fffTf279+Ps2fPAgCOHz+On376CaNGjbJxzZo3vgusEeTk5KCsrAz+/v5m2/39/ZGZmWmjWlEFIQTmzZuHu+++G127drV1dWTpq6++wtGjR/H777/buioE4MKFC1i3bh3mzZuHV155Bb/99hueffZZKJVKTJ482dbVk52XXnoJGo0G4eHhsLe3R1lZGZYuXYoJEybYumrNGgNQI7r5zfJCiHp/2zzV3uzZs3HixAn89NNPtq6KLKWlpWHOnDnYu3cvVCqVratDAIxGI6KiorBs2TIAQGRkJE6ePIl169YxANnAli1b8Pnnn+PLL79Ely5dkJSUhLlz5yIoKAhTpkyxdfWaLQagRuDj4wN7e3uL1p6srCyLViFqXM888wx27NiBhIQEtGnTxtbVkaXExERkZWWhd+/e0raysjIkJCTggw8+gF6vh729vQ1rKD+BgYGIiIgw29a5c2fExcXZqEby9sILL+Dll1/Go48+CgDo1q0b/v77byxfvpwB6DZwDFAjcHJyQu/evbFv3z6z7fv27UO/fv1sVCt5E0Jg9uzZ2Lp1K3788Ue0bdvW1lWSrSFDhuDPP/9EUlKStERFRWHixIlISkpi+LGB/v37WzwW4uzZswgNDbVRjeStqKgIdnbmX9f29vacBn+b2ALUSObNm4dJkyYhKioK0dHRWL9+PVJTU/HUU0/ZumqyNGvWLHz55Zf49ttv4e7uLrXOqdVqODs727h28uLu7m4x9srV1RXe3t4ck2Uj//znP9GvXz8sW7YM48aNw2+//Yb169dj/fr1tq6aLI0ePRpLly5FSEgIunTpgmPHjuHdd9/FtGnTbF21Zo3T4BvR2rVr8dZbbyEjIwNdu3bFe++9xynXNlLV2KuNGzdi6tSpjVsZsjBo0CBOg7exnTt3Yv78+Th37hzatm2LefPmYcaMGbaulizl5+djwYIF2LZtG7KyshAUFIQJEyZg4cKFcHJysnX1mi0GICIiIpIdjgEiIiIi2WEAIiIiItlhACIiIiLZYQAiIiIi2WEAIiIiItlhACIiIiLZYQAiIiIi2WEAIiIiItlhACKiFkmhUGD79u23dY5BgwZh7ty50npYWBifTk3UQjAAEVGzlJWVhf/7v/9DSEgIlEolAgICMHz4cBw5csTWVSOiZoAvQyWiZumhhx5CSUkJPvvsM7Rr1w5Xr17F/v37cf36dVtXjYiaAbYAEVGzk5eXh59++gkrVqzA4MGDERoairvuugvz58/HfffdJ5XLycnBAw88ABcXF3To0AE7duwwO09ycjJGjRoFNzc3+Pv7Y9KkScjJyWns2yEiG2AAIqJmx83NDW5ubti+fTv0en2V5ZYsWYJx48bhxIkTGDVqFCZOnCi1EGVkZGDgwIHo2bMn/vjjD3z33Xe4evUqxo0b11i3QUQ2xABERM2Og4MDYmNj8dlnn8HT0xP9+/fHK6+8ghMnTpiVmzp1KiZMmIA77rgDy5YtQ2FhIX777TcAwLp169CrVy8sW7YM4eHhiIyMxKeffooDBw7g7NmztrgtImpEDEBE1Cw99NBDuHLlCnbs2IHhw4cjPj4evXr1QmxsrFSme/fu0mdXV1e4u7sjKysLAJCYmIgDBw5IrUlubm4IDw8HAJw/f75R74WIGh8HQRNRs6VSqTBs2DAMGzYMCxcuxBNPPIFFixZh6tSpAABHR0ez8gqFAkajEQBgNBoxevRorFixwuK8gYGBDV53IrItBiAiajEiIiJq/OyfXr16IS4uDmFhYXBw4P8VEskNu8CIqNm5du0a7r33Xnz++ec4ceIELl68iG+++QZvvfUWxowZU6NzzJo1C9evX8eECRPw22+/4cKFC9i7dy+mTZuGsrKyBr4DIrI1/mcPETU7bm5u6NOnD9577z2cP38eJSUlCA4OxowZM/DKK6/U6BxBQUH4+eef8dJLL2H48OHQ6/UIDQ3FiBEjYGfH/zYkaukUQghh60oQERERNSb+Zw4RERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREckOAxARERHJDgMQERERyQ4DEBEREcnO/we2hkgkPuCqCwAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cmfgen_collisional_rates.loc[1,0,1,2].plot(logy=False,label=\"TARDIS exc\",legend=True)\n", - "cmfgen_collisional_rates.loc[1,0,2,1].plot(logy=False,label=\"TARDIS deexc\",legend=True)\n", - "#plasma.coll_exc_coeff.loc[1,0,1,2].plot(logy=True,label=\"TARDIS old exc\",legend=True)\n", - "#plasma.coll_deexc_coeff.loc[1,0,1,2].plot(logy=True,label=\"TARDIS old deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,1,2].plot(logy=False,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,1,2].plot(logy=False,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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49Tu0KFDstlsio6OdixbtmyZ2rdvr6CgIAUEBKhZs2Z64oknivTngWwEFQCAJRw/ftzxeOONNxQYGOi0bM6cOZKkw4cPa9u2bRozZowWLFjgclu33nqrjh8/rkOHDundd9/Vf/7zH40aNSpPuxdeeEHHjx/X3r179f777ys4OFg9evTQjBkzrljn119/rfvuu0/33HOPtm/frqioKM2YMUNpaWlF84OAE4IKAMASqlWr5ngEBQXJZrPlWSZJCxcu1B133KGRI0dq6dKlunDhQp5t2e12VatWTbVq1VJkZKQGDBigtWvX5mkXEBCgatWqqXbt2urSpYvmzZunKVOmaOrUqXmunJ5j5cqV6ty5s5566ik1btxYjRo1Ur9+/fT3v/893/4dPXpUAwYMUKVKlVSlShX17dtXhw4dkiT98ssv8vPz00cffeRo/9lnn8nHx0c//fSTpOwb8z799NMKDw+X3W5Xw4YNrxjUyhKCCgCUA8YYJadluOVRlNcVNcZo4cKFeuCBBxQREaFGjRrpk08+yXedAwcOaM2aNfLy8irQPsaNGydjjL744guXn1erVk179uzRzz//XOC6k5OT1b17d/n7+2vz5s369ttv5e/vr1tvvVVpaWmKiIjQq6++qlGjRul///ufjh07phEjRuivf/2rWrRoIUkaMmSIPv74Y7355puKjY3VO++8I39//wLXUFq5/YJvAIDidzE9U02nfuWWfce80Et+3kXzdfP1118rOTlZvXr1kiQ98MADWrBggR566CGnditXrpS/v78yMzOVkpIiSXrttdcKtI/KlSsrNDTUMdqR29ixY7Vlyxa1aNFCderU0f/7f/9PkZGRGjRo0BXvR/fxxx+rQoUKevfddx2n7S5cuFDBwcHauHGjIiMjNWrUKK1evVqDBw+Wt7e32rZtq3HjxknKvg/eJ598onXr1qlHjx6SpPr16xeoP6UdIyoAgFJjwYIFGjBggDw9s4PPwIED9d///jfPYZru3bsrOjpa//3vfzV27Fj16tVLY8eOLfB+jDFXvA5IxYoVtWrVKu3fv1/PPfec/P399cQTT+jGG29UcnKyy3WioqK0f/9+BQQEyN/fX/7+/qpcubJSUlIUFxfnaPfee+9p9+7d2rlzpxYtWuSoITo6Wh4eHuratWuB+1BWMKICAOWAr5eHYl7o5bZ9F4XTp09r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xTqLksu/w0sK8/1d4EM/lStX1r59+xQSEqLu3bvL29u7OHITAKA4pCdLM2u4Z9/PHpO8K/55uwJYsGCBBgwYIE/P7K+vgQMH6qmnntLevXudDtN0795dc+fOVXJyst59913t27dPY8eOLfB+jDGy2WwuP6tYsaJWrVqluLg4bdiwQd9//72eeOIJzZkzR9u2bZOfn1+edWJjY3X99dc7fdahQwenNlFRUdqwYYP8/f3zrB8XF6fExESlpKSoZ8+eTp+lpaWpdevWjvf33nuvPv/8c82aNUtz585Vo0aNHJ9FR0drxIgRBfshWASTaQEApcLp06e1fPlyvf322/L09JSnp6dq1qypjIyMPHMjK1asqOuuu04tW7bUm2++qdTUVD3//PMF2s/vv/+uhIQE1atXL992DRo00MMPP6x3331XO3fuVExMjJYuXeqyrTHmT/eblZWlPn36KDo62unx66+/qkuXLsrKypKUffjm8s9jYmL073//27Gd5ORkRUVFycPDQ7/++qvTPq40t9TKmEwLAOWBl1/2yIa79l0ElixZolq1amn58uVOy9evX69Zs2ZpxowZjpGW3KZNm6bbbrtNI0eOVI0a+Y8szZkzRxUqVPjTybGXq1u3rvz8/HThwgWXnzdt2lQffPCBLl686PjuzH1qdZs2bbRs2TLVrVvXZT+aNm0qu92uw4cPq2vXrles5YknnlCFChX05Zdfqnfv3rr99tt18803S5Jatmyp9evX66GHHipw39ytwEHlww8/1Ouvv664uDjZbDbHEBQAoBSw2Yrs8Iu7LFiwQPfcc4+aN2/utLxOnTqaOHGiVq1apb59+7pct1u3bmrWrJlmzpypf/zjH47l586d04kTJ5Senq6DBw/qww8/1LvvvqtZs2bpuuuuc7mt6dOnKzk5Wb1791adOnV09uxZvfnmm0pPT89zWCbH/fffr8mTJ2v48OF67rnndOjQIb366qtObUaPHq358+c7DmeFhIRo//79+vjjjzV//nwFBAToySef1OOPP66srCx17txZSUlJ2rp1q/z9/fXggw9q1apVeu+997Rt2za1adNGzzzzjB588EHt3r1blSpV0rRp03TLLbeoQYMGuu+++5SRkaEvv/xSTz/9dGF+FSXraibIMJkWAKwrv0mMpUXuybQ//PCDkWS2b9/usn2fPn1Mnz59jDHZ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fKMxY8bo+++/V2BgoHr27On4ZSYmJqpZs2Z65513dNNNNxVLsQCAkvHpvk8198e5Tsumb5vueD3y+pEa1WpUsey7YsWKTu+zsrLUp08fzZ49O0/bnICQW858yVWrVqlmzZpOn9nt9ivurzDrXT5X02azOa3v6+vrsq6cNh4eHoqKipKHh4fTZ67CWM461atXdzmPJTg42PH6wIEDOnbsmLKysvS///3PEabyq8fqChVU3njjDY0YMUKBgYF5PgsKCtJf/vIXvfbaawQVACjl7m10r7qFd5OUPZIyfdt0Te8wXU2qZJ/tWdW3eEZTXGnTpo2WLVumunXrFviMnKZNm8put+vw4cPq2rVrgfd1tevl1rJlS61fv14PPfRQns9at26tzMxMxcfHF/j7sk2bNjpx4oQ8PT0dk4VzS0tL06BBgzRgwABFRERo+PDh+umnnxQWFqaGDRvK19dX69ev18MPP3zV/XKHQgWVH3/80WWizREZGalXX331mosCALhXVb+8h3aaVGmiplWalngto0eP1vz58zVw4EA99dRTCgkJ0f79+/Xxxx9r/vz5eUYlJCkgIEBPPvmkHn/8cWVlZalz585KSkrS1q1b5e/vrwcffNDlvq52vdymTZumW265RQ0aNNB9992njIwMffnll3r66afVqFEjDRo0SEOGDNHf/vY3tW7dWqdOndI333yjFi1aqHfv3nm216NHD3Xo0EH9+vXT7Nmz1bhxYx07dkyrV69Wv3791K5dO02ePFmJiYl688035e/vry+//FLDhw/XypUr5ePjo4kTJ+rpp5+Wt7e3OnXqpISEBO3Zs0fDhw8v3C+khBUqqJw8edLlacmOjXl6cmVaAECRqlGjhr777jtNnDhRvXr1UmpqqurUqaNbb71VFSpc+SobL774okJDQzVr1iwdOHBAwcHBatOmjZ599tl893e1612uW7du+vTTT/Xiiy/qr3/9qwIDA9WlSxfH5wsXLtRLL72kJ554QkePHlWVKlXUoUMHlyFFyj60tHr1ak2ePFnDhg1znI7cpUsXhYWFaePGjXrjjTe0YcMGx1GPDz74QC1bttTcuXM1cuRITZkyRZ6enpo6daqOHTum6tWr69FHHy1wn9zFZowxBW3coEEDvfrqq7rzzjtdfv7ZZ5/pySef1IEDB4qswPwkJSUpKChIiYmJLg9HAUB5lJKSooMHD6pevXqOyZTXIiE5QZ/u+1T3Nrq32CbQouzJ7++wMN/fhbrgW+/evTV16lSlpKTk+ezixYuaNm2a7rjjjsJsEgBgcVX9qmpUq1GEFLhFoQ79PPfcc/rss8/UqFEjjRkzRo0bN5bNZlNsbKzeeustZWZmavLkycVVKwAAKGcKFVTCwsK0detWjRw5UpMmTVLOUSObzaZevXrp7bffVlhYWLEUCgAAyp9CX/CtTp06Wr16tc6cOaP9+/fLGKOGDRuqUqVKxVEfAAAox676FpGVKlXSDTfcUJS1AAAAOLmquycXh1mzZslms2n8+PHuLgUAAFiEJYLKjh07NG/ePKf7JgAAALg9qJw/f16DBg3S/PnzmecCAACcuD2ojB49Wrfffjt3XgYAAHm4Nah8/PHH2rlzp2bNmlWg9qmpqUpKSnJ6AABgjNEjjzyiypUry2azKTo62t0llQibzably5e7u4xi5bagcuTIEY0bN04ffvhhgS/xPGvWLAUFBTke4eHhxVwlAKA0WLNmjRYtWqSVK1fq+PHjat68ubtLQhFxW1CJiopSfHy82rZtK09PT3l6emrTpk1688035enpqczMzDzrTJo0SYmJiY7HkSNH3FA5AJQv6fHxSvj7P5QeH1/i+05LSytQu7i4OFWvXl0dO3ZUtWrV5OlZ+KtvGGOUkZFR6PVQvNwWVG655Rb99NNPio6OdjzatWunQYMGKTo62uVtu+12uwIDA50eAIDilZGQoFNvvaWMhIRi31e3bt00ZswYTZgwQSEhIerZs6ckKSYmRr1795a/v7/CwsI0ePBgnTp1SpI0dOhQjR07VocPH5bNZlPdunUlZQePl19+WfXr15evr6+uv/56/fvf/3bsa+PGjbLZbPrqq6/Url072e12bdmypcDrrV+/Xu3atZOfn586duyovXv3OvVlxYoVateunXx8fBQSEqK77rrL8VlaWpqefvpp1axZUxUrVlT79u21cePGfH82v/76q7p06SIfHx81bdpU69aty9Pm6NGjGjBggCpVqqQqVaqob9++OnTokFObhQsXqkmTJvLx8VFERITefvttx2fDhg1Ty5YtlZqaKklKT09X27ZtNWjQIEeb7777Tl27dpWfn58qVaqkXr166cyZM/nWfk2MhXTt2tWMGzeuwO0TExONJJOYmFh8RQFAKXPx4kUT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sggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAsggqAADAstweVN5++23Vq1dPPj4+atu2rbZs2eLukgAAgEW4NagsXbpU48eP1+TJk7Vr1y7ddNNNuu2223T48GF3liVJSkhO0NvRbyshOcHdpVwT+mEt9MNa6Ie1lJV+SGWnL1boh1uDymuvvabhw4fr4YcfVpMmTfTGG28oPDxcc+fOdWdZkqSEiwma++NcJVws5X9k9MNS6Ie10A9rKSv9kMpOX6zQD0937TgtLU1RUVF65plnnJZHRkZq69atbqoqW3Jahk4mpkiSTiamKMCW7NZ6rkVOP+KTUhRYofT2Iz6JflgJ/bAW+mE9ZaUvOf1wJ7cFlVOnTikzM1NhYWFOy8PCwnTixAmX66Smpio1NdXxPikpqUhrSkhOUMLFBG3al6DXNn0jn+rSI598ocyUHyRJJiNAJiOwSPdZHGyeSbJ5npMkefgclU91acRS+uEu9MNa6Ie1lJV+SGWnL676Eft7rOPzqr5VVdWvaonV47agksNmszm9N8bkWZZj1qxZev7554utlk/3faq5P2YfdvKprkvPnzk+zzzdQ1mnI4tt/0WlQuXt8qj8tdMy+uE+f9qP33sosxT0w6PydnlUoR9WQT+sp6z0xVU/pm+b7ng98vqRGtVqVInVYzPGmBLb22XS0tLk5+enTz/9VHfeeadj+bhx4xQdHa1NmzblWcfViEp4eLgSExMVGHjtKTVnREXKTo/Tt03X9A7T1aRKE0klnyKvFv2wFvphLfTDWspKP6Sy05eS6EdSUpKCgoIK9P3tthEVb29vtW3bVuvWrXMKKuvWrVPfvn1drmO322W324utpqp+eX/4Tao0UdMqTYttn8WBflgL/bAW+mEt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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cmfgen_collisional_rates.loc[1,0,0,1].plot(logy=False,label=\"TARDIS exc\",legend=True)\n", - "cmfgen_collisional_rates.loc[1,0,1,0].plot(logy=False,label=\"TARDIS deexc\",legend=True)\n", - "#plasma.coll_exc_coeff.loc[1,0,1,2].plot(logy=True,label=\"TARDIS old exc\",legend=True)\n", - "#plasma.coll_deexc_coeff.loc[1,0,1,2].plot(logy=True,label=\"TARDIS old deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,0,1].plot(logy=False,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,0,1].plot(logy=False,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cmfgen_collisional_rates.loc[1,0,1,29].plot(logy=False,label=\"TARDIS exc\",legend=True)\n", - "cmfgen_collisional_rates.loc[1,0,29,1].plot(logy=False,label=\"TARDIS deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,1,29].plot(logy=False,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,1,29].plot(logy=False,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## New Chianti method compared to 2014 Chianti method" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "chianti_atom_data_old = AtomData.from_hdf('/home/afullard/tardis-refdata/atom_data/kurucz_atom_chianti_many.h5')\n", - "chianti_atom_data_old.prepare_atom_data([1],'macroatom',[(1, 0)],[])\n", - "coll_matrix = chianti_atom_data_old.nlte_data.get_collision_matrix((1,0), temperature.value)" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7fc1941f8b90>" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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ty5XX18/o/+ST5X9dGrsp1NjP50a+ym+9Qzoay5MACCNCAGQZtpFqFwux4MPPhjlcjl7lCnNfjo19tOpsZ9Ojf00flPuwgQAZo5pdyYEwJlDhABII0IApBEhANJMqwg9+uij0d7eHmeddVYsX7483njjjeyRppSenp4olUpjHs3Nzdljpdu+fXusXr06Wltbo1QqxUsvvTTm9aIooqenJ1pbW2P+/PmxatWq2LVrV86wib5tP91+++3HHV+XXnppzrCJent745JLLom6urpYuHBh3HDDDfHhhx+OWcYxdeqmTYSef/752LBhQzzwwAPxzjvvxBVXXBGdnZ2xZ8+e7NGmlAsvvDD27t07+nj//fezR0p38ODBWLZsWWzevPmErz/00EOxadOm2Lx5c+zcuTOam5vj2muvHb2P4UzxbfspIuK6664bc3y98srMu8djf39/rFu3Lt58883o6+uLw4cPR0dHRxw8eHB0GcfUOBTTxI9+9KPirrvuGvPc97///eIXv/hF0kRTz4MPPlgsW7Yse4wpLSKKF198cfTro0ePFs3NzcWvf/3r0ef+8Y9/FA0NDcXvfve7hAmnhm/up6Ioiq6uruL6669PmWcqGx4eLiKi6O/vL4rCMTVe0+JM6NChQ/H2229HR0fHmOc7Ojpix44dSVNNTbt3747W1tZob2+PW265JT7++OPskaa0gYGBGBoaGnNslcvluOqqqxxbJ7Bt27ZYuHBhXHDBBXHHHXfE8PBw9kjpRkZGIiKisbExIhxT4zUtIrRv3744cuRINDU1jXm+qakphoaGkqaaelasWBFPP/10vPrqq/HEE0/E0NBQrFy5Mvbv35892pT19fHj2Pp2nZ2d8cwzz8TWrVvj4Ycfjp07d8Y111wT1Wo1e7Q0RVFEd3d3XH755bF06dKIcEyN15S7i/bJfPOjHYqiOOHHPcxUnZ2do7++6KKL4rLLLovzzz8/nnrqqeju7k6cbOpzbH27m2++efTXS5cujYsvvjgWL14cf/zjH2PNmjWJk+VZv359vPfee/HnP//5uNccU6dmWpwJLViwIGbPnn3c/0UMDw8f938b/Ms555wTF110UezevTt7lCnr66sHHVvj19LSEosXL56xx9fdd98dL7/8crz++utjPn7GMTU+0yJC8+bNi+XLl0dfX9+Y5/v6+mLlypVJU0191Wo1Pvjgg2hpackeZcpqb2+P5ubmMcfWoUOHor+/37H1Lfbv3x+Dg4Mz7vgqiiLWr18fL7zwQmzdujXa29vHvO6YGp9p8+247u7uuO222+Liiy+Oyy67LB5//PHYs2dP3HXXXdmjTRn33HNPrF69OhYtWhTDw8Pxq1/9KiqVSnR1dWWPluqLL76Ijz76aPTrgYGBePfdd6OxsTEWLVoUGzZsiI0bN8aSJUtiyZIlsXHjxjj77LPj1ltvTZz6u3ey/dTY2Bg9PT1x0003RUtLS3zyySdx//33x4IFC+LGG29MnPq7t27dunj22Wdjy5YtUVdXN3rG09DQEPPnz49SqeSYGo/Ua/PG6be//W2xePHiYt68ecUPf/jD0Usi+aebb765aGlpKebOnVu0trYWa9asKXbt2pU9VrrXX3+9iIjjHl1dXUVR/POS2gcffLBobm4uyuVyceWVVxbvv/9+7tAJTraf/v73vxcdHR3FueeeW8ydO7dYtGhR0dXVVezZsyd77O/cifZRRBRPPvnk6DKOqVPnoxwASDMt3hMC4MwkQgCkESEA0ogQAGlECIA0IgRAGhECII0IAZBGhABII0IApBEhANKIEABp/h/qGbbnQFWWsQAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "plt.imshow(coll_matrix[:,:,0])" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.legend.Legend at 0x7fc194328f20>" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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hbe3N2XLlqVr165s2bKFggUL8vLLL6f5PVi6dCnvvPMObdq0oUSJEtSoUYNXX32VPn36pNln//79NGnSBFdXV9zc3KhRowa7d+9Ofn7Lli00atQIZ2dn8uXLR8uWLVMETbPZzFtvvUX+/Pnx9vZm5MiRKY4fERHBiy++iJeXF25ubjz++OPs378/+fl/zj5Nnz6d4sWL4+Liwssvv0xSUhLjx4/H29sbLy+vO1Z1v9txRST3iYhJoNfUHQSduY6bkx1z+tYm0DcfrHwLdk3FEmwmQtVu1i71gSjc3I1hQHy0dR73uWC7ra0tY8aM4euvv+b8+fOptjl48CAtW7bk6aef5sCBA8yfP5/NmzczcOBAwDI25NChQ4SHhwOwYcMGChQowIYNGwBITExk69atNGrU6IG/pX/++ScxMTE0a9aMXr168fPPPxMVFZVm+6SkJH7++WeuXbuGvb39XY+fJ08e+vfvz5YtWwgLC0u1jbe3NytWrEj3df+rR48eFC1alF27dhEUFMTbb7+dXM++ffto2rQpFSpUYNu2bWzevJn27duTlJSU3H/WrFnkzZuXHTt2MH78eD766CPWrFkDWKY4b9u2LaGhoaxYsYKgoCCqV69O06ZNuXbtWvIxTpw4wcqVK/n999+ZN28e06dPp23btpw/f54NGzYwbtw43nvvPbZv335fxxWR3ONadDzdpmxn//kI8jnbM7dfHaoWdYff34adkwETPPkNVO1u7VIfmO6WupuEGBhT2Dqv/c5FcMh7X12eeuopqlatyogRI1I9I/Lpp5/SvXv35MGtZcqU4auvvqJRo0ZMmjSJihUr4unpyYYNG+jYsSPr16/njTfe4MsvvwRg165dxMbG8thjjz3w25o2bRpdu3bF1taWChUqULp0aebPn0/fvn1TtOvWrRu2trbExsaSlJRE/vz572iTln/G8pw+fRovL687np88eTI9evTA09OTKlWq8Nhjj9GpUyfq16+f5jHPnj3Lm2++mXzsMmXKJD83fvx4AgMDmThxYvK+ChUqpOhfuXJlRowYkdz3m2++Yd26dTRv3pw///yTgwcPEhYWhqOjIwCfffYZixcv5pdffuHFF18ELGd/pk+fjqurKwEBATRp0oSjR4+yYsUKbGxsKFeuHOPGjWP9+vXUqVPnno8rIrnDlag4ekzdzrHLNyng4sCcvrUp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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(coll_matrix[0,1,:],label=\"Old TARDIS scheme\")\n", - "plt.plot(chianti_collisional_rates.loc[1,0,1,0],label=\"New TARDIS scheme\")\n", - "plt.xlabel(\"Shell\")\n", - "plt.ylabel(\"Coeff\")\n", - "plt.legend()" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 0.003541\n", - "1 0.004709\n", - "2 0.004400\n", - "3 0.002548\n", - "4 0.001518\n", - "5 0.005794\n", - "6 0.007756\n", - "7 0.007275\n", - "8 0.004203\n", - "9 0.002876\n", - "Name: (1, 0, 1, 0), dtype: float64" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(coll_matrix[0,1,:] - chianti_collisional_rates.loc[1,0,1,0]) / chianti_collisional_rates.loc[1,0,1,0]" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.legend.Legend at 0x7fc194087f20>" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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f/yDsWPH5luuZs2awIXDYLNmzWLjxo20aNGCihUr0q1bN9avX8+6devo0aPHVWf77LPPyMzMpH379s55DocDu93O7t27CQ8Pd84PDg6mXr161KtXj4ULFxIREUGbNm3yjCnInj17gAuFoSDu7u507dqVrl278tRTT/Hqq6/y8ssvM3HiRDw8PPKNf/HFF7nrrrv45ptvWLFiBS+88AKff/45t956K97e3n+b6a+H7wzDwG63Axd+LyEhIc6r5P6sYsWKl13HtVjvtaYCVMr4dxgOX/1Ar5x1RB9IokuDqmZHEpHSzjCu6lCU2V5//XVatmxJgwYN8sxv1aoVu3btuuyelB49ejBu3Di++OILZ9np3r07a9asYcuWLYwbN+6qc82ePZvHHnssXzEbO3Ysc+bM4c0337zkcvXq1WPQoEFMmjSJpUsvf0uT8+fPM2vWLLp160bVqoX/73x4eDi5ublkZmZesgABNGjQgAYNGvDoo48ydOhQPv74Y2699VaaN2/O2rVreemllwr9eX/WqlUrEhIScHNzu2xpKy3r/Ts6BFbKuDe9hWzDk7qWeLZtWW12HBGRYtOsWTOGDRvG+++/n2f+xIkTiY6O5uGHHyY2Npb9+/ezbNkyHnnkEeeYi+cB/e9//3MWoB49erBkyRLOnz9/1ef/xMbG8vPPP3P//ffTtGnTPNPQoUP59NNPycnJKXD5xx57jK+++irPlVcAiYmJJCQksH//fj7//HM6d+5MUlISM2fOLHBdPXr04KOPPiImJoYjR46wfPlynn76aXr27Im/v3++8efPn2fMmDGsW7eO33//nc2bN7N161YaN24MwKRJk9i6dSv//Oc/+eWXX9i7dy8zZ850nkz+d3r16kXHjh0ZOHAgK1eu5MiRI2zZsoVnn3023/ZeieJa799RASptPP04G9YXgKqHl3AuO9fkQCIixeeVV15xngtzUfPmzVm/fj379++na9euRERE8NxzzxESEuIcYxiG8yqvrl27Ope7eKPBSxWEwpg9ezbh4eGXvPnhwIEDOXPmDF999VWByzdr1oxevXrx/PPP55nfsGFDQkNDad26Na+//jq9evXi119/veyhsj59+vDJJ58QGRlJ48aNeeSRR+jTpw8LFiy45Hir1crp06cZMWIEDRo0YPDgwfTr18+5x6dBgwasWrWKHTt20K5dOzp2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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(coll_matrix[1,0,:],label=\"Old TARDIS scheme\")\n", - "plt.plot(chianti_collisional_rates.loc[1,0,0,1],label=\"New TARDIS scheme\")\n", - "plt.xlabel(\"Shell\")\n", - "plt.ylabel(\"Coeff\")\n", - "plt.legend()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Chianti compared to CMFGEN, new method\n", - "\n", - "Differences seem likely to be related to splitting of levels in Chianti compared to CMFGEN. Need to get more detailed CMFGEN data to do a direct comparison." - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_levels_h = cmfgen_atom_data.levels.loc[1, 0, :]\n", - "chianti_levels_h = chianti_atom_data.levels.loc[1, 0, :]" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2973239/2570574510.py:1: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " chianti_levels_h[\"energy\"] = chianti_levels_h[\"energy\"].round(14)\n" - ] - } - ], - "source": [ - "chianti_levels_h[\"energy\"] = chianti_levels_h[\"energy\"].round(14)\n", - "grouped_chianti = chianti_levels_h.groupby(\"energy\")['g'].sum().reset_index()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Level', ylabel='Energy'>" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAHACAYAAABAnnkhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABDs0lEQVR4nO3deXRU9d3H8c9NMjPZE8KSRQKGXVkEQSoIblQQFLdaqUUFt0pFeRS1FvUpQmuxVi21rq2C+mjVo6DVallEFisuoKGisiqLhURIIJmsk8zMff6YZCAkgSTMzJ3MvF/n3JO59/7une8M9zCf87vLzzBN0xQAAECEibG6AAAAgGAg5AAAgIhEyAEAABGJkAMAACISIQcAAEQkQg4AAIhIhBwAABCRCDkAACAiEXIAAEBEIuQAAICIFNUhZ82aNZo4caJycnJkGIbeeusty99v8eLFGjdunDp16iTDMLRhw4ag1gQAQKSK6pBTUVGhU045RY8//njYvF9FRYXOOOMMPfjggyGpCQCASBVndQFWGj9+vMaPH9/s+pqaGt133316+eWXVVJSogEDBugPf/iDzj777KC8nyRdffXVkqSdO3e26T0AAIBPVIecY7n22mu1c+dOvfrqq8rJydGbb76p888/Xxs3blTv3r2tLg8AABxFVJ+uOppvv/1Wr7zyil5//XWNHj1aPXv21J133qlRo0Zp4cKFVpcHAACOgZDTjC+++EKmaapPnz5KTk72T6tXr9a3334ryXdKyTCMo0633HKLxZ8EAIDoxOmqZni9XsXGxurzzz9XbGxsg3XJycmSpBNOOEGbNm066n46dOgQtBoBAEDzCDnNGDJkiDwej/bt26fRo0c32cZms6lfv34hrgwAALREVIec8vJybd++3T+/Y8cObdiwQRkZGerTp48mT56sa665Ro888oiGDBmioqIiffDBBxo4cKAmTJgQ0Pfr1q2bJOnAgQPavXu39u7dK0nasmWLJCkrK0tZWVnH83EBAIgqhmmaptVFWGXVqlU655xzGi2fMmWKnn/+edXW1up3v/udXnzxRe3Zs0cdO3bUiBEjNGfOHA0cODDg7ydJzz//vK699tpGbWbPnq3777+/1e8JAEC0iuqQAwAAIhd3VwEAgIhEyAEAABEp6i489nq92rt3r1JSUmQYhtXlAACAFjBNU2VlZcrJyVFM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EXIAAAiKNoWcioqKQNcRdbxVJZKkWluKtYUAABCh2hRyMjMzdd111+nf//53oOuJGvUhx21ncE4AAIKhTSHnlVdeUWlpqcaMGaM+ffrowQcf1N69ewNdW0Tb6eirhe5x2tthuNWlAAAQkdoUciZOnKhFixZp7969+uUvf6lXXnlF3bt314UXXqjFixfL7XYHus6Is8E+THPcU/TfE8ZbXQoAABHpuC487tixo26//Xb95z//0aOPPqr3339fl19+uXJycvSb3/xGlZWVgaoz4jjrh3RIsFlcCQAAkem4nnhcWFioF198UQsXLtTu3bt1+eWX6/rrr9fevXv14IMP6pNPPtGyZcsCVWtEsZXvVWc5lWa3uhIAACJTm0LO4sWLtXDhQi1dulQnn3yypk+frquuukrp6en+NoMHD9aQIUMCVWfEubVojh6L36YNJc9IOtHqcgAAiDhtCjnXXnutfvazn+mjjz7Saaed1mSbHj166N577z2u4iJZgqdckuRIzrC4EgAAIlObQk5BQYESExOP2iYhIUGzZ89uU1HRIMn0PWsoPqWDxZUAABCZ2hRy3G63nE5no+WGYcjhcMhu50KTozG9Xl/IMaTEVHpyAAAIhjaFnPT0dBmG0ez6rl27aurUqZo9e7ZiGGG7keqqCiUYHklSclpHi6sBACAytSnkPP/887r33ns1depUDR8+XKZpat26dXrhhRd03333af/+/Xr44YflcDh0zz33BLrmdq+8tFgJktxmjBKTeOIxAADB0KaQ88ILL+iRRx7RFVdc4V920UUXaeDAgXrmmWe0YsUKdevWTQ888AAhpwkVzgPqLKncSFQ6PV0AAARFm35hP/744yZvDx8yZIg+/vhjSdKoUaO0e/fu46suQjk9di10j9PSuHOtLgUAgIjVppDTtWtXPffcc42WP/fcc8rNzZUkFRcXq0MH7hxqSnFcF81xT9H/pf3C6lIAAIhYbTpd9fDDD+unP/2p/vWvf+m0006TYRhat26dNm/erDfeeEOStG7dOk2aNCmgxUYKZ5VvSIcUB0M6AAAQLG0KORdddJG2bt2qp59+Wlu2bJFpmho/frzeeustnXjiiZKkX/7yl4GsM6JUlR1QZ5UoI56eLgAAgqXVIae2tlZjx47VM888o3nz5gWjpojX/btXtC7+CX12YIKkkVaXAwBARGr1NTk2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ZBhGo2nz5s0hrLjlyksP+F8npXawsBIAAKKPpSHntdde02233aZ7771X+fn5Gj16tMaPH6/du3cfdbstW7aooKDAP/Xu3TtEFbdORWmx768Zrzib3eJqAACILpaGnEcffVTXX3+9brjhBp100kmaP3++cnNz9dRTTx11uy5duigrK8s/xcbGhqji1qkq8/XklBtJFlcCAED0sSzk1NTU6PPPP9fYsWMbLB87dqzWrl171G2HDBmi7OxsjRkzRitXrgxmmceluuygJKkyhhHIAQAINcvurioqKpLH41FmZmaD5ZmZmSosLGxym+zsbP31r3/V0KFD5XK59H//938aM2aMVq1apTPPPLPJbVwul1wul3/e6XQG7kMcQ7knTp95+6oyvqvyQvauAABACoNbyA3DaDBvmmajZfX69u2rvn37+udHjBih77//Xg8//HCzIWfevHmaM2dO4Apuhd3JA3V3zWyd26OLzrakAgAAopdlp6s6deqk2NjYRr02+/bta9S7czSnn366tm3b1uz6WbNmqbS01D99//33ba65tZxVPO0YAACrWBZy7Ha7hg4dquXLlzdYvnz5co0cObLF+8nPz1d2dnaz6x0Oh1JTUxtMoeKsrhu3KoFxqwAACDVLuxhmzpypq6++WsOGDdOIESP017/+Vbt379a0adMk+Xph9uzZoxdffFGSNH/+fJ144onq37+/ampq9NJLL2nRokVatGiRlR+jWadv/5OucvxLXx+8VtIAq8sBACCqWBpyJk2apOLiYs2dO1cFBQUaMGCA3nvvPXXv3l2SVFBQ0OCZOTU1Nbrzzju1Z88eJSQkqH///nr33Xc1YcIEqz7CUTmqi5RplGhHnGl1KQAARB3DNM2o+gV2Op1KS0tTaWlp0E9dbXjofA2u/FifDZit4ZfPDOp7AQAQydry+235sA6RzF5bJkmKTWRIBwAAQo2QE0QJnnJJkj053dpCAACIQoScIErw+kKOI5kRyAEACDVCThAlmRWSpPgUTlcBABBqPKUuSDwerzaZ3ZRmVqhTWierywEAIOoQcoKk3OXRFTWzJUlbMlr+BGcAABAYnK4KkvqnHcfbYuSIi7W4GgAAog8hJ0hKq3whJyWeIR0AALACp6uCZddafeq4WTu8vST92OpqAACIOoScIKktL1amUaISo9zqUgAAiEqcrgqS2oqDkiRXXIrFlQAAEJ0IOUHirSqRJNXaCDkAAFiBkBMkZrVTkuS2B3cQUAAA0DRCTpAY1aWSJC8hBwAASxBygiS2xteTo4Q0awsBACBKEXKCZL/StcXbVZ7kHKtLAQAgKhFyguTFxCkaV/OQintcbHUpAABEJUJOkJRVuyVJqQk88RgAACsQcoKkfuyqVIZ1AADAEjzxOEgWVs6Q1+6VvfYNSR2sLgcAgKhDyAkC0+tVnvlfxcaYKkpMsrocAACiEqergqCivFSxhilJSkrraHE1AABEJ0JOEJSXFkuSasw4xSckWlwNAADRiZATBFVOX8gpNxJlxPAVAwBgBX6Bg6CqzDcCeYWRbHElAABEL0JOENSUl0iSqmIJOQAAWIWQEwQVHmmzN1f7bSdYXQoAAFGLW8iDYHvK6Zpc8wdN6JulM6wuBgCAKEVPThA4q3jaMQAAViPkBIF/SAfGrQIAwDKEnCAYteMxLbPfpdNK/mV1KQAARC1CThCkVO9Rn5g9So1xWV0KAABRi5ATBLbaMklSbGK6tYUAABDFCDlB4PBUSJLikhh9HAAAq3ALeRAkeMolSfakdGsLAQBIkjwej2pra60uA8dgt9sVE8DhkAg5QZBk+kJOQgo9OQBgJdM0VVhYqJKSEqtLQQvExMQoLy9Pdrs9IPsj5ASY6fUq2ayQDCkhtaPV5QBAVKsPOF26dFFiYqIMw7C6JDTD6/Vq7969KigoULdu3QLyb0XICbDq6mrtNrOVqkqlpBFyAMAqHo/HH3A6duT/4/agc+fO2rt3r9xut2y243/WHCEnwJzuGI2reUgxhvRtSrrV5QBA1Kq/BicxMdHiStBS9aepPB5PQEIOd1cFWFnd045T4m10iwJAGOD/4vYj0P9WhJwAK61yS5JSE+gkAwDASoScAIvZ9W8tt9+l37ifsLoUAEA7VlhYqFtvvVU9evSQw+FQbm6uJk6cqBUrVkiSTjzxRBmGoVdffbXRtv3795dhGHr++ef9y+rbHz517dq1wXb5+fmaNGmSsrOz5XA41L17d1144YV65513ZJqmJGnnzp2N9lM/ffLJJ5Kk559/XoZh6Pzzz2+w/5KSEhmGoVWrVgXwm2oeISfAPM5C9Y7Zoxztt7oUAEA7tXPnTg0dOlQffPCBHnroIW3cuFFLlizROeeco+nTp/vb5ebmauHChQ22/eSTT1RYWKikpKRG+507d64KCgr8U35+vn/dP/7xD51++ukqLy/XCy+8oG+++Uavv/66LrnkEt13330qLS1tsK/333+/wb4KCgo0dOhQ//q4uDitWLFCK1euDNTX0mqcUwkwd2WJJMkVl2JtIQCAduvmm2+WYRj67LPPGoSV/v3767rrrvPPT548WX/605/0/fffKzc3V5K0YMECTZ48WS+++GKj/aakpCgrK6vR8oqKCl1//fW64IILtHjxYv/ynj17avjw4brhhhv8PTn1Onbs2OS+6iUlJemKK67Qr3/9a3366act//ABRE9OgJlVJZIkj52QAwDhxDRNVda4LZmODAhHc+DAAS1ZskTTp09vsjcmPT3d/zozM1Pjxo3TCy+8IEmqrKzUa6+91iAItcSyZctUXFysX/3qV822actFwffff782btyoN954o9XbBgI9OYFW7ZQkeeypFhcCADhcVa1HJ/9mqSXv/c3ccUq0t+wnd/v27TJNU/369WtR++uuu0533HGH7r33Xr3xxhvq2bOnBg8e3GTbu+++W/fdd59//ve//71mzJihrVu3SpL69u3rX7du3Tqdc845/vlXX31VF154oX9+5MiRjYZgKC0tVWxsrH8+JydH//M//6N7771Xl1xySYs+TyARcgIspsZ3ztKMT7O4EgBAe1Tf69PSnpMLLrhAN910k9asWaMFCxYctRfnrrvu0tSpU/3znTp1arbtoEGDtGHDBklS79695Xa7G6x/7bXXdNJJJzVYdnjAqXf33XfrmWee0YIFC3TFFVe04BMFDiEnwOJqfD05BiEHAMJKgi1W38wdZ9l7t1Tv3r1lGIY2bdrUot6PuLg4XX311Zo9e7Y+/fRTvfnmm8227dSpk3r16tXke0rSli1bdPrpp0uSHA5Hk23r5ebmHnV9vfT0dM2aNUtz5sxp0BMUClyTE2BOM1EFZoaU1Hw6BgCEnmEYSrTHWTK15nqWjIwMjRs3Tk888YQqKioarW9qsNHrrrtOq1ev1sUXX6wOHVo/OPTYsWOVkZGhP/zhD63etiVuvfVWxcTE6M9//nNQ9t8cenIC7LHE6covmqxneg09dmMAAJrw5JNPauTIkRo+fLjmzp2rQYMGye12a/ny5Xrqqae0adOmBu1POukkFRUVtXkIi+TkZD377LOaNGmSLrjgAs2YMUO9e/dWeXm5lixZIqnxqaji4mIVFhY2WJaenq74+PhG+4+Pj9ecOXMa3P4eCvTkBJizyjesQ2r88Y+5AQCITnl5efriiy90zjnn6I477tCAAQN03nnnacWKFXrqqaea3KZjx45KSEho83teeumlWrt2rRITE3XNNdeob9++Ovfcc/XBBx80uuhYkn784x8rOzu7wfTWW281u/8pU6aoR48eba6vLQyzNfe1RQCn06m0tDSVlpYqNTXwd0Cd9sD72l/m0rszRql/DtflAIBVqqurtWPHDuXl5TXZu4Dwc7R/s7b8fnO6KsAW1typartN6d43JBFyAACwCiEngFzVlRpg7JAMqTSx8QOcAABA6HBNTgCVlx7wv05OTbeuEAAAQMgJpEpnsSSpzExQbBydZAAAWImQE0BVZQclSRUGp6oAALAaISeAXOW+01WVMckWVwIAAAg5AVRT7hu3qjqWkAMAgNUIOQFUVetWgZmhCntHq0sBACDqcXVsAH2dfq6ucuXospNP0GlWFwMAQJSjJyeAnNW+IR1S4smOAIDgMgzjqMMorFq1SoZhNDmgZ6Ddf//9Gjx4cNDfp7UIOQFUVu2WJKUmMG4VAOD4FBYW6tZbb1WPHj3kcDiUm5uriRMnasWKFS3afuTIkSooKFBaWmCfvt9UuLrzzjtbXFco0eUQQGfuelwX2T/XQecvJPW1uhwAQDu1c+dOnXHGGUpPT9dDDz2kQYMGqba2VkuXLtX06dO1efPmY+7DbrcrKysrBNX6RjFPTg6/m27oyQmgzlXfaVjMVqUZFVaXAgBox26++WYZhqHPPvtMl19+ufr06aP+/ftr5syZ+uSTT/ztioqKdOmllyoxMVG9e/fW22+/7V935Omq4uJiXXnlleratasSExM1cOBAvfLKKw3e9+yzz9aMGTP0q1/9ShkZGcrKytL999/vX3/iiSdK8o1YbhiGf57TVVHA7i6XJMUlpVtbCACgeTUVzU+11a1oW9Wytq104MABLVmyRNOnT1dSUuOHy6anp/tfz5kzR1dccYW+/PJLTZgwQZMnT9aBAwcabSP5RvgeOnSo/vnPf+qrr77SL37xC1199dX69NNPG7R74YUXlJSUpE8//VQPPfSQ5s6dq+XLl0uS1q1bJ0lauHChCgoK/PPhyvLTVU8++aT++Mc/qqCgQP3799f8+fM1evToZtuvXr1aM2fO1Ndff62cnBz96le/0rRp00JYcfPiPb6QY0vqYHElAIBm/T6n+XW9x0qTXz80/8deUm1l0227j5KufffQ/PyBUmVx43b3l7aqvO3bt8s0TfXr1++YbadOnaorr7xSkvT73/9ef/nLX/TZZ5/p/PPPb9T2hBNO0J133umfv/XWW7VkyRK9/vrr+tGPfuRfPmjQIM2ePVuS1Lt3bz3++ONasWKFzjvvPHXu3FmSL2iF6lTY8bC0J+e1117TbbfdpnvvvVf5+fkaPXq0xo8fr927dzfZfseOHZowYYJGjx6t/Px83XPPPZoxY4YWLVoU4sqbluj1hZz4lAyLKwEAtFemaUryXeB7LIMGDfK/TkpKUkpKivbt29dkW4/HowceeECDBg1Sx44dlZycrGXLljX6zT18n5KUnZ3d7D7DnaU9OY8++qiuv/563XDDDZKk+fPna+nSpXrqqac0b968Ru2ffvppdevWTfPnz5cknXTSSVq/fr0efvhh/eQnPwll6U1KNiskQ0pIpicHAMLWPXubX2fENpy/a/tR2h7RT3DbxrbXdJjevXvLMAxt2rRJl1xyyVHb2mwN7+Y1DENer7fJto888oj+9Kc/af78+Ro4cKCSkpJ02223qaamps37DHeW9eTU1NTo888/19ixYxssHzt2rNauXdvkNh9//HGj9uPGjdP69etVW1sbtFpbwl1boyTDdy43KY0nHgNA2LInNT/Z4lvRNqFlbVspIyND48aN0xNPPKGKisbX9LT1uTcffvihLr74Yl111VU65ZRT1KNHD23btq3V+7HZbPJ4PG2qIdQsCzlFRUXyeDzKzMxssDwzM1OFhYVNblNYWNhke7fbraKioia3cblccjqdDaZgKCtzqtDsoArToeQ0TlcBANruySeflMfj0fDhw7Vo0SJt27ZNmzZt0mOPPaYRI0a0aZ+9evXS8uXLtXbtWm3atEk33XRTs7+3R3PiiSdqxYoVKiws1MGDB9tUS6hYfnfVkeccTdM86nnIpto3tbzevHnzlJaW5p9yc3OPs+KmVcYk6TzjGZ1mviib3RGU9wAARIe8vDx98cUXOuecc3THHXdowIABOu+887RixQo99dRTbdrn//7v/+rUU0/VuHHjdPbZZysrK+uYp8Oa8sgjj2j58uXKzc3VkCFD2lRLqBhmfUoIsZqaGiUmJur111/XpZde6l/+P//zP9qwYYNWr17daJszzzxTQ4YM0Z///Gf/sjfffFNXXHGFKisrG51HlHw9OS6Xyz/vdDqVm5ur0tJSpaamBvhTSV6vqZiYY18sBgAIrurqau3YsUN5eXmKj48/9gaw3NH+zZxOp9LS0lr1+21ZT47dbtfQoUP9997XW758uUaOHNnkNiNGjGjUftmyZRo2bFiTAUeSHA6HUlNTG0zBRMABACA8WHq6aubMmXr22We1YMECbdq0Sbfffrt2797tf+7NrFmzdM011/jbT5s2Tbt27dLMmTO1adMmLViwQM8991yD+/4BAAAki28hnzRpkoqLizV37lwVFBRowIABeu+999S9e3dJUkFBQYP79/Py8vTee+/p9ttv1xNPPKGcnBw99thjYXH7OAAACC+WXZNjlbac0wMAtD9ck9P+RMw1OQAAAMFEyAEARLQoO2HRrgX634qQAwCISPV33VZWNjPAJsJO/RATsbGxx2jZMpaPQg4AQDDExsYqPT3dP7hkYmJiiwa9hDW8Xq/279+vxMRExcUFJp4QcgAAESsrK0uS2u0o2tEmJiZG3bp1C1gYJeQAACKWYRjKzs5Wly5dLB/IGcdmt9sVExO4K2kIOQCAiBcbGxuw6zzQfnDhMQAAiEiEHAAAEJEIOQAAICJF3TU59Q8acjqdFlcCAABaqv53uzUPDIy6kFNWViZJys3NtbgSAADQWmVlZUpLS2tR26gboNPr9Wrv3r1KSUkJ+EOhnE6ncnNz9f333zP4ZyvwvbUe31nb8L21Dd9b2/C9td7RvjPTNFVWVqacnJwW32YedT05MTEx6tq1a1DfIzU1lQO6DfjeWo/vrG343tqG761t+N5ar7nvrKU9OPW48BgAAEQkQg4AAIhIhJwAcjgcmj17thwOh9WltCt8b63Hd9Y2fG9tw/fWNnxvrRfo7yzqLjwGAADRgZ4cAAAQkQg5AAAgIhFyAABARCLkBMiTTz6pvLw8xcfHa+jQofrwww+tLims3X///TIMo8GUlZVldVlhZ82aNZo4caJycnJkGIbeeuutButN09T999+vnJwcJSQk6Oyzz9bXX39tTbFh5Fjf29SpUxsdf6effro1xYaJefPm6bTTTlNKSoq6dOmiSy65RFu2bGnQhuOtsZZ8bxxvjT311FMaNGiQ/3k4I0aM0L/+9S//+kAda4ScAHjttdd022236d5771V+fr5Gjx6t8ePHa/fu3VaXFtb69++vgoIC/7Rx40arSwo7FRUVOuWUU/T44483uf6hhx7So48+qscff1zr1q1TVlaWzjvvPP/wJdHqWN+bJJ1//vkNjr/33nsvhBWGn9WrV2v69On65JNPtHz5crndbo0dO1YVFRX+NhxvjbXke5M43o7UtWtXPfjgg1q/fr3Wr1+vc889VxdffLE/yATsWDNx3IYPH25OmzatwbJ+/fqZv/71ry2qKPzNnj3bPOWUU6wuo12RZL755pv+ea/Xa2ZlZZkPPvigf1l1dbWZlpZmPv300xZUGJ6O/N5M0zSnTJliXnzxxZbU017s27fPlGSuXr3aNE2Ot5Y68nszTY63lurQoYP57LPPBvRYoyfnONXU1Ojzzz/X2LFjGywfO3as1q5da1FV7cO2bduUk5OjvLw8/exnP9N3331ndUntyo4dO1RYWNjg2HM4HDrrrLM49lpg1apV6tKli/r06aMbb7xR+/bts7qksFJaWipJysjIkMTx1lJHfm/1ON6a5/F49Oqrr6qiokIjRowI6LFGyDlORUVF8ng8yszMbLA8MzNThYWFFlUV/n70ox/pxRdf1NKlS/W3v/1NhYWFGjlypIqLi60urd2oP7449lpv/Pjxevnll/XBBx/okUce0bp163TuuefK5XJZXVpYME1TM2fO1KhRozRgwABJHG8t0dT3JnG8NWfjxo1KTk6Ww+HQtGnT9Oabb+rkk08O6LEWdQN0BsuRI5qbphnwUc4jyfjx4/2vBw4cqBEjRqhnz5564YUXNHPmTAsra3849lpv0qRJ/tcDBgzQsGHD1L17d7377ru67LLLLKwsPNxyyy368ssv9e9//7vROo635jX3vXG8Na1v377asGGDSkpKtGjRIk2ZMkWrV6/2rw/EsUZPznHq1KmTYmNjG6XLffv2NUqhaF5SUpIGDhyobdu2WV1Ku1F/NxrH3vHLzs5W9+7dOf4k3XrrrXr77be1cuVKde3a1b+c4+3omvvemsLx5mO329WrVy8NGzZM8+bN0ymnnKI///nPAT3WCDnHyW63a+jQoVq+fHmD5cuXL9fIkSMtqqr9cblc2rRpk7Kzs60upd3Iy8tTVlZWg2OvpqZGq1ev5thrpeLiYn3//fdRffyZpqlbbrlFixcv1gcffKC8vLwG6znemnas760pHG9NM01TLpcrsMdagC6KjmqvvvqqabPZzOeee8785ptvzNtuu81MSkoyd+7caXVpYeuOO+4wV61aZX733XfmJ598Yl544YVmSkoK39kRysrKzPz8fDM/P9+UZD766KNmfn6+uWvXLtM0TfPBBx8009LSzMWLF5sbN240r7zySjM7O9t0Op0WV26to31vZWVl5h133GGuXbvW3LFjh7ly5UpzxIgR5gknnBDV39svf/lLMy0tzVy1apVZUFDgnyorK/1tON4aO9b3xvHWtFmzZplr1qwxd+zYYX755ZfmPffcY8bExJjLli0zTTNwxxohJ0CeeOIJs3v37qbdbjdPPfXUBrcPorFJkyaZ2dnZps1mM3NycszLLrvM/Prrr60uK+ysXLnSlNRomjJlimmavtt6Z8+ebWZlZZkOh8M888wzzY0bN1pbdBg42vdWWVlpjh071uzcubNps9nMbt26mVOmTDF3795tddmWaur7kmQuXLjQ34bjrbFjfW8cb0277rrr/L+ZnTt3NseMGeMPOKYZuGONUcgBAEBE4pocAAAQkQg5AAAgIhFyAABARCLkAACAiETIAQAAEYmQAwAAIhIhBwAARCRCDgAAiEiEHACoYxiG3nrrLavLABAghBwAYWPq1Km65JJLrC4DQIQg5AAAgIhEyAHQLnzzzTeaMGGCkpOTlZmZqauvvlpFRUWSpGeeeUYnnHCCvF5vg20uuugiTZkyxT//zjvvaOjQoYqPj1ePHj00Z84cud3ukH4OAKFDyAEQ9goKCnTWWWdp8ODBWr9+vZYsWaIffvhBV1xxhSTppz/9qYqKirRy5Ur/NgcPHtTSpUs1efJkSdLSpUt11VVXacaMGfrmm2/0zDPP6Pnnn9cDDzxgyWcCEHyEHABh76mnntKpp56q3//+9+rXr5+GDBmiBQsWaOXKldq6dasyMjJ0/vnn6+9//7t/m9dff10ZGRkaM2aMJOmBBx7Qr3/9a02ZMkU9evTQeeedp9/+9rd65plnrPpYAIKMkAMg7H3++edauXKlkpOT/VO/fv0kSd9++60kafLkyVq0aJFcLpck6eWXX9bPfvYzxcbG+vcxd+7cBvu48cYbVVBQoMrKSms+GICgirO6AAA4Fq/Xq4kTJ+oPf/hDo3XZ2dmSpIkTJ8rr9erdd9/Vaaedpg8//FCPPvpog33MmTNHl112WaN9xMfHB694AJYh5AAIe6eeeqoWLVqkE088UXFxTf+3lZCQoMsuu0wvv/yytm/frj59+mjo0KEN9rFlyxb16tUrVGUDsBghB0BYKS0t1YYNGxosu+mmm/S3v/1NV155pe666y516tRJ27dv16uvvqq//e1v/lNSkydP1sSJE/X111/rqquuarCP3/zmN7rwwguVm5urn/70p4qJidGXX36pjRs36ne/+12oPh6AECLkAAgrq1at0pAhQxosmzJlij766CPdfffdGjdunFwul7p3767zzz9fMTGHLi0899xzlZGRoS1btujnP/95g32MGzdO//znPzV37lw99NBDstls6tevn2644YaQfC4AoWeYpmlaXQQAAECgcXcVAACISIQcAAAQkQg5AAAgIhFyAABARCLkAACAiETIAQAAEYmQAwAAIhIhBwAARCRCDgAAiEiEHAAAEJEIOQAAICIRcgAAQET6f9jJrBEJeu7UAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cmfgen_levels_h.energy.plot(label=\"CMFGEN\", legend=True)\n", - "grouped_chianti.energy.plot(label=\"Chianti\", ls=\"--\", legend=True,xlabel=\"Level\",ylabel=\"Energy\")" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [], - "source": [ - "chianti_levels = grouped_chianti.set_index(chianti_atom_data.levels.loc[1, 0, :4].index)\n", - "chianti_levels_full = chianti_levels.reindex(chianti_atom_data.levels.index, fill_value=0)" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "matched_chianti_atom_data = chianti_atom_data\n", - "matched_chianti_atom_data.levels = chianti_levels_full" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "cmfgen_lines_h = cmfgen_atom_data.lines.loc[1, 0, :]\n", - "chianti_lines_h = chianti_atom_data.lines.loc[1, 0, :]" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2973239/2336803656.py:1: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " chianti_lines_h[\"wavelength\"] = chianti_lines_h[\"wavelength\"].round(2)\n" - ] - } - ], - "source": [ - "chianti_lines_h[\"wavelength\"] = chianti_lines_h[\"wavelength\"].round(2)" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/afullard/tardis/tardis/plasma/detailed_balance/rates/collisional_rates.py:98: RuntimeWarning: divide by zero encountered in divide\n", - " (self.g_u / self.g_l)[np.newaxis].T\n", - "/home/afullard/tardis/tardis/plasma/detailed_balance/rates/collisional_rates.py:98: RuntimeWarning: invalid value encountered in divide\n", - " (self.g_u / self.g_l)[np.newaxis].T\n" - ] - } - ], - "source": [ - "chianti_collisional_rates = get_chianti_collisional_rates(matched_chianti_atom_data, temperature, chianti_radiative_transitions)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: >" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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7rvIycmBv78/Dh48CHd3955rNREREVE7gqhuRjstVF5eDnNzc5SVlcHMzEzTzSEiIqIu6M7xu0/e+4mIiIiouxhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0AkMNERERaQWGGiIiItIKDDVERESkFRhqiIiISCsw1BAREZFWYKghIiIircBQQ0RERFqBoYaIiIi0Qp8MNQsXLoSlpSUefPBBpeW3bt3ClClTMGzYMAQEBOCHH37QUAuJiIior+mToWbFihX48ssvVZbr6Ohg8+bNSExMxLFjx/Diiy+iqqpKAy0kIiKivqZPhpqwsDCYmpqqLHd0dERgYCAAwM7ODlZWViguLu7l1hEREVFf1O1Qc+rUKcybNw9OTk4QBAF79+5VKbN161Z4enrCwMAAISEhOH36dE+0VcmFCxcgl8vh6ura43UTERFR/9PtUFNVVYURI0bg448/Vrt+9+7dWLlyJdasWYPY2FhMnDgRs2fPRkZGhqJMSEgI/P39VR7Z2dldakNRUREef/xxfPrpp91tPhEREWkpne5uMHv2bMyePbvD9R9++CGefvppPPPMMwCAzZs34/Dhw9i2bRvWr18PAIiJibnD5gJ1dXVYuHAhXn/9dYwbN67TcnV1dYrn5eXld7xPIiIi6vt6dExNfX09YmJiMHPmTKXlM2fORGRk5F3XL4oinnzySUydOhVLlizptOz69ethbm6uePA0FRERkXbr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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "chianti_collisional_rates.loc[1,0,0,1].plot(logy=True,label=\"Chianti exc\",legend=True)\n", - "chianti_collisional_rates.loc[1,0,1,0].plot(logy=True,label=\"Chianti deexc\",legend=True)\n", - "cmfgen_collisional_rates.loc[1,0,0,1].plot(logy=True,label=\"CMFGEN exc\",legend=True)\n", - "cmfgen_collisional_rates.loc[1,0,1,0].plot(logy=True,label=\"CMFGEN deexc\",legend=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Compare Plasma module-style solver to reference data" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "import copy\n", - "\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "from tardis.plasma.assembly.base import (\n", - " PlasmaSolverFactory,\n", - " convert_species_to_multi_index,\n", - ")\n", - "from tardis.plasma.properties.atomic import YgData, YgInterpolator\n", - "from tardis.plasma.properties.continuum_processes import (\n", - " CollDeexcRateCoeff,\n", - " CollExcRateCoeff,\n", - ")\n", - "from tardis.plasma.properties.general import BetaElectron\n", - "from tardis.plasma.properties.partition_function import (\n", - " ThermalLevelBoltzmannFactorLTE,\n", - ")\n", - "from tardis.plasma.properties.plasma_input import ContinuumInteractionSpecies\n", - "\n", - "\n", - "def legacy_cmfgen_collision_rate_plasma_solver(nlte_atomic_dataset, rad_field):\n", - " atom_data = copy.deepcopy(nlte_atomic_dataset)\n", - " # almost all settings are irrelevant for collisional strength data\n", - " number_densities = pd.DataFrame({1: [1] * len(temperature)}).T\n", - " time_explosion = 5 * u.day\n", - "\n", - " plasma_solver_factory = PlasmaSolverFactory(atom_data)\n", - "\n", - " # plasma_solver_factory.continuum_interaction_species = [\"He I\"]\n", - " plasma_solver_factory.line_interaction_type = \"macroatom\"\n", - " plasma_solver_factory.prepare_factory([1])\n", - " plasma_solver_factory.plasma_modules += [\n", - " YgData,\n", - " ContinuumInteractionSpecies,\n", - " CollExcRateCoeff,\n", - " CollDeexcRateCoeff,\n", - " YgInterpolator,\n", - " ThermalLevelBoltzmannFactorLTE,\n", - " BetaElectron,\n", - " ]\n", - " species_mindex = convert_species_to_multi_index([\"H I\"])\n", - " return plasma_solver_factory.assemble(\n", - " number_densities,\n", - " rad_field,\n", - " time_explosion,\n", - " continuum_interaction_species=species_mindex,\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [], - "source": [ - "dilute_rad_field = dilute_planck_rad_field = DilutePlanckianRadiationField(\n", - " temperature, np.array([1] * len(temperature))\n", - " )\n", - "\n", - "legacy_solver = legacy_cmfgen_collision_rate_plasma_solver(cmfgen_atom_data, dilute_rad_field)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<Axes: xlabel='Shell', ylabel='Coeff'>" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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qBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFk2TSoLF++HH/5y1+g1Wrh5eWFYcOGISUlxZYlERERkYTYNKjExsZi6tSp+PHHH7Fv3z6Ul5cjPDwcxcXFtiyLiIiIJEImhBC2LqJSTk4OvLy8EBsbiz59+vxpe71eD51Oh8LCQjg7O9+FComIiOh2NeT72+Eu1VQvhYWFAAA3N7ca15tMJphMJuvPer3+rtRFREREtiGZybRCCLzyyivo3bs3OnXqVGOb5cuXQ6fTWV9+fn53uUoiIiK6myRz6mfq1KnYtWsXjh49ihYtWtTYpqYRFT8/P576ISIiakKa3Kmf6dOnY8eOHTh8+HCtIQUAFAoFFArFXayMiIiIbMmmQUUIgenTp+Prr79GTEwMWrVqZctyiIiISGJsGlSmTp2Kzz77DN988w20Wi2ysrIAADqdDiqVypalERERkQTYdI6KTCarcfnGjRsxfvz4P92elycTERE1PU1mjopE5vESERGRREnm8mQiIiKimzGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFkMagQERGRZDGoEBERkWQxqBAREZFk2TyofPDBB2jVqhWUSiV69OiBI0eO2LokIiIikgibBpWt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", - "text/plain": [ - "<Figure size 640x480 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "legacy_solver.coll_exc_coeff.loc[1,0,0,1].plot(logy=False,label=\"TARDIS exc\",legend=True)\n", - "legacy_solver.coll_deexc_coeff.loc[1,0,0,1].plot(logy=False,label=\"TARDIS deexc\",legend=True)\n", - "reference_coeff[\"coll_exc_coeff\"].loc[1,0,0,1].plot(logy=False,label=\"reference exc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "reference_coeff[\"coll_deexc_coeff\"].loc[1,0,0,1].plot(logy=False,label=\"reference deexc\",legend=True,ylabel=\"Coeff\",xlabel=\"Shell\",ls=\"\", marker = '+')\n", - "cmfgen_collisional_rates.loc[1,0,0,1].plot(logy=False,label=\"TARDIS new exc\",legend=True)\n", - "cmfgen_collisional_rates.loc[1,0,1,0].plot(logy=False,label=\"TARDIS new deexc\",legend=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1.0\n", - "1 1.0\n", - "2 1.0\n", - "3 1.0\n", - "4 1.0\n", - "5 1.0\n", - "6 1.0\n", - "7 1.0\n", - "8 1.0\n", - "9 1.0\n", - "Name: (1, 0, 0, 1), dtype: float64" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "legacy_solver.coll_exc_coeff.loc[1,0,0,1] / cmfgen_collisional_rates.loc[1,0,0,1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tardis", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/physics/plasma/detailed_balance/rates.ipynb b/docs/physics/plasma/detailed_balance/rates.ipynb deleted file mode 100644 index af411014a63..00000000000 --- a/docs/physics/plasma/detailed_balance/rates.ipynb +++ /dev/null @@ -1,1419 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exploring rates" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/wkerzend/python/tardis/tardis/__init__.py:20: UserWarning: Astropy is already imported externally. Astropy should be imported after TARDIS.\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5852f5c0d8924d139d2fadeea2380ec8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Iterations: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3917b35549794ffbbb39318df015eac1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Packets: 0/? [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from astropy import constants as const\n", - "from astropy import units as u\n", - "\n", - "from tardis.io.atom_data import AtomData\n", - "from tardis.plasma.detailed_balance.rates import (\n", - " RadiativeRatesSolver,\n", - " ThermalCollisionalRateSolver,\n", - " UpsilonRegemorterSolver,\n", - ")\n", - "from tardis.plasma.radiation_field import (\n", - " PlanckianRadiationField,\n", - ")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#atom_data = AtomData.from_hdf('kurucz_cd23_chianti_H_He.h5')\n", - "atom_data = AtomData.from_hdf('/Users/wkerzend/python/tardis-refdata/nlte_atom_data/TestNLTE_He_Ti.h5')\n", - "lines_df = atom_data.lines" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 2000, 5000, 10000, 20000, 50000, 100000, 200000,\n", - " 500000, 1000000])" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "atom_data.collision_data_temperatures" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'dummy value'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "atom_data.collision_data" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "radiative_transitions = lines_df.loc[(2,0, slice(None), slice(None)), :]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>line_id</th>\n", - " <th>wavelength</th>\n", - " <th>f_ul</th>\n", - " <th>f_lu</th>\n", - " <th>nu</th>\n", - " <th>B_lu</th>\n", - " <th>B_ul</th>\n", - " <th>A_ul</th>\n", - " <th>wavelength_cm</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_lower</th>\n", - " <th>level_number_upper</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">2</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th>1</th>\n", - " <th>3</th>\n", - " <td>533584</td>\n", - " <td>1.083017e+04</td>\n", - " <td>0.179800</td>\n", - " <td>0.53940</td>\n", - " <td>2.768123e+14</td>\n", - " <td>9.808029e+10</td>\n", - " <td>3.269343e+10</td>\n", - " <td>1.022495e+07</td>\n", - " <td>0.000108</td>\n", - " </tr>\n", - " <tr>\n", - " <th>0</th>\n", - " <th>4</th>\n", - " <td>533561</td>\n", - " <td>5.843340e+02</td>\n", - " <td>0.092100</td>\n", - " <td>0.27630</td>\n", - " <td>5.130498e+15</td>\n", - " <td>2.710676e+09</td>\n", - " <td>9.035585e+08</td>\n", - " <td>1.799200e+09</td>\n", - " <td>0.000006</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <th>4</th>\n", - " <td>533604</td>\n", - " <td>2.058129e+04</td>\n", - " <td>0.125500</td>\n", - " <td>0.37650</td>\n", - " <td>1.456626e+14</td>\n", - " <td>1.300987e+11</td>\n", - " <td>4.336624e+10</td>\n", - " <td>1.976246e+06</td>\n", - " <td>0.000206</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <th>9</th>\n", - " <td>533664</td>\n", - " <td>6.678152e+03</td>\n", - " <td>0.426120</td>\n", - " <td>0.71020</td>\n", - " <td>4.489153e+14</td>\n", - " <td>7.962922e+10</td>\n", - " <td>4.777753e+10</td>\n", - " <td>6.373259e+07</td>\n", - " <td>0.000067</td>\n", - " </tr>\n", - " <tr>\n", - " <th>0</th>\n", - " <th>10</th>\n", - " <td>533563</td>\n", - " <td>5.370300e+02</td>\n", - " <td>0.024487</td>\n", - " <td>0.07346</td>\n", - " <td>5.582415e+15</td>\n", - " <td>6.623461e+08</td>\n", - " <td>2.207820e+08</td>\n", - " <td>5.663368e+08</td>\n", - " <td>0.000005</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>205</th>\n", - " <th>234</th>\n", - " <td>537353</td>\n", - " <td>1.554000e+06</td>\n", - " <td>0.012279</td>\n", - " <td>0.40633</td>\n", - " <td>1.929166e+12</td>\n", - " <td>1.060145e+13</td>\n", - " <td>3.203736e+11</td>\n", - " <td>3.391645e+01</td>\n", - " <td>0.015540</td>\n", - " </tr>\n", - " <tr>\n", - " <th>206</th>\n", - " <th>234</th>\n", - " <td>537357</td>\n", - " <td>1.554000e+06</td>\n", - " <td>0.447982</td>\n", - " <td>0.56620</td>\n", - " <td>1.929166e+12</td>\n", - " <td>1.477258e+13</td>\n", - " <td>1.168820e+13</td>\n", - " <td>1.237375e+03</td>\n", - " <td>0.015540</td>\n", - " </tr>\n", - " <tr>\n", - " <th>219</th>\n", - " <th>234</th>\n", - " <td>537397</td>\n", - " <td>3.373000e+06</td>\n", - " <td>0.048841</td>\n", - " <td>1.61620</td>\n", - " <td>8.888006e+11</td>\n", - " <td>9.152652e+13</td>\n", - " <td>2.765911e+12</td>\n", - " <td>2.863492e+01</td>\n", - " <td>0.033730</td>\n", - " </tr>\n", - " <tr>\n", - " <th>220</th>\n", - " <th>234</th>\n", - " <td>537399</td>\n", - " <td>3.374000e+06</td>\n", - " <td>3.693125</td>\n", - " <td>4.13630</td>\n", - " <td>8.885372e+11</td>\n", - " <td>2.343110e+14</td>\n", - " <td>2.092062e+14</td>\n", - " <td>2.163944e+03</td>\n", - " <td>0.033740</td>\n", - " </tr>\n", - " <tr>\n", - " <th>233</th>\n", - " <th>234</th>\n", - " <td>537415</td>\n", - " <td>7.975000e+10</td>\n", - " <td>0.000027</td>\n", - " <td>0.00088</td>\n", - " <td>3.759153e+07</td>\n", - " <td>1.178629e+15</td>\n", - " <td>3.561791e+13</td>\n", - " <td>2.789865e-11</td>\n", - " <td>797.500000</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>3549 rows × 9 columns</p>\n", - "</div>" - ], - "text/plain": [ - " line_id \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 533584 \n", - " 0 4 533561 \n", - " 2 4 533604 \n", - " 4 9 533664 \n", - " 0 10 533563 \n", - "... ... \n", - " 205 234 537353 \n", - " 206 234 537357 \n", - " 219 234 537397 \n", - " 220 234 537399 \n", - " 233 234 537415 \n", - "\n", - " wavelength \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 1.083017e+04 \n", - " 0 4 5.843340e+02 \n", - " 2 4 2.058129e+04 \n", - " 4 9 6.678152e+03 \n", - " 0 10 5.370300e+02 \n", - "... ... \n", - " 205 234 1.554000e+06 \n", - " 206 234 1.554000e+06 \n", - " 219 234 3.373000e+06 \n", - " 220 234 3.374000e+06 \n", - " 233 234 7.975000e+10 \n", - "\n", - " f_ul \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 0.179800 \n", - " 0 4 0.092100 \n", - " 2 4 0.125500 \n", - " 4 9 0.426120 \n", - " 0 10 0.024487 \n", - "... ... \n", - " 205 234 0.012279 \n", - " 206 234 0.447982 \n", - " 219 234 0.048841 \n", - " 220 234 3.693125 \n", - " 233 234 0.000027 \n", - "\n", - " f_lu \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 0.53940 \n", - " 0 4 0.27630 \n", - " 2 4 0.37650 \n", - " 4 9 0.71020 \n", - " 0 10 0.07346 \n", - "... ... \n", - " 205 234 0.40633 \n", - " 206 234 0.56620 \n", - " 219 234 1.61620 \n", - " 220 234 4.13630 \n", - " 233 234 0.00088 \n", - "\n", - " nu \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 2.768123e+14 \n", - " 0 4 5.130498e+15 \n", - " 2 4 1.456626e+14 \n", - " 4 9 4.489153e+14 \n", - " 0 10 5.582415e+15 \n", - "... ... \n", - " 205 234 1.929166e+12 \n", - " 206 234 1.929166e+12 \n", - " 219 234 8.888006e+11 \n", - " 220 234 8.885372e+11 \n", - " 233 234 3.759153e+07 \n", - "\n", - " B_lu \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 9.808029e+10 \n", - " 0 4 2.710676e+09 \n", - " 2 4 1.300987e+11 \n", - " 4 9 7.962922e+10 \n", - " 0 10 6.623461e+08 \n", - "... ... \n", - " 205 234 1.060145e+13 \n", - " 206 234 1.477258e+13 \n", - " 219 234 9.152652e+13 \n", - " 220 234 2.343110e+14 \n", - " 233 234 1.178629e+15 \n", - "\n", - " B_ul \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 3.269343e+10 \n", - " 0 4 9.035585e+08 \n", - " 2 4 4.336624e+10 \n", - " 4 9 4.777753e+10 \n", - " 0 10 2.207820e+08 \n", - "... ... \n", - " 205 234 3.203736e+11 \n", - " 206 234 1.168820e+13 \n", - " 219 234 2.765911e+12 \n", - " 220 234 2.092062e+14 \n", - " 233 234 3.561791e+13 \n", - "\n", - " A_ul \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 1.022495e+07 \n", - " 0 4 1.799200e+09 \n", - " 2 4 1.976246e+06 \n", - " 4 9 6.373259e+07 \n", - " 0 10 5.663368e+08 \n", - "... ... \n", - " 205 234 3.391645e+01 \n", - " 206 234 1.237375e+03 \n", - " 219 234 2.863492e+01 \n", - " 220 234 2.163944e+03 \n", - " 233 234 2.789865e-11 \n", - "\n", - " wavelength_cm \n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 0.000108 \n", - " 0 4 0.000006 \n", - " 2 4 0.000206 \n", - " 4 9 0.000067 \n", - " 0 10 0.000005 \n", - "... ... \n", - " 205 234 0.015540 \n", - " 206 234 0.015540 \n", - " 219 234 0.033730 \n", - " 220 234 0.033740 \n", - " 233 234 797.500000 \n", - "\n", - "[3549 rows x 9 columns]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "radiative_transitions" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "temperature = [10000, 20000] * u.K\n", - "rad_field = PlanckianRadiationField(temperature=temperature)\n", - "\n", - "rad_rate_solver = RadiativeRatesSolver(radiative_transitions)\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "rad_rates_df = rad_rate_solver.solve(rad_field)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>line_id</th>\n", - " <th>wavelength</th>\n", - " <th>f_ul</th>\n", - " <th>f_lu</th>\n", - " <th>nu</th>\n", - " <th>B_lu</th>\n", - " <th>B_ul</th>\n", - " <th>A_ul</th>\n", - " <th>wavelength_cm</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_lower</th>\n", - " <th>level_number_upper</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">2</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th>1</th>\n", - " <th>3</th>\n", - " <td>533584</td>\n", - " <td>1.083017e+04</td>\n", - " <td>0.179800</td>\n", - " <td>0.53940</td>\n", - " <td>2.768123e+14</td>\n", - " <td>9.808029e+10</td>\n", - " <td>3.269343e+10</td>\n", - " <td>1.022495e+07</td>\n", - " <td>0.000108</td>\n", - " </tr>\n", - " <tr>\n", - " <th>0</th>\n", - " <th>4</th>\n", - " <td>533561</td>\n", - " <td>5.843340e+02</td>\n", - " <td>0.092100</td>\n", - " <td>0.27630</td>\n", - " <td>5.130498e+15</td>\n", - " <td>2.710676e+09</td>\n", - " <td>9.035585e+08</td>\n", - " <td>1.799200e+09</td>\n", - " <td>0.000006</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <th>4</th>\n", - " <td>533604</td>\n", - " <td>2.058129e+04</td>\n", - " <td>0.125500</td>\n", - " <td>0.37650</td>\n", - " <td>1.456626e+14</td>\n", - " <td>1.300987e+11</td>\n", - " <td>4.336624e+10</td>\n", - " <td>1.976246e+06</td>\n", - " <td>0.000206</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <th>9</th>\n", - " <td>533664</td>\n", - " <td>6.678152e+03</td>\n", - " <td>0.426120</td>\n", - " <td>0.71020</td>\n", - " <td>4.489153e+14</td>\n", - " <td>7.962922e+10</td>\n", - " <td>4.777753e+10</td>\n", - " <td>6.373259e+07</td>\n", - " <td>0.000067</td>\n", - " </tr>\n", - " <tr>\n", - " <th>0</th>\n", - " <th>10</th>\n", - " <td>533563</td>\n", - " <td>5.370300e+02</td>\n", - " <td>0.024487</td>\n", - " <td>0.07346</td>\n", - " <td>5.582415e+15</td>\n", - " <td>6.623461e+08</td>\n", - " <td>2.207820e+08</td>\n", - " <td>5.663368e+08</td>\n", - " <td>0.000005</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>205</th>\n", - " <th>234</th>\n", - " <td>537353</td>\n", - " <td>1.554000e+06</td>\n", - " <td>0.012279</td>\n", - " <td>0.40633</td>\n", - " <td>1.929166e+12</td>\n", - " <td>1.060145e+13</td>\n", - " <td>3.203736e+11</td>\n", - " <td>3.391645e+01</td>\n", - " <td>0.015540</td>\n", - " </tr>\n", - " <tr>\n", - " <th>206</th>\n", - " <th>234</th>\n", - " <td>537357</td>\n", - " <td>1.554000e+06</td>\n", - " <td>0.447982</td>\n", - " <td>0.56620</td>\n", - " <td>1.929166e+12</td>\n", - " <td>1.477258e+13</td>\n", - " <td>1.168820e+13</td>\n", - " <td>1.237375e+03</td>\n", - " <td>0.015540</td>\n", - " </tr>\n", - " <tr>\n", - " <th>219</th>\n", - " <th>234</th>\n", - " <td>537397</td>\n", - " <td>3.373000e+06</td>\n", - " <td>0.048841</td>\n", - " <td>1.61620</td>\n", - " <td>8.888006e+11</td>\n", - " <td>9.152652e+13</td>\n", - " <td>2.765911e+12</td>\n", - " <td>2.863492e+01</td>\n", - " <td>0.033730</td>\n", - " </tr>\n", - " <tr>\n", - " <th>220</th>\n", - " <th>234</th>\n", - " <td>537399</td>\n", - " <td>3.374000e+06</td>\n", - " <td>3.693125</td>\n", - " <td>4.13630</td>\n", - " <td>8.885372e+11</td>\n", - " <td>2.343110e+14</td>\n", - " <td>2.092062e+14</td>\n", - " <td>2.163944e+03</td>\n", - " <td>0.033740</td>\n", - " </tr>\n", - " <tr>\n", - " <th>233</th>\n", - " <th>234</th>\n", - " <td>537415</td>\n", - " <td>7.975000e+10</td>\n", - " <td>0.000027</td>\n", - " <td>0.00088</td>\n", - " <td>3.759153e+07</td>\n", - " <td>1.178629e+15</td>\n", - " <td>3.561791e+13</td>\n", - " <td>2.789865e-11</td>\n", - " <td>797.500000</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>3549 rows × 9 columns</p>\n", - "</div>" - ], - "text/plain": [ - " line_id \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 533584 \n", - " 0 4 533561 \n", - " 2 4 533604 \n", - " 4 9 533664 \n", - " 0 10 533563 \n", - "... ... \n", - " 205 234 537353 \n", - " 206 234 537357 \n", - " 219 234 537397 \n", - " 220 234 537399 \n", - " 233 234 537415 \n", - "\n", - " wavelength \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 1.083017e+04 \n", - " 0 4 5.843340e+02 \n", - " 2 4 2.058129e+04 \n", - " 4 9 6.678152e+03 \n", - " 0 10 5.370300e+02 \n", - "... ... \n", - " 205 234 1.554000e+06 \n", - " 206 234 1.554000e+06 \n", - " 219 234 3.373000e+06 \n", - " 220 234 3.374000e+06 \n", - " 233 234 7.975000e+10 \n", - "\n", - " f_ul \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 0.179800 \n", - " 0 4 0.092100 \n", - " 2 4 0.125500 \n", - " 4 9 0.426120 \n", - " 0 10 0.024487 \n", - "... ... \n", - " 205 234 0.012279 \n", - " 206 234 0.447982 \n", - " 219 234 0.048841 \n", - " 220 234 3.693125 \n", - " 233 234 0.000027 \n", - "\n", - " f_lu \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 0.53940 \n", - " 0 4 0.27630 \n", - " 2 4 0.37650 \n", - " 4 9 0.71020 \n", - " 0 10 0.07346 \n", - "... ... \n", - " 205 234 0.40633 \n", - " 206 234 0.56620 \n", - " 219 234 1.61620 \n", - " 220 234 4.13630 \n", - " 233 234 0.00088 \n", - "\n", - " nu \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 2.768123e+14 \n", - " 0 4 5.130498e+15 \n", - " 2 4 1.456626e+14 \n", - " 4 9 4.489153e+14 \n", - " 0 10 5.582415e+15 \n", - "... ... \n", - " 205 234 1.929166e+12 \n", - " 206 234 1.929166e+12 \n", - " 219 234 8.888006e+11 \n", - " 220 234 8.885372e+11 \n", - " 233 234 3.759153e+07 \n", - "\n", - " B_lu \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 9.808029e+10 \n", - " 0 4 2.710676e+09 \n", - " 2 4 1.300987e+11 \n", - " 4 9 7.962922e+10 \n", - " 0 10 6.623461e+08 \n", - "... ... \n", - " 205 234 1.060145e+13 \n", - " 206 234 1.477258e+13 \n", - " 219 234 9.152652e+13 \n", - " 220 234 2.343110e+14 \n", - " 233 234 1.178629e+15 \n", - "\n", - " B_ul \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 3.269343e+10 \n", - " 0 4 9.035585e+08 \n", - " 2 4 4.336624e+10 \n", - " 4 9 4.777753e+10 \n", - " 0 10 2.207820e+08 \n", - "... ... \n", - " 205 234 3.203736e+11 \n", - " 206 234 1.168820e+13 \n", - " 219 234 2.765911e+12 \n", - " 220 234 2.092062e+14 \n", - " 233 234 3.561791e+13 \n", - "\n", - " A_ul \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 1.022495e+07 \n", - " 0 4 1.799200e+09 \n", - " 2 4 1.976246e+06 \n", - " 4 9 6.373259e+07 \n", - " 0 10 5.663368e+08 \n", - "... ... \n", - " 205 234 3.391645e+01 \n", - " 206 234 1.237375e+03 \n", - " 219 234 2.863492e+01 \n", - " 220 234 2.163944e+03 \n", - " 233 234 2.789865e-11 \n", - "\n", - " wavelength_cm \n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 1 3 0.000108 \n", - " 0 4 0.000006 \n", - " 2 4 0.000206 \n", - " 4 9 0.000067 \n", - " 0 10 0.000005 \n", - "... ... \n", - " 205 234 0.015540 \n", - " 206 234 0.015540 \n", - " 219 234 0.033730 \n", - " 220 234 0.033740 \n", - " 233 234 797.500000 \n", - "\n", - "[3549 rows x 9 columns]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "radiative_transitions" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>0</th>\n", - " <th>1</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_source</th>\n", - " <th>level_number_destination</th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">2</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th rowspan=\"5\" valign=\"top\">0</th>\n", - " <th>4</th>\n", - " <td>0.109340</td>\n", - " <td>24293.644329</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>0.003934</td>\n", - " <td>2585.380931</td>\n", - " </tr>\n", - " <tr>\n", - " <th>18</th>\n", - " <td>0.000791</td>\n", - " <td>760.480592</td>\n", - " </tr>\n", - " <tr>\n", - " <th>28</th>\n", - " <td>0.000287</td>\n", - " <td>329.201923</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>0.000138</td>\n", - " <td>173.998738</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>231</th>\n", - " <th>229</th>\n", - " <td>0.025427</td>\n", - " <td>0.050853</td>\n", - " </tr>\n", - " <tr>\n", - " <th>232</th>\n", - " <th>230</th>\n", - " <td>0.009131</td>\n", - " <td>0.018262</td>\n", - " </tr>\n", - " <tr>\n", - " <th>233</th>\n", - " <th>231</th>\n", - " <td>0.009009</td>\n", - " <td>0.018018</td>\n", - " </tr>\n", - " <tr>\n", - " <th>235</th>\n", - " <th>232</th>\n", - " <td>0.000167</td>\n", - " <td>0.000334</td>\n", - " </tr>\n", - " <tr>\n", - " <th>234</th>\n", - " <th>233</th>\n", - " <td>0.000155</td>\n", - " <td>0.000309</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>7098 rows × 2 columns</p>\n", - "</div>" - ], - "text/plain": [ - " 0 \\\n", - "atomic_number ion_number level_number_source level_number_destination \n", - "2 0 0 4 0.109340 \n", - " 10 0.003934 \n", - " 18 0.000791 \n", - " 28 0.000287 \n", - " 40 0.000138 \n", - "... ... \n", - " 231 229 0.025427 \n", - " 232 230 0.009131 \n", - " 233 231 0.009009 \n", - " 235 232 0.000167 \n", - " 234 233 0.000155 \n", - "\n", - " 1 \n", - "atomic_number ion_number level_number_source level_number_destination \n", - "2 0 0 4 24293.644329 \n", - " 10 2585.380931 \n", - " 18 760.480592 \n", - " 28 329.201923 \n", - " 40 173.998738 \n", - "... ... \n", - " 231 229 0.050853 \n", - " 232 230 0.018262 \n", - " 233 231 0.018018 \n", - " 235 232 0.000334 \n", - " 234 233 0.000309 \n", - "\n", - "[7098 rows x 2 columns]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rad_rates_df" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Collisional Rates" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "col_strength_solver = UpsilonRegemorterSolver(radiative_transitions)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "ups = col_strength_solver.solve(temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "col_strength_temperatures = atom_data.collision_data_temperatures\n", - "col_strengths = atom_data.yg_data.loc[(2,0, slice(None), slice(None)), :]\n", - "collisional_rate_solver = ThermalCollisionalRateSolver(radiative_transitions, col_strength_temperatures, col_strengths, 'cmfgen')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th>0</th>\n", - " <th>1</th>\n", - " </tr>\n", - " <tr>\n", - " <th>atomic_number</th>\n", - " <th>ion_number</th>\n", - " <th>level_number_lower</th>\n", - " <th>level_number_upper</th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th rowspan=\"11\" valign=\"top\">2</th>\n", - " <th rowspan=\"11\" valign=\"top\">0</th>\n", - " <th rowspan=\"5\" valign=\"top\">0</th>\n", - " <th>1</th>\n", - " <td>7.270000e-02</td>\n", - " <td>7.220000e-02</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>3.830000e-02</td>\n", - " <td>4.320000e-02</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>2.420000e-02</td>\n", - " <td>3.400000e-02</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>1.630000e-02</td>\n", - " <td>2.630000e-02</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>1.830000e-02</td>\n", - " <td>2.000000e-02</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>229</th>\n", - " <th>231</th>\n", - " <td>5.706217e+05</td>\n", - " <td>6.009353e+05</td>\n", - " </tr>\n", - " <tr>\n", - " <th>230</th>\n", - " <th>232</th>\n", - " <td>3.624163e+06</td>\n", - " <td>3.797912e+06</td>\n", - " </tr>\n", - " <tr>\n", - " <th>231</th>\n", - " <th>233</th>\n", - " <td>3.626137e+06</td>\n", - " <td>3.799899e+06</td>\n", - " </tr>\n", - " <tr>\n", - " <th>232</th>\n", - " <th>235</th>\n", - " <td>4.592647e+06</td>\n", - " <td>4.806122e+06</td>\n", - " </tr>\n", - " <tr>\n", - " <th>233</th>\n", - " <th>234</th>\n", - " <td>4.604415e+06</td>\n", - " <td>4.817884e+06</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>3681 rows × 2 columns</p>\n", - "</div>" - ], - "text/plain": [ - " 0 \\\n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 0 1 7.270000e-02 \n", - " 2 3.830000e-02 \n", - " 3 2.420000e-02 \n", - " 4 1.630000e-02 \n", - " 5 1.830000e-02 \n", - "... ... \n", - " 229 231 5.706217e+05 \n", - " 230 232 3.624163e+06 \n", - " 231 233 3.626137e+06 \n", - " 232 235 4.592647e+06 \n", - " 233 234 4.604415e+06 \n", - "\n", - " 1 \n", - "atomic_number ion_number level_number_lower level_number_upper \n", - "2 0 0 1 7.220000e-02 \n", - " 2 4.320000e-02 \n", - " 3 3.400000e-02 \n", - " 4 2.630000e-02 \n", - " 5 2.000000e-02 \n", - "... ... \n", - " 229 231 6.009353e+05 \n", - " 230 232 3.797912e+06 \n", - " 231 233 3.799899e+06 \n", - " 232 235 4.806122e+06 \n", - " 233 234 4.817884e+06 \n", - "\n", - "[3681 rows x 2 columns]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "collisional_rate_solver.solve(temperature)" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "atomic_number ion_number level_number_lower level_number_upper\n", - "1 0 0 2 1.634030e-18\n", - " 1 1.634029e-18\n", - " 3 1.634036e-18\n", - " 5 1.936630e-18\n", - " 4 1.936630e-18\n", - " ... \n", - "2 1 2 20 1.830975e-18\n", - " 21 1.830975e-18\n", - " 22 1.830976e-18\n", - " 23 1.830976e-18\n", - " 24 1.830977e-18\n", - "Name: delta_e, Length: 358, dtype: float64" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "atom_data.collision_data.delta_e * const.k_B" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/fg/nwmb1mss6kq3hwhj10dt0qh00000gn/T/ipykernel_571/2191378405.py:1: PerformanceWarning: indexing past lexsort depth may impact performance.\n", - " (atom_data.lines.loc[1,0, 0, 3].nu.values[0] * u.Hz * const.h).to(u.J)\n" - ] - }, - { - "data": { - "text/latex": [ - "$1.6340338 \\times 10^{-18} \\; \\mathrm{J}$" - ], - "text/plain": [ - "<Quantity 1.63403379e-18 J>" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(atom_data.lines.loc[1,0, 0, 3].nu.values[0] * u.Hz * const.h).to(u.J)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'atom_data' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43matom_data\u001b[49m\u001b[38;5;241m.\u001b[39mlines\n", - "\u001b[0;31mNameError\u001b[0m: name 'atom_data' is not defined" - ] - } - ], - "source": [ - "atom_data.lines" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "atomic_number ion_number level_number_lower level_number_upper\n", - "1 0 0 2 1.634030e-18\n", - " 1 1.634029e-18\n", - " 3 1.634036e-18\n", - " 5 1.936630e-18\n", - " 4 1.936630e-18\n", - " ... \n", - "2 1 2 20 1.830975e-18\n", - " 21 1.830975e-18\n", - " 22 1.830976e-18\n", - " 23 1.830976e-18\n", - " 24 1.830977e-18\n", - "Name: delta_e, Length: 358, dtype: float64" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "collisional_transitions = atom_data.collision_data.loc[(2,0, slice(None), slice(None)), :]" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "MultiIndex([(2, 0, 0, 1),\n", - " (2, 0, 0, 2),\n", - " (2, 0, 0, 3),\n", - " (2, 0, 0, 4),\n", - " (2, 0, 0, 5),\n", - " (2, 0, 0, 7),\n", - " (2, 0, 0, 8),\n", - " (2, 0, 0, 9),\n", - " (2, 0, 0, 10),\n", - " (2, 0, 0, 11),\n", - " ...\n", - " (2, 0, 5, 39),\n", - " (2, 0, 5, 40),\n", - " (2, 0, 5, 41),\n", - " (2, 0, 5, 42),\n", - " (2, 0, 5, 43),\n", - " (2, 0, 5, 44),\n", - " (2, 0, 5, 45),\n", - " (2, 0, 5, 46),\n", - " (2, 0, 5, 47),\n", - " (2, 0, 5, 48)],\n", - " names=['atomic_number', 'ion_number', 'level_number_lower', 'level_number_upper'], length=221)" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "collisional_transitions.index.difference(radiative_transitions.index)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "g_ratio 3.333333e-01\n", - "delta_e 2.299972e+05\n", - "t002000 1.596743e-09\n", - "t004000 1.129220e-09\n", - "t006000 9.221284e-10\n", - "t008000 7.986942e-10\n", - "t010000 7.144701e-10\n", - "t012000 6.523069e-10\n", - "t014000 6.040002e-10\n", - "t016000 5.650665e-10\n", - "t018000 5.328216e-10\n", - "t020000 5.055470e-10\n", - "t022000 4.820850e-10\n", - "t024000 4.616234e-10\n", - "t026000 4.435730e-10\n", - "t028000 4.274952e-10\n", - "t030000 4.130551e-10\n", - "t032000 3.999927e-10\n", - "t034000 3.881021e-10\n", - "t036000 3.772181e-10\n", - "t038000 3.672065e-10\n", - "t040000 3.579567e-10\n", - "t042000 3.493769e-10\n", - "t044000 3.413900e-10\n", - "t046000 3.339308e-10\n", - "t048000 3.269438e-10\n", - "Name: (2, 0, 0, 1), dtype: float64" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "collisional_transitions.loc[2,0, 0, 1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tardis", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/physics/plasma/detailed_balance/test_continuum_template_wkerzen_rate_coeffs.yml b/docs/physics/plasma/detailed_balance/test_continuum_template_wkerzen_rate_coeffs.yml deleted file mode 100644 index 880468bc3d5..00000000000 --- a/docs/physics/plasma/detailed_balance/test_continuum_template_wkerzen_rate_coeffs.yml +++ /dev/null @@ -1,64 +0,0 @@ -# Example YAML configuration for TARDIS -tardis_config_version: v1.0 - -supernova: - time_explosion: 16 day - -atom_data: TestNLTE_He_Ti.h5 - -model: - structure: - type: specific - velocity: - start: 5700 km/s - stop: 12500 km/s - num: 10 - density: - type : power_law - time_0: 16.0 day - rho_0: 1.3636e-14 g/cm^3 #1.948e-14 g/cm^3 - v_0: 8000 km/s - exponent: -10 - - abundances: - type: uniform - H: 1.0 - -plasma: - initial_t_inner: 9000 K - ionization: nebular - excitation: dilute-lte - radiative_rates_type: dilute-blackbody - line_interaction_type: macroatom - #nlte: - # species: - # - H I - continuum_interaction: - species: - - H I - nlte_ionization_species: - - H I - nlte_excitation_species: - - H I - -montecarlo: - seed: 23111963 - no_of_packets: 500000 - iterations: 1 - nthreads: 1 - - last_no_of_packets: 100000 - no_of_virtual_packets: 0 - - convergence_strategy: - type: damped - damping_constant: 0.5 - threshold: 0.05 - fraction: 0.8 - hold_iterations: 3 - - -spectrum: - start: 800 angstrom - stop: 10000 angstrom - num: 4000 diff --git a/docs/physics/pyplot/lte_ionization_balance.py b/docs/physics/pyplot/lte_ionization_balance.py deleted file mode 100644 index 786547379cc..00000000000 --- a/docs/physics/pyplot/lte_ionization_balance.py +++ /dev/null @@ -1,102 +0,0 @@ -import os -from matplotlib import pyplot as plt -from matplotlib import colors - -import tardis.util.base -from tardis.io.atom_data import AtomData -import numpy as np -import pandas as pd - -# Making 2 Figures for ionization balance and level populations - -plt.figure(1).clf() -ax1 = plt.figure(1).add_subplot(111) - -plt.figure(2).clf() -ax2 = plt.figure(2).add_subplot(111) - -# expanding the tilde to the users directory -# atom_fname = os.path.join(os.path.dirname(base.__file__), 'data', 'atom_data.h5') - -# reading in the HDF5 File -atom_data = AtomData.from_hdf(atom_fname) - -"""The atom_data needs to be prepared to create indices. The Class needs to know which atomic numbers are needed for the -calculation and what line interaction is needed (for "downbranch" and "macroatom" the code creates special tables)""" -atom_data.prepare_atom_data([14], "scatter") - -"""Initializing the NebularPlasma class using the from_abundance class method. -This classmethod is normally only needed to test individual plasma classes -Usually the plasma class just gets the number densities from the model class""" -assert True, ( - "This script needs a proper rewrite and should use the new" - '"assemble_plasma" function.' -) -# TODO: Uncomment and fix the next line -# lte_plasma = assemble_plasma({'Si':1.0}, 1e-14*u.g/u.cm**3, atom_data, 10*u.day) -lte_plasma = None -lte_plasma.update_radiationfield([10000], [1.0]) - -# Initializing a dataframe to store the ion populations and level populations for the different temperatures -ion_number_densities = pd.DataFrame(index=lte_plasma.ion_populations.index) -level_populations = pd.DataFrame( - index=lte_plasma.level_populations.loc[14, 1].index -) -t_rads = np.linspace(2000, 20000, 100) - -# Calculating the different ion populations and level populuatios for the given temperatures -for t_rad in t_rads: - lte_plasma.update_radiationfield([t_rad], ws=[1.0]) - # getting total si number density - si_number_density = lte_plasma.number_densities.get_value(14, 0) - # Normalizing the ion populations - ion_density = lte_plasma.ion_populations / si_number_density - ion_number_densities[t_rad] = ion_density - - # normalizing the level_populations for Si II - current_level_population = lte_plasma.level_populations[0].loc[ - 14, 1 - ] / lte_plasma.ion_populations.get_value((14, 1), 0) - - # normalizing with statistical weight - current_level_population /= atom_data.levels.loc[14, 1].g - - level_populations[t_rad] = current_level_population - -ion_colors = ["b", "g", "r", "k"] - -for ion_number in [0, 1, 2, 3]: - current_ion_density = ion_number_densities.loc[14, ion_number] - ax1.plot( - current_ion_density.index, - current_ion_density.values, - "%s-" % ion_colors[ion_number], - label="Si %s W=1.0" - % tardis.util.base.int_to_roman(ion_number + 1).upper(), - ) - - -# only plotting every 5th radiation temperature -t_rad_normalizer = colors.Normalize(vmin=2000, vmax=20000) -t_rad_color_map = plt.cm.ScalarMappable(norm=t_rad_normalizer, cmap=plt.cm.jet) - -for t_rad in t_rads[::5]: - ax2.plot( - level_populations[t_rad].index, - level_populations[t_rad].values, - color=t_rad_color_map.to_rgba(t_rad), - ) - ax2.semilogy() - -t_rad_color_map.set_array(t_rads) -cb = plt.figure(2).colorbar(t_rad_color_map) - -ax1.set_xlabel("T [K]") -ax1.set_ylabel("Number Density Fraction") -ax1.legend() - -ax2.set_xlabel("Level Number for Si II") -ax2.set_ylabel("Number Density Fraction") -cb.set_label("T [K]") - -plt.show() diff --git a/docs/physics/pyplot/nebular_ionization_balance.py b/docs/physics/pyplot/nebular_ionization_balance.py deleted file mode 100644 index 7aa1b7b3850..00000000000 --- a/docs/physics/pyplot/nebular_ionization_balance.py +++ /dev/null @@ -1,142 +0,0 @@ -import os - -from matplotlib import colors - -import tardis.util.base -from tardis.io.atom_data import base -from matplotlib import pyplot as plt - -import numpy as np -import pandas as pd - -# Making 2 Figures for ionization balance and level populations - -plt.figure(1).clf() -ax1 = plt.figure(1).add_subplot(111) - -plt.figure(2).clf() -ax2 = plt.figure(2).add_subplot(111) - -# expanding the tilde to the users directory -atom_fname = os.path.expanduser("~/.tardis/si_kurucz.h5") - -# reading in the HDF5 File -atom_data = base.AtomData.from_hdf(atom_fname) - -"""The atom_data needs to be prepared to create indices. The Class needs to know which atomic numbers are needed for the -calculation and what line interaction is needed (for "downbranch" and "macroatom" the code creates special tables)""" -atom_data.prepare_atom_data([14], "scatter") - -"""Initializing the NebularPlasma class using the from_abundance class method. -This classmethod is normally only needed to test individual plasma classes. -Usually the plasma class just gets the number densities from the model class""" -nebular_plasma = plasma.NebularPlasma.from_abundance( - 10000, 0.5, {"Si": 1}, 1e-13, atom_data, 10.0 -) - - -# Initializing a dataframe to store the ion populations and level populations for the different temperatures -ion_number_densities = pd.DataFrame(index=nebular_plasma.ion_populations.index) -level_populations = pd.DataFrame( - index=nebular_plasma.level_populations.loc[14, 1].index -) -t_rads = np.linspace(2000, 20000, 100) - -# Calculating the different ion populations and level populuatios for the given temperatures -for t_rad in t_rads: - nebular_plasma.update_radiationfield(t_rad, w=1.0) - # getting total si number density - si_number_density = nebular_plasma.number_density.get_value(14) - # Normalizing the ion populations - ion_density = nebular_plasma.ion_populations / si_number_density - ion_number_densities[t_rad] = ion_density - - # normalizing the level_populations for Si II - current_level_population = ( - nebular_plasma.level_populations.loc[14, 1] - / nebular_plasma.ion_populations.loc[14, 1] - ) - # normalizing with statistical weight - current_level_population /= atom_data.levels.loc[14, 1].g - - level_populations[t_rad] = current_level_population - -ion_colors = ["b", "g", "r", "k"] - -for ion_number in [0, 1, 2, 3]: - current_ion_density = ion_number_densities.loc[14, ion_number] - ax1.plot( - current_ion_density.index, - current_ion_density.values, - "%s-" % ion_colors[ion_number], - label="Si %s W=1.0" - % tardis.util.base.int_to_roman(ion_number + 1).upper(), - ) - - -# only plotting every 5th radiation temperature -t_rad_normalizer = colors.Normalize(vmin=2000, vmax=20000) -t_rad_color_map = plt.cm.ScalarMappable(norm=t_rad_normalizer, cmap=plt.cm.jet) - -for t_rad in t_rads[::5]: - ax2.plot( - level_populations[t_rad].index, - level_populations[t_rad].values, - color=t_rad_color_map.to_rgba(t_rad), - ) - ax2.semilogy() - -# Calculating the different ion populations for the given temperatures with W=0.5 -ion_number_densities = pd.DataFrame(index=nebular_plasma.ion_populations.index) -for t_rad in t_rads: - nebular_plasma.update_radiationfield(t_rad, w=0.5) - # getting total si number density - si_number_density = nebular_plasma.number_density.get_value(14) - # Normalizing the ion populations - ion_density = nebular_plasma.ion_populations / si_number_density - ion_number_densities[t_rad] = ion_density - - # normalizing the level_populations for Si II - current_level_population = ( - nebular_plasma.level_populations.loc[14, 1] - / nebular_plasma.ion_populations.loc[14, 1] - ) - # normalizing with statistical weight - current_level_population /= atom_data.levels.loc[14, 1].g - - level_populations[t_rad] = current_level_population - -# Plotting the ion fractions - -for ion_number in [0, 1, 2, 3]: - print("w=0.5") - current_ion_density = ion_number_densities.loc[14, ion_number] - ax1.plot( - current_ion_density.index, - current_ion_density.values, - "%s--" % ion_colors[ion_number], - label="Si %s W=0.5" - % tardis.util.base.int_to_roman(ion_number + 1).upper(), - ) - -for t_rad in t_rads[::5]: - ax2.plot( - level_populations[t_rad].index, - level_populations[t_rad].values, - color=t_rad_color_map.to_rgba(t_rad), - linestyle="--", - ) - ax2.semilogy() - -t_rad_color_map.set_array(t_rads) -cb = plt.figure(2).colorbar(t_rad_color_map) - -ax1.set_xlabel("T [K]") -ax1.set_ylabel("Number Density Fraction") -ax1.legend() - -ax2.set_xlabel("Level Number for Si II") -ax2.set_ylabel("Number Density Fraction") -cb.set_label("T [K]") - -plt.show() diff --git a/docs/physics/pyplot/plot_mu_in_out_packet.py b/docs/physics/pyplot/plot_mu_in_out_packet.py deleted file mode 100644 index 5e23a1bc523..00000000000 --- a/docs/physics/pyplot/plot_mu_in_out_packet.py +++ /dev/null @@ -1,14 +0,0 @@ -from pylab import * -from astropy import units as u -from tardis import constants as const - -x, y = x, y = mgrid[1:1000, 1:1000] -mu_in = x / 500.0 - 1 -mu_out = y / 500.0 - 1 -v = 1.1e4 * u.km / u.s -doppler_fac = (1 - mu_in * v / const.c) / (1 - mu_out * v / const.c) -xlabel("$\\mu_{\\rm in}$") -ylabel("$\\mu_{\\rm out}$") -imshow(np.rot90(doppler_fac), extent=[-1, 1, -1, 1], cmap="bwr") -colorbar() -show() diff --git a/docs/physics/setup/index.rst b/docs/physics/setup/index.rst deleted file mode 100644 index 38e716717a6..00000000000 --- a/docs/physics/setup/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. _setup: - -************************* -Setting Up the Simulation -************************* - -The first step executed when TARDIS runs is to call an instance of the ``Simulation`` class. This sets up a lot of -things that TARDIS will need during its run. The main things that are set up are the supernova model (a ``SimulationState`` object), the -initial plasma state (a ``BasePlasma`` object, which may be updated throughout the simulation, see :doc:`../update_and_conv/update_and_conv`), -and a ``MonteCarloTransport`` object. The pages linked below explain how the former two are calculated (the latter is used mainly in the -:doc:`next step of the calculation <../montecarlo/index>`), as well as showing this in action by calling an instance of the ``Simulation`` -class. - -.. toctree:: - setup_example - model - plasma/index \ No newline at end of file diff --git a/docs/physics/setup/model.ipynb b/docs/physics/setup/model.ipynb deleted file mode 100644 index 426d8010ebd..00000000000 --- a/docs/physics/setup/model.ipynb +++ /dev/null @@ -1,626 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "fd77aec4", - "metadata": {}, - "source": [ - "# Model\n", - "\n", - "As shown previously, when `Simulation.from_config()` is called, a `SimulationState` object is created. This is done via the class method `SimulationState.from_config()`. This model object contains important information about the shell structure, density, abundance, radiative temperature, and dilution factor throughout the supernova.\n", - "\n", - "Throughout this notebook, we show various configuration inputs into the TARDIS model and the resulting model. In interactive mode, these parameters can be varied to explore how the model changes. Editing configuration parameters in the notebook is explained [here](../../io/configuration/tutorial_read_configuration.ipynb).\n", - "\n", - "This notebook is based on the [built-in TARDIS models](../../io/configuration/components/models/index.rst#built-in-structure-density-and-abundance), but these parameters can also be input via [custom model configurations](../../io/configuration/components/models/index.rst#custom-model-configurations), the [CSVY model](../../io/configuration/components/models/index.rst#csvy-model) or the [custom abundance widget](../../io/visualization/how_to_abundance_widget.ipynb).\n", - "\n", - "## Shell Structure\n", - "\n", - "TARDIS models supernovae as expanding homologously. This means that at the beginning of the explosion, the\n", - "supernova starts at a single point and proceeds to expand radially outward such that the ratio of the velocity of\n", - "the ejecta to the distance from the ejecta to the supernova's center is uniform throughout the supernova. As an\n", - "example, if the outer edge of the ejecta moves outward at some velocity $v_\\mathrm{boundary\\_outer}$, the\n", - "velocity of the ejecta half way between the outer edge and the center would be\n", - "$\\frac{v_\\mathrm{boundary\\_outer}}{2}$. The animation below demonstrates this type of expansion.\n", - "\n", - "TARDIS simulates radiative transfer between an inner boundary (the photosphere) and an outer\n", - "boundary (the outer edge of the supernova ejecta). The velocity of the inner boundary\n", - "$v_\\mathrm{boundary\\_inner}$ and the velocity of the outer boundary $v_\\mathrm{boundary\\_outer}$ are\n", - "supplied in the configuration file, as well as the time after the explosion for\n", - "which TARDIS is calculating the spectrum ($t_\\mathrm{explosion}$). The radii of the inner and outer boundaries\n", - "are therefore calculated by $r_\\mathrm{boundary\\_inner}=v_\\mathrm{boundary\\_inner}*t_\\mathrm{explosion}$ and\n", - "$r_\\mathrm{boundary\\_outer}=v_\\mathrm{boundary\\_outer}*t_\\mathrm{explosion}$. Plasma at a distance $r$\n", - "from the center of the supernova would then be traveling outward at a speed $v=\\frac{r}{r_\\mathrm{boundary\\_outer}}v_\\mathrm{boundary\\_outer} = \\frac{r}{t_\\mathrm{explosion}}$. This is\n", - "also shown in the animation.\n", - "\n", - "Additionally, TARDIS divides the space between the inner and outer computational boundaries into cells -- radial\n", - "shells for which the state/condition of the ejecta is (spatially) constant. In the animation, 6 cells are shown,\n", - "being divided by the light blue lines. As TARDIS is a time-independent code which calculates the spectra at an\n", - "instant in time, the radii of the boundaries (either of the computational domain or of the cells) do not change\n", - "throughout the simulation.\n", - "\n", - "\n", - "<img width=\"500\" src=\"../images/expansion_animation.gif\">\n", - "\n", - "We now demonstrate how the shell structure works using the TARDIS code." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f48c4843", - "metadata": {}, - "outputs": [], - "source": [ - "# We import the necessary packages\n", - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.model import SimulationState\n", - "from tardis.io.atom_data import download_atom_data\n", - "from tardis.io.atom_data.base import AtomData\n", - "from astropy import units as u\n", - "import matplotlib.pyplot as plt\n", - "import copy\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')\n", - "atom_data = AtomData.from_hdf('kurucz_cd23_chianti_H_He.h5')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8b3a14a9", - "metadata": {}, - "outputs": [], - "source": [ - "# Set up a base configuration to use throughout the notebook\n", - "base_config = Configuration.from_yaml(\"tardis_example.yml\")" - ] - }, - { - "cell_type": "markdown", - "id": "cee054e9", - "metadata": {}, - "source": [ - "In the cell below, we set up a model. We use the [specific structure](../../io/configuration/components/models/index.rst#specific-structure) where we supply $t_\\mathrm{explosion}$, the velocity of the inner and outer boundaries of the supernova (labeled `start` and `stop`), and the number of shells (labeled `num`). The shells are then evenly spaced between the inner and outer boundaries of the supernova. The time after the explosion, the inner and outer velocities, and the number of shells can be varied to get different shell structures. The `SimulationState` object stores information about the model in the following attributes: `velocity` shows the velocity of the shell boundaries, `v_inner` shows the velocities of the inner boundaries of each shell, `v_outer` shows the velocity of the outer boundaries of each shell, and `v_middle` shows the velocity of the middle of each shell. Similarly, `radius`, `r_inner`, `r_outer`, and `r_middle` show the radii of each shell boundary, the inner boundaries, the outer boundaries, and the middles of each shell, respectively. `v_boundary_inner` shows the velocity of the inner boundary of the computational domain, and `v_boundary_outer` shows the velocity of the outer boundary of the computational domain. Finally, `volume` shows the volume of each shell, calculated via the formula of the volume of a spherical shell: $V=\\frac{4}{3}\\pi (r_\\mathrm{outer}^3-r_\\mathrm{inner}^3)$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "17752fd2", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "shell_config = copy.deepcopy(base_config)\n", - "\n", - "shell_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure.\n", - "# Do not change it.\n", - "shell_config.model.structure.type = 'specific'\n", - "\n", - "shell_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "shell_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "shell_config.model.structure.velocity.num = 20\n", - "\n", - "shell_simulation_state = SimulationState.from_config(shell_config, atom_data=atom_data)\n", - "\n", - "print('velocity:\\n', shell_simulation_state.velocity)\n", - "print('v_inner:\\n', shell_simulation_state.v_inner)\n", - "print('v_outer:\\n', shell_simulation_state.v_outer)\n", - "print('v_middle:\\n', shell_simulation_state.v_middle)\n", - "print('v_boundary_inner:\\n', shell_simulation_state.v_boundary_inner)\n", - "print('v_boundary_outer:\\n', shell_simulation_state.v_boundary_outer)\n", - "print('radius:\\n', shell_simulation_state.radius)\n", - "print('r_inner:\\n', shell_simulation_state.r_inner)\n", - "print('r_outer:\\n', shell_simulation_state.r_outer)\n", - "print('r_middle:\\n', shell_simulation_state.r_middle)\n", - "print('volume:\\n', shell_simulation_state.volume)" - ] - }, - { - "cell_type": "markdown", - "id": "1ee56110", - "metadata": {}, - "source": [ - "Notice that `radius = velocity*time_explosion`, and similarly for `r_inner`, `r_outer`, and `r_middle`. You can get the radius of the photosphere via `v_boundary_inner*time_explosion` and outer edge of the supernova via `v_boundary_outer*time_explosion`.\n", - "\n", - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "Using the built-in shell structure, as shown here, the shells are all equally spaced. This is not necessarily the case if one uses the [file structure](../../io/configuration/components/models/index.rst#file-structure), [CSVY model](../../io/configuration/components/models/index.rst#csvy-model), or [custom abundance widget](../../io/visualization/how_to_abundance_widget.ipynb).\n", - "\n", - "</div>" - ] - }, - { - "cell_type": "markdown", - "id": "59159ccd", - "metadata": {}, - "source": [ - "## Density\n", - "\n", - "We now look at how TARDIS models the density inside each shell. If you use the [built-in densities](../../io/configuration/components/models/index.rst#density), TARDIS allows you to choose between the four models discussed below. The [file structure](../../io/configuration/components/models/index.rst#file-structure), [CSVY model](../../io/configuration/components/models/index.rst#csvy-model), and [custom abundance widget](../../io/visualization/how_to_abundance_widget.ipynb) options allow more freedom in assigning densities to each shell.\n", - "\n", - "In general, the density in the supernova at a specific moment in time is a function of the radius or velocity of the ejecta (either can be used, since the radius and velocity are linearly related at any moment of time). Since the shell velocities do not change over time, it is more simple to write the densities as a function of ejecta velocity. If we do this, the time-dependence of the density is simple. We know the total mass of the ejecta is constant in each shell due to the nature of homologous expansion. The inner and outer radii of each shell increase linearly over time, meaning the volume increases as time cubed. Since density is mass divided by volume, the density is inverse-cubic in time. Mathematically, if $\\rho(v,t_\\mathrm{explosion})$ is the density at a velocity $v$ after a time $t_\\mathrm{explosion}$, given some characteristic time $t_0$, we have\n", - "\n", - "$$\\rho(v,t_\\mathrm{explosion})=\\rho(v,t_0)*\\left(\\frac{t_0}{t_\\mathrm{explosion}}\\right)^3$$\n", - "\n", - "where $\\rho(v,t_0)$ is the density at $t_\\mathrm{explosion}=t_0$. Notice that this gives the desired time dependence -- for example, at $t_\\mathrm{explosion}=2t_0$, $\\rho(v,t_\\mathrm{explosion})=\\rho(v,t_0)/8$, exactly an inverse-cube relationship.\n", - "\n", - "Since the state of the ejecta, including the density, is the same throughout the shell, we determine the shell's density by plugging the velocity/radius at the center of the shell into the density function. We now explore the various built-in density profiles. For each profile, we build an example model using the density profile and example parameters (which can be varied in interactive mode), print the densities in each shell, and show a graph of density versus radius (specifically the radius at the center of each shell).\n", - "\n", - "Note that the density in each shell is stored in the `density` attribute of the `SimulationState` object.\n", - "\n", - "### Branch85 W7 Density\n", - "\n", - "The first built-in density profile is the well-known W7 density model. There are no density-specific parameters that should be edited (see [here](../../io/configuration/components/models/index.rst#branch85-w7-density) for the default values) as this is a well-established model. The shell structure can be varied as usual to see the effects of the shell structure on the W7 density." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b478ff70", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "w7_density_config = copy.deepcopy(base_config)\n", - "\n", - "w7_density_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure\n", - "# and density. Do not change it.\n", - "w7_density_config.model.structure.type = 'specific'\n", - "\n", - "w7_density_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "w7_density_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "w7_density_config.model.structure.velocity.num = 20\n", - "\n", - "w7_density_config.model.structure.density.type = 'branch85_w7'\n", - "\n", - "w7_density_model = SimulationState.from_config(w7_density_config, atom_data=atom_data)\n", - "\n", - "print('density:\\n', w7_density_model.density)\n", - "\n", - "plt.plot(w7_density_model.r_middle, w7_density_model.density)\n", - "plt.xlabel(f'Radius ({w7_density_model.r_middle.unit})')\n", - "plt.ylabel(f'Density ({w7_density_model.density.unit})');" - ] - }, - { - "cell_type": "markdown", - "id": "246f16cf", - "metadata": {}, - "source": [ - "In the cell below, we show the time dependence of the W7 density profile by comparing the density plots for models at two different times." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fd23d9a0", - "metadata": {}, - "outputs": [], - "source": [ - "w7_modified_config = copy.deepcopy(w7_density_config)\n", - "\n", - "w7_modified_config.supernova.time_explosion = 12 * u.day\n", - "\n", - "w7_modified_model = SimulationState.from_config(w7_modified_config, atom_data=atom_data)\n", - "\n", - "print('density:\\n', w7_modified_model.density)\n", - "\n", - "plt.plot(w7_density_model.r_middle,\n", - " w7_density_model.density,\n", - " label=f't_explosion = {w7_density_config.supernova.time_explosion}')\n", - "plt.plot(w7_modified_model.r_middle,\n", - " w7_modified_model.density,\n", - " label=f't_explosion = {w7_modified_config.supernova.time_explosion}')\n", - "plt.xlabel(f'Radius ({w7_density_model.r_middle.unit})')\n", - "plt.ylabel(f'Density ({w7_density_model.density.unit})')\n", - "plt.legend();" - ] - }, - { - "cell_type": "markdown", - "id": "be7160e4", - "metadata": {}, - "source": [ - "For the other density models described below, time dependence works similarly, and readers are encouraged to test out how they change over time. However, for brevity, we omit more explicit examples in this notebook." - ] - }, - { - "cell_type": "markdown", - "id": "e0e1797c", - "metadata": {}, - "source": [ - "### Uniform Density\n", - "\n", - "The uniform density profile sets the density in each shell to a constant value (with respect to velocity/radius). That is,\n", - "\n", - "$$\\rho(v,t_0)=\\mathrm{value}$$\n", - "and thus\n", - "$$\\rho(v,t_\\mathrm{explosion})=\\mathrm{value}*\\left(\\frac{t_0}{t_\\mathrm{explosion}}\\right)^3.$$\n", - "\n", - "The parameters that can be varied, besides the shell structure, are thus the characteristic time $t_0$, and the value of the density at time $t_0$. The schema can be found [here](../../io/configuration/components/models/index.rst#uniform-density)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b57d1646", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "uni_density_config = copy.deepcopy(base_config)\n", - "\n", - "uni_density_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure\n", - "# and density. Do not change it.\n", - "uni_density_config.model.structure.type = 'specific'\n", - "\n", - "uni_density_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "uni_density_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "uni_density_config.model.structure.velocity.num = 20\n", - "\n", - "uni_density_config.model.structure.density.type = 'uniform'\n", - "uni_density_config.model.structure.density.time_0 = 1 * u.day\n", - "uni_density_config.model.structure.density.value = 5e-10 * u.kg/u.cm**3\n", - "\n", - "uni_density_model = SimulationState.from_config(uni_density_config, atom_data=atom_data)\n", - "\n", - "print('density:\\n', uni_density_model.density)\n", - "\n", - "plt.plot(uni_density_model.r_middle, uni_density_model.density)\n", - "plt.xlabel(f'Radius ({uni_density_model.r_middle.unit})')\n", - "plt.ylabel(f'Density ({uni_density_model.density.unit})');" - ] - }, - { - "cell_type": "markdown", - "id": "4c441e1b", - "metadata": {}, - "source": [ - "### Power Law Density\n", - "\n", - "The power law density profile uses the following equation:\n", - "\n", - "$$\\rho(v,t_0)=\\rho_0\\left(\\frac{v}{v_0}\\right)^{\\rm exponent}$$\n", - "and thus\n", - "$$\\rho(v,t_\\mathrm{explosion})=\\rho_0\\left(\\frac{v}{v_0}\\right)^{\\rm exponent}\\left(\\frac{t_0}{t_\\mathrm{explosion}}\\right)^3.$$\n", - "\n", - "Thus, the relevant parameters are $t_0$, $\\rho_0$, $v_0$, and the exponent. We recommend that the exponent be negative for a sensible density profile. The schema can be found [here](../../io/configuration/components/models/index.rst#power-law-density).\n", - "\n", - "Note here that $\\rho_0$ is the density at time $t_0$ and velocity $v_0$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc1f4ed3", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "pow_density_config = copy.deepcopy(base_config)\n", - "\n", - "pow_density_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure\n", - "# and density.\n", - "pow_density_config.model.structure.type = 'specific'\n", - "\n", - "pow_density_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "pow_density_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "pow_density_config.model.structure.velocity.num = 20\n", - "\n", - "pow_density_config.model.structure.density.type = 'power_law'\n", - "pow_density_config.model.structure.density.time_0 = 1 * u.day\n", - "pow_density_config.model.structure.density.rho_0 = 5e-10 * u.kg/u.cm**3\n", - "pow_density_config.model.structure.density.v_0 = 500 * u.km/u.s\n", - "pow_density_config.model.structure.density.exponent = -2\n", - "\n", - "pow_density_model = SimulationState.from_config(pow_density_config, atom_data=atom_data)\n", - "\n", - "print('density:\\n', pow_density_model.density)\n", - "\n", - "plt.plot(pow_density_model.r_middle, pow_density_model.density)\n", - "plt.xlabel(f'Radius ({pow_density_model.r_middle.unit})')\n", - "plt.ylabel(f'Density ({pow_density_model.density.unit})');" - ] - }, - { - "cell_type": "markdown", - "id": "12e08f18", - "metadata": {}, - "source": [ - "### Exponential Density\n", - "\n", - "The exponential density profile uses the following equation:\n", - "\n", - "$$\\rho(v,t_0)=\\rho_0e^{-v/v_0}$$\n", - "and thus\n", - "$$\\rho(v,t_\\mathrm{explosion})=\\rho_0e^{-v/v_0}\\left(\\frac{t_0}{t_\\mathrm{explosion}}\\right)^3.$$\n", - "\n", - "Thus, the relevant parameters are $t_0$, $\\rho_0$, and $v_0$. The schema can be found [here](../../io/configuration/components/models/index.rst#exponential-density).\n", - "\n", - "Note here again that $\\rho_0$ is the density at time $t_0$ and velocity $v_0$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d55f0468", - "metadata": {}, - "outputs": [], - "source": [ - "exp_density_config = copy.deepcopy(base_config)\n", - "\n", - "exp_density_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure\n", - "# and density.\n", - "exp_density_config.model.structure.type = 'specific'\n", - "\n", - "exp_density_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "exp_density_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "exp_density_config.model.structure.velocity.num = 20\n", - "\n", - "exp_density_config.model.structure.density.type = 'exponential'\n", - "exp_density_config.model.structure.density.time_0 = 1 * u.day\n", - "exp_density_config.model.structure.density.rho_0 = 5e-10 * u.kg/u.cm**3\n", - "exp_density_config.model.structure.density.v_0 = 500 * u.km/u.s\n", - "\n", - "exp_density_model = SimulationState.from_config(exp_density_config, atom_data=atom_data)\n", - "\n", - "print('density:\\n', exp_density_model.density)\n", - "\n", - "plt.plot(exp_density_model.r_middle, exp_density_model.density)\n", - "plt.xlabel(f'Radius ({exp_density_model.r_middle.unit})')\n", - "plt.ylabel(f'Density ({exp_density_model.density.unit})');" - ] - }, - { - "cell_type": "markdown", - "id": "cfd06a7c", - "metadata": {}, - "source": [ - "## Abundance\n", - "\n", - "The `SimulationState` also carries important information about elemental abundances in each shell. These are mass abundances -- that is, the abundance of oxygen is the fraction of the shell's mass that is made up of oxygen.\n", - "\n", - "The only built-in abundance model that TARDIS offers is a uniform abundance, meaning each shell has identical abundances. Like density, however, the [file abundance](../../io/configuration/components/models/index.rst#file-abundance), [CSVY model](../../io/configuration/components/models/index.rst#csvy-model), and [custom abundance widget](../../io/visualization/how_to_abundance_widget.ipynb) methods allow users more freedom with assigning different abundances in each shell.\n", - "\n", - "A table of abundances in each shell is stored in the `abundance` attribute of the `SimulationState` object.\n", - "\n", - "In this first example, the abundances in each shell do not depend on the time after the explosion and are identical to those provided in the configuration." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c7396b49", - "metadata": {}, - "outputs": [], - "source": [ - "abund_config = copy.deepcopy(base_config)\n", - "\n", - "abund_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# We add the abundances in this form to overwrite the elements in the\n", - "# base configuration.\n", - "abund_config.model.abundances = {'type':'uniform',\n", - " 'O':.2,\n", - " 'Ca':.25,\n", - " 'Mg':.15,\n", - " 'Si':.3,\n", - " 'He': .1}\n", - "\n", - "abund_model = SimulationState.from_config(abund_config, atom_data=atom_data)\n", - "\n", - "abund_model.abundance" - ] - }, - { - "cell_type": "markdown", - "id": "b45e6de1", - "metadata": {}, - "source": [ - "In the next example, we show how TARDIS handles radioactive isotopes which are often present in supernovae. Specific isotopes such as `Ni56` (nickel-56 with 28 protons and 28 neutrons) or `Cr51` (chromium-51 with 24 protons and 27 neutrons) can be provided in the configuration.\n", - "\n", - "If any radioactive isotope is provided, the abundances provided are assumed to be the abundances at the time of the explosion. TARDIS then uses [pyne](http://pyne.io) to calculate the decay products of these isotopes after a time $t_\\mathrm{explosion}$. This is demonstrated in the example below.\n", - "\n", - "If an isotope mass number is not supplied, TARDIS uses the most stable form of the atom (for example, `Ni` refers to the stable nickel-58)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6ab8f445", - "metadata": {}, - "outputs": [], - "source": [ - "abund_isotopes_config = copy.deepcopy(base_config)\n", - "\n", - "abund_isotopes_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "abund_isotopes_config.model.structure.velocity.num = 20\n", - "\n", - "abund_isotopes_config.model.abundances = {'type':'uniform',\n", - " 'O':.3,\n", - " 'Ni56':.2,\n", - " 'Ni57':.1,\n", - " 'Cr51':.4}\n", - "\n", - "abund_isotopes_simulation_state = SimulationState.from_config(abund_isotopes_config, atom_data=atom_data)\n", - "\n", - "abund_isotopes_simulation_state.abundance" - ] - }, - { - "cell_type": "markdown", - "id": "9fded236", - "metadata": {}, - "source": [ - "## Temperatures\n", - "\n", - "The model also includes information about the temperature of the photosphere/inner boundary, labeled as $T_\\mathrm{inner}$, and the temperature of the plasma in each cell, called the radiative temperature and labeled as $T_\\mathrm{rad}$. As will be explained, both of these quantities are be updated throughout the simulation, so the calculations in this section are the initial guesses.\n", - "\n", - "TARDIS initially calculates $T_\\mathrm{inner}$ as the temperature of a [blackbody](https://en.wikipedia.org/wiki/Black-body_radiation) such that the luminosity of the photosphere (see [initialization](../montecarlo/initialization.ipynb)) matches the requested output luminosity of the entire supernova $L_\\mathrm{requested}$, which is specified in the [spectrum configuration](../../io/configuration/components/spectrum.rst):\n", - "\n", - "$$T_{\\mathrm{inner}}=\\left(\\frac{L_\\mathrm{requested}}{4 \\pi r_{\\mathrm{boundary\\_inner}}^2 \\sigma_{\\mathrm{R}}}\\right)^{1/4}$$\n", - "\n", - "where $\\sigma_{\\mathrm{R}}$ is the Stefan-Boltzmann constant and $r_{\\mathrm{boundary\\_inner}}$ is once again the radius of the photosphere, calculated as part of the shell structure. Because of light-matter interactions, the output luminosity of the supernova will not be the same as the luminosity of the photosphere, so the photospheric temperature is updated throughout the simulation as part of the convergence process in order to match the output luminosity to the requested luminosity (see [Updating Plasma and Convergence](../update_and_conv/update_and_conv.ipynb)).\n", - "\n", - "Next, TARDIS calculates the initial guess for the radiative temperature in each shell. This temperature is also updated throughout the simulation based on light-matter interactions (see once again [Updating Plasma and Convergence](../update_and_conv/update_and_conv.ipynb)). The initial guess for $T_\\mathrm{rad}$ is calculated using [Wien's Law](https://en.wikipedia.org/wiki/Wien%27s_displacement_law). Wien's Law states that the temperature of a blackbody is inversely proportional to the blackbody's peak wavelength. The proportionality constant, labeled $b$, is approximately $2.898*10^{-3} m*K$. In equation form,\n", - "\n", - "$$T=\\frac{b}{\\lambda_\\mathrm{peak}}.$$\n", - "\n", - "Since we know $T_\\mathrm{inner}$ (from the previous calculation), at the photosphere, we have $\\lambda_\\mathrm{peak,inner}=\\frac{b}{T_\\mathrm{inner}}$. Now, when the ejecta is moving at a velocity $v$, $\\lambda_\\mathrm{peak}$ is doppler shifted (in more technical language, we find the peak wavelength in the co-moving frame, see [reference frames](../montecarlo/propagation.rst#reference-frames)). The doppler factor is (approximately) $1+\\frac{\\Delta v}{c}$ where $\\Delta v$ is the difference between $v$ and the velocity at the photosphere (i.e. $\\Delta v = v-v_\\mathrm{boundary\\_inner}$). So,\n", - "\n", - "$$\\lambda_\\mathrm{peak}(v)=\\left(1+\\frac{v-v_\\mathrm{boundary\\_inner}}{c}\\right)\\lambda_\\mathrm{peak,inner}=\\left(1+\\frac{v-v_\\mathrm{boundary\\_inner}}{c}\\right)\\frac{b}{T_\\mathrm{inner}}.$$\n", - "\n", - "Thus, the temperature at a velocity $v$ is\n", - "\n", - "$$T_\\mathrm{rad}(v)=\\frac{b}{\\lambda_\\mathrm{peak}(v)}=\\frac{T_\\mathrm{inner}}{1+\\frac{v-v_\\mathrm{boundary\\_inner}}{c}}.$$\n", - "\n", - "As with density, the radiative temperature is modeled as constant throughout the shell, so we determine the temperature of the shell based on the ejecta's velocity at the center of the shell.\n", - "\n", - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "Specific initial guesses for the photospheric and radiative temperatures not based on the above calculations can also be input in the [plasma configuration](../../io/configuration/components/plasma.rst) (for both) or in the [CSVY model](../../io/configuration/components/models/index.rst#csvy-model) (radiative temperature only).\n", - "\n", - "</div>\n", - "\n", - "Using the parameters below, we print off the initial photospheric temperature and radiative temperature in each shell, and plot temperature versus radius, including a point for the temperature of the photosphere." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6489e3fb", - "metadata": {}, - "outputs": [], - "source": [ - "t_rad_config = copy.deepcopy(base_config)\n", - "\n", - "t_rad_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# In the configuration file, but not here, the luminosity requested can be\n", - "# given on a logarithmic scale based on the luminosity of the sun.\n", - "t_rad_config.supernova.luminosity_requested = 4e44 * u.erg/u.s\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure\n", - "# and density. Do not change it.\n", - "t_rad_config.model.structure.type = 'specific'\n", - "\n", - "t_rad_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "t_rad_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "t_rad_config.model.structure.velocity.num = 20\n", - "\n", - "t_radiative_simulation_state = SimulationState.from_config(t_rad_config, atom_data=atom_data)\n", - "\n", - "print('t_inner:\\n', t_radiative_simulation_state.t_inner)\n", - "print('t_rad:\\n', t_radiative_simulation_state.t_radiative)\n", - "\n", - "plt.plot(t_radiative_simulation_state.r_middle, t_radiative_simulation_state.t_radiative)\n", - "plt.scatter(t_radiative_simulation_state.radius[0], t_radiative_simulation_state.t_inner)\n", - "plt.xlabel(f'Radius ({t_radiative_simulation_state.r_middle.unit})')\n", - "plt.ylabel(f'Radiative Temperature ({t_radiative_simulation_state.t_radiative.unit})');" - ] - }, - { - "cell_type": "markdown", - "id": "292067b3", - "metadata": {}, - "source": [ - "## Dilution Factor\n", - "\n", - "The dilution factor $W$ describes the fraction of the energy from a blackbody that \"reaches\" the observer. That is, it is the ratio of the energy density at the observer to the energy density of the blackbody. This heavily depends on light-matter interactions, as matter can shield or amplify the energy coming from the blackbody, in this case the photosphere. However, in the absence of other material, the dilution factor is purely geometric, called the geometric dilution factor. The geometric dilution factor at a point is the fraction of the point's \"field of view\" that the blackbody takes up, as shown in the figure below.\n", - "\n", - "<img src=\"../../graphics/dilution_factor.png\" width=500>\n", - "\n", - "Using geometry (in 3D, where the photosphere in the figure is a sphere, not a circle), the fraction of the point's \"field of view\" taken up by the sphere is\n", - "\n", - "$$\\frac{1}{2}\\left(1-\\sqrt{1-\\frac{r_\\mathrm{boundary\\_inner}^2}{r^2}}\\right)$$\n", - "\n", - "where $r_\\mathrm{boundary\\_inner}$ is the radius of the circle in the picture (the photosphere in terms of TARDIS). This is the geometric dilution factor.\n", - "\n", - "\n", - "Like the radiative temperature, the dilution factor in each cell changes throughout the simulation based on the light-matter interactions (see [Updating Plasma and Convergence](../update_and_conv/update_and_conv.ipynb)). TARDIS uses the geometric dilution factor as the initial guess for the dilution factor in each cell, plugging in the radius at the center of the cell to determine the initial dilution factor in the cell. \n", - "\n", - "<div class=\"alert alert-info\">\n", - " \n", - "Note\n", - "\n", - "An initial guess for the dilution factor in each cell not based on the geometric dilution factor can be input via the [CSVY model](../../io/configuration/components/models/index.rst#csvy-model).\n", - "\n", - "</div>\n", - "\n", - "We print off the dilution factor in each cell and plot the dilution factor versus radius for a certain shell structure:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ab1f9ac8", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "dilution_factor_config = copy.deepcopy(base_config)\n", - "\n", - "dilution_factor_config.supernova.time_explosion = 10 * u.day\n", - "\n", - "# This line is necessary to indicate we are using a built-in shell structure\n", - "# and density. Do not change it.\n", - "dilution_factor_config.model.structure.type = 'specific'\n", - "\n", - "dilution_factor_config.model.structure.velocity.start = 1000 * u.km/u.s\n", - "dilution_factor_config.model.structure.velocity.stop = 2000 * u.km/u.s\n", - "dilution_factor_config.model.structure.velocity.num = 20\n", - "\n", - "dilution_factor_simulation_state = SimulationState.from_config(dilution_factor_config, atom_data=atom_data)\n", - "\n", - "print(f'dilution_factor: {dilution_factor_simulation_state.dilution_factor}')\n", - "\n", - "plt.plot(dilution_factor_simulation_state.r_middle, dilution_factor_simulation_state.dilution_factor)\n", - "plt.xlabel(f'Radius ({dilution_factor_simulation_state.r_middle.unit})')\n", - "plt.ylabel(f'Dilution Factor');" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.16" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/physics/setup/plasma/helium_nlte.rst b/docs/physics/setup/plasma/helium_nlte.rst deleted file mode 100644 index b328c4b9b4a..00000000000 --- a/docs/physics/setup/plasma/helium_nlte.rst +++ /dev/null @@ -1,51 +0,0 @@ -Helium NLTE -============ - -The `helium_treatment` setting in the TARDIS config. file will accept one of three options: - * `none`: The default setting. Populate helium in the same way as the other elements. - * `recomb-nlte`: Treats helium in NLTE using the analytical approximation outlined in :cite:`Boyle2017`. - * `numerical-nlte`: To be implemented. Will allow the use of a separate module (not distributed with TARDIS) to perform helium NLTE calculations numerically. - -Recombination He NLTE ----------------------- - -Paper version: - -This section will summarise the equations used in the calculation of the helium state for the `recomb-NLTE` approximation in TARDIS. A full physical justification for these equations will be provided in an upcoming paper. All of the level populations are given as a function of the He II ground state population (:math:`n_{2,1,0}`), and the values are then normalised using the helium number density to give the correct level number densities. - -Symbols/Indexing: - * :math:`N_{i,j}`: Ion Number Density - * :math:`n_{i,j,k}`: Level Number Density - - * i: atomic number - * j: ion number - * k: level number - -.. math:: - n_{2,0,0} = 0 - -.. math:: - n_{2,0,k}~(k\geq1) = n_{2,1,0}\times n_{e}\times\frac{1}{W}\times\frac{g_{2,0,k}}{2g_{2,1,0}}\times\left(\frac{h^{2}}{2\pi m_{e}kT_{r}}\right)^{3/2}\times\exp{\left(\frac{\chi_{2,1}-\epsilon_{2,0,k}}{kT_{r}}\right)}\times\left(\frac{T_{r}}{T_{e}}\right)^{1/2} - -(Note: An extra factor of :math:`\frac{1}{W}` is included for the metastable states of He I.) - -.. math:: - n_{2,1,0} = 1 - -.. math:: - n_{2,1,k}~(k\geq1) = W\times\frac{g_{2,0,k}}{g_{2,1,0}}\times n_{2,1,0}\times\exp{\left(-\frac{\epsilon_{2,1,k}}{kT_{r}}\right)} - -.. math:: - n_{2,2,0} = \frac{n_{2,1,0}}{n_{e}}\times[W(\delta_{2,2}\times\zeta_{2,2}+W(1-\zeta_{2,2})]\left(\frac{T_{e}}{T_{r}}\right)^{1/2}\times\frac{2g_{2,2,0}}{g_{2,1,0}}\times\left(\frac{2\pi m_{e}kT_{r}}{h^{2}}\right)^{3/2}\times\exp{\left(-\frac{\chi_{2,1}}{kT_{r}}\right)} - -Code Version: - -In the TARDIS plasma, some of these equations are re-written slightly to make use of existing property methods (e.g. `PhiSahaLTE`, `PhiSahaNebular`) often using the relation: - -.. math:: - \frac{N_{i,j}}{Z_{i,j}} = \frac{n_{i,j,k}}{g_{i,j,k}} - -Numerical He NLTE ------------------- - -Another `helium_treatment` option offered by TARDIS is `numerical-nlte`. The use of this plasma property requires an additional code that is the property of Stephan Hachinger (see arXiv:1201.1506) and is not distributed with TARDIS. TARDIS also requires a specific atomic datafile to use this module. This plasma option is included so that people who have access to and permission to use the necessary module may use it. Otherwise, the `recomb-NLTE` option provides a very accurate alternative approximation. diff --git a/docs/physics/setup/plasma/index.rst b/docs/physics/setup/plasma/index.rst deleted file mode 100644 index 359c7585a98..00000000000 --- a/docs/physics/setup/plasma/index.rst +++ /dev/null @@ -1,111 +0,0 @@ -.. _plasma: - -****** -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 <https://networkx.github.io/>`_). 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 <https://pygraphviz.github.io/>`_ and `dot2tex <https://dot2tex.readthedocs.io/en/latest/>`_) are available, TARDIS can output a .dot and a .tex file at the beginning of each run that can be compiled to produce a PDF image of the plasma module graph via the :code:`write_to_dot()` and :code:`write_to_tex()` functions, respectively. 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. These nodes are connected by edges linking them with the sources of their inputs. The .tex file contains the name of the input/output linking the properties (e.g. `levels`, :math:`\tau_{\textrm{sobolev}}`, :math:`n_{e}`), as well as the equations used to calculate them, written in LaTeX. See the tutorial below! - -.. toctree:: - :maxdepth: 2 - - ../../../io/output/plasma_graph - -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). - -.. _plasma_calculations: - -Plasma Calculations -------------------- - -.. note:: - In this documentation we use the indices :math:`i, j, k` to mean atomic number, ion number and level number respectively. - -`BasePlasma` serves as the base class for all plasmas and can just calculate the atom number densities for a given input of abundance fraction. - -.. math:: - N_{atom} = \rho_\textrm{total} \times \textrm{Abundance fraction} / m_\textrm{atom} - -In the next step the line and level tables are purged of entries that are not represented in the abundance fractions are saved in `BasePlasma.levels` and `BasePlasma.lines`. Finally, the function `BasePlasma.update_t_rad` is called at the end of initialization to update the plasma conditions to a new :math:`T_\textrm{radiation field}` (with the give t_rad). This function is the same in the other plasma classes and does the main part of the calculation. In the case of `BasePlasma` this is only setting `BasePlasma.beta_rad` to :math:`\frac{1}{k_\textrm{B}T_\textrm{rad}}`. - -The next more complex class is `LTEPlasma` which will calculate the ionization balance and level populations in Local Thermal Equilibrium conditions (LTE). The :class:`NebularPlasma`-class inherits from `LTEPlasma` and uses a more complex description of the BasePlasma. - -.. toctree:: - :maxdepth: 2 - - lte_plasma - nebular_plasma - -TARDIS also allows for NLTE treatments of specified species, as well as special NLTE treatments for Helium. - -.. note:: - The NLTE treatment of specified species is currently incompatible with the NLTE treatment for helium and cannot be used simultaneously. - -.. toctree:: - :maxdepth: 2 - - nlte - helium_nlte - - - -.. _tau_sobolev: - -Sobolev optical depth ---------------------- - -After the above calculations, TARDIS calculates the Sobolev optical depth :math:`\tau_\textrm{Sobolev}` with the following formula: - - -.. math:: - C_\textrm{Sobolev} = \frac{\pi e^2}{m_e c} - - \tau_\textrm{Sobolev} = C_\textrm{Sobolev}\, \lambda\, f_{\textrm{lower}\rightarrow\textrm{upper}}\, - t_\textrm{explosion}\, N_\textrm{lower} - (1 - \frac{g_\textrm{lower}}{g_\textrm{upper}}\frac{N_\textrm{upper}}{N_\textrm{lower}}) - - -Macro Atom Line Interaction Treatment -------------------------------------- - -The following page describes the macro atom treatment of line interactions: - -.. toctree:: - :maxdepth: 2 - - macroatom diff --git a/docs/physics/setup/plasma/lte_plasma.rst b/docs/physics/setup/plasma/lte_plasma.rst deleted file mode 100644 index ce06d924651..00000000000 --- a/docs/physics/setup/plasma/lte_plasma.rst +++ /dev/null @@ -1,50 +0,0 @@ -LTE Plasma ----------- - -The `LTEPlasma` plasma class is the child of `BasePlasma` but is the first class that actually calculates plasma conditions. -After running exactly through the same steps as `BasePlasma`, `LTEPlasma` will start calculating the `partition functions <http://en.wikipedia.org/wiki/Partition_function_(statistical_mechanics)>`_. - -.. math:: - Z_{i, j} = \sum_{k=0}^{max (k)} g_k \times e^{-E_k / (k_\textrm{b} T)} - -where Z is the partition function, g is the degeneracy factor, E the energy of the level and T the temperature of the radiation field. - -The next step is to calculate the ionization balance using the `Saha ionization equation <http://en.wikipedia.org/wiki/Saha_ionization_equation>`_. -and then calculating the Number density of the ions (and an electron number density) in a second step. -First :math:`g_e=\left(\frac{2 \pi m_e k_\textrm{B}T_\textrm{rad}}{h^2}\right)^{3/2}` is calculated (in `LTEPlasma.update_t_rad`), -followed by calculating the ion fractions (`LTEPlasma.calculate_saha`). - -.. math:: - - \frac{N_{i, j+1}\times N_e}{N_{i, j}} &= \Phi_{i, (j+1)/j} \\ - \Phi_{i, (j+1)/j} &= g_e \times \frac{Z_{i, j+1}}{Z_{i, j}} e^{-\chi_{j\rightarrow j+1}/k_\textrm{B}T}\\ - -In the second step (`LTEPlasma.calculate_ionization_balance`), we calculate in an iterative process the electron density and the number density for each ion species. - -.. math:: - N(X) &= N_1 + N_2 + N_3 + \dots\\ - N(X) &= N_1 + \frac{N_2}{N_1} N_1 + \frac{N_3}{N_2}\frac{N_2}{N_1} N_1 + \frac{N_4}{N_3}\frac{N_3}{N_2}\frac{N_2}{N_1} N_1 + \dots\\ - N(X) &= N_1 (1 + \frac{N_2}{N_1} + \frac{N_3}{N_2}\frac{N_2}{N_1} + \frac{N_4}{N_3}\frac{N_3}{N_2}\frac{N_2}{N_1} + \dots)\\ - N(X) &= N_1 \underbrace{(1 + \frac{\Phi_{i, 2/1}}{N_e} + \frac{\Phi_{i, 3/2}}{N_e}\frac{\Phi_{i, 2/1}}{N_e} + - \frac{\Phi_{i, 4/3}}{N_e}\frac{\Phi_{i, 3/2}}{N_e}\frac{\Phi_{i, 2/1}}{N_e} + \dots)}_{\alpha}\\ - N_1 &= \frac{N(X)}{\alpha} - -Initially, we set the electron density (:math:`N_e`) to the sum of all atom number densities. After having calculated the -ion species number densities, we recalculate the electron density by weighting the ion species number densities with their -ion number (e.g. neutral ion number densities don't contribute at all to the electron number density, once ionized contribute with a -factor of 1, twice ionized contribute with a factor of two, ....). - -Finally, we calculate the level populations (`LTEPlasma.calculate_level_populations`) by using the calculated ion species number densities: - -.. math:: - N_{i, j, k} = \frac{g_k}{Z_{i, j}}\times N_{i, j} \times e^{-\beta_\textrm{rad} E_k} - -This concludes the calculation of the plasma. In the code, the next step is calculating the :math:`\tau_\textrm{Sobolev}` using -the quantities calculated here. - -Example Calculations -^^^^^^^^^^^^^^^^^^^^ - -.. .. plot:: physics/pyplot/lte_ionization_balance.py - :include-source: - diff --git a/docs/physics/setup/plasma/macroatom.rst b/docs/physics/setup/plasma/macroatom.rst deleted file mode 100644 index da0dd590686..00000000000 --- a/docs/physics/setup/plasma/macroatom.rst +++ /dev/null @@ -1,122 +0,0 @@ -.. _macroatom: - -Macro Atom ----------- - -The macro atom is described in detail in :cite:`Lucy2002`. The basic principle is that when an energy packet -is absorbed that the macro atom is on a certain level. Three probabilities govern the next step the P\ :sub:`up`, -P\ :sub:`down` and P\ :sub:`down emission` being the probability for going to a higher level, a lower level and a lower -level and emitting a photon while doing this respectively (see Figure 1 in :cite:`Lucy2002` ). - -The macro atom is the most complex idea to implement as a data structure. The setup is done in `~tardisatomic`, but -we will nonetheless discuss it here (as `~tardisatomic` is even less documented than this one). - -For each level, we look at the line list to see what transitions (upwards or downwards is possible). We create two arrays, -the first is a long one-dimensional array containing the probabilities. Each level contains a set of probabilities. The first -part of each set contains the upwards probabilities (internal upward), the second part the downwards probabilities -(internal downward), and the last part is the downward and emission probability. - - -each set is stacked after the other one to make one long one dimensional `~numpy.ndarray`. - -The second array is for book-keeping; it has exactly the length as levels (with an example for the Si II level 15): - -+--------+------------------+------------+----------------+-----------------+ -|Level ID| Probability index|N\ :sub:`up`| N\ :sub:`down` | N\ :sub:`total` | -+========+==================+============+================+=================+ -|14001015| ??? |17 | 5 | 17 + 5*2 = 27 | -+--------+------------------+------------+----------------+-----------------+ - - -We now will calculate the transition probabilities, using the radiative rates in Equation 20, 21, and 22 -in :cite:`Lucy2002`. Then we calculate the downward emission probability from Equation 5, the downward and -upward internal transition probabilities in :cite:`Lucy2003`. - -.. math:: - p_\textrm{emission down}&= {\cal R}_{\textrm{i}\rightarrow\textrm{lower}}\,(\epsilon_\textrm{upper} - \epsilon_\textrm{lower}) / {\cal D}_{i}\\ - p_\textrm{internal down}&= {\cal R}_{\textrm{i}\rightarrow\textrm{lower}}\,\epsilon_\textrm{lower}/{\cal D}_{i}\\, - p_\textrm{internal up}&={\cal R}_{\textrm{i}\rightarrow\textrm{upper}}\,\epsilon_{i}/{\cal D}_{i}\\, - -where :math:`i` is the current level, :math:`\epsilon` is the energy of the level, and :math:`{\cal R}` is the radiative - rates. - - -We ignore the probability to emit a k-packet as TARDIS only works with photon packets. -Next we calculate the radiative -rates using equation 10 in :cite:`Lucy2003`. - -.. math:: - {\cal R}_{\textrm{upper}\rightarrow\textrm{lower}} &= - A_{\textrm{upper}\rightarrow\textrm{lower}}\beta_\textrm{Sobolev}n_\textrm{upper}\\ - {\cal R}_{\textrm{lower}\rightarrow\textrm{upper}} &= - (B_{\textrm{lower}\rightarrow\textrm{upper}}n_\textrm{lower}- - B_{\textrm{upper}\rightarrow\textrm{lower}}n_\textrm{upper}) - \beta_\textrm{Sobolev} J_{\nu}^{b}\\, - -with :math:`\beta_\textrm{Sobolev} = \frac{1}{\tau_\textrm{Sobolev}}(1-e^{-\tau_\textrm{Sobolev}})` . - -using the Einstein coefficients - -.. math:: - A_{\textrm{upper}\rightarrow\textrm{lower}} &= \frac{8 \nu^2 \pi^2 e^2}{m_e c^3}~ - \frac{g_\textrm{lower}}{g_\textrm{upper}}~f_{\textrm{lower}\rightarrow\textrm{upper}}\\ - A_{\textrm{upper}\rightarrow\textrm{lower}} &= \underbrace{\frac{4 \pi^2 e^2}{m_e c}}_{C_\textrm{Einstein}}~ \frac{2\nu^2}{c^2} - \frac{g_\textrm{lower}}{g_\textrm{upper}}~f_{\textrm{lower}\rightarrow\textrm{upper}}\\ - B_{\textrm{lower}\rightarrow\textrm{upper}} &= \frac{4\pi^2 e^2}{m_e h\nu c}\,f_{\textrm{lower}\rightarrow\textrm{upper}}\\ - B_{\textrm{lower}\rightarrow\textrm{upper}} &= \underbrace{\frac{4 \pi^2 e^2}{m_e c}}_{C_\textrm{Einstein}}\frac{1}{h\nu} f_{\textrm{lower}\rightarrow\textrm{upper}}\\ - - B_{\textrm{upper}\rightarrow\textrm{lower}} &= \frac{4\pi^2 e^2}{m_e h\nu c}\,f_{\textrm{lower}\rightarrow\textrm{upper}}\\ - B_{\textrm{upper}\rightarrow\textrm{lower}} &= \underbrace{\frac{4 \pi^2 e^2}{m_e c}}_{C_\textrm{Einstein}}\frac{1}{h\nu}\frac{g_\textrm{lower}}{g_\textrm{upper}}f_{\textrm{lower}\rightarrow\textrm{upper}}\\ - -we get - -.. math:: - {\cal R}_{\textrm{upper}\rightarrow\textrm{lower}} &= - C_\textrm{Einstein} \frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{upper}}~f_{\textrm{lower}\rightarrow\textrm{upper}} - \beta_\textrm{Sobolev}n_\textrm{upper}\\ - - {\cal R}_{\textrm{lower}\rightarrow\textrm{upper}} &= - C_\textrm{Einstein}\frac{1}{h\nu} f_{\textrm{lower}\rightarrow\textrm{upper}} - (n_\textrm{lower}-\frac{g_\textrm{lower}}{g_\textrm{upper}}n_\textrm{upper}) - \beta_\textrm{Sobolev} J_{\nu}^{b}\\ - -This results in the transition probabilities: - -.. math:: - p_\textrm{emission down}&= C_\textrm{Einstein} \frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{i}}~f_{\textrm{lower}\rightarrow\textrm{i}} - \beta_\textrm{Sobolev}n_\textrm{i}\,(\epsilon_\textrm{i} - \epsilon_\textrm{lower}) / {\cal D}_{i}\\ - p_\textrm{internal down}&= C_\textrm{Einstein} \frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{i}}~f_{\textrm{lower}\rightarrow\textrm{i}} - \beta_\textrm{Sobolev}n_\textrm{i}\,\epsilon_\textrm{lower}/{\cal D}_{i}\\ - p_\textrm{internal up}&=C_\textrm{Einstein}\frac{1}{h\nu} f_{\textrm{i}\rightarrow\textrm{upper}} - (n_\textrm{i}-\frac{g_\textrm{i}}{g_\textrm{upper}}n_\textrm{upper}) - \beta_\textrm{Sobolev} J_{\nu}^{b}\,\epsilon_{i}/{\cal D}_{i}\\, - -and as we will normalise the transition probabilities numerically later, we can get rid of :math:`C_\textrm{Einstein}`, - :math:`\frac{1}{{\cal D}_i}` and number densities. - -.. math:: - p_\textrm{emission down}&= \frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{i}}~f_{\textrm{lower}\rightarrow\textrm{i}} - \beta_\textrm{Sobolev}\,(\epsilon_\textrm{i} - \epsilon_\textrm{lower})\\ - p_\textrm{internal down}&= \frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{i}}~f_{\textrm{lower}\rightarrow\textrm{i}} - \beta_\textrm{Sobolev}\,\epsilon_\textrm{lower}\\ - p_\textrm{internal up}&=\frac{1}{h\nu} f_{\textrm{i}\rightarrow\textrm{upper}} - \underbrace{(1-\frac{g_\textrm{i}}{g_\textrm{upper}}\frac{n_\textrm{upper}}{n_i})} - _\textrm{stimulated emission} - \beta_\textrm{Sobolev} J_{\nu}^{b}\,\epsilon_{i}\\, - - - - -There are two parts for each of the probabilities, one that is pre-computed by `~tardisatomic` and is in the HDF5 File, -and one that is computed during the plasma calculations: - -.. math:: - p_\textrm{emission down}&= \underbrace{\frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{i}}~f_{\textrm{lower}\rightarrow\textrm{i}} - (\epsilon_\textrm{i} - \epsilon_\textrm{lower})}_\textrm{pre-computed} - \,\beta_\textrm{Sobolev}\\ - p_\textrm{internal down} &= \underbrace{\frac{2\nu^2}{c^2} \frac{g_\textrm{lower}}{g_\textrm{i}}~f_{\textrm{lower}\rightarrow\textrm{i}} - \epsilon_\textrm{lower}}_\textrm{pre-computed}\,\beta_\textrm{Sobolev}\\ - p_\textrm{internal up} &= \underbrace{\frac{1}{h\nu} f_{\textrm{i}\rightarrow\textrm{upper}}}_\textrm{pre-computed} - \beta_\textrm{Sobolev} J_{\nu}^{b}\, - (1-\frac{g_\textrm{i}}{g_\textrm{upper}}\frac{n_\textrm{upper}}{n_i}) - \,\epsilon_{i}. diff --git a/docs/physics/setup/plasma/nebular_plasma.rst b/docs/physics/setup/plasma/nebular_plasma.rst deleted file mode 100644 index 94f014a26c8..00000000000 --- a/docs/physics/setup/plasma/nebular_plasma.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. _nebular_plasma: - -Nebular Plasma --------------- - -The `NebularPlasma` class is a more complex description of the Plasma state than the `LTEPlasma`. It takes a dilution factor -(W) into account, which deals with the dilution of the radiation field due to geometric, line-blocking and other effects. - - -The calculations follow the same steps as `LTEPlasma`; however, the calculations are different and often take into account -if a particular level is :term:`meta-stable` or not. -`NebularPlasma` will start calculating the `partition functions <http://en.wikipedia.org/wiki/Partition_function_(statistical_mechanics)>`_. - -.. math:: - - Z_{i,j} = \underbrace{\sum_{k=0}^{max(k)_{i,j}} g_k \times e^{-E_k / (k_\textrm{b} T)}}_\textrm{metastable levels} + - \underbrace{W\times\sum_{k=0}^{max(k)_{i,j}} g_k \times e^{-E_k / (k_\textrm{b} T)}}_\textrm{non-metastable levels} - -where Z is the partition function, g is the degeneracy factor, E the energy of the level, T the temperature of the radiation field -and W the dilution factor. - -The next step is to calculate the ionization balance using the `Saha ionization equation <http://en.wikipedia.org/wiki/Saha_ionization_equation>`_ -and then calculate the number density of the ions (and an electron number density) in a second step. -In the first step, we calculate the ionization balance using the LTE approximation (:math:`\Phi_{i, j}(\textrm{LTE})`). Then we adjust the ionization balance using -two factors: :math:`\zeta` and :math:`\delta`. - - -.. _calc_zeta_label: - -Calculating Zeta -^^^^^^^^^^^^^^^^ - -:math:`\zeta` is read in for specific temperatures and then interpolated for the target temperature. - - -Calculating Delta -^^^^^^^^^^^^^^^^^ - -:math:`\delta` is a radiation field correction factors which is calculated according to Mazzali & Lucy 1993 (:cite:`Mazzali1993`; henceforth ML93) - -In ML93, the radiation field correction factor is denoted as :math:`\delta` and is calculated in Formula 15 & 20. - -The radiation correction factor changes according to a ionization energy threshold :math:`\chi_\textrm{T}` -and the species ionization threshold (from the ground state) :math:`\chi_0`. - -**For** :math:`\chi_\textrm{T} \ge \chi_0` - -.. math:: - \delta = \frac{T_\textrm{e}}{b_1 W T_\textrm{R}} \exp(\frac{\chi_\textrm{T}}{k T_\textrm{R}} - - \frac{\chi_0}{k T_\textrm{e}}) - -**For** :math:`\chi_\textrm{T} < \chi_0` - -.. math:: - \delta = 1 - \exp(\frac{\chi_\textrm{T}}{k T_\textrm{R}} - \frac{\chi_0}{k T_\textrm{R}}) + - \frac{T_\textrm{e}}{b_1 W T_\textrm{R}} \exp(\frac{\chi_\textrm{T}}{k T_\textrm{R}} - - \frac{\chi_0}{k T_\textrm{e}}), - -where :math:`T_\textrm{R}` is the radiation field temperature, :math:`T_\textrm{e}` is the electron temperature and W is the -dilution factor. - - -Now, we can calculate the ionization balance using equation 14 in :cite:`Mazzali1993`: - -.. math:: - \Phi_{i,j} &= \frac{N_{i, j+1} n_e}{N_{i, j}} \\ - - \Phi_{i, j} &= W \times[\delta \zeta + W ( 1 - \zeta)] \left(\frac{T_\textrm{e}}{T_\textrm{R}}\right)^{1/2} - \Phi_{i, j}(\textrm{LTE}) \\ - - -In the last step, we calculate the ion number densities according using the methods in :class:`LTEPlasma` - -Finally, we calculate the level populations (:func:`NebularPlasma.calculate_level_populations`), -by using the calculated ion species number densities: - -.. math:: - - N_{i, j, k}(\textrm{not metastable}) &= W\frac{g_k}{Z_{i, j}}\times N_{i, j} \times e^{-\beta_\textrm{rad} E_k} \\ - N_{i, j, k}(\textrm{metastable}) &= \frac{g_k}{Z_{i, j}}\times N_{i, j} \times e^{-\beta_\textrm{rad} E_k} \\ - - -This concludes the calculation of the nebular plasma. In the code, the next step is calculating the :math:`\tau_\textrm{Sobolev}` using -the quantities calculated here. - -Example Calculations -^^^^^^^^^^^^^^^^^^^^ - -.. .. plot:: physics/pyplot/nebular_ionization_balance.py - :include-source: - diff --git a/docs/physics/setup/plasma/nlte.rst b/docs/physics/setup/plasma/nlte.rst deleted file mode 100644 index 33cb8bcac05..00000000000 --- a/docs/physics/setup/plasma/nlte.rst +++ /dev/null @@ -1,191 +0,0 @@ -.. _nlte: - -NLTE treatment --------------- - -NLTE treatment of lines is available both in ~LTEPlasma and the ~NebularPlasma class. This can be enabled by specifying -which species should be treated as NLTE with a simple list of tuples (e.g. [(20,1)] for Ca II). - -First let's dive into the basics: - -There are two rates to consider from a given level. - -.. math:: - - r_{\textrm{upper}\rightarrow\textrm{lower}} &= \underbrace{A_{ul} n_u}_\textrm{spontaneous emission} - + \underbrace{B_{ul} n_u \bar{J}_\nu}_\textrm{stimulated emission} + - \underbrace{C_{ul} n_u n_e}_\textrm{collisional deexcitation}\\ - &= n_u \underbrace{(A_{ul} + B_{ul}\bar{J}_\nu + C_{ul} n_e)}_{r_{ul}} \\ - - r_{\textrm{lower}\rightarrow\textrm{upper}} &= \underbrace{B_{lu} n_l \bar{J}_\nu}_\textrm{stimulated absorption} + - \underbrace{C_{lu}\,n_l\,n_e}_\textrm{collisional excitation}\\ - &= n_l \underbrace{(B_{lu}\bar{J}_\nu + C_{ul}n_e)}_{r_{lu}}, - -where :math:`\bar{J}_\nu` (in LTE this is :math:`B(\nu, T)`) denotes the mean intensity at the frequency of the line and -:math:`n_e` the number density of electrons. - -Next, we calculate the rate of change of a level by adding up all outgoing and all incoming transitions from level :math:`j`. - - -.. math:: - - \frac{dn_j}{dt} = \underbrace{\sum_{i \ne j} r_{ij}}_\textrm{incoming rate} - - \underbrace{\sum_{i \ne j} r_{ji}}_\textrm{outgoing rate} - -In a statistical equilibrium, all incoming rates and outgoing rates add up to 0 (:math:`\frac{dn_j}{dt}=0`). We use this to -calculate the level populations using the rate coefficients (:math:`r_ij, r_ji`). - - -.. math:: - - \left( - \begin{matrix} - -(\cal{r}_{12} + \dots + \cal{r}_{1j}) & \dots & \cal{r}_{j1}\\ - \vdots & \ddots & \vdots \\ - \cal{r}_{1j} & \dots & - (\cal{r} _{j1} + \dots + \cal{r} _{j, j-1}) \\ - \end{matrix} - \right) - % - \left( - \begin{matrix} - n_1\\ - \vdots\\ - n_j\\ - \end{matrix} - \right) - % - = - % - \left( - \begin{matrix} - 0\\ - 0\\ - 0\\ - \end{matrix} - \right) - - -with the additional constraint that all the level number populations need to add up to the current ion population :math:`N`, we change this to - -.. math:: - - \left( - \begin{matrix} - 1 & 1 & \dots \\ - \vdots & \ddots & \vdots \\ - \cal{r}_{1j} & \dots & - (\cal{r} _{j1} + \dots + \cal{r} _{j, j-1}) \\ - \end{matrix} - \right) - % - \left( - \begin{matrix} - n_1\\ - \vdots\\ - n_j\\ - \end{matrix} - \right) - % - = - % - \left( - \begin{matrix} - N\\ - 0\\ - 0\\ - \end{matrix} - \right) - - - - - - -For a three-level atom we have: - -.. math:: - - \frac{dn_1}{dt} &= \underbrace{n_2 r_{21} + n_3 r_{31}}_\textrm{incoming rate} - - \underbrace{(n_1 r_{12} + n_1 r_{13})}_\textrm{outgoing rate} = 0\\ - - \frac{dn_2}{dt} &= \underbrace{n_1 r_{12} + n_3 r_{32}}_\textrm{incoming rate} - - \underbrace{(n_2 r_{21} + n_2 r_{23})}_{outgoing rate} = 0\\ - - \frac{dn_3}{dt} &= \underbrace{n_1 r_{13} + n_2 r_{23}}_\textrm{incoming rate} - - \underbrace{(n_3 r_{32} + n_3 r_{31})}_\textrm{outgoing rate} = 0, - - -which can be written in matrix from: - -.. math:: - - \left(\begin{matrix} - -(r_{12} + r_{13}) & r_{21} & r_{31}\\ - r_{12} & -(r_{21} + r_{23}) & r_{32}\\ - r_{13} & r_{23} & -(r_{31} + r_{32}) \\ - \end{matrix}\right) - \left( - \begin{matrix} - n_1\\ - n_2\\ - n_3\\ - \end{matrix} - \right) - = - \left( - \begin{matrix} - 0\\ - 0\\ - 0\\ - \end{matrix} - \right) - -To solve for the level populations, we need an additional constraint: :math:`n_1 + n_2 + n_3 = N`. By setting :math:`N = 1`, we can get the relative rates: - -.. math:: - - \left(\begin{matrix} - 1 & 1 & 1\\ - r_{12} & -(r_{21} + r_{23}) & r_{32}\\ - r_{13} & r_{23} & -(r_{31} + r_{32}) \\ - \end{matrix}\right) - \left( - \begin{matrix} - n_1\\ - n_2\\ - n_3\\ - \end{matrix} - \right) - = - \left( - \begin{matrix} - 1\\ - 0\\ - 0\\ - \end{matrix} - \right) - - -Now we go back and look at the rate coefficients used for a level population --- as an example :math:`\frac{dn_2}{dt}`: - -.. math:: - - \frac{dn_2}{dt} &= n_1 r_{12} - n_2 (r_{21} + r_{23}) + n_3 r_{32}\\ - &= n_1 B_{12} \bar{J}_{12} + n_1 C_{12} n_e - n_2 A_{21} - n_2 B_{21} \bar{J}_{21} - n_2 C_{21} n_e\\ - - n_2 B_{23} \bar{J}_{23} - n_2 C_{23} n_e + n_3 A_{32} + n_3 B_{32} \bar{J}_{32} + n_3 C_{32} n_e,\\ - + n_3 A_{32} + n_3 C_{32} n_e, - -Next, we will group the stimulated emission and stimulated absorption terms, as we can assume :math:`\bar{J_{12}} = \bar{J_{21}}`: - -.. math:: - - \frac{dn_2}{dt} &= n_1 \bigg{(}B_{12} \bar{J}_{12} - \underbrace{\bigg{(}1 - \frac{n_2}{n_1}\frac{B_{21}}{B_{12}}\bigg{)}}_\text{stimulated emission term} - + C_{12} n_e\bigg{)}\\ - - n_2 \bigg{(}A_{21} + C_{23} n_e + n_2 B_{23} \bar{J}_{23} - \underbrace{\bigg{(}1 - \frac{n_3}{n_2}\frac{B_{32}}{B_{23}}\bigg{)}}_\text{stimulated emission term}\bigg{)} - + n_3 (A_{32} + C_{32} n_e) - - - - - diff --git a/docs/physics/setup/setup_example.ipynb b/docs/physics/setup/setup_example.ipynb deleted file mode 100644 index b3e0fd1e9b4..00000000000 --- a/docs/physics/setup/setup_example.ipynb +++ /dev/null @@ -1,130 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "77634745", - "metadata": {}, - "source": [ - "# Setup Example\n", - "\n", - "We show an example of setting up a TARDIS simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b878b9ac", - "metadata": {}, - "outputs": [], - "source": [ - "# We import the necessary packages\n", - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.simulation import Simulation\n", - "from tardis.io.atom_data import download_atom_data\n", - "\n", - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "97737e54", - "metadata": {}, - "source": [ - "We read a configuration as shown [here](../../io/configuration/tutorial_read_configuration.ipynb):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "571822b0", - "metadata": {}, - "outputs": [], - "source": [ - "tardis_config = Configuration.from_yaml('tardis_example.yml')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "168f583c", - "metadata": {}, - "source": [ - "We create a `Simulation` object from the configuration using the `Simulation.from_config()` class method." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d1319c1", - "metadata": {}, - "outputs": [], - "source": [ - "sim = Simulation.from_config(tardis_config)\n", - "sim" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "e3f86364", - "metadata": {}, - "source": [ - "When the `Simulation` object is created, a `SimulationState`, `BasePlasma`, and `MontecarloTransport` object are created and stored as attributes of the `Simulation` object." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bdce8943", - "metadata": {}, - "outputs": [], - "source": [ - "sim.simulation_state" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23996e7e", - "metadata": {}, - "outputs": [], - "source": [ - "sim.plasma" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ae4812ff", - "metadata": {}, - "outputs": [], - "source": [ - "sim.transport" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/physics/setup/tardis_example.yml b/docs/physics/setup/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/physics/setup/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/physics/spectrum/basic.ipynb b/docs/physics/spectrum/basic.ipynb deleted file mode 100644 index 18c9749707f..00000000000 --- a/docs/physics/spectrum/basic.ipynb +++ /dev/null @@ -1,468 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "1a955596", - "metadata": {}, - "source": [ - "# Basic Spectrum Generation\n", - "\n", - "The first and most simple way in which TARDIS calculates spectra is by calculating it directly from the Monte Carlo packets after the final [Monte Carlo Iteration](../montecarlo/index.rst). This simply requires knowledge of each packet's energy and frequency in the lab frame (see [Reference Frames](../montecarlo/propagation.rst#reference-frames)) at the end of the iteration. The only other quantity needed is the time duration of the simulation $\\Delta t$, which is calculated based off of the luminosity of the supernova's photosphere (see [Energy Packet Initialization](../montecarlo/initialization.ipynb)).\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "The only packets which are used for this calculation are the packets which escape the outer boundary of the\n", - "computational domain -- those reabsorbed into the photosphere are not included (see [Packet Propagation](../montecarlo/propagation.rst)).\n", - "\n", - "</div>\n", - "\n", - "The spectrum calculation is very straightforward. A packet of energy $E_\\mathrm{packet}$ contributes a\n", - "luminosity\n", - "\n", - "$$L_\\mathrm{packet} = \\frac{E_\\mathrm{packet}}{\\Delta t}$$\n", - "\n", - "to the spectrum at its frequency.\n", - "\n", - "In the code below, we will see an issue with merely relying on luminosity to give us a spectrum, which will allow us to develop the concept of luminosity *density*, and then correctly plot the TARDIS spectrum." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "f5196349", - "metadata": {}, - "source": [ - "We start by importing the necessary packages, loading a configuration, and setting up a simulation object (see [Setting up the Simulation](../setup/index.rst)):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b4e90662", - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.simulation import Simulation\n", - "from tardis.spectrum.spectrum import TARDISSpectrum\n", - "from tardis.io.atom_data import download_atom_data\n", - "from astropy import units as u\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a3adb2e", - "metadata": {}, - "outputs": [], - "source": [ - "# We download the atomic data needed to run the simulation\n", - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c96cfbd2", - "metadata": {}, - "outputs": [], - "source": [ - "tardis_config = Configuration.from_yaml('tardis_example.yml')\n", - "\n", - "sim = Simulation.from_config(tardis_config)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "f169c41b", - "metadata": {}, - "source": [ - "We now select a number of packets to run through the Monte Carlo simulation, and then run one Monte Carlo iteration (see [Monte Carlo Iteration](../montecarlo/index.rst)):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "82279c43", - "metadata": {}, - "outputs": [], - "source": [ - "N_packets = 5000\n", - "\n", - "# Using the commented out code below, we can also get the number of packets\n", - "# from the configuration -- try it out:\n", - "#N_packets = tardis_config.no_of_packets\n", - "\n", - "sim.iterate(N_packets)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "de4cd415", - "metadata": {}, - "source": [ - "We call the arrays of each packet's frequency and how much energy the packet has:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c60863af", - "metadata": {}, - "outputs": [], - "source": [ - "nus = sim.transport.transport_state.output_nu\n", - "nus" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ac231055", - "metadata": {}, - "outputs": [], - "source": [ - "energies = sim.transport.transport_state.output_energy\n", - "energies" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "6fc8a089", - "metadata": {}, - "source": [ - "Notice that some energies are negative. This means that the packet ended up being reabsorbed into the photosphere (we will separate out these packets later). Also note that the number of elements of our arrays of frequencies and energies is the same as the number of packets that we ran (as it should be):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1b628b04", - "metadata": {}, - "outputs": [], - "source": [ - "len(nus), len(energies)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "70c979d2", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "The energies used for the spectrum are in the lab frame (see [Reference Frames](../montecarlo/propagation.rst#reference-frames)). Recall that while packets are all initialized with the same energy in the lab frame, throughout the simulation energy is conserved in the co-moving frame, allowing the lab frame energies of the packets to change though interactions (see [Performing an Interaction](../montecarlo/propagation.rst#performing-an-interaction)), creating the varied lab-frame energies that we see at the end of the simulation.\n", - " \n", - "</div>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "54466d70", - "metadata": {}, - "source": [ - "TARDIS will then calculate a list of the packet luminosities by dividing each element in the array of energies by the time of the simulation $\\Delta t$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ba7a7d93", - "metadata": {}, - "outputs": [], - "source": [ - "luminosities = energies / sim.transport.transport_state.time_of_simulation\n", - "luminosities" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "e10d9567", - "metadata": {}, - "source": [ - "Now, as mentioned before, we only want to include the packets that make it through to the outer boundary. To do this, TARDIS creates an array of booleans (either True or False) called a mask that tells us if the packet should be counted in the spectrum. We then can use that mask to get an array of the frequencies and energies of only the packets which we are interested in:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b69e8c92", - "metadata": {}, - "outputs": [], - "source": [ - "emitted_mask = sim.transport.transport_state.emitted_packet_mask\n", - "emitted_mask" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c856a85e", - "metadata": {}, - "outputs": [], - "source": [ - "emitted_nus = nus[emitted_mask]\n", - "emitted_nus" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "38141ad8", - "metadata": {}, - "outputs": [], - "source": [ - "emitted_luminosities = luminosities[emitted_mask]\n", - "emitted_luminosities" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "f7cc4807", - "metadata": {}, - "source": [ - "The length of these lists is the number of packets that made it out of the supernova:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b4c6f180", - "metadata": {}, - "outputs": [], - "source": [ - "len(emitted_nus), len(emitted_luminosities)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "2a29c4c9", - "metadata": {}, - "source": [ - "Now, let's plot frequency versus luminosity. We will see a very strange graph, which will lead us into developing a new strategy for plotting the spectrum:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "782099c5", - "metadata": {}, - "outputs": [], - "source": [ - "plt.scatter(emitted_nus, emitted_luminosities)\n", - "plt.xlabel('Frequency (Hz)')\n", - "plt.ylabel('Luminosity (erg/s)');" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "ee595852", - "metadata": {}, - "source": [ - "This is not the type of plot that we are looking for. We also cannot solve this problem by adding up the luminosities of all packets with the same frequency -- in fact, since frequency is a continuum, it would be extremely unlikely that any two packets have the same *exact* frequency. To solve this problem, we will need the concept of luminosity density.\n", - "\n", - "## Luminosity Density\n", - "\n", - "What we will have to do instead is plot a histogram where we bin up different frequencies that are close to each other into a certain number of bins. We then add up the luminosities of each packet in the bin and divide by the \"width\" of the bins. For example, if we are plotting between 0 Hz and 50 Hz in 5 bins, we would add up the luminosities of the packets between 0 Hz and 10 Hz, between 10 Hz and 20 Hz, between 20 Hz and 30 Hz, etc., and then divide each value by 10 Hz, which is the width of each bin (note that the bin widths need not be uniform). This will give us the luminosity density with respect to frequency, denoted by $L_\\nu$, and measured in ergs per second per Hertz. This can be interpreted as the luminosity per unit Hertz, i.e. how much luminosity will be in an interval with a width of 1 Hz.\n", - "\n", - "The division step here is crucial, as otherwise the values on the y-axis will, for example, approximately double if we double the widths of our bins (as we would be adding about double the luminosity contributions into that bin). We clearly want the values on the y-axis to be independent of the number of bins we break the luminosity into, thus making luminosity density the best way to plot a spectrum.\n", - "\n", - "Note that we can also have luminosity density with respect to wavelength, $L_\\lambda$, which we get by binning the packets by wavelength instead of frequency. Since the width of the bins would now have the dimensions of length, $L_\\lambda$ will have units of ergs per second per Angstrom." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "dbc69e96", - "metadata": {}, - "source": [ - "Now, to generate our spectrum, we select the bounds for our spectrum and the number of bins that we group the packets into. Feel free to change the number of bins to see how it affects the spectrum!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b43dcb8d", - "metadata": {}, - "outputs": [], - "source": [ - "# The lowest frequency we plot\n", - "freq_start = 1.5e14 * u.Hz\n", - "\n", - "# The highest frequency we plot\n", - "freq_stop = 3e15 * u.Hz\n", - "\n", - "# The number of bins\n", - "N = 500" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "2e375d04", - "metadata": {}, - "source": [ - "The above information can also be retrieved from the configuration using the commented-out code below. Note that the configuration has the bounds specified in terms of wavelengths. Therefore we must convert these to frequencies, noting that the frequency is the speed of light divided by the wavelength (Astropy has a built-in way to do this, which we shall use). Additionally, since wavelength and frequency are inversely related, the lower bound for the wavelengths is the upper bound for the frequencies and vice versa." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e763bbf1", - "metadata": {}, - "outputs": [], - "source": [ - "#freq_start = tardis_config.spectrum.stop.to('Hz', u.spectral())\n", - "\n", - "#freq_stop = tardis_config.spectrum.start.to('Hz', u.spectral())\n", - "\n", - "#N = tardis_config.spectrum.num" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "30e8090a", - "metadata": {}, - "source": [ - "Next, TARDIS generates the list of frequency bins. The array shown contain the boundaries between successive bins as well as the lower and upper bounds of the spectrum:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "226c63c8", - "metadata": {}, - "outputs": [], - "source": [ - "spectrum_frequency = np.linspace(freq_start, freq_stop, N+1)\n", - "spectrum_frequency" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "12663ddd", - "metadata": {}, - "source": [ - "Then, TARDIS creates a histogram where we add up the luminosity in each bin:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2a86d791", - "metadata": {}, - "outputs": [], - "source": [ - "emitted_luminosity_hist = u.Quantity(np.histogram(emitted_nus,\n", - " weights=emitted_luminosities,\n", - " bins=spectrum_frequency,\n", - " )[0], \"erg / s\",)\n", - "emitted_luminosity_hist" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "59c0fbfd", - "metadata": {}, - "source": [ - "Finally, we input this information into the TARDISSpectrum class, which will generate the luminosity density with respect to both wavelength and frequency and allow us to plot both of these." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "392be1e4", - "metadata": {}, - "outputs": [], - "source": [ - "spectrum = TARDISSpectrum(spectrum_frequency, emitted_luminosity_hist)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10e3fe34", - "metadata": {}, - "outputs": [], - "source": [ - "spectrum.plot(mode='frequency')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "599ff77a", - "metadata": {}, - "outputs": [], - "source": [ - "spectrum.plot(mode='wavelength')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a53e2b79", - "metadata": {}, - "source": [ - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "Most of this process is done internally by TARDIS. Given a simulation object `sim` that has been run, calling `sim.transport.spectrum` will give you a `TARDISSpectrum` object that can then be plotted using the `.plot()` method. See, for example, our [Quickstart Guide](../../quickstart.ipynb). This notebook just demonstrates how TARDIS generates this spectrum when `sim.transport.spectrum` is called.\n", - "\n", - "</div>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "49b60fed", - "metadata": {}, - "source": [ - "You may notice that the bins are not uniformly spaced with respect to wavelength. This is because we use the same bins for both wavelength and frequency, and thus the bins which are uniformly spaced with respect to frequency are not uniformly spaced with respect to wavelength. This is okay though, since luminosity density allows us to alter the bins without significantly altering the graph!\n", - "\n", - "Another thing you may notice in these graphs is the lack of a smooth curve. This is due to **noise**: the effects of the random nature of Monte Carlo simulations. This makes it very difficult to get a precise spectrum without drastically increasing the number of Monte Carlo packets. To solve this problem, TARDIS uses [virtual packets](virtualpackets.rst) and [the formal integral method](formal_integral.rst) to generate a spectrum with less noise." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/physics/spectrum/formal_integral.rst b/docs/physics/spectrum/formal_integral.rst deleted file mode 100644 index 0d58b9c44eb..00000000000 --- a/docs/physics/spectrum/formal_integral.rst +++ /dev/null @@ -1,144 +0,0 @@ -.. _formal_integral: - -******************************************** -Spectrum Generation with the Formal Integral -******************************************** - -:cite:`Lucy1999a` describes an alternative method for calculating the TARDIS spectrum while eliminating nearly all Monte Carlo noise. Instead of calculating the spectrum directly from the Monte Carlo (or virtual) packets, we use information from the Monte Carlo simulation to build an analytical solution for the supernova spectrum. - -.. warning:: - - The current implementation of the formal integral has several limitations. - Please consult the corresponding section below to ensure that these - limitations do not apply to your TARDIS. - - -Deriving the Integral -===================== - -The spectrum generated by TARDIS includes light that is released in all directions. However, we approximate the supernova as spherically symmetric, meaning the light is released isotropically (equally in all directions). Thus, it will suffice to calculate the spectrum of light propagating in a single direction, call it the positive z-direction, and then sum over every direction. Specifically, we have - -.. math:: L_\nu = \int L_{\nu z} d\Omega = L_{\nu z} \int d\Omega = 4\pi L_{\nu z} - -where :math:`L_\nu` is the luminosity density at a frequency :math:`\nu`, :math:`L_{\nu z}` is the luminosity density at a frequency :math:`\nu` for light propagating in the positive z-direction, and :math:`\Omega` is the solid angle. - -We now must calculate :math:`L_{\nu z}`, starting with more symmetry considerations. The figures below show various rays of light (in black) coming out of the supernova at various values of :math:`p`, the impact parameter (defined as the distance from the x-axis, and can be seen as the value along the blue :math:`p`-axis). By symmetry, the intensity :math:`I_\nu` (luminosity density per unit area) along the ray will be identical anywhere on the blue circles shown (each of which has a constant impact parameter). Each circle has a circumference of :math:`2\pi p`. The luminosity density per unit distance on any given circle would then be :math:`I_\nu(p)\times 2\pi p` (specifically, we are integrating the constant intensity around the circumference of the circle). Finally, to get :math:`L_{\nu z}`, we must integrate :math:`I_\nu(p)\times 2\pi p` over every possible impact parameter, whose values range from zero to the outer radius of the supernova, :math:`r_\mathrm{boundary\_outer}`. So, - -.. math:: L_{\nu z} = \int_0^{r_\mathrm{boundary\_outer}} I_\nu(p)\times 2\pi p dp = 2\pi \int_0^{r_\mathrm{boundary\_outer}} I_\nu(p) p dp. - -Putting this all together, we get - -.. math:: L_\nu = 8\pi^2 \int_0^{r_\mathrm{boundary\_outer}} I_\nu(p) p dp. - -.. note:: - - A separate integral must be done for each frequency. - -.. image:: ../images/formal_integral_sphere.jpg - :width: 1000 - - -Summary of Implementation -========================= - -Since there is a continuum of frequencies represented in a spectrum, the formal integral cannot calculate the luminosity density at *every* frequency. Instead, we calculate :math:`L_\nu` at a finite number of frequencies between the ``start`` and ``stop`` wavelengths provided in the :ref:`spectrum-config` (converting between frequency and wavelength using :math:`\nu=\frac{c}{\lambda}` where :math:`\lambda` is wavelength and :math:`c` is the speed of light) to give us an approximate spectrum. The number of frequencies we use is the ``num`` argument in the configuration. The frequencies are evenly spaced **in wavelength space** (exactly like histogram bins in :doc:`basic` -- see near the bottom of that page for more information). - -Similarly, when doing the integral for a particular frequency, there is a continuum of impact parameters, so we cannot calculate :math:`I_\nu(p)` for every single one. We instead use a finite list of impact parameters between 0 and the supernova's outer boundary. The number of impact parameters we use is the value of ``points`` provided in the ``integrated`` section of the spectrum configuration. - -For each frequency in our list of frequencies, TARDIS calculates :math:`I_\nu(p)` for each :math:`p` in the list of impact parameters, and then performs the integral :math:`\int_0^{r_\mathrm{boundary\_outer}} I_\nu(p) p dp` using `trapezoid integration <https://en.wikipedia.org/wiki/Trapezoidal_rule>`_. Our result is then multiplied by :math:`8\pi^2` to get the correct luminosity density. The most involved part of the calculation is calculating :math:`I_\nu(p)` for every combination of :math:`\nu` in the list of frequencies and :math:`p` in the list of impact parameters. This step is described in detail in the following section: - - -Calculating :math:`I_\nu(p)` -============================ - -Setting Up ----------- - -We now calculate :math:`I_\nu(p)`, which is the intensity of the light with a **lab frame** (see :ref:`referenceframes`) frequency :math:`\nu` exiting a the supernova along a ray with impact parameter :math:`p`, as shown in the diagram below (we use the lab frame frequency as that is the frame in which the spectrum is observed). Specifically, we are looking for the intensity of light with a frequency :math:`\nu` traveling to the right on the right side of the ray. We start by discussing the case where :math:`p>r_\mathrm{boundary\_inner}` (where the ray does not intersect the photosphere). After, we will comment on what occurs when :math:`p<r_\mathrm{boundary\_inner}`. - -.. image:: ../images/formal_integral_2d_above.png - -Since every point on the ray has the same lab frame frequency, the co-moving frequency will vary along the ray. Specifically, at the point :math:`z_k`, we have - -.. math:: \nu_{\mathrm{co-moving},k}=(1-\beta_k \mu_k)\nu = \left( 1-\frac{r_k \cos(\theta)}{ct_\mathrm{explosion}}\right) \nu. - -But, :math:`\cos(\theta)=\frac{z_k}{r_k}`, so - -.. math:: \nu_{\mathrm{co-moving},k}= \left( 1-\frac{z_k}{ct_\mathrm{explosion}}\right) \nu. - -Notice that the co-moving frequency decreases as you move farther to the right, i.e. as the z-coordinate increases. With this, we can see where along the ray each line resonance occurs -- a line with a frequency :math:`\nu_\mathrm{line}` (which comes into resonance in the co-moving frame) will come into resonance at :math:`z=ct_\mathrm{explosion}\left(1-\frac{\nu_\mathrm{line}}{\nu}\right)`. The highest line frequency that can resonate on our ray is :math:`\nu_\mathrm{max}=\left(1-\frac{z_\mathrm{min}}{ct_\mathrm{explosion}}\right)\nu`, and the lowest line frequency that can resonate on our ray is :math:`\nu_\mathrm{min}=\left(1-\frac{z_\mathrm{max}}{ct_\mathrm{explosion}}\right)\nu`, where :math:`z_\mathrm{max}=\sqrt{r_\mathrm{boundary\_outer}^2-p^2}` and by symmetry :math:`z_\mathrm{min}=-z_\mathrm{max}`. Every line between those frequencies will resonate on our ray -- the points at which each line resonates is shown on the diagram (though in reality there are far more resonances than in this shown in this example diagram). The line resonating at the point :math:`z_0` has the highest frequency of any line with a frequency below :math:`\nu_\mathrm{max}`, and the line resonating at the point :math:`z_{N-1}` (the Nth line) has the highest frequency of any line with a frequency above :math:`\nu_\mathrm{min}`. Finally, we denote the intensity along the ray directly to the left of a point :math:`z_k` as :math:`I_k^b` with "b" for blue, as it has a slightly higher ("bluer") frequency than the line resonating at :math:`z_k`. Similarly, we denote the intensity along the ray directly to the right of a point :math:`z_k` as :math:`I_k^r` with "r" for red, as it has a slightly lower ("redder") frequency than the line resonating at :math:`z_k`. - -Our goal is to find :math:`I_{N-1}^r`, as this is the light that will exit the supernova. We start with :math:`I_0^b=0` (as we assume no light is entering the supernova externally). We then increment the intensity along the ray. To do this, we will need the line source function. - - -Constructing the Source Function --------------------------------- - -Our problem is to determine the intensity that is added to the ray at a line resonance :math:`l\rightarrow u` based on the Monte Carlo packets. - -Consider another transition :math:`i\rightarrow u`. We know (see :ref:`edotlu`) that the rate at which energy density interacts with the transition is :math:`\dot{E}_{iu}`, i.e. the ``Edotlu`` estimator for the transition :math:`i\rightarrow u`. Now, sum up these estimators for every level :math:`i` that can be excited to the level :math:`u` -- this will give us the rate at which energy density is added to the level :math:`u` from all line transitions that can be excited to :math:`u`: - -.. math:: \dot{E}_u = \sum_{i < u} \dot E_{iu}. - -The rate at which energy density is then de-excited from :math:`u\rightarrow l` (and thus be deposited into the ray's intensity at the resonance point of :math:`l\rightarrow u`) is :math:`q_{ul}\dot{E}_u`, where :math:`q_{ul}` is the fraction of energy at the level :math:`u` which de-excites in the transition :math:`u\rightarrow l`. To turn this into the intensity added to the ray at a resonance point, for reasons presented in :cite:`Lucy1999a`, we include a factor of :math:`\frac{\lambda_{ul} t_\mathrm{explosion}}{4 \pi}` where :math:`\lambda_{ul}` is the wavelength of the light released in the transition :math:`u\rightarrow l`. So, the intensity that is added to our ray at the resonance point of :math:`l\rightarrow u`, which we will label as :math:`\left( 1- e^{-\tau_{lu}}\right) S_{ul}`, is - -.. math:: \left( 1- e^{-\tau_{lu}}\right) S_{ul} = \frac{\lambda_{ul} t}{4 \pi} q_{ul}\dot E_u. - -Here, :math:`S_{ul}` is the source function -- interpret it as the intensity that is eligible to interact and end up on our ray (i.e. the source of the intensity that ends up on our ray). The actual intensity that ends up being added to the ray is the source function times the probability of the transition :math:`l\rightarrow u`, which is :math:`\left( 1- e^{-\tau_{lu}}\right)`. - - -Incrementing the Intensity --------------------------- - -With this, we can now show how the intensity along our ray is incremented. First, at the kth line resonance there is an :math:`e^{-\tau_{k}}` probability that light does not interact with the line. So, on the red side of the line we only have :math:`e^{-\tau_k}` times the intensity on the blue side. But, we also have an intensity :math:`\left(1- e^{-\tau_k}\right) S_k` that is added to the ray at the line resonance, so in total we have - -.. math:: I_k^r = I_k^b e^{-\tau_k} + \left( 1- e^{-\tau_k}\right) S_{k}. - -If there is no electron scattering, this would be it; we would have :math:`I^b_{k+1}=I^r_k` (the intensity on the left of a line would be the intensity on the right of the next line, since no interactions would take place between the locations of line resonances). However, with electron scattering, this is not the case. In between line resonances, light has a probability of :math:`e^{-\Delta \tau_e}` of not scattering, where :math:`\Delta \tau_e=\sigma_{\mathrm{T}} n_e \Delta z` is the electron scattering optical depth (see :ref:`physical-interactions`). So, we would have :math:`I^b_{k+1}=I^r_ke^{-\Delta \tau_e}`. But, light can also scatter onto the ray. The intensity is increased by the mean intensity between the two resonance points times the probability of light scattering (and thus ending up on the ray), this probability being :math:`1-e^{-\Delta \tau_e}`. For the intensity between :math:`z_k` and :math:`z_{k+1}` we use the average of the mean intensity to the right of :math:`z_k` and the mean intensity to the left of :math:`z_{k+1}`, which is :math:`\frac{1}{2}\left(J_k^r+J_{k+1}^b\right)`. Here, :math:`J^b_{k}` is calculated from the ``j_blue`` estimator for the kth line transition (see :ref:`j-blue-estimator`), and then - -.. math:: J_k^r = J_k^b e^{-\tau_k} + \left( 1- e^{-\tau_k}\right) S_{k} - -for the same reasoning as before (since :math:`J`, like :math:`I`, is an intensity and thus by identical logic is increased by :math:`\left( 1- e^{-\tau_k}\right) S_{k}` at line resonances). - -This gives us - -.. math:: I_{k+1}^b = I_k^r e^{-\Delta \tau_e} + (1-e^{-\Delta \tau_e})*\frac{1}{2}\left(J_k^r+J_{k+1}^b\right). - -Note that here the mean intensity is acting as the source function. The final step, for computational ease, approximates :math:`e^{-\Delta \tau_e}\approx 1-\Delta \tau_e` since the resonance points will be so close together that :math:`\Delta \tau_e << 1`. Our final result is then - -.. math:: I_{k+1}^b = I_k^r + \Delta \tau_e \left[ \frac{1}{2}\left(J_k^r + J_{k+1}^b\right) - I_k^r \right]. - - -**In summary**, when calculating :math:`I_\nu(p)` for some ray, we start with :math:`I_0^b=0` and then calculate :math:`I_0^r`, then :math:`I_1^b`, then :math:`I_1^r`, etc. via the relations - -.. math:: I_k^r = I_k^b e^{-\tau_k} + \left( 1- e^{-\tau_k}\right) S_{k} - -.. math:: I_{k+1}^b = I_k^r + \Delta \tau_e \left[ \frac{1}{2}\left(J_k^r + J_{k+1}^b\right) - I_k^r \right] - -until we get to :math:`I_{N-1}^r`, which is then used as the value of :math:`I_\nu(p)` that goes into the integral :math:`L_\nu = 8\pi^2 \int_0^{r_\mathrm{boundary\_outer}} I_\nu(p) p dp`. - -.. note:: The values for the source function (and the quantities and estimators used to calculate it), Sobolev optical depths, electron densities, the mean intensity, and all other non-constant quantities are taken in the cell in which the line resonance takes place. However, to improve results, TARDIS breaks down the model into more cells than used in the rest of the simulation and interpolates the values of these quantities. The number of shells TARDIS uses for this interpolation process is specified in the :doc:`spectrum configuration <../../io/configuration/components/spectrum>`. - - -Rays Intersecting the Photosphere ---------------------------------- - -Since the photosphere is modeled as being optically thick, if a ray intersects the photosphere, anything that happens prior to the photosphere does not matter -- the photosphere absorbs all light that hits it. Because of this, to calculate :math:`I_\nu(p)` over a ray that starts by exiting the photosphere, we must slightly adjust our approach, as shown in the diagram below. In this case, we now have that the minimum z-coordinate is :math:`z_\mathrm{min}=\sqrt{r_\mathrm{boundary\_inner}^2-p^2}`, and we use this to determine the lowest possible resonant frequency on the ray as before, which will then give us :math:`z_0`, as it did before. Finally, since light along this ray is released from the photosphere, we have - -.. math:: I_0^b = B_\nu(T_\mathrm{inner})= \frac{2h}{c^2}\frac{\nu^3}{e^{h\nu/k_BT}-1}. - -which is the Planck function (see :doc:`../montecarlo/initialization`). After making those small adjustments, we increment the intensity exactly as in the other case. - -.. image:: ../images/formal_integral_2d_below.png - :width: 700 - - -Current Limitations -=================== - -The current implementation of the formal integral has some limitations: - -* Once electron scattering is included, the scheme only produces accurate results when many resonances occur on the rays. This is simply because otherwise the average of :math:`J^b` and :math:`J^r` does not provide an accurate representation of the mean intensity between successive resonance points. Also, :math:`d\tau` can become large which can create unphysical, negative intensities. - -It is always advised to check the results of the formal integration against the -spectrum constructed from the emerging Monte Carlo packets. diff --git a/docs/physics/spectrum/index.rst b/docs/physics/spectrum/index.rst deleted file mode 100644 index 3de45aaa376..00000000000 --- a/docs/physics/spectrum/index.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. _spectrum: - -******************* -Spectrum Generation -******************* - -During the final :ref:`Monte Carlo iteration <montecarlo>`, TARDIS calculates the emitted spectrum. We currently -employ three diiferent methods for doing this: a basic spectrum generation directly from the Monte Carlo packets, -a method using so-called "virtual packets," and by the formal intrgral method. These are all detailed in the links -below. - -.. note:: - For this last iteration, TARDIS uses the number of Monte Carlo packets specified in the :ref:`configuration file - <montecarlo-config>` under the ``last_no_of_packets`` argument. Because this last iteration is used for - calculating the actual spectrum, users may want to employ more packets than are used in the previous iterations. - -.. toctree:: - basic - virtualpackets - formal_integral \ No newline at end of file diff --git a/docs/physics/spectrum/tardis_example.yml b/docs/physics/spectrum/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/physics/spectrum/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/physics/spectrum/virtualpackets.rst b/docs/physics/spectrum/virtualpackets.rst deleted file mode 100644 index e64c025180c..00000000000 --- a/docs/physics/spectrum/virtualpackets.rst +++ /dev/null @@ -1,140 +0,0 @@ -.. _virtual_packets: - -**************************************** -Spectrum Generation with Virtual Packets -**************************************** - -The main purpose of TARDIS is the generation of synthetic spectra. Currently, -two methods are implemented to calculate the spectrum during the main Monte -Carlo calculation. One follows the obvious approach of recording the properties -of all escaping Monte Carlo packets and binning their contributions in -frequency (or wavelength) space. This "real packet" spectrum will naturally -suffer from Monte Carlo noise, and if one tries to improve its signal-to-noise -ratio, one immediately encounters a fundamental characteristic of Monte Carlo -approaches. Since Monte Carlo processes are typically governed by Poisson -statistics, the level of stochastic fluctuations decreases only as :math:`\propto -N^{-\frac{1}{2}}`, with :math:`N` denoting the number of Monte Carlo -experiments. Thus, to decrease the noise by an order of magnitude, 100 times -more experiments have to be performed. In the case of the real packet spectrum, -this translates into using 100 times more packets, which would increase the -runtime by about the same factor. - -.. note:: - - More details about Monte Carlo errors and noise behaviour may be found in - the standard literature, for example in :cite:`Kalos2008`. - -It is difficult to avoid this fundamental behaviour of Monte Carlo techniques. -However, sophisticated Monte Carlo techniques exist, which make better use of -the computational resources. One such approach, which achieves a better noise -behaviour for the same computational costs, is implemented in TARDIS. It relies -on the concept of so-called "virtual packets" and goes back to the works by -:cite:`Long2002` and :cite:`Sim2010`. - -Virtual Packets -=============== - -The virtual packet scheme is best explained by first detailing how it works and -then illustrating the physical reasoning for introducing this scheme. More -information about this scheme may be found in :cite:`Kerzendorf2014`. - -Virtual Packet Procedure ------------------------- - -In the virtual packet scheme, a new population of Monte Carlo packets is -introduced. Every time a real packet is launched or performs a physical -interaction, a pre-defined number of virtual packets, :math:`N_v`, are -generated. These propagation of these "virtual packets" is followed in a -similar fashion to the real ones with the important distinction that their -trajectory is never changed. However, the optical depth the virtual packet -accumulates during its propagation to the ejecta surface due to electron -scattering and atomic line interactions is tracked. Once the virtual packet -escapes, its contribution to the spectrum is then weighted by this total -optical depth. In particular, it contributes with the - -.. math:: - - \Delta L_{\nu} = \varepsilon_{\nu} \exp(-\tau) \frac{1}{\Delta t \Delta \nu} - -to the emergent luminosity in the frequency interval :math:`[\nu, \nu + \Delta -\nu]`. Here, :math:`\Delta t` denotes the physical duration of the simulation -step (the same duration which is used during the initialization process at the -photosphere, see :ref:`Propagation <propagation>`), and :math:`\varepsilon` is -the energy of the virtual packet when it was generated. - -.. note:: - - TARDIS is a time-independent radiative transfer scheme. Thus, :math:`\Delta - t` should be interpreted as the physical duration of the emission process - at the photosphere. - - -The initialization process for virtual packets is slightly different from real -ones. For example, whenever a real packet is emitted by the photosphere, -:math:`N_v` virtual packets are spawned, as well. The propagation direction of -these virtual packets is assigned uniformly. However, since :math:`N_v` is -typically small, an unequal sampling of the solid angle is avoided by selecting -:math:`N_v` equal :math:`\mu` bins and sampling the direction uniformly within -these bins. Since the emitted radiation field has a different angular -dependence (represented by the non-uniform sampling rule for real packets, -:math:`\mu = \sqrt{z}`), the energy of each virtual packet is weighted accordingly - -.. math:: - - \varepsilon_v = \varepsilon \frac{2 \mu}{N_v}. - -Here, :math:`\varepsilon` is the energy of the real packet that spawned the -virtual ones. If virtual packets are generated during a real packet interaction -at the location :math:`r`, their propagation direction is sampled uniformly -from the interval :math:`[\mu_{\mathrm{min}}, 1]`. - -.. math:: - - \mu_{\mathrm{min}} = - \sqrt{1 - \left(\frac{R_{\mathrm{phot}}}{r}\right)^2} - -Setting this lower limit avoids virtual packet trajectories intercepting the -photosphere at :math:`R_{\mathrm{phot}}` (in which case the virtual packet -could not contribute to the emergent spectrum and computational resources would -have been wasted on this packet). The amount of radiation being backscattered -towards the photosphere is accounted for by modifying the energy of the virtual -packets - -.. math:: - - \varepsilon_v = \varepsilon \frac{1 - \mu_{\mathrm{min}}}{2 N_v}. - - -Interpretation --------------- - -The basic idea underlying the virtual packet scheme may be illustrated by -considering the formal solution of the time-independent radiative transfer -problem : - -.. math:: - - I(R, \mu, \nu) = I(R_{\mathrm{phot}}, \mu, \nu) \exp(-\tau(s_0)) + - \int_0^{s_0} \eta(R - \mu s, \mu, \nu) \exp(-\tau(s)) \mathrm{d}s - -This formulation of the formal solution is valid for the supernova ejecta problem and -involves the location of the photosphere, the radius of the ejecta surface -:math:`R` and the packet trajectory :math:`s`. Here, the optical depth -:math:`\tau(s)` measures the optical depth from :math:`s` to the ejecta surface. -For more details see :ref:`montecarlo_basics`. - -Essentially, the virtual packets solve this formal solution equation along a -large number of directional rays. In particular, the virtual packets spawned at -the photosphere solve the first part of the formal solution, namely by -determining which fraction of the photospheric radiation field remains at the -surface of the ejecta. The virtual packets which are generated whenever a real -packet interacts, account for the second part of the formal solution. In this -interpretation, the purpose of the real packet population is simply to "sample" -the emissivity of the medium. - -This outline of the virtual packet scheme is concluded with a remark about its -benefits. The advantages of using a combination of real and virtual packets -compared to calculation based purely on real packets lies in lower -computational costs which are associated with solving the propagation of -virtual packets. These always propagate along a straight line, whereas real -packets may be deflected multiple times, thus making the determination of the -entire propagation path more expensive. diff --git a/docs/physics/tardisgamma/index.rst b/docs/physics/tardisgamma/index.rst deleted file mode 100644 index a67b089ba77..00000000000 --- a/docs/physics/tardisgamma/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -*************************** -TARDIS gamma :math:`\gamma` -*************************** -This code module simulates the propagation of :math:`\gamma`-ray photons through the ejecta and can be used to study high energy phenomenon within the ejecta as well as the energy deposition of :math:`\gamma`-rays and positrons. - -Type Ia supernovae produce a large amount of energy from :math:`\gamma`-rays produced from the radioactive decay of :sup:`56` Ni and :sup:`56` Co. These photons often are not able to escape the ejecta until later times in the supernova when the density decreases. Once the :math:`\gamma`-rays are able to escape they can provide information about the mass and distribution of radioactive isotopes created in the supernova. - - - - -.. toctree:: - packetinitialization diff --git a/docs/physics/tardisgamma/packetinitialization.rst b/docs/physics/tardisgamma/packetinitialization.rst deleted file mode 100644 index d7a9d065a12..00000000000 --- a/docs/physics/tardisgamma/packetinitialization.rst +++ /dev/null @@ -1,32 +0,0 @@ -Packet Initialization -===================== - -The gamma ray portion of TARDIS also uses the idea of packets of photons from :cite:`Abbott1985` and :cite:`Lucy1999` (see :doc:`../montecarlo/initialization`) -These packets are given an energy in the comoving frame which is equal to the total energy divided by the number of packets. They are also given a frequency that is equal to the packet energy divided by Planck's constant, h. - -The packets are also given a direction made up of two angles, :math:`\theta` and :math:`\phi`, where :math:`\theta` is a polar angle between 0 and :math:`\pi` and :math:`\phi` is an azimuth angle between 0 and :math:`2\pi`. -We sample these angles using the following equations :cite:`Carter1975`: - -.. math:: - - \cos{\theta} = 1-2 z_1 - - \phi = 2\pi z_2 - -The packets are also given a time and location where they start propagating the ejecta. We use the following equations to give the starting location: - -.. math:: - v = \left[zv_{\text{inner}}^3 + (1-z)v_{\text{inner}}^3\right]^{1/3} - -where v\ :sub:`inner`\ and v\ :sub:`outer`\ are the inner and outer velocities of the shell and z is a random number between [0,1). - -Then to get the radial position, r, we multiply this velocity by the packet time. - -Finally, to get the Cartesian coordinates we use the equations: - -.. math:: - x = r\sin{\theta}\cos{\phi} - - y = r\sin{\theta}\cos{\phi} - - z = r\cos{\theta} \ No newline at end of file diff --git a/docs/physics/update_and_conv/tardis_example.yml b/docs/physics/update_and_conv/tardis_example.yml deleted file mode 120000 index 665fe53411f..00000000000 --- a/docs/physics/update_and_conv/tardis_example.yml +++ /dev/null @@ -1 +0,0 @@ -../../tardis_example.yml \ No newline at end of file diff --git a/docs/physics/update_and_conv/update_and_conv.ipynb b/docs/physics/update_and_conv/update_and_conv.ipynb deleted file mode 100644 index 3f005e41f96..00000000000 --- a/docs/physics/update_and_conv/update_and_conv.ipynb +++ /dev/null @@ -1,610 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "id": "4d53d061", - "metadata": {}, - "source": [ - "# Updating Plasma and Convergence\n", - "\n", - "As light travels through a real plasma, it has effects on the properties of the plasma due to light-matter\n", - "interactions as well as the presence of extra energy from the light. Additionally, as [previously discussed](../montecarlo/propagation.rst), properties of the plasma affect how light travels through it. This is a typical equilibrium problem. We solve for the plasma properties by finding a steady-state solution; that is, the actual plasma will be in a state such that the plasma state will not change as\n", - "light propagates through it, because the effects of the light on the plasma and the effects of the plasma on the\n", - "light are in equilibrium.\n", - "\n", - "One of TARDIS's main goals is to determine this plasma state (as we need the actual plasma properties in order to\n", - "get an accurate spectrum). This is done in an iterative process. After each [Monte Carlo iteration](../montecarlo/index.rst) (which sends light through the supernova ejecta), TARDIS uses the [Monte Carlo estimators](../montecarlo/estimators.rst)\n", - "how the propagating light affects the plasma state, after which the plasma state is updated (as will be explained below and demonstrated in the code example). We do this many times, and attempt to have the plasma state converge\n", - "to the steady-state we are looking for. In fact, all but the last Monte Carlo iteration is used for this purpose\n", - "(after which TARDIS will have the necessary plasma state for its last iteration which calculates the spectrum).\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - "\n", - "For all but the last iteration, TARDIS uses the number of Monte Carlo packets specified in the\n", - "[Monte Carlo configuration](../../io/configuration/components/montecarlo.rst) under the ``no_of_packets`` argument. This is because\n", - "a different number of packets may be necessary to calculate the spectrum as opposed to calculate the\n", - "plasma state.\n", - "\n", - "</div>\n", - "\n", - "After each iteration the values for radiative temperature and dilution factor are updated by calling the ``advance_state`` method on a ``Simulation`` object as will be shown below in the code example. The goal of this is to eventually have the radiative temperature and dilution factor converge to a single value so that the steady-state plasma state can be determined. To ensure that the simulation converges, TARDIS employs a convergence strategy. Currently, only one convergence strategy is available: damped convergence. This will be described in the following sections.\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "Unless otherwise noted, all user-supplied quantities mentioned on this page are supplied in the [convergence section of the Monte Carlo configuration](../../io/configuration/components/montecarlo.rst#damped-convergence-strategy), which will be referenced as the convergence configuration.\n", - "\n", - "</div>" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "8ffc4479", - "metadata": {}, - "source": [ - "## $T_\\mathrm{rad}$ and $W$\n", - "\n", - "The main way in which the plasma state is updated is by using the ``j`` and ``nu_bar`` estimators (see [here](../montecarlo/estimators.rst#j-and-bar-nu-estimators)) to update two of the key plasma inputs (see [Plasma](../setup/plasma/index.rst)): the radiative temperature $T_\\mathrm{rad}$ and dilution factor $W$. Recall that each of these quantities takes on a different value in each shell.\n", - "\n", - "Using the estimators $J$ and $\\bar \\nu$, we estimate these quantities using\n", - "\n", - "$$T_{\\mathrm{rad\\ estimated}} = \\frac{h}{k_{\\mathrm{B}}} \\frac{\\pi^4}{360 \\zeta(5)} \\frac{\\bar \\nu}{J}$$\n", - "\n", - "and\n", - "\n", - "$$W_\\mathrm{estimated} = \\frac{\\pi J}{\\sigma_{\\mathrm{R}} T_{\\mathrm{rad\\ estimated}}^4}$$\n", - "\n", - "where $h$ is Planck's constant, $k_{\\mathrm{B}}$ is Boltzmann's constant, $\\sigma_{\\mathrm{R}}$ is the Stefan–Boltzmann constant, and $\\zeta$ is the Riemann zeta function. The equation for $W$ comes from the fact that the dilution factor is the ratio of the actual mean intensity to that of a blackbody, which is $J_{\\mathrm{blackbody}}=\\frac{\\sigma_{\\mathrm{R}} T^4}{\\pi}$.\n", - "\n", - "Recall (see [Implementation](../montecarlo/estimators.rst#implementation)), however, that when TARDIS stores these estimators, it leaves out the prefactor of $\\frac{1}{4\\pi V\\Delta t}$ for computational ease. That is, $J=\\frac{1}{4\\pi V\\Delta t}\\sum_i \\varepsilon_i l_i=\\frac{1}{4\\pi V\\Delta t}*\\mathrm{real\\ j\\ estimator}$, and $\\bar \\nu=\\frac{1}{4\\pi V\\Delta t}\\sum_i \\varepsilon_i \\nu_i l_i=\\frac{1}{4\\pi V\\Delta t}*\\mathrm{real\\ nu\\_ bar\\ estimator}$. These factors are then included in our calculations; specifically, using the previous relations we have\n", - "\n", - "$$T_\\mathrm{rad\\ estimated}= \\frac{h}{k_{\\mathrm{B}}} \\frac{\\pi^4}{360 \\zeta(5)} \\frac{\\sum_i \\varepsilon_i \\nu_i l_i}{\\sum_i \\varepsilon_i l_i} = \\frac{h}{k_{\\mathrm{B}}} \\frac{\\pi^4}{360 \\zeta(5)} \\frac{\\mathrm{real\\ nu\\_ bar\\ estimator}}{\\mathrm{real\\ j\\ estimator}}$$\n", - "and\n", - "$$W_\\mathrm{estimated} = \\frac{\\sum_i \\varepsilon_i l_i}{4\\sigma_{\\mathrm{R}} T_{\\mathrm{rad\\ estimated}}^4V\\Delta t} = \\frac{\\mathrm{real\\ j\\ estimator}}{4\\sigma_{\\mathrm{R}} T_{\\mathrm{rad\\ estimated}}^4V\\Delta t}.$$\n", - "\n", - "While TARDIS can then update the plasma state using the estimated values, there is a good chance that these estimated values would “overshoot” the true value we want to converge to (for example, if the current value of the dilution factor in some cell the dilution factor is 0.4, and the true steady-state value TARDIS wants to find is 0.45, there is a good chance that the estimated value will be greater than 0.45). This could make the simulation take longer to converge or, at worst, make it so the simulation does not converge at all. To account for this, users can set (in the convergence configuration) a \"damping constant\" for both the radiative temperature ($d_{T_\\mathrm{rad}}$) and the dilution factor ($d_W$). When ``advance_state`` is called, these quantities update as follows:\n", - "\n", - "$$T_\\mathrm{rad\\ updated} = T_\\mathrm{rad\\ current} + d_{T_\\mathrm{rad}}(T_\\mathrm{rad\\ estimated}-T_\\mathrm{rad\\ current})$$\n", - " \n", - "and\n", - " \n", - "$$ W_\\mathrm{updated} = W_\\mathrm{current} + d_W(W_\\mathrm{estimated}-W_\\mathrm{current}).$$\n", - "\n", - "This means, for example, if the damping constant is 0.5, the updated value is halfway between the current value and the estimated value. If the damping constant is 0.7, the updated value is 70% of the way between the current value and the estimated value, and so on. **If the damping constant is 1, then the updated value is exactly the estimated value, and if the damping constant is zero, the value stays the same throughout the simulation and is not updated.**\n", - "\n", - "The updated $T_\\mathrm{rad}$ and $W$ are then used as inputs to the updated [plasma calculations](../setup/plasma/index.rst) which account for the effect of the Monte Carlo packets on the plasma state." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "f346fb77", - "metadata": {}, - "source": [ - "## $T_\\mathrm{inner}$\n", - "\n", - "The temperature of the inner boundary, $T_\\mathrm{inner}$, plays a unique role in the simulation, as it is the primary determiner of the output luminosity. This is because the the luminosity of the inner boundary is proportional to $T_\\mathrm{inner}^4$ (see [Energy Packet Initialization](../montecarlo/initialization.ipynb)). Thus, $T_\\mathrm{inner}$ is updated throughout the simulation in order to match the output luminosity to the requested luminosity specified in the [supernova configuration](../../io/configuration/components/supernova.rst) between the bounds specified in the supernova configuration. However, there is not necessarily a quartic relationship between $T_\\mathrm{inner}$ and the output luminosity, as changing $T_\\mathrm{inner}$ also changes the frequency distribution of the initialized packets (once again see [Energy Packet Initialization](../montecarlo/initialization.ipynb)). This then affects the light-matter interactions, affecting which packets make it to the outer boundary, which also affects the output luminosity. Because of this, there is not an exact way to estimate $T_\\mathrm{inner}$. To do this estimation, we use\n", - "\n", - "$$T_\\mathrm{inner\\ estimated} = T_\\mathrm{inner\\ current} * \\left(\\frac{L_\\mathrm{output}}{L_\\mathrm{requested}}\\right)^{\\mathrm{t\\_inner\\_update\\_exponent}}$$\n", - " \n", - "where $L_\\mathrm{output}$ is the output luminosity calculated by adding up the luminosity of each packet (see [Basic Spectrum Generation](../spectrum/basic.ipynb)) between the bounds specified in the [supernova configuration](../../io/configuration/components/supernova.rst), $L_\\mathrm{requested}$ is the luminosity requested also in the supernova configuration (requested between those bounds previously mentioned), and ``t_inner_update_exponent`` is provided by the user in the convergence configuration. Note that what we are doing is \"correcting\" the previous value of the inner temperature by a factor of $\\left(\\frac{L_\\mathrm{output}}{L_\\mathrm{requested}}\\right)^{\\mathrm{t\\_inner\\_update\\_exponent}}$. Note that if $\\frac{L_\\mathrm{output}}{L_\\mathrm{requested}}$ is greater than 1, we want to lower $T_\\mathrm{inner}$ as the output luminosity is too high, and vice versa if the ratio is less than 1. Thus ``t_inner_update_exponent`` should be negative. Naively one might set ``t_inner_update_exponent=-0.25``, however as a default TARDIS uses ``t_inner_update_exponent=-0.5`` as -0.25 may undershoot the correct $T_\\mathrm{inner}$ because of its previously mentioned effects on the initial frequency distribution.\n", - "\n", - "After calculating the estimated $T_\\mathrm{inner}$, the quantity is updated using damped convergence with its own damping constant (once again set in the convergence configuration):\n", - "\n", - "$$T_\\mathrm{inner\\ updated} = T_\\mathrm{inner\\ current} + d_{T_\\mathrm{inner}}(T_\\mathrm{inner\\ estimated}-T_\\mathrm{inner\\ current}).$$\n", - "\n", - "Once again, If the damping constant is 1, then the updated value is exactly the estimated value, and if the damping constant is zero, the value stays the same throughout the simulation and is not updated.\n", - "\n", - "Additionally, because of the vast impact of $T_\\mathrm{inner}$ on the simulation, one may want to update it less frequently -- i.e. allow $W$ and $T_\\mathrm{rad}$ to reach a steady-state value for a particular $T_\\mathrm{inner}$ before updating $T_\\mathrm{inner}$. To do this, in the convergence configuration we set ``lock_t_inner_cycles``, which is the number of iterations to wait before updating $T_\\mathrm{inner}$. It is set to 1 by default, meaning $T_\\mathrm{inner}$ would be updated every iteration." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "9a3bee0e", - "metadata": {}, - "source": [ - "## Convergence Information\n", - "\n", - "During the simulation, information about the how $T_\\mathrm{rad}$, $W$, and $T_\\mathrm{inner}$ are updated as well as a comparison of the total output luminosity and the requested luminosity are logged at the INFO level (see [Configuring the Logging Output for TARDIS](../../io/optional/tutorial_logging_configuration.ipynb)) as shown in the code below, to give users a better idea of how the convergence process is working.\n", - "\n", - "In addition, TARDIS allows for the displaying of convergence plots, which allows users to visualize the convergence process for $T_\\mathrm{rad}$, $W$, $T_\\mathrm{inner}$, and the total luminosity of the supernova being modeled. For more information, see [Convergence Plots](../../io/visualization/tutorial_convergence_plot.ipynb)." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "3bc752ec", - "metadata": {}, - "source": [ - "## Convergence Criteria\n", - "\n", - "TARDIS also allows users to stop the simulation if the simulation reaches a certain level of convergence, which is checked upon the call of the ``advance_state`` method. To enable this, users must set ``stop_if_converged=True`` in the convergence configuration. Also in the configuration, the quantities ``hold_iterations``, ``threshold``, and ``fraction`` are be specified to determine convergence as follows:\n", - "\n", - "For the simulation to be considered to have converged, for ``hold_iterations`` successive iterations, the estimated values of $T_\\mathrm{rad}$, $W$, and $T_\\mathrm{inner}$ may differ from the previous value by a fraction of at most ``threshold`` in at least ``fraction`` fraction of the shells (for $T_\\mathrm{inner}$, since there is only one value, the ``fraction`` part does not apply). For example, if ``hold_iterations=3``, ``threshold=0.05`` for all three quantities, and ``fraction=0.8``, the simulation will be considered to have converged if for 3 successive iterations the estimated values of $T_\\mathrm{rad}$ and $W$ differ from the current respective values by at most 5% in at least 80% of the shells, *and* the estimated $T_\\mathrm{inner}$ differs by at most 5%. See the [convergence configuration schema](../../io/configuration/components/montecarlo.rst#damped-convergence-strategy) for default values of these quantities.\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "To determine convergence, we compare the estimated value, **not** the updated value (which is related to the estimated value via the damping constant), with the previous value. If $T_\\mathrm{inner}$ is locked (see the previous section), the estimated value will still be calculated so convergence can be checked as usual.\n", - "\n", - "</div>\n", - "\n", - "<div class=\"alert alert-info\">\n", - "\n", - "Note\n", - " \n", - "``hold_iterations`` and ``fraction`` are universal quantities, i.e. they are each a single value that applies to $T_\\mathrm{rad}$ and $W$, and for ``hold_iterations`` also $T_\\mathrm{inner}$. ``threshold``, on the other hand, is supplied for each quantity separately, so for instance you could require $T_\\mathrm{rad}$ to differ by less than 1%, $W$ to differ by less than 3%, and $T_\\mathrm{inner}$ to differ by less than 5% for convergence to be reached.\n", - "\n", - "</div>\n", - "\n", - "\n", - "## Updating Other Quantities\n", - "\n", - "Other quantities in the plasma state can depend on other estimators. Currently, this is only implemented for the ``j_blue`` estimator: If ``radiative_rates_type`` in the [plasma configuration](../../io/configuration/components/plasma.rst) is set to ``detailed``, the `j_blues` plasma property will will be replaced with the value of the $J^b_{lu}$ [estimator](../montecarlo/estimators.rst#j-b-lu-estimator) (the raw estimator times the factor of $\\frac{ct_\\mathrm{explosion}}{4\\pi V \\Delta t}$, once again see [Implementation](../montecarlo/estimators.rst#implementation)), which would then affect other plasma properties that depend on the `j_blues` values (see [Plasma](../setup/plasma/index.rst)). Otherwise, the `j_blues` values in the plasma are calculated as they typically are in the plasma calculations, and the $J^b_{lu}$ estimator is only used for the [formal integral](../spectrum/formal_integral.rst). Even in the former case, while the estimator does contribute to the updating of the plasma when the ``advance_state`` method is called, it does **not** contribute to the determination of if the simulation has converged, and it does **not** show up in the convergence logging or convergence plots." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "127746c2", - "metadata": {}, - "source": [ - "## Code Example\n", - "\n", - "We now show a detailed example of how the plasma is updated using the estimators after a Monte Carlo iteration. First, we import the necessary packages and set up a simulation (see [Setting Up the Simulation](../setup/index.rst)):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7a8bd905", - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.simulation import Simulation\n", - "from tardis.io.atom_data import download_atom_data\n", - "import numpy as np\n", - "from scipy.special import zeta\n", - "\n", - "from astropy import units as u, constants as const\n", - "\n", - "# We download the atomic data needed to run this notebook\n", - "download_atom_data('kurucz_cd23_chianti_H_He')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "259a7aa9", - "metadata": {}, - "outputs": [], - "source": [ - "tardis_config = Configuration.from_yaml('tardis_example.yml')\n", - "\n", - "# We manually put in the damping constants and t_inner_update_exponent for\n", - "# illustrative purposes:\n", - "damping_t_radiative = 0.5\n", - "damping_dilution_factor = 0.3\n", - "damping_t_inner = 0.7\n", - "t_inner_update_exponent = -0.5\n", - "\n", - "# We set the above values into the configuration:\n", - "tardis_config.montecarlo.convergence_strategy.t_rad.damping_constant = damping_t_radiative\n", - "tardis_config.montecarlo.convergence_strategy.w.damping_constant = damping_dilution_factor\n", - "tardis_config.montecarlo.convergence_strategy.t_inner.damping_constant = damping_t_inner\n", - "tardis_config.montecarlo.convergence_strategy.t_inner_update_exponent = t_inner_update_exponent" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bb37402c", - "metadata": {}, - "outputs": [], - "source": [ - "sim = Simulation.from_config(tardis_config)\n", - "\n", - "simulation_state = sim.simulation_state\n", - "plasma = sim.plasma\n", - "transport = sim.transport" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "cf13d946", - "metadata": {}, - "source": [ - "We show the initial radiative temperature and dilution factor in each shell, the initial inner boundary temperature, and the initial electron densities in each shell:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e3f43f93", - "metadata": {}, - "outputs": [], - "source": [ - "simulation_state.t_radiative" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90bb6147", - "metadata": {}, - "outputs": [], - "source": [ - "simulation_state.dilution_factor" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "66209ff7", - "metadata": {}, - "outputs": [], - "source": [ - "simulation_state.t_inner" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b2ae7b4", - "metadata": {}, - "outputs": [], - "source": [ - "plasma.electron_densities" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "a248ff2c", - "metadata": {}, - "source": [ - "We set the number of packets and we run one iteration of the Monte Carlo simulation:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9f7eb44f", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "N_packets = 10000\n", - "\n", - "# Using the commented out code below, we can also get the number of packets\n", - "# from the configuration -- try it out:\n", - "#N_packets = tardis_config.montecarlo.no_of_packets\n", - "\n", - "sim.iterate(N_packets)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "d3d0074d", - "metadata": {}, - "source": [ - "We now show the values of the $J$ and $\\bar \\nu$ estimators, attaching their proper units (note that these are the raw estimators, and the factors of $\\frac{1}{4\\pi V \\Delta t}$ etc are not included):" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21500ea8", - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "j_estimator = transport.transport_state.j_estimator * (u.erg * u.cm) \n", - "j_estimator" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fac91ee2", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "nu_bar_estimator = transport.transport_state.nu_bar_estimator * (u.erg * u.cm * u.Hz)\n", - "nu_bar_estimator" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "69c178d2", - "metadata": {}, - "source": [ - "We show the values of $J$ and $\\bar \\nu$ including the prefactor:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9500e34b", - "metadata": {}, - "outputs": [], - "source": [ - "V = simulation_state.volume\n", - "Delta_t = transport.transport_state.time_of_simulation\n", - "prefactor = 1 / (4 * np.pi * V * Delta_t)\n", - "J = prefactor * j_estimator\n", - "J" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a5720987", - "metadata": {}, - "outputs": [], - "source": [ - "nu_bar = prefactor * nu_bar_estimator\n", - "nu_bar" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "28d69ca6", - "metadata": {}, - "source": [ - "As mentioned [here](../montecarlo/estimators.rst#j-and-bar-nu-estimators), $\\bar \\nu$ is not truly the mean frequency (as you can see by units). We show the true mean frequency, which will, as expected, be in units of Hz." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "691cf2f6", - "metadata": {}, - "outputs": [], - "source": [ - "nu_bar/J" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "bcbf40d4", - "metadata": {}, - "source": [ - "We show the calculations of the estimated and updated $T_\\mathrm{rad}$ and $W$. Note that the ``decompose()`` method is used to simplify the units:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "50c639ea", - "metadata": {}, - "outputs": [], - "source": [ - "t_rad_estimated = ( (const.h.cgs / const.k_B.cgs) \n", - " * (np.pi**4 / (360 * zeta(5, 1)))\n", - " * (nu_bar_estimator / j_estimator) ).decompose()\n", - "t_rad_estimated" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b34674df", - "metadata": {}, - "outputs": [], - "source": [ - "t_rad_updated = simulation_state.t_radiative + damping_t_radiative * (t_rad_estimated - simulation_state.t_radiative)\n", - "t_rad_updated" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b48d8ada", - "metadata": {}, - "outputs": [], - "source": [ - "dilution_factor_estimated = ( j_estimator / (4 * const.sigma_sb.cgs * t_rad_estimated**4 * V * Delta_t) ).decompose()\n", - "dilution_factor_estimated" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22895e09", - "metadata": {}, - "outputs": [], - "source": [ - "dilution_factor_updated = simulation_state.dilution_factor + damping_dilution_factor * (dilution_factor_estimated - simulation_state.dilution_factor)\n", - "dilution_factor_updated" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "7bfefce9", - "metadata": {}, - "source": [ - "We show the output and requested luminosities, and use these to calculate the estimated and updated $T_\\mathrm{inner}$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "795dceb2", - "metadata": {}, - "outputs": [], - "source": [ - "# The output luminosity is calculated between the bounds specified below\n", - "nu_lower = 0\n", - "nu_upper = np.inf\n", - "\n", - "# Using the commented out code below, we can also get the frequency bounds\n", - "# from the configuration -- try it out (note we convert between wavelength\n", - "# and frequency, and thus the order switches):\n", - "#nu_lower = tardis_config.supernova.luminosity_wavelength_end.to(u.Hz, u.spectral)\n", - "#nu_upper = tardis_config.supernova.luminosity_wavelength_start.to(u.Hz, u.spectral)\n", - "\n", - "from tardis.spectrum.luminosity import calculate_filtered_luminosity\n", - "L_output = calculate_filtered_luminosity(transport.transport_state.emitted_packet_nu, transport.transport_state.emitted_packet_luminosity, nu_lower, nu_upper)\n", - "L_output" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b7028da2", - "metadata": {}, - "outputs": [], - "source": [ - "L_requested = sim.luminosity_requested\n", - "L_requested" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4a14111a", - "metadata": {}, - "outputs": [], - "source": [ - "t_inner_estimated = simulation_state.t_inner * (L_output / L_requested)**t_inner_update_exponent\n", - "t_inner_estimated" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8bd1062f", - "metadata": {}, - "outputs": [], - "source": [ - "t_inner_updated = simulation_state.t_inner + damping_t_inner * (t_inner_estimated - simulation_state.t_inner)\n", - "t_inner_updated" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "43b31d2f", - "metadata": {}, - "source": [ - "We now advance the state of the simulation based on the estimators. This will also display a summary of the updated values of $T_\\mathrm{rad}$ and $W$. Additionally, the ``advance_state()`` method checks for convergence and returns the convergence status as shown below." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9676b22b", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "sim.advance_state(emitted_luminosity=L_output)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "9619477d", - "metadata": {}, - "source": [ - "Finally, we show the full updated $T_\\mathrm{rad}$, $W$, and $T_\\mathrm{inner}$, as well as the updated electron densities which were updated along with the rest of the plasma based on the new values for $T_\\mathrm{rad}$, $W$, and $T_\\mathrm{inner}$. Compare these with our calculations above and with the initial values at the beginning of the code example!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fe0b9f40", - "metadata": {}, - "outputs": [], - "source": [ - "simulation_state.t_radiative" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8de89bb2", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "simulation_state.dilution_factor" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4f78c4fe", - "metadata": {}, - "outputs": [], - "source": [ - "simulation_state.t_inner" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fcaf08ff", - "metadata": {}, - "outputs": [], - "source": [ - "plasma.electron_densities" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bd488259", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - }, - "vscode": { - "interpreter": { - "hash": "c20eb03b6e6c860a5223c79131a5cfd0b7e61a9aa5d08c2b1400663bc6cc4e6d" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/workflows/simple_workflow.ipynb b/docs/workflows/simple_workflow.ipynb deleted file mode 100644 index 6d280b5ab66..00000000000 --- a/docs/workflows/simple_workflow.ipynb +++ /dev/null @@ -1,110 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.workflows.simple_tardis_workflow import SimpleTARDISWorkflow\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "config = Configuration.from_yaml('../tardis_example.yml')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "workflow = SimpleTARDISWorkflow(config)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "workflow.run()" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "spectrum = workflow.spectrum_solver.spectrum_real_packets\n", - "spectrum_virtual = workflow.spectrum_solver.spectrum_virtual_packets\n", - "spectrum_integrated = workflow.spectrum_solver.spectrum_integrated" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "plt.figure(figsize=(10, 6.5))\n", - "\n", - "spectrum.plot(label=\"Normal packets\")\n", - "spectrum_virtual.plot(label=\"Virtual packets\")\n", - "spectrum_integrated.plot(label='Formal integral')\n", - "\n", - "plt.xlim(500, 9000)\n", - "plt.title(\"TARDIS example model spectrum\")\n", - "plt.xlabel(\"Wavelength [$\\AA$]\")\n", - "plt.ylabel(\"Luminosity density [erg/s/$\\AA$]\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tardis", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/docs/workflows/standard_workflow.ipynb b/docs/workflows/standard_workflow.ipynb deleted file mode 100644 index efdc3539c06..00000000000 --- a/docs/workflows/standard_workflow.ipynb +++ /dev/null @@ -1,110 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from tardis.io.configuration.config_reader import Configuration\n", - "from tardis.workflows.standard_tardis_workflow import StandardTARDISWorkflow\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "config = Configuration.from_yaml('../tardis_example.yml')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "workflow = StandardTARDISWorkflow(config, show_convergence_plots=True,show_progress_bars=True,convergence_plots_kwargs={\"export_convergence_plots\":True})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "workflow.run()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "spectrum = workflow.spectrum_solver.spectrum_real_packets\n", - "spectrum_virtual = workflow.spectrum_solver.spectrum_virtual_packets\n", - "spectrum_integrated = workflow.spectrum_solver.spectrum_integrated" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "plt.figure(figsize=(10, 6.5))\n", - "\n", - "spectrum.plot(label=\"Normal packets\")\n", - "spectrum_virtual.plot(label=\"Virtual packets\")\n", - "spectrum_integrated.plot(label='Formal integral')\n", - "\n", - "plt.xlim(500, 9000)\n", - "plt.title(\"TARDIS example model spectrum\")\n", - "plt.xlabel(\"Wavelength [$\\AA$]\")\n", - "plt.ylabel(\"Luminosity density [erg/s/$\\AA$]\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "tardis", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}