{
"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": [
"\n",
"
\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 9.93e+03 K | \n",
" 1.01e+04 K | \n",
" 0.4 | \n",
" 0.507 | \n",
"
\n",
" \n",
" 5 | \n",
" 9.85e+03 K | \n",
" 1.02e+04 K | \n",
" 0.211 | \n",
" 0.197 | \n",
"
\n",
" \n",
" 10 | \n",
" 9.78e+03 K | \n",
" 1.01e+04 K | \n",
" 0.143 | \n",
" 0.117 | \n",
"
\n",
" \n",
" 15 | \n",
" 9.71e+03 K | \n",
" 9.87e+03 K | \n",
" 0.105 | \n",
" 0.0869 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.01e+04 K | \n",
" 1.08e+04 K | \n",
" 0.507 | \n",
" 0.525 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.02e+04 K | \n",
" 1.1e+04 K | \n",
" 0.197 | \n",
" 0.203 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.01e+04 K | \n",
" 1.08e+04 K | \n",
" 0.117 | \n",
" 0.125 | \n",
"
\n",
" \n",
" 15 | \n",
" 9.87e+03 K | \n",
" 1.05e+04 K | \n",
" 0.0869 | \n",
" 0.0933 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.08e+04 K | \n",
" 1.1e+04 K | \n",
" 0.525 | \n",
" 0.483 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.1e+04 K | \n",
" 1.12e+04 K | \n",
" 0.203 | \n",
" 0.189 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.08e+04 K | \n",
" 1.1e+04 K | \n",
" 0.125 | \n",
" 0.118 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.05e+04 K | \n",
" 1.06e+04 K | \n",
" 0.0933 | \n",
" 0.0895 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.483 | \n",
" 0.469 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.12e+04 K | \n",
" 1.12e+04 K | \n",
" 0.189 | \n",
" 0.182 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.118 | \n",
" 0.113 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.06e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0895 | \n",
" 0.0861 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.469 | \n",
" 0.479 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.12e+04 K | \n",
" 1.13e+04 K | \n",
" 0.182 | \n",
" 0.178 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.113 | \n",
" 0.113 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0861 | \n",
" 0.0839 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.479 | \n",
" 0.47 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.12e+04 K | \n",
" 0.178 | \n",
" 0.185 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.113 | \n",
" 0.112 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0839 | \n",
" 0.0856 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.47 | \n",
" 0.47 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.12e+04 K | \n",
" 1.13e+04 K | \n",
" 0.185 | \n",
" 0.178 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.112 | \n",
" 0.112 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0856 | \n",
" 0.086 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.47 | \n",
" 0.472 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.14e+04 K | \n",
" 0.178 | \n",
" 0.175 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.112 | \n",
" 0.111 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.07e+04 K | \n",
" 0.086 | \n",
" 0.084 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.472 | \n",
" 0.469 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.14e+04 K | \n",
" 1.15e+04 K | \n",
" 0.175 | \n",
" 0.17 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.111 | \n",
" 0.109 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.08e+04 K | \n",
" 0.084 | \n",
" 0.0822 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.1e+04 K | \n",
" 0.469 | \n",
" 0.475 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.15e+04 K | \n",
" 1.14e+04 K | \n",
" 0.17 | \n",
" 0.177 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.109 | \n",
" 0.112 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.08e+04 K | \n",
" 1.06e+04 K | \n",
" 0.0822 | \n",
" 0.0878 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.475 | \n",
" 0.472 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.14e+04 K | \n",
" 1.12e+04 K | \n",
" 0.177 | \n",
" 0.184 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.1e+04 K | \n",
" 0.112 | \n",
" 0.114 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.06e+04 K | \n",
" 1.06e+04 K | \n",
" 0.0878 | \n",
" 0.0859 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.472 | \n",
" 0.467 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.12e+04 K | \n",
" 1.13e+04 K | \n",
" 0.184 | \n",
" 0.176 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.114 | \n",
" 0.11 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.06e+04 K | \n",
" 1.08e+04 K | \n",
" 0.0859 | \n",
" 0.0821 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.467 | \n",
" 0.466 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.13e+04 K | \n",
" 0.176 | \n",
" 0.18 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.11 | \n",
" 0.111 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.08e+04 K | \n",
" 1.08e+04 K | \n",
" 0.0821 | \n",
" 0.0841 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.466 | \n",
" 0.469 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.13e+04 K | \n",
" 0.18 | \n",
" 0.182 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.1e+04 K | \n",
" 0.111 | \n",
" 0.113 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.08e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0841 | \n",
" 0.0854 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.1e+04 K | \n",
" 0.469 | \n",
" 0.484 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.13e+04 K | \n",
" 0.182 | \n",
" 0.181 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.113 | \n",
" 0.113 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0854 | \n",
" 0.0858 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.484 | \n",
" 0.472 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.13e+04 K | \n",
" 0.181 | \n",
" 0.177 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.1e+04 K | \n",
" 0.113 | \n",
" 0.113 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.06e+04 K | \n",
" 0.0858 | \n",
" 0.0858 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.472 | \n",
" 0.468 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.14e+04 K | \n",
" 0.177 | \n",
" 0.175 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.113 | \n",
" 0.11 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.06e+04 K | \n",
" 1.08e+04 K | \n",
" 0.0858 | \n",
" 0.0816 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.468 | \n",
" 0.464 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.14e+04 K | \n",
" 1.13e+04 K | \n",
" 0.175 | \n",
" 0.177 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.11e+04 K | \n",
" 1.1e+04 K | \n",
" 0.11 | \n",
" 0.113 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.08e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0816 | \n",
" 0.0848 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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": [
"\n",
"\n",
" \n",
" \n",
" Shell No. | \n",
" t_rad | \n",
" next_t_rad | \n",
" w | \n",
" next_w | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.11e+04 K | \n",
" 1.11e+04 K | \n",
" 0.464 | \n",
" 0.466 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.13e+04 K | \n",
" 1.13e+04 K | \n",
" 0.177 | \n",
" 0.177 | \n",
"
\n",
" \n",
" 10 | \n",
" 1.1e+04 K | \n",
" 1.11e+04 K | \n",
" 0.113 | \n",
" 0.111 | \n",
"
\n",
" \n",
" 15 | \n",
" 1.07e+04 K | \n",
" 1.07e+04 K | \n",
" 0.0848 | \n",
" 0.0853 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"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",
"\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",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\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",
"
\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",
"\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
}