diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..9341352d --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,40 @@ +// devcontainer.json + { + "name": "athenapk-dev", + "image": "ghcr.io/parthenon-hpc-lab/cuda11.6-mpi-hdf5-ascent", + // disable Dockerfile for now + //"build": { + // // Path is relative to the devcontainer.json file. + // "dockerfile": "Dockerfile" + //}, + "hostRequirements": { + "cpus": 4 + }, + "customizations": { + "vscode": { + "settings": {}, + "extensions": [ + "-ms-vscode.cpptools", + "llvm-vs-code-extensions.vscode-clangd", + "github.vscode-pull-request-github", + "ms-python.python", + "ms-toolsai.jupyter", + "ms-vscode.live-server", + "ms-azuretools.vscode-docker", + "swyddfa.esbonio", + "tomoki1207.pdf", + "ms-vscode.cmake-tools", + "ms-vsliveshare.vsliveshare" + ] + } + }, + "remoteEnv": { + "PATH": "${containerEnv:PATH}:/usr/local/hdf5/parallel/bin", + "OMPI_MCA_opal_warn_on_missing_libcuda": "0" + }, + //"remoteUser": "ubuntu", + // we need to manually checkout the submodules, + // but VSCode may try to configure CMake before they are fully checked-out. + // workaround TBD + "postCreateCommand": "git submodule update --init" + } diff --git a/CHANGELOG.md b/CHANGELOG.md index 48ebc38a..a786a4ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,17 @@ ## Current develop (i.e., `main` branch) ### Added (new features/APIs/variables/...) +- [[PR 89]](https://github.com/parthenon-hpc-lab/athenapk/pull/89) Add viscosity and resistivity +- [[PR 1]](https://github.com/parthenon-hpc-lab/athenapk/pull/1) Add isotropic thermal conduction and RKL2 supertimestepping ### Changed (changing behavior/API/variables/...) +- [[PR 97]](https://github.com/parthenon-hpc-lab/athenapk/pull/97) Fixed Schure cooling curve. Removed SD one. Added description of cooling function conventions. - [[PR 84]](https://github.com/parthenon-hpc-lab/athenapk/pull/84) Bump Parthenon to latest develop (2024-02-15) ### Fixed (not changing behavior/API/variables/...) ### Infrastructure +- [[PR 112]](https://github.com/parthenon-hpc-lab/athenapk/pull/112) Add dev container configuration - [[PR 109]](https://github.com/parthenon-hpc-lab/athenapk/pull/109) Bump Parthenon to latest develop (2024-05-29) - [[PR 105]](https://github.com/parthenon-hpc-lab/athenapk/pull/105) Bump Parthenon to latest develop (2024-03-13) - [[PR 84]](https://github.com/parthenon-hpc-lab/athenapk/pull/84) Added `CHANGELOG.md` @@ -17,6 +21,11 @@ ### Removed (removing behavior/API/varaibles/...) ### Incompatibilities (i.e. breaking changes) +- [[PR 97]](https://github.com/parthenon-hpc-lab/athenapk/pull/97) + - Removes original `schure.cooling` cooling curve as it had unknown origin. + - To avoid confusion, only cooling table for a single solar metallicity are supported + from now on (i.e., the parameters to specify temperature and lambda columns have been removed). + - Added `schure.cooling_#Z` curves (and associated notebook to calculate it from the paper tables). - [[PR 109]](https://github.com/parthenon-hpc-lab/athenapk/pull/109) Bump Parthenon to latest develop (2024-05-29) - Changed signature of `UserWorkBeforeOutput` to include `SimTime` as last paramter - Fixes bitwise idential restarts for AMR simulations (the derefinement counter is now included) diff --git a/README.md b/README.md index 04881cd0..fd66e824 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,13 @@ Current features include - HLLE (hydro and MHD), HLLC (hydro), and HLLD (MHD) Riemann solvers - adiabatic equation of state - MHD based on hyperbolic divergence cleaning following Dedner+ 2002 - - anisotropic thermal conduction + - diffusion processes + - isotropic and anisotropic thermal conduction + - viscosity + - resistivity + - diffusion integrator + - unsplit + - operator-split, second-order RKL2 supertimestepping - optically thin cooling based on tabulated cooling tables with either Townsend 2009 exact integration or operator-split subcycling - static and adaptive mesh refinement - problem generators for diff --git a/docs/cooling/cooling.ipynb b/docs/cooling/cooling.ipynb new file mode 100644 index 00000000..31b183b7 --- /dev/null +++ b/docs/cooling/cooling.ipynb @@ -0,0 +1,369 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "33ca3da4-e1e2-4dff-bf33-88072e57508e", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import unyt\n", + "\n", + "import scipy as sp\n", + "import scipy.interpolate\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl" + ] + }, + { + "cell_type": "markdown", + "id": "eadb3f5c-e2aa-44b9-8828-555cac0c8c42", + "metadata": {}, + "source": [ + "## Load data from [Schure 2009](https://doi.org/10.1051/0004-6361/200912495) Tables 2 and 4" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e9bfaf9-9e06-48bf-933d-b3e201e4c5f5", + "metadata": {}, + "outputs": [], + "source": [ + "elemental_rates_data = np.genfromtxt(\"schure_table_4.txt\",\n", + " skip_header=4,\n", + " dtype=float, delimiter='\\t', names=True) \n", + "elements = elemental_rates_data.dtype.names[1:]\n", + "\n", + "log_temperature = elemental_rates_data[\"T\"]\n", + "\n", + "cooling_rates = unyt.unyt_array(np.empty( (log_temperature.size,len(elements)) ),\"cm**3*erg/s\")\n", + "\n", + "for j,element in enumerate(elements):\n", + " cooling_rates[:,j] = unyt.unyt_array(10**elemental_rates_data[element],\"cm**3*erg/s\")\n", + "\n", + "\n", + "schure_table2_data = np.loadtxt(\"schure_table_2.txt\")" + ] + }, + { + "cell_type": "markdown", + "id": "0dda7ed5-24d0-4ab5-a703-7baa71d1e1b8", + "metadata": {}, + "source": [ + "## Compute Cooling rates ($\\Lambda_N$) from Schure Table 4 and eq. 3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd992955-c664-4dc5-9a40-0c25ebafdc88", + "metadata": {}, + "outputs": [], + "source": [ + "z1_log_cr = np.log10( cooling_rates.sum(axis=1) )\n", + "\n", + "def compute_cr(n_over_n_sun):\n", + " return (cooling_rates*n_over_n_sun).sum(axis=1)\n", + "\n", + "z05_log_cr = np.log10( compute_cr(np.array( [1,1.0] + [1./2.,]*(len(elements)-2) ) ))\n", + "z03_log_cr = np.log10( compute_cr(np.array( [1,1] + [0.3,]*(len(elements)-2) ) ))" + ] + }, + { + "cell_type": "markdown", + "id": "59b73548-47cf-438d-bc8b-41a691b7f5e8", + "metadata": {}, + "source": [ + "## Compute $\\Lambda_{hd}$ from $n_e/n_H$ in Table 2 and eq. 1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "17526d49-46cd-41ce-b12f-f682de1cdba3", + "metadata": {}, + "outputs": [], + "source": [ + "#ne_over_nh = sp.interpolate.CubicSpline(schure_table2_data[:,0],schure_table2_data[:,3])\n", + "\n", + "start = np.where(schure_table2_data[:,0] == log_temperature[0])[0][0]\n", + "end = np.where(schure_table2_data[:,0] == log_temperature[-1])[0][0]\n", + "ne_over_nh = schure_table2_data[start:end+1,3]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12c2e08a-721a-4535-87b6-8d0688627d5d", + "metadata": {}, + "outputs": [], + "source": [ + "log_x_hd = np.log10(ne_over_nh)\n", + "schure_data = np.vstack((log_temperature,log_x_hd+z1_log_cr,log_x_hd+z05_log_cr,log_x_hd+z03_log_cr))" + ] + }, + { + "cell_type": "markdown", + "id": "abb949f6-e0eb-43d6-80db-9242e6b11ded", + "metadata": {}, + "source": [ + "## Save the schure data with a thorough note" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9783bc26-4023-41f4-b7ad-f5dbbab8fc7d", + "metadata": {}, + "outputs": [], + "source": [ + "header=\"\"\"Cooling rates generated from Schure 2009 (doi.org/10.1051/0004-6361/200912495)\n", + "containing temperatures in the first column (in log10 K) and collisional ionisation\n", + "equilibrium (CIE) cooling rates (in log10 erg cm^3/s).\n", + "Cooling rates are in the convention Lambda_hd from eq. 1,\n", + "where the proton ratio n_e/n_H is taken from table 2.\n", + "Lambda_N is computed from eq. 3. The cooling rate Lambda_N(X_i,T) from eq. 3 is contained\n", + "in table 4. n_i/n_i(solar) is taken to be 1.0 for all elements for Z=1 while for Z=0.5\n", + "and Z=0.3 n_i/n_i(solar) is set to 1 for H and He and set to 0.5 and 0.3 respectively for\n", + "all other elements. Made by Forrest Glines (forrestglines@gmail.com)\n", + "-----------------------------------------------------------------------------------------\\n\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b82b388b-b1db-42c0-b491-ec0acf998dd3", + "metadata": {}, + "outputs": [], + "source": [ + "for i, z in enumerate([1.0, 0.5, 0.3]):\n", + " np.savetxt(f\"schure.cooling_{z:.1f}Z\",\n", + " schure_data.T[:,[0, i + 1]],\n", + " header=header + f\"log10 T [K] Z={z:.1f} log10 Lambda_N [erg cm^3/s]\",\n", + " fmt=(\"%1.2f\",\"%2.4f\"))" + ] + }, + { + "cell_type": "markdown", + "id": "ebd552ea-937d-4d26-9517-cffaf98dbeb4", + "metadata": {}, + "source": [ + "### Process Gnat Sternberg Cooling Table" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a9b0fd3-a27e-46eb-b356-4d46e53bcc55", + "metadata": {}, + "outputs": [], + "source": [ + "gnat_sternberg_data = np.loadtxt(\"gnat_sternberg_cie_table.txt\", skiprows=23)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdf5d5db-a0eb-43e7-9283-29339d1d6d5a", + "metadata": {}, + "outputs": [], + "source": [ + "header=\"\"\"Adapted from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt\n", + "Title: Time-Dependent Ionization in Radiatively Cooling Gas \n", + "Authors: Orly Gnat and Amiel Sternberg\n", + "Table: CIE Cooling Efficiencies\n", + "-----------------------------------------------------------------------------------------\n", + "Our assumed Z=1 solar abundances are listed in Table 1.\n", + "-----------------------------------------------------------------------------------------\\n\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0abce35b-6775-4c43-b6a8-2ed0cd6f0e1c", + "metadata": {}, + "outputs": [], + "source": [ + "for i, z in enumerate([1e-3, 1e-2, 1e-1, 1, 2]):\n", + " np.savetxt(f\"gnat-sternberg.cooling_{z:.1g}Z\",\n", + " np.log10(gnat_sternberg_data[:,[0, i + 1]]),\n", + " header=header + f\"log10 T [K] Z={z:.1g} log10 Lambda_N [erg cm^3/s]\",\n", + " fmt=(\"%1.2f\",\"%2.4f\"))" + ] + }, + { + "cell_type": "markdown", + "id": "6c7c385d-21ed-42e5-ba60-8ae76cea7185", + "metadata": {}, + "source": [ + "## Load other cooling tables (See [Sutherland and Dopita 1993](https://ui.adsabs.harvard.edu/link_gateway/1993ApJS...88..253S/doi:10.1086/191823) )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9177f991-65fc-46a9-a8e1-8c121da5f68f", + "metadata": {}, + "outputs": [], + "source": [ + "enzo_schure_data = np.loadtxt(\"enzo_schure.cooling\") #Schure cooling table with enzo roots\n", + "#gnat_sternberg_data = np.loadtxt(\"gnat-sternberg.cooling\")\n", + "#sutherland_dopita_data = np.loadtxt(\"cooling_data/sutherland_dopita.cooling\") #SD table with PLUTO roots\n", + "sutherland_dopita_table6_data = np.loadtxt(\"sutherland_dopita_table_6.txt\")" + ] + }, + { + "cell_type": "markdown", + "id": "702382fd-8067-4a7f-bb85-45838f236ff1", + "metadata": {}, + "source": [ + "## Make some plots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef31148e-36d4-4ff7-b950-712e84224f12", + "metadata": {}, + "outputs": [], + "source": [ + "fig,ax = plt.subplots()\n", + "\n", + "ax.plot(log_temperature,z1_log_cr,label=\"$\\\\Lambda_N$ Schure $Z_\\\\odot$\")\n", + "ax.plot(log_temperature,z05_log_cr,label=\"$\\\\Lambda_N$ Schure $0.5 Z_\\\\odot$\")\n", + "ax.plot(log_temperature,z03_log_cr,label=\"$\\\\Lambda_N$ Schure $0.3 Z_\\\\odot$\")\n", + "\n", + "\n", + "ax.plot(log_temperature,log_x_hd+z1_log_cr,label=\"$\\\\Lambda_{hd}$ Schure $Z_\\\\odot$\",linestyle=\"--\")\n", + "ax.plot(log_temperature,log_x_hd+z05_log_cr,label=\"$\\\\Lambda_{hd}$ Schure $0.5 Z_\\\\odot$\",linestyle=\"--\")\n", + "ax.plot(log_temperature,log_x_hd+z03_log_cr,label=\"$\\\\Lambda_{hd}$ Schure $0.3 Z_\\\\odot$\",linestyle=\"--\")\n", + "\n", + "#ax.plot(enzo_schure_data[:,0],enzo_schure_data[:,1],label=\"Legacy Schure $Z_\\\\odot$\",linestyle=\"--\")\n", + "#ax.plot(enzo_schure_data[:,0],enzo_schure_data[:,2],label=\"Legacy Schure $0.5 Z_\\\\odot$\",linestyle=\"--\")\n", + "#ax.plot(schure_table2_data[:,0],schure_table2_data[:,1],label=\"Schure Table 2 $Z=1$\",linestyle=\"--\")\n", + "\n", + "#ax.plot(gnat_sternberg_data[:,0],gnat_sternberg_data[:,4],label=\"GS $Z=1$\",linestyle=\":\")\n", + "#ax.plot(sutherland_dopita_data[:,0],sutherland_dopita_data[:,2],label=\"SD $Z=1$\",linestyle=\"-\")\n", + "#ax.plot(sutherland_dopita_data[:,0],sutherland_dopita_data[:,1],label=\"SD $Z=1/3$\",linestyle=\":\")\n", + "\n", + "#ax.plot(sutherland_dopita_table6_data[:,0],sutherland_dopita_table6_data[:,5],label=\"SD Table 6 $Z=1$\",linestyle=\"--\")\n", + "\n", + "ax.legend(ncols=2)\n", + "\n", + "#ax.set_xlim(log_temperature.min(),log_temperature.max())\n", + "\n", + "ax.set_xlim(3.8,8.2)\n", + "ax.set_ylim(-23,-20)\n", + "#ax.set_ylim(-26,-20)\n", + "\n", + "ax.set_ylabel(\"Cooling Rate -- $ \\\\log \\\\Lambda$ [ cm${}^{3}$ erg/s ]\")\n", + "ax.set_xlabel(\"Temperature -- $ \\\\log T$ [ K ]\")\n", + "\n", + "ax.grid()\n", + "\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0261a25f-2c1a-49b7-987e-3c5bf1deedf5", + "metadata": {}, + "outputs": [], + "source": [ + "fig,ax = plt.subplots()\n", + "\n", + "ax.plot(log_temperature,log_x_hd+z1_log_cr,label=\"My $\\\\Lambda_{hd}$\",linestyle=\"-\")\n", + "ax.plot(log_temperature,schure_table2_data[start:end+1,2],label=\"Schure Table 2 $\\\\Lambda_{hd}$\",linestyle=\":\")\n", + "\n", + "ax.plot(log_temperature,z1_log_cr,label=\"My $\\\\Lambda_{N}$\",linestyle=\"-\")\n", + "ax.plot(log_temperature,enzo_schure_data[:,1],label=\"Enzo $\\\\Lambda_{N}$\",linestyle=\"--\")\n", + "ax.plot(log_temperature,schure_table2_data[start:end+1,2],label=\"Schure Table 1 $\\\\Lambda_{N}$\",linestyle=\":\")\n", + "\n", + "ax.legend()\n", + "\n", + "#ax.set_xlim(log_temperature.min(),log_temperature.max())\n", + "\n", + "ax.set_xlim(3.8,8.2)\n", + "ax.set_ylim(-23,-20)\n", + "#ax.set_ylim(-26,-20)\n", + "\n", + "ax.set_ylabel(\"Cooling Rate -- $ \\\\log \\\\Lambda$ [ cm${}^{3}$ erg/s ]\")\n", + "ax.set_xlabel(\"Temperature -- $ \\\\log T$ [ K ]\")\n", + "\n", + "ax.grid()\n", + "\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "693b185a-a4c4-4602-b841-b43bfa909601", + "metadata": {}, + "outputs": [], + "source": [ + "fig,ax = plt.subplots()\n", + "\n", + "ax.plot(log_temperature,\n", + " (10**(log_x_hd+z1_log_cr) - 10**schure_table2_data[start:end+1,2])/10**(log_x_hd+z1_log_cr),\n", + " label=\"$\\\\Lambda_{hd}$: Mine - Schure Table 2\",linestyle=\"-\")\n", + "\n", + "ax.plot(log_temperature,\n", + " (10**(z1_log_cr) - 10**schure_table2_data[start:end+1,1])/10**(z1_log_cr),\n", + " label=\"$\\\\Lambda_{N}$: Mine - Schure Table 2\",linestyle=\"--\")\n", + "ax.plot(log_temperature,\n", + " (10**(z1_log_cr) - 10**enzo_schure_data[:,1])/10**(z1_log_cr),\n", + " label=\"$\\\\Lambda_{N}$: Mine - Enzo\",linestyle=\"-\")\n", + "\n", + "\n", + "ax.legend()\n", + "\n", + "#ax.set_xlim(log_temperature.min(),log_temperature.max())\n", + "\n", + "ax.set_xlim(3.8,8.2)\n", + "#ax.set_ylim(-23,-20)\n", + "#ax.set_ylim(-26,-20)\n", + "\n", + "ax.set_ylabel(\"Relative difference in $\\\\Lambda$\")\n", + "ax.set_xlabel(\"Temperature -- $ \\\\log T$ [ K ]\")\n", + "\n", + "ax.grid()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb9b70d5-32e4-43db-9fcd-f1c7c481b5a4", + "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.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/cooling/cooling_curves_LambdaHD.png b/docs/cooling/cooling_curves_LambdaHD.png new file mode 100644 index 00000000..24479cea Binary files /dev/null and b/docs/cooling/cooling_curves_LambdaHD.png differ diff --git a/docs/cooling/cooling_curves_nHneLambda.png b/docs/cooling/cooling_curves_nHneLambda.png new file mode 100644 index 00000000..b37fc0fc Binary files /dev/null and b/docs/cooling/cooling_curves_nHneLambda.png differ diff --git a/docs/cooling/gnat_sternberg_cie_table.txt b/docs/cooling/gnat_sternberg_cie_table.txt new file mode 100644 index 00000000..01d22595 --- /dev/null +++ b/docs/cooling/gnat_sternberg_cie_table.txt @@ -0,0 +1,224 @@ +## Downloaded from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt +Title: Time-Dependent Ionization in Radiatively Cooling Gas +Authors: Orly Gnat and Amiel Sternberg +Table: CIE Cooling Efficiencies +================================================================================ +Byte-by-byte Description of file: datafile13.txt +-------------------------------------------------------------------------------- + Bytes Format Units Label Explanations +-------------------------------------------------------------------------------- + 1- 10 A10 K Temperature Temperature + 12- 19 A8 10-13.J.m+3.s-1 Lambda(Z=1e-3) Cooling Efficiency (erg cm^3 + s^-1) + 21- 28 A8 10-13.J.m+3.s-1 Lambda(Z=1e-2) Cooling Efficiency (erg cm^3 + s^-1) + 30- 37 A8 10-13.J.m+310-1 Lambda(Z=1e-1) Cooling Efficiency (erg cm^3 + s^-1) + 39- 46 A8 10-13.J.m+3.s-1 Lambda(Z=1) Cooling Efficiency (erg cm^3 + s^-1) + 48- 55 A8 10-13.J.m+3.s-1 Lambda(Z=2) Cooling Efficiency (erg cm^3 + s^-1) +-------------------------------------------------------------------------------- +Note (1): Our assumed Z=1 solar abundances are listed in Table 1. +-------------------------------------------------------------------------------- +1.0000e+04 4.70e-24 4.98e-24 7.78e-24 5.59e-23 3.77e-22 +1.0470e+04 7.62e-24 7.79e-24 9.55e-24 3.09e-23 6.96e-23 +1.0970e+04 1.23e-23 1.25e-23 1.39e-23 2.86e-23 4.76e-23 +1.1490e+04 1.97e-23 1.98e-23 2.11e-23 3.41e-23 4.93e-23 +1.2030e+04 3.08e-23 3.09e-23 3.22e-23 4.51e-23 5.98e-23 +1.2600e+04 4.66e-23 4.67e-23 4.81e-23 6.16e-23 7.68e-23 +1.3200e+04 6.78e-23 6.80e-23 6.93e-23 8.39e-23 1.00e-22 +1.3830e+04 9.40e-23 9.41e-23 9.58e-23 1.11e-22 1.28e-22 +1.4480e+04 1.22e-22 1.22e-22 1.24e-22 1.41e-22 1.60e-22 +1.5170e+04 1.47e-22 1.47e-22 1.49e-22 1.67e-22 1.88e-22 +1.5890e+04 1.65e-22 1.65e-22 1.67e-22 1.86e-22 2.09e-22 +1.6640e+04 1.71e-22 1.71e-22 1.73e-22 1.94e-22 2.17e-22 +1.7430e+04 1.69e-22 1.69e-22 1.71e-22 1.92e-22 2.15e-22 +1.8250e+04 1.59e-22 1.59e-22 1.61e-22 1.82e-22 2.06e-22 +1.9120e+04 1.46e-22 1.47e-22 1.49e-22 1.70e-22 1.93e-22 +2.0020e+04 1.32e-22 1.32e-22 1.34e-22 1.55e-22 1.79e-22 +2.0970e+04 1.18e-22 1.18e-22 1.21e-22 1.43e-22 1.67e-22 +2.1960e+04 1.05e-22 1.05e-22 1.08e-22 1.31e-22 1.57e-22 +2.3000e+04 9.40e-23 9.42e-23 9.67e-23 1.21e-22 1.49e-22 +2.4090e+04 8.44e-23 8.46e-23 8.72e-23 1.14e-22 1.43e-22 +2.5240e+04 7.60e-23 7.63e-23 7.91e-23 1.08e-22 1.39e-22 +2.6430e+04 6.88e-23 6.91e-23 7.21e-23 1.03e-22 1.38e-22 +2.7680e+04 6.25e-23 6.29e-23 6.63e-23 1.00e-22 1.38e-22 +2.8990e+04 5.71e-23 5.75e-23 6.13e-23 9.85e-23 1.40e-22 +3.0370e+04 5.23e-23 5.27e-23 5.67e-23 9.77e-23 1.43e-22 +3.1810e+04 4.77e-23 4.82e-23 5.27e-23 9.77e-23 1.48e-22 +3.3310e+04 4.35e-23 4.40e-23 4.91e-23 9.88e-23 1.54e-22 +3.4890e+04 3.98e-23 4.04e-23 4.58e-23 1.01e-22 1.62e-22 +3.6540e+04 3.65e-23 3.71e-23 4.32e-23 1.04e-22 1.72e-22 +3.8280e+04 3.35e-23 3.42e-23 4.09e-23 1.08e-22 1.84e-22 +4.0090e+04 3.09e-23 3.16e-23 3.92e-23 1.14e-22 1.97e-22 +4.1990e+04 2.88e-23 2.96e-23 3.79e-23 1.21e-22 2.13e-22 +4.3980e+04 2.72e-23 2.81e-23 3.72e-23 1.29e-22 2.30e-22 +4.6060e+04 2.61e-23 2.71e-23 3.72e-23 1.38e-22 2.50e-22 +4.8240e+04 2.57e-23 2.68e-23 3.79e-23 1.49e-22 2.73e-22 +5.0530e+04 2.60e-23 2.72e-23 3.95e-23 1.62e-22 2.98e-22 +5.2920e+04 2.74e-23 2.87e-23 4.21e-23 1.77e-22 3.27e-22 +5.5430e+04 3.00e-23 3.15e-23 4.62e-23 1.94e-22 3.58e-22 +5.8050e+04 3.41e-23 3.57e-23 5.18e-23 2.13e-22 3.93e-22 +6.0800e+04 3.99e-23 4.17e-23 5.92e-23 2.35e-22 4.31e-22 +6.3680e+04 4.74e-23 4.93e-23 6.83e-23 2.59e-22 4.72e-22 +6.6700e+04 5.63e-23 5.83e-23 7.89e-23 2.85e-22 5.15e-22 +6.9860e+04 6.56e-23 6.78e-23 9.00e-23 3.12e-22 5.59e-22 +7.3170e+04 7.43e-23 7.67e-23 1.00e-22 3.37e-22 6.02e-22 +7.6630e+04 8.11e-23 8.36e-23 1.09e-22 3.61e-22 6.42e-22 +8.0260e+04 8.49e-23 8.75e-23 1.14e-22 3.80e-22 6.77e-22 +8.4070e+04 8.55e-23 8.84e-23 1.16e-22 3.97e-22 7.09e-22 +8.8050e+04 8.35e-23 8.64e-23 1.16e-22 4.10e-22 7.38e-22 +9.2220e+04 7.95e-23 8.26e-23 1.13e-22 4.20e-22 7.63e-22 +9.6590e+04 7.42e-23 7.74e-23 1.09e-22 4.28e-22 7.83e-22 +1.0120e+05 6.86e-23 7.19e-23 1.05e-22 4.32e-22 7.98e-22 +1.0600e+05 6.29e-23 6.62e-23 9.94e-23 4.32e-22 8.03e-22 +1.1100e+05 5.74e-23 6.07e-23 9.39e-23 4.27e-22 7.99e-22 +1.1620e+05 5.22e-23 5.55e-23 8.86e-23 4.20e-22 7.88e-22 +1.2170e+05 4.76e-23 5.08e-23 8.35e-23 4.11e-22 7.76e-22 +1.2750e+05 4.33e-23 4.66e-23 7.89e-23 4.03e-22 7.66e-22 +1.3350e+05 3.95e-23 4.28e-23 7.52e-23 3.99e-22 7.62e-22 +1.3990e+05 3.61e-23 3.94e-23 7.21e-23 3.99e-22 7.65e-22 +1.4650e+05 3.31e-23 3.64e-23 6.96e-23 4.02e-22 7.74e-22 +1.5340e+05 3.04e-23 3.38e-23 6.77e-23 4.08e-22 7.88e-22 +1.6070e+05 2.80e-23 3.15e-23 6.62e-23 4.15e-22 8.05e-22 +1.6830e+05 2.58e-23 2.94e-23 6.49e-23 4.22e-22 8.21e-22 +1.7630e+05 2.39e-23 2.75e-23 6.39e-23 4.29e-22 8.37e-22 +1.8460e+05 2.22e-23 2.59e-23 6.29e-23 4.35e-22 8.50e-22 +1.9340e+05 2.06e-23 2.44e-23 6.21e-23 4.41e-22 8.64e-22 +2.0260e+05 1.92e-23 2.31e-23 6.15e-23 4.47e-22 8.79e-22 +2.1210e+05 1.80e-23 2.19e-23 6.11e-23 4.54e-22 8.94e-22 +2.2220e+05 1.68e-23 2.08e-23 6.06e-23 4.60e-22 9.08e-22 +2.3270e+05 1.58e-23 1.98e-23 6.00e-23 4.64e-22 9.16e-22 +2.4370e+05 1.49e-23 1.89e-23 5.90e-23 4.62e-22 9.13e-22 +2.5530e+05 1.40e-23 1.79e-23 5.73e-23 4.52e-22 8.95e-22 +2.6740e+05 1.32e-23 1.70e-23 5.46e-23 4.33e-22 8.56e-22 +2.8000e+05 1.25e-23 1.60e-23 5.10e-23 4.03e-22 7.97e-22 +2.9330e+05 1.11e-23 1.43e-23 4.62e-23 3.67e-22 7.25e-22 +3.0720e+05 1.05e-23 1.34e-23 4.21e-23 3.31e-22 6.55e-22 +3.2180e+05 9.95e-24 1.25e-23 3.86e-23 3.00e-22 5.93e-22 +3.3700e+05 9.46e-24 1.19e-23 3.58e-23 2.76e-22 5.46e-22 +3.5300e+05 9.01e-24 1.13e-23 3.37e-23 2.59e-22 5.12e-22 +3.6970e+05 8.61e-24 1.08e-23 3.23e-23 2.48e-22 4.91e-22 +3.8720e+05 8.25e-24 1.03e-23 3.12e-23 2.41e-22 4.77e-22 +4.0560e+05 7.92e-24 9.98e-24 3.06e-23 2.38e-22 4.70e-22 +4.2480e+05 7.63e-24 9.67e-24 3.01e-23 2.36e-22 4.66e-22 +4.4490e+05 7.36e-24 9.39e-24 2.97e-23 2.34e-22 4.64e-22 +4.6600e+05 7.10e-24 9.13e-24 2.93e-23 2.33e-22 4.60e-22 +4.8800e+05 6.87e-24 8.87e-24 2.89e-23 2.30e-22 4.56e-22 +5.1110e+05 6.65e-24 8.62e-24 2.83e-23 2.26e-22 4.48e-22 +5.3540e+05 6.44e-24 8.35e-24 2.75e-23 2.20e-22 4.35e-22 +5.6070e+05 6.24e-24 8.06e-24 2.63e-23 2.10e-22 4.15e-22 +5.8730e+05 6.05e-24 7.77e-24 2.50e-23 1.98e-22 3.92e-22 +6.1510e+05 5.88e-24 7.49e-24 2.36e-23 1.86e-22 3.68e-22 +6.4420e+05 5.72e-24 7.22e-24 2.22e-23 1.73e-22 3.42e-22 +6.7480e+05 5.59e-24 7.00e-24 2.12e-23 1.64e-22 3.24e-22 +7.0670e+05 5.47e-24 6.81e-24 2.02e-23 1.55e-22 3.07e-22 +7.4020e+05 5.36e-24 6.66e-24 1.97e-23 1.51e-22 2.98e-22 +7.7530e+05 5.26e-24 6.54e-24 1.93e-23 1.47e-22 2.91e-22 +8.1200e+05 5.18e-24 6.43e-24 1.90e-23 1.46e-22 2.88e-22 +8.5040e+05 5.10e-24 6.35e-24 1.88e-23 1.44e-22 2.85e-22 +8.9070e+05 5.04e-24 6.28e-24 1.87e-23 1.44e-22 2.84e-22 +9.3290e+05 4.98e-24 6.22e-24 1.86e-23 1.43e-22 2.83e-22 +9.7710e+05 4.93e-24 6.15e-24 1.83e-23 1.41e-22 2.79e-22 +1.0000e+06 4.90e-24 6.12e-24 1.83e-23 1.41e-22 2.78e-22 +1.0470e+06 4.87e-24 6.07e-24 1.80e-23 1.38e-22 2.74e-22 +1.0960e+06 4.85e-24 6.02e-24 1.77e-23 1.36e-22 2.68e-22 +1.1480e+06 4.83e-24 5.97e-24 1.74e-23 1.33e-22 2.62e-22 +1.2020e+06 4.82e-24 5.94e-24 1.72e-23 1.30e-22 2.57e-22 +1.2590e+06 4.81e-24 5.91e-24 1.70e-23 1.28e-22 2.53e-22 +1.3180e+06 4.81e-24 5.88e-24 1.66e-23 1.25e-22 2.47e-22 +1.3800e+06 4.81e-24 5.86e-24 1.64e-23 1.23e-22 2.42e-22 +1.4450e+06 4.81e-24 5.85e-24 1.62e-23 1.20e-22 2.37e-22 +1.5140e+06 4.82e-24 5.83e-24 1.59e-23 1.17e-22 2.31e-22 +1.5850e+06 4.84e-24 5.81e-24 1.55e-23 1.13e-22 2.23e-22 +1.6600e+06 4.85e-24 5.78e-24 1.51e-23 1.09e-22 2.14e-22 +1.7380e+06 4.87e-24 5.75e-24 1.46e-23 1.04e-22 2.04e-22 +1.8200e+06 4.89e-24 5.72e-24 1.41e-23 9.80e-23 1.92e-22 +1.9060e+06 4.91e-24 5.70e-24 1.35e-23 9.23e-23 1.81e-22 +1.9950e+06 4.94e-24 5.67e-24 1.30e-23 8.64e-23 1.69e-22 +2.0890e+06 4.88e-24 5.56e-24 1.23e-23 8.05e-23 1.57e-22 +2.1880e+06 4.92e-24 5.55e-24 1.18e-23 7.53e-23 1.47e-22 +2.2910e+06 4.96e-24 5.54e-24 1.14e-23 7.05e-23 1.37e-22 +2.3990e+06 5.00e-24 5.55e-24 1.10e-23 6.61e-23 1.28e-22 +2.5120e+06 5.05e-24 5.56e-24 1.07e-23 6.21e-23 1.20e-22 +2.6300e+06 5.09e-24 5.57e-24 1.03e-23 5.82e-23 1.12e-22 +2.7540e+06 5.14e-24 5.59e-24 1.00e-23 5.48e-23 1.05e-22 +2.8840e+06 5.20e-24 5.61e-24 9.75e-24 5.15e-23 9.84e-23 +3.0200e+06 5.25e-24 5.64e-24 9.51e-24 4.85e-23 9.23e-23 +3.1620e+06 5.31e-24 5.67e-24 9.29e-24 4.58e-23 8.68e-23 +3.3110e+06 5.39e-24 5.73e-24 9.13e-24 4.34e-23 8.20e-23 +3.4670e+06 5.47e-24 5.79e-24 8.99e-24 4.13e-23 7.76e-23 +3.6310e+06 5.55e-24 5.86e-24 8.91e-24 3.96e-23 7.42e-23 +3.8020e+06 5.64e-24 5.93e-24 8.84e-24 3.81e-23 7.11e-23 +3.9810e+06 5.73e-24 6.01e-24 8.79e-24 3.69e-23 6.85e-23 +4.1690e+06 5.82e-24 6.09e-24 8.77e-24 3.58e-23 6.61e-23 +4.3650e+06 5.92e-24 6.18e-24 8.76e-24 3.48e-23 6.41e-23 +4.5710e+06 6.01e-24 6.26e-24 8.77e-24 3.40e-23 6.24e-23 +4.7860e+06 6.11e-24 6.36e-24 8.79e-24 3.32e-23 6.07e-23 +5.0120e+06 6.22e-24 6.45e-24 8.81e-24 3.26e-23 5.93e-23 +5.2480e+06 6.32e-24 6.55e-24 8.85e-24 3.19e-23 5.79e-23 +5.4950e+06 6.43e-24 6.65e-24 8.89e-24 3.14e-23 5.68e-23 +5.7540e+06 6.53e-24 6.75e-24 8.94e-24 3.09e-23 5.57e-23 +6.0260e+06 6.64e-24 6.86e-24 9.00e-24 3.06e-23 5.49e-23 +6.3100e+06 6.76e-24 6.97e-24 9.08e-24 3.03e-23 5.42e-23 +6.6070e+06 6.87e-24 7.08e-24 9.15e-24 3.01e-23 5.36e-23 +6.9180e+06 6.99e-24 7.19e-24 9.24e-24 2.99e-23 5.31e-23 +7.2440e+06 7.11e-24 7.31e-24 9.35e-24 2.99e-23 5.31e-23 +7.5860e+06 7.23e-24 7.43e-24 9.45e-24 2.98e-23 5.27e-23 +7.9430e+06 7.35e-24 7.55e-24 9.56e-24 2.98e-23 5.26e-23 +8.3180e+06 7.48e-24 7.68e-24 9.66e-24 2.97e-23 5.23e-23 +8.7100e+06 7.60e-24 7.80e-24 9.77e-24 2.96e-23 5.20e-23 +9.1200e+06 7.73e-24 7.93e-24 9.87e-24 2.95e-23 5.16e-23 +9.5500e+06 7.86e-24 8.06e-24 9.98e-24 2.94e-23 5.13e-23 +1.0000e+07 8.00e-24 8.19e-24 1.01e-23 2.92e-23 5.08e-23 +1.0470e+07 8.16e-24 8.35e-24 1.02e-23 2.89e-23 5.00e-23 +1.0960e+07 8.33e-24 8.52e-24 1.03e-23 2.86e-23 4.92e-23 +1.1480e+07 8.51e-24 8.68e-24 1.04e-23 2.82e-23 4.82e-23 +1.2020e+07 8.68e-24 8.85e-24 1.05e-23 2.75e-23 4.66e-23 +1.2590e+07 8.87e-24 9.03e-24 1.06e-23 2.69e-23 4.52e-23 +1.3180e+07 9.05e-24 9.21e-24 1.07e-23 2.62e-23 4.36e-23 +1.3800e+07 9.21e-24 9.35e-24 1.08e-23 2.54e-23 4.18e-23 +1.4450e+07 9.39e-24 9.53e-24 1.09e-23 2.46e-23 4.00e-23 +1.5140e+07 9.59e-24 9.72e-24 1.10e-23 2.37e-23 3.81e-23 +1.5850e+07 9.80e-24 9.91e-24 1.11e-23 2.30e-23 3.64e-23 +1.6600e+07 9.99e-24 1.01e-23 1.12e-23 2.22e-23 3.47e-23 +1.7380e+07 1.02e-23 1.03e-23 1.13e-23 2.15e-23 3.30e-23 +1.8200e+07 1.04e-23 1.05e-23 1.14e-23 2.09e-23 3.16e-23 +1.9060e+07 1.06e-23 1.07e-23 1.16e-23 2.04e-23 3.03e-23 +1.9950e+07 1.08e-23 1.09e-23 1.17e-23 2.00e-23 2.92e-23 +2.0890e+07 1.11e-23 1.11e-23 1.19e-23 1.96e-23 2.83e-23 +2.1880e+07 1.13e-23 1.14e-23 1.21e-23 1.93e-23 2.75e-23 +2.2910e+07 1.15e-23 1.16e-23 1.22e-23 1.91e-23 2.69e-23 +2.3990e+07 1.17e-23 1.18e-23 1.24e-23 1.90e-23 2.64e-23 +2.5120e+07 1.20e-23 1.20e-23 1.26e-23 1.89e-23 2.60e-23 +2.6300e+07 1.22e-23 1.23e-23 1.28e-23 1.89e-23 2.57e-23 +2.7540e+07 1.24e-23 1.25e-23 1.31e-23 1.89e-23 2.55e-23 +2.8840e+07 1.27e-23 1.27e-23 1.33e-23 1.90e-23 2.54e-23 +3.0200e+07 1.29e-23 1.30e-23 1.35e-23 1.91e-23 2.53e-23 +3.1620e+07 1.31e-23 1.32e-23 1.37e-23 1.92e-23 2.54e-23 +3.3110e+07 1.34e-23 1.35e-23 1.40e-23 1.94e-23 2.56e-23 +3.4670e+07 1.37e-23 1.38e-23 1.43e-23 1.97e-23 2.58e-23 +3.6310e+07 1.40e-23 1.41e-23 1.46e-23 2.00e-23 2.60e-23 +3.8020e+07 1.43e-23 1.44e-23 1.49e-23 2.03e-23 2.63e-23 +3.9810e+07 1.46e-23 1.47e-23 1.52e-23 2.06e-23 2.67e-23 +4.1690e+07 1.49e-23 1.50e-23 1.55e-23 2.09e-23 2.70e-23 +4.3650e+07 1.52e-23 1.52e-23 1.58e-23 2.12e-23 2.74e-23 +4.5710e+07 1.55e-23 1.55e-23 1.61e-23 2.16e-23 2.79e-23 +4.7860e+07 1.58e-23 1.58e-23 1.64e-23 2.20e-23 2.83e-23 +5.0120e+07 1.61e-23 1.61e-23 1.67e-23 2.24e-23 2.88e-23 +5.2480e+07 1.64e-23 1.64e-23 1.70e-23 2.27e-23 2.91e-23 +5.4950e+07 1.66e-23 1.67e-23 1.73e-23 2.31e-23 2.96e-23 +5.7540e+07 1.69e-23 1.70e-23 1.75e-23 2.34e-23 3.00e-23 +6.0260e+07 1.72e-23 1.72e-23 1.78e-23 2.38e-23 3.05e-23 +6.3100e+07 1.74e-23 1.75e-23 1.81e-23 2.41e-23 3.08e-23 +6.6070e+07 1.77e-23 1.78e-23 1.83e-23 2.44e-23 3.12e-23 +6.9180e+07 1.79e-23 1.80e-23 1.86e-23 2.47e-23 3.15e-23 +7.2440e+07 1.82e-23 1.82e-23 1.88e-23 2.50e-23 3.19e-23 +7.5860e+07 1.84e-23 1.85e-23 1.91e-23 2.52e-23 3.21e-23 +7.9430e+07 1.86e-23 1.87e-23 1.93e-23 2.55e-23 3.24e-23 +8.3180e+07 1.88e-23 1.89e-23 1.95e-23 2.56e-23 3.25e-23 +8.7100e+07 1.91e-23 1.91e-23 1.97e-23 2.58e-23 3.26e-23 +9.1200e+07 1.92e-23 1.93e-23 1.99e-23 2.59e-23 3.27e-23 +9.5500e+07 1.94e-23 1.95e-23 2.00e-23 2.60e-23 3.26e-23 +1.0000e+08 1.96e-23 1.96e-23 2.02e-23 2.61e-23 3.27e-23 diff --git a/docs/cooling/plot_lambda.py b/docs/cooling/plot_lambda.py new file mode 100644 index 00000000..ccb9b5bc --- /dev/null +++ b/docs/cooling/plot_lambda.py @@ -0,0 +1,73 @@ +import numpy as np +import matplotlib.pyplot as plt + +if __name__ == "__main__": + ## plot *solar abundance* CIE cooling curves + + ## Sutherland and Dopita (1993) [NOTE: n_i n_e convention for Lambda_N, where n_t == n_i in their notation] + # Columns: Log(T), n_e, n_H, n_t, log(\Lambda_net), log(\Lambda_N) + sd_LogT, sd_ne, sd_nH, sd_nt, sd_logLambdaNet, sd_logLambdaN = np.loadtxt( + "sutherland_dopita_table_6.txt", unpack=True + ) + # convert to Lambda_hd: + sd_LambdaN = 10.0**sd_logLambdaN + sd_LambdaHD = (sd_ne * sd_nt * sd_LambdaN) / sd_nH**2 + # convert to nH ne Lambda(T): + sd_nHneLambda = (sd_ne * sd_nt * sd_LambdaN) / (sd_nH * sd_ne) + + ## Schure et al. (2009) [NOTE: n_H n_e convention for Lambda_N; n_H^2 convention for Lambda_hd] + # Columns: log T (K), log Λ_N (erg s^−1 cm^3), log Λ_hd (erg s^−1 cm^3), n_e/n_H + # BEWARE: This Lambda_N is NOT the same as the Sutherland and Dopita Lambda_N! + s_LogT, s_logLambdaN, s_logLambdaHD, s_ne_over_nH = np.loadtxt( + "schure_table_2.txt", unpack=True + ) + s_LambdaHD = 10.0**s_logLambdaHD + + ## Gnat and Sternberg (2007) [NOTE: n_H n_e convention for Lambda] + # Columns: Temperature Lambda(Z=1e-3) Lambda(Z=1e-2) Lambda(Z=1e-1) Lambda(Z=1) Lambda(Z=2) + ( + gs_T, + gs_LambdaZem3, + gs_LambdaZem2, + gs_LambdaZem1, + gs_LambdaZ1, + gs_LambdaZ2, + ) = np.loadtxt("gnat_sternberg_cie_table.txt", unpack=True, skiprows=23) + # NOTE: There is not enough information in this table alone to compute n_e! + # (The electron fraction must be computed from datafile2a.txt) + + # plot nH^2-normalized Lambda(T) + plt.figure() + plt.plot( + sd_LogT, + sd_LambdaHD, + label=r"Sutherland & Dopita $\Lambda_{hd}$ for $Z_{\odot}$", + ) + plt.plot(s_LogT, s_LambdaHD, label=r"Schure et al. $\Lambda_{hd}$ for $Z_{\odot}$") + # (Gnat & Sternberg cannot be converted to this convention without the electron fraction, which is missing.) + plt.yscale("log") + plt.ylim(1e-23, 3e-21) + plt.xlabel(r"$\log T$ (K)") + plt.ylabel(r"$\Lambda(T)$ [$n_H^2$ convention]") + plt.legend() + plt.tight_layout() + plt.savefig("cooling_curves_LambdaHD.png") + + # plot nH ne-normalized Lambda(T) + plt.figure() + plt.plot( + sd_LogT, sd_nHneLambda, label=r"Sutherland & Dopita $\Lambda$ for $Z_{\odot}$" + ) + plt.plot( + s_LogT, 10.0**s_logLambdaN, label=r"Schure et al. $\Lambda$ for $Z_{\odot}$" + ) + plt.plot( + np.log10(gs_T), gs_LambdaZ1, label=r"Gnat & Sternberg $\Lambda$ for $Z_{\odot}$" + ) + plt.yscale("log") + plt.ylim(1e-23, 3e-21) + plt.xlabel(r"$\log T$ (K)") + plt.ylabel(r"$\Lambda(T)$ [$n_H n_e$ convention]") + plt.legend() + plt.tight_layout() + plt.savefig("cooling_curves_nHneLambda.png") diff --git a/docs/cooling/schure_table_2.txt b/docs/cooling/schure_table_2.txt new file mode 100644 index 00000000..a3409335 --- /dev/null +++ b/docs/cooling/schure_table_2.txt @@ -0,0 +1,112 @@ +## This is an exact reproduction of "Table 2. Cooling curve for solar metallicity" from Schure et al. (2009). +## log T (K), log Λ_N (erg s^−1 cm^3), log Λ_hd (erg s^−1 cm^3), n_e/n_H +3.8 -25.7331 -30.6104 1.3264e-05 +3.84 -25.0383 -29.4107 4.2428e-05 +3.88 -24.4059 -28.4601 8.8276e-05 +3.92 -23.8288 -27.5743 0.00017967 +3.96 -23.3027 -26.3766 0.00084362 +4.0 -22.8242 -25.289 0.0034295 +4.04 -22.3917 -24.2684 0.013283 +4.08 -22.0067 -23.3834 0.042008 +4.12 -21.6818 -22.5977 0.12138 +4.16 -21.4529 -21.9689 0.30481 +4.2 -21.3246 -21.5972 0.53386 +4.24 -21.3459 -21.4615 0.76622 +4.28 -21.4305 -21.4789 0.89459 +4.32 -21.5293 -21.5497 0.95414 +4.36 -21.6138 -21.6211 0.98342 +4.4 -21.6615 -21.6595 1.0046 +4.44 -21.6551 -21.6426 1.0291 +4.48 -21.5919 -21.5688 1.0547 +4.52 -21.5092 -21.4771 1.0767 +4.56 -21.4124 -21.3755 1.0888 +4.6 -21.3085 -21.2693 1.0945 +4.64 -21.2047 -21.1644 1.0972 +4.68 -21.1067 -21.0658 1.0988 +4.72 -21.0194 -20.9778 1.1004 +4.76 -20.9413 -20.8986 1.1034 +4.8 -20.8735 -20.8281 1.1102 +4.84 -20.8205 -20.77 1.1233 +4.88 -20.7805 -20.7223 1.1433 +4.92 -20.7547 -20.6888 1.1638 +4.96 -20.7455 -20.6739 1.1791 +5.0 -20.7565 -20.6815 1.1885 +5.04 -20.782 -20.7051 1.1937 +5.08 -20.8008 -20.7229 1.1966 +5.12 -20.7994 -20.7208 1.1983 +5.16 -20.7847 -20.7058 1.1993 +5.2 -20.7687 -20.6896 1.1999 +5.24 -20.759 -20.6797 1.2004 +5.28 -20.7544 -20.6749 1.2008 +5.32 -20.7505 -20.6709 1.2012 +5.36 -20.7545 -20.6748 1.2015 +5.4 -20.7888 -20.7089 1.202 +5.44 -20.8832 -20.8031 1.2025 +5.48 -21.045 -20.9647 1.203 +5.52 -21.2286 -21.1482 1.2035 +5.56 -21.3737 -21.2932 1.2037 +5.6 -21.4573 -21.3767 1.2039 +5.64 -21.4935 -21.4129 1.204 +5.68 -21.5098 -21.4291 1.2041 +5.72 -21.5345 -21.4538 1.2042 +5.76 -21.5863 -21.5055 1.2044 +5.8 -21.6548 -21.574 1.2045 +5.84 -21.7108 -21.63 1.2046 +5.88 -21.7424 -21.6615 1.2047 +5.92 -21.7576 -21.6766 1.2049 +5.96 -21.7696 -21.6886 1.205 +6.0 -21.7883 -21.7073 1.2051 +6.04 -21.8115 -21.7304 1.2053 +6.08 -21.8303 -21.7491 1.2055 +6.12 -21.8419 -21.7607 1.2056 +6.16 -21.8514 -21.7701 1.2058 +6.2 -21.869 -21.7877 1.206 +6.24 -21.9057 -21.8243 1.2062 +6.28 -21.969 -21.8875 1.2065 +6.32 -22.0554 -21.9738 1.2067 +6.36 -22.1488 -22.0671 1.207 +6.4 -22.2355 -22.1537 1.2072 +6.44 -22.3084 -22.2265 1.2075 +6.48 -22.3641 -22.2821 1.2077 +6.52 -22.4033 -22.3213 1.2078 +6.56 -22.4282 -22.3462 1.2079 +6.6 -22.4408 -22.3587 1.208 +6.64 -22.4443 -22.3622 1.2081 +6.68 -22.4411 -22.359 1.2082 +6.72 -22.4334 -22.3512 1.2083 +6.76 -22.4242 -22.342 1.2083 +6.8 -22.4164 -22.3342 1.2084 +6.84 -22.4134 -22.3312 1.2084 +6.88 -22.4168 -22.3346 1.2085 +6.92 -22.4267 -22.3445 1.2085 +6.96 -22.4418 -22.3595 1.2086 +7.0 -22.4603 -22.378 1.2086 +7.04 -22.483 -22.4007 1.2087 +7.08 -22.5112 -22.4289 1.2087 +7.12 -22.5449 -22.4625 1.2088 +7.16 -22.5819 -22.4995 1.2088 +7.2 -22.6177 -22.5353 1.2089 +7.24 -22.6483 -22.5659 1.2089 +7.28 -22.6719 -22.5895 1.2089 +7.32 -22.6883 -22.6059 1.2089 +7.36 -22.6985 -22.6161 1.2089 +7.4 -22.7032 -22.6208 1.209 +7.44 -22.7037 -22.6213 1.209 +7.48 -22.7008 -22.6184 1.209 +7.52 -22.695 -22.6126 1.209 +7.56 -22.6869 -22.6045 1.209 +7.6 -22.6769 -22.5945 1.209 +7.64 -22.6655 -22.5831 1.209 +7.68 -22.6531 -22.5707 1.209 +7.72 -22.6397 -22.5573 1.209 +7.76 -22.6258 -22.5434 1.209 +7.8 -22.6111 -22.5287 1.209 +7.84 -22.5964 -22.514 1.209 +7.88 -22.5816 -22.4992 1.209 +7.92 -22.5668 -22.4844 1.209 +7.96 -22.5519 -22.4695 1.209 +8.0 -22.5367 -22.4543 1.209 +8.04 -22.5216 -22.4392 1.209 +8.08 -22.5062 -22.4237 1.2091 +8.12 -22.4912 -22.4087 1.2091 +8.16 -22.4753 -22.3928 1.2091 \ No newline at end of file diff --git a/docs/cooling/schure_table_4.txt b/docs/cooling/schure_table_4.txt new file mode 100644 index 00000000..e3c41418 --- /dev/null +++ b/docs/cooling/schure_table_4.txt @@ -0,0 +1,105 @@ +# Table 4 from Schure 2009 https://doi.org/10.1051/0004-6361/200912495 +# Copied directly from https://www.aanda.org/articles/aa/full_html/2009/47/aa12495-09/table4.html +# First column is Temperature (log K) +# Other columns are Cooling rates (in log cm^3 erg/s ?) +T H He C N O Ne Na Mg Al Si S Ar Ca Fe Ni +4.20 -21.34 -25.79 -23.63 -24.86 -24.94 -26.60 -29.35 -27.47 -24.51 -23.93 -26.58 -28.18 -28.59 -27.37 -28.96 +4.24 -21.37 -25.25 -23.39 -24.63 -24.55 -26.16 -29.35 -27.34 -24.31 -23.60 -26.33 -28.01 -28.56 -27.23 -28.92 +4.28 -21.47 -24.76 -23.16 -24.41 -24.18 -25.77 -29.35 -27.26 -24.13 -23.30 -26.09 -27.95 -28.55 -27.12 -28.86 +4.32 -21.59 -24.31 -22.95 -24.18 -23.84 -25.45 -29.33 -27.24 -23.97 -23.00 -25.85 -27.93 -28.55 -27.06 -28.80 +4.36 -21.71 -23.91 -22.75 -23.95 -23.54 -25.22 -29.23 -27.25 -23.83 -22.74 -25.59 -27.93 -28.55 -27.04 -28.77 +4.40 -21.83 -23.58 -22.56 -23.73 -23.27 -25.00 -28.98 -27.27 -23.71 -22.52 -25.34 -27.95 -28.56 -27.04 -28.75 +4.44 -21.94 -23.34 -22.37 -23.52 -23.02 -25.05 -28.58 -27.28 -23.61 -22.33 -25.11 -27.96 -28.56 -27.04 -28.72 +4.48 -22.05 -23.22 -22.18 -23.32 -22.79 -25.10 -28.12 -27.30 -23.53 -22.17 -24.90 -27.97 -28.57 -27.03 -28.67 +4.52 -22.15 -23.22 -22.00 -23.12 -22.59 -25.03 -27.66 -27.31 -23.49 -22.04 -24.71 -27.98 -28.56 -27.01 -28.57 +4.56 -22.25 -23.26 -21.82 -22.94 -22.40 -24.83 -27.24 -27.30 -23.51 -21.93 -24.53 -27.99 -28.47 -26.97 -28.44 +4.60 -22.34 -23.29 -21.66 -22.75 -22.23 -24.58 -26.85 -27.23 -23.62 -21.83 -24.34 -28.00 -28.14 -26.89 -28.31 +4.64 -22.42 -23.23 -21.51 -22.57 -22.07 -24.32 -26.50 -27.02 -23.81 -21.76 -24.15 -28.01 -27.61 -26.82 -28.22 +4.68 -22.51 -23.06 -21.39 -22.41 -21.93 -24.08 -26.18 -26.68 -24.05 -21.70 -23.94 -28.01 -27.09 -26.76 -28.14 +4.72 -22.59 -22.80 -21.28 -22.27 -21.80 -23.85 -25.89 -26.28 -24.30 -21.65 -23.72 -28.01 -26.64 -26.71 -28.06 +4.76 -22.67 -22.53 -21.20 -22.14 -21.68 -23.66 -25.64 -25.87 -24.54 -21.63 -23.50 -28.00 -26.25 -26.66 -27.99 +4.80 -22.74 -22.27 -21.13 -22.03 -21.58 -23.48 -25.46 -25.49 -24.78 -21.65 -23.29 -27.98 -25.91 -26.61 -27.91 +4.84 -22.81 -22.07 -21.08 -21.95 -21.48 -23.33 -25.32 -25.14 -24.99 -21.75 -23.09 -27.96 -25.60 -26.54 -27.84 +4.88 -22.88 -21.96 -21.05 -21.87 -21.39 -23.19 -25.22 -24.82 -25.19 -21.96 -22.93 -27.92 -25.33 -26.45 -27.76 +4.92 -22.95 -21.93 -21.04 -21.81 -21.31 -23.05 -25.13 -24.53 -25.38 -22.28 -22.79 -27.85 -25.09 -26.33 -27.70 +4.96 -23.01 -21.97 -21.06 -21.76 -21.23 -22.93 -25.06 -24.27 -25.55 -22.63 -22.67 -27.65 -24.88 -26.19 -27.63 +5.00 -23.07 -22.05 -21.15 -21.71 -21.16 -22.80 -24.97 -24.04 -25.70 -22.97 -22.58 -27.24 -24.70 -26.03 -27.58 +5.04 -23.13 -22.14 -21.32 -21.66 -21.09 -22.67 -24.88 -23.85 -25.84 -23.28 -22.50 -26.72 -24.54 -25.89 -27.52 +5.08 -23.18 -22.24 -21.56 -21.63 -21.03 -22.55 -24.78 -23.70 -25.96 -23.55 -22.44 -26.20 -24.42 -25.78 -27.47 +5.12 -23.23 -22.34 -21.85 -21.60 -20.97 -22.44 -24.67 -23.58 -26.07 -23.78 -22.39 -25.73 -24.32 -25.68 -27.43 +5.16 -23.27 -22.43 -22.13 -21.60 -20.93 -22.34 -24.56 -23.49 -26.18 -23.96 -22.36 -25.32 -24.25 -25.59 -27.40 +5.20 -23.32 -22.52 -22.40 -21.64 -20.89 -22.25 -24.46 -23.41 -26.30 -24.06 -22.37 -24.97 -24.20 -25.42 -27.36 +5.24 -23.35 -22.61 -22.65 -21.74 -20.85 -22.18 -24.35 -23.34 -26.35 -24.08 -22.46 -24.68 -24.18 -25.09 -27.33 +5.28 -23.39 -22.69 -22.87 -21.94 -20.82 -22.12 -24.25 -23.26 -26.22 -24.01 -22.66 -24.43 -24.17 -24.64 -27.30 +5.32 -23.42 -22.77 -23.07 -22.21 -20.80 -22.06 -24.15 -23.16 -25.91 -23.89 -22.94 -24.23 -24.17 -24.18 -27.26 +5.36 -23.45 -22.85 -23.26 -22.51 -20.80 -22.01 -24.07 -23.07 -25.55 -23.76 -23.24 -24.06 -24.17 -23.76 -27.20 +5.40 -23.47 -22.92 -23.43 -22.79 -20.84 -21.97 -24.00 -22.97 -25.21 -23.65 -23.51 -23.93 -24.14 -23.40 -27.14 +5.44 -23.49 -22.98 -23.58 -23.05 -20.94 -21.93 -23.93 -22.88 -24.91 -23.56 -23.74 -23.84 -24.09 -23.10 -27.05 +5.48 -23.51 -23.05 -23.73 -23.29 -21.14 -21.89 -23.88 -22.79 -24.66 -23.49 -23.91 -23.78 -24.03 -22.86 -26.97 +5.52 -23.53 -23.11 -23.86 -23.49 -21.41 -21.86 -23.84 -22.72 -24.46 -23.43 -24.00 -23.78 -23.98 -22.67 -26.88 +5.56 -23.54 -23.17 -23.98 -23.68 -21.69 -21.84 -23.80 -22.66 -24.30 -23.38 -24.00 -23.89 -23.94 -22.51 -26.78 +5.60 -23.56 -23.22 -24.07 -23.85 -21.96 -21.81 -23.78 -22.62 -24.17 -23.32 -23.94 -24.09 -23.91 -22.39 -26.64 +5.64 -23.57 -23.27 -24.13 -24.00 -22.20 -21.79 -23.76 -22.58 -24.07 -23.28 -23.85 -24.30 -23.87 -22.30 -26.45 +5.68 -23.57 -23.32 -24.14 -24.14 -22.42 -21.79 -23.76 -22.55 -23.99 -23.23 -23.75 -24.47 -23.81 -22.23 -26.19 +5.72 -23.58 -23.36 -24.10 -24.26 -22.61 -21.83 -23.76 -22.53 -23.93 -23.20 -23.65 -24.57 -23.74 -22.17 -25.89 +5.76 -23.58 -23.40 -24.02 -24.36 -22.77 -21.94 -23.78 -22.51 -23.88 -23.19 -23.58 -24.59 -23.72 -22.12 -25.60 +5.80 -23.58 -23.44 -23.91 -24.43 -22.92 -22.14 -23.82 -22.49 -23.86 -23.18 -23.53 -24.54 -23.83 -22.08 -25.33 +5.84 -23.58 -23.47 -23.81 -24.47 -23.06 -22.38 -23.88 -22.47 -23.85 -23.16 -23.50 -24.46 -24.05 -22.05 -25.08 +5.88 -23.58 -23.51 -23.71 -24.46 -23.17 -22.63 -23.99 -22.45 -23.86 -23.11 -23.48 -24.37 -24.29 -22.03 -24.86 +5.92 -23.58 -23.53 -23.63 -24.41 -23.27 -22.86 -24.17 -22.45 -23.89 -23.04 -23.46 -24.29 -24.45 -22.02 -24.66 +5.96 -23.58 -23.56 -23.56 -24.32 -23.33 -23.07 -24.39 -22.48 -23.94 -22.96 -23.44 -24.22 -24.52 -22.01 -24.48 +6.00 -23.57 -23.58 -23.52 -24.23 -23.37 -23.26 -24.61 -22.57 -24.00 -22.88 -23.42 -24.17 -24.51 -22.01 -24.32 +6.04 -23.57 -23.60 -23.49 -24.14 -23.36 -23.42 -24.82 -22.74 -24.05 -22.82 -23.38 -24.15 -24.46 -22.01 -24.17 +6.08 -23.56 -23.62 -23.50 -24.05 -23.33 -23.56 -25.01 -22.95 -24.11 -22.77 -23.35 -24.14 -24.40 -22.02 -24.04 +6.12 -23.55 -23.64 -23.53 -23.98 -23.26 -23.68 -25.18 -23.17 -24.19 -22.74 -23.32 -24.15 -24.33 -22.02 -23.92 +6.16 -23.54 -23.65 -23.58 -23.93 -23.19 -23.79 -25.33 -23.37 -24.31 -22.73 -23.30 -24.17 -24.28 -22.03 -23.82 +6.20 -23.53 -23.66 -23.64 -23.90 -23.11 -23.86 -25.47 -23.56 -24.47 -22.77 -23.29 -24.20 -24.25 -22.05 -23.74 +6.24 -23.52 -23.67 -23.71 -23.89 -23.04 -23.91 -25.59 -23.72 -24.64 -22.87 -23.29 -24.24 -24.24 -22.09 -23.67 +6.28 -23.51 -23.68 -23.79 -23.91 -22.98 -23.94 -25.68 -23.86 -24.81 -23.02 -23.29 -24.28 -24.23 -22.17 -23.63 +6.32 -23.50 -23.68 -23.86 -23.95 -22.93 -23.93 -25.75 -23.98 -24.96 -23.19 -23.29 -24.31 -24.23 -22.29 -23.61 +6.36 -23.49 -23.68 -23.93 -24.01 -22.91 -23.90 -25.78 -24.08 -25.11 -23.36 -23.32 -24.32 -24.22 -22.44 -23.63 +6.40 -23.47 -23.69 -24.00 -24.07 -22.91 -23.86 -25.78 -24.16 -25.23 -23.52 -23.39 -24.32 -24.19 -22.58 -23.72 +6.44 -23.46 -23.69 -24.06 -24.14 -22.94 -23.80 -25.76 -24.22 -25.33 -23.67 -23.50 -24.31 -24.16 -22.69 -23.87 +6.48 -23.45 -23.68 -24.12 -24.21 -22.98 -23.75 -25.71 -24.25 -25.41 -23.79 -23.63 -24.31 -24.14 -22.76 -23.98 +6.52 -23.43 -23.68 -24.18 -24.28 -23.04 -23.70 -25.65 -24.26 -25.47 -23.90 -23.76 -24.35 -24.12 -22.80 -24.04 +6.56 -23.42 -23.68 -24.23 -24.34 -23.10 -23.66 -25.58 -24.24 -25.49 -23.98 -23.89 -24.43 -24.12 -22.81 -24.05 +6.60 -23.40 -23.67 -24.28 -24.41 -23.17 -23.64 -25.52 -24.22 -25.49 -24.05 -24.00 -24.55 -24.14 -22.80 -24.05 +6.64 -23.39 -23.67 -24.32 -24.46 -23.23 -23.63 -25.47 -24.18 -25.46 -24.09 -24.10 -24.68 -24.20 -22.78 -24.04 +6.68 -23.37 -23.66 -24.36 -24.52 -23.30 -23.64 -25.42 -24.14 -25.42 -24.12 -24.19 -24.81 -24.29 -22.74 -24.02 +6.72 -23.36 -23.65 -24.40 -24.57 -23.36 -23.66 -25.39 -24.10 -25.37 -24.13 -24.26 -24.91 -24.41 -22.71 -24.02 +6.76 -23.34 -23.64 -24.44 -24.61 -23.41 -23.70 -25.38 -24.07 -25.31 -24.12 -24.31 -25.00 -24.55 -22.68 -24.03 +6.80 -23.33 -23.64 -24.47 -24.66 -23.47 -23.75 -25.39 -24.05 -25.26 -24.10 -24.34 -25.06 -24.67 -22.65 -24.06 +6.84 -23.31 -23.63 -24.50 -24.70 -23.52 -23.80 -25.41 -24.03 -25.21 -24.07 -24.36 -25.11 -24.79 -22.64 -24.10 +6.88 -23.29 -23.61 -24.53 -24.73 -23.56 -23.86 -25.44 -24.04 -25.17 -24.05 -24.37 -25.14 -24.89 -22.64 -24.15 +6.92 -23.28 -23.60 -24.55 -24.77 -23.61 -23.92 -25.48 -24.05 -25.15 -24.02 -24.36 -25.15 -24.97 -22.65 -24.20 +6.96 -23.26 -23.59 -24.57 -24.80 -23.65 -23.97 -25.53 -24.08 -25.14 -24.00 -24.35 -25.15 -25.04 -22.67 -24.25 +7.00 -23.24 -23.58 -24.59 -24.82 -23.68 -24.02 -25.58 -24.12 -25.14 -23.98 -24.33 -25.13 -25.09 -22.70 -24.29 +7.04 -23.23 -23.57 -24.61 -24.85 -23.72 -24.07 -25.63 -24.16 -25.15 -23.98 -24.30 -25.11 -25.12 -22.74 -24.32 +7.08 -23.21 -23.55 -24.62 -24.87 -23.75 -24.12 -25.68 -24.21 -25.18 -23.98 -24.28 -25.07 -25.14 -22.79 -24.35 +7.12 -23.19 -23.54 -24.63 -24.89 -23.77 -24.16 -25.73 -24.26 -25.22 -24.00 -24.26 -25.04 -25.15 -22.86 -24.39 +7.16 -23.17 -23.52 -24.64 -24.91 -23.80 -24.20 -25.77 -24.30 -25.26 -24.02 -24.25 -25.00 -25.15 -22.94 -24.45 +7.20 -23.16 -23.51 -24.65 -24.92 -23.82 -24.23 -25.81 -24.35 -25.30 -24.06 -24.24 -24.96 -25.13 -23.03 -24.51 +7.24 -23.14 -23.50 -24.66 -24.94 -23.84 -24.27 -25.85 -24.40 -25.34 -24.09 -24.24 -24.93 -25.11 -23.13 -24.58 +7.28 -23.12 -23.48 -24.66 -24.95 -23.86 -24.30 -25.89 -24.44 -25.39 -24.13 -24.25 -24.90 -25.09 -23.21 -24.64 +7.32 -23.10 -23.46 -24.67 -24.96 -23.87 -24.32 -25.92 -24.47 -25.43 -24.18 -24.27 -24.88 -25.07 -23.29 -24.70 +7.36 -23.08 -23.45 -24.67 -24.97 -23.88 -24.35 -25.95 -24.51 -25.47 -24.22 -24.30 -24.87 -25.05 -23.36 -24.75 +7.40 -23.07 -23.43 -24.67 -24.97 -23.90 -24.37 -25.97 -24.54 -25.50 -24.26 -24.33 -24.86 -25.03 -23.42 -24.80 +7.44 -23.05 -23.42 -24.67 -24.98 -23.90 -24.39 -26.00 -24.57 -25.54 -24.29 -24.36 -24.87 -25.01 -23.46 -24.84 +7.48 -23.03 -23.40 -24.67 -24.98 -23.91 -24.41 -26.02 -24.60 -25.57 -24.33 -24.40 -24.88 -25.00 -23.49 -24.87 +7.52 -23.01 -23.38 -24.66 -24.98 -23.92 -24.42 -26.04 -24.62 -25.60 -24.36 -24.43 -24.90 -25.00 -23.52 -24.90 +7.56 -22.99 -23.37 -24.66 -24.98 -23.92 -24.44 -26.05 -24.64 -25.62 -24.39 -24.47 -24.92 -25.00 -23.53 -24.92 +7.60 -22.97 -23.35 -24.65 -24.98 -23.92 -24.45 -26.07 -24.66 -25.65 -24.42 -24.50 -24.95 -25.01 -23.54 -24.93 +7.64 -22.95 -23.33 -24.65 -24.97 -23.93 -24.45 -26.08 -24.68 -25.67 -24.45 -24.53 -24.98 -25.02 -23.54 -24.94 +7.68 -22.94 -23.32 -24.64 -24.97 -23.92 -24.46 -26.09 -24.70 -25.68 -24.47 -24.56 -25.01 -25.04 -23.54 -24.94 +7.72 -22.92 -23.30 -24.63 -24.97 -23.92 -24.47 -26.10 -24.71 -25.70 -24.49 -24.59 -25.03 -25.06 -23.54 -24.94 +7.76 -22.90 -23.28 -24.62 -24.96 -23.92 -24.47 -26.10 -24.72 -25.71 -24.51 -24.61 -25.06 -25.08 -23.53 -24.93 +7.80 -22.88 -23.26 -24.61 -24.95 -23.92 -24.47 -26.11 -24.73 -25.72 -24.52 -24.64 -25.09 -25.10 -23.53 -24.93 +7.84 -22.86 -23.25 -24.60 -24.95 -23.91 -24.47 -26.11 -24.73 -25.73 -24.53 -24.66 -25.11 -25.12 -23.53 -24.92 +7.88 -22.84 -23.23 -24.59 -24.94 -23.91 -24.47 -26.11 -24.74 -25.74 -24.55 -24.67 -25.13 -25.15 -23.52 -24.91 +7.92 -22.82 -23.21 -24.58 -24.93 -23.90 -24.47 -26.12 -24.74 -25.75 -24.56 -24.69 -25.15 -25.17 -23.52 -24.90 +7.96 -22.80 -23.19 -24.57 -24.92 -23.89 -24.47 -26.11 -24.75 -25.75 -24.56 -24.70 -25.17 -25.19 -23.53 -24.89 +8.00 -22.78 -23.17 -24.56 -24.91 -23.88 -24.46 -26.11 -24.75 -25.76 -24.57 -24.71 -25.19 -25.21 -23.53 -24.89 +8.04 -22.76 -23.16 -24.54 -24.90 -23.87 -24.46 -26.11 -24.75 -25.76 -24.57 -24.72 -25.20 -25.22 -23.54 -24.89 +8.08 -22.74 -23.14 -24.53 -24.88 -23.86 -24.45 -26.10 -24.74 -25.76 -24.57 -24.73 -25.21 -25.24 -23.55 -24.89 +8.12 -22.72 -23.12 -24.52 -24.87 -23.85 -24.45 -26.10 -24.74 -25.75 -24.58 -24.73 -25.22 -25.25 -23.56 -24.89 +8.16 -22.70 -23.10 -24.50 -24.86 -23.84 -24.44 -26.09 -24.74 -25.75 -24.58 -24.74 -25.23 -25.27 -23.57 -24.89 diff --git a/docs/cooling/sutherland_dopita_table_6.txt b/docs/cooling/sutherland_dopita_table_6.txt new file mode 100644 index 00000000..764ec52d --- /dev/null +++ b/docs/cooling/sutherland_dopita_table_6.txt @@ -0,0 +1,97 @@ +## This is a reproduction of Table 6 of Sutherland and Dopita (1993). +## [NOTE: Only columns 1-6 are reproduced in this file. Log(U), Log(tau_cool), and the "general plasma properties" are not included.] +## [Headings included in the printed table:] +## CIE Cooling Curve : Solar Abundances +## Number Densities; Cooling Properties; General Plasma Properties +## Log(T), n_e, n_H, n_t, log(\Lambda_net), log(\Lambda_N) +4.0 0.0023 1.0 1.099 -25.65 -23.06 +4.05 0.0142 1.0 1.099 -24.27 -22.46 +4.1 0.0704 1.0 1.099 -23.28 -22.17 +4.15 0.2534 1.0 1.099 -22.47 -21.92 +4.2 0.5678 1.0 1.099 -21.99 -21.79 +4.25 0.8177 1.0 1.099 -21.84 -21.8 +4.3 0.9324 1.0 1.099 -21.85 -21.86 +4.35 0.978 1.0 1.099 -21.87 -21.9 +4.4 1.004 1.0 1.099 -21.84 -21.88 +4.45 1.035 1.0 1.099 -21.77 -21.82 +4.5 1.067 1.0 1.099 -21.66 -21.73 +4.55 1.086 1.0 1.099 -21.56 -21.63 +4.6 1.094 1.0 1.099 -21.45 -21.53 +4.65 1.098 1.0 1.099 -21.34 -21.42 +4.7 1.1 1.0 1.099 -21.24 -21.32 +4.75 1.102 1.0 1.099 -21.14 -21.22 +4.8 1.11 1.0 1.099 -21.05 -21.14 +4.85 1.128 1.0 1.099 -20.97 -21.07 +4.9 1.154 1.0 1.099 -20.91 -21.01 +4.95 1.176 1.0 1.099 -20.87 -20.98 +5.0 1.188 1.0 1.099 -20.87 -20.99 +5.05 1.195 1.0 1.099 -20.9 -21.02 +5.1 1.198 1.0 1.099 -20.91 -21.03 +5.15 1.199 1.0 1.099 -20.89 -21.01 +5.2 1.2 1.0 1.099 -20.86 -20.98 +5.25 1.201 1.0 1.099 -20.85 -20.97 +5.3 1.201 1.0 1.099 -20.84 -20.96 +5.35 1.201 1.0 1.099 -20.84 -20.96 +5.4 1.202 1.0 1.099 -20.87 -20.99 +5.45 1.203 1.0 1.099 -21.01 -21.13 +5.5 1.203 1.0 1.099 -21.23 -21.35 +5.55 1.204 1.0 1.099 -21.43 -21.55 +5.6 1.204 1.0 1.099 -21.54 -21.66 +5.65 1.204 1.0 1.099 -21.58 -21.71 +5.7 1.204 1.0 1.099 -21.59 -21.71 +5.75 1.204 1.0 1.099 -21.59 -21.71 +5.8 1.204 1.0 1.099 -21.64 -21.76 +5.85 1.205 1.0 1.099 -21.74 -21.86 +5.9 1.205 1.0 1.099 -21.81 -21.93 +5.95 1.205 1.0 1.099 -21.83 -21.95 +6.0 1.205 1.0 1.099 -21.84 -21.96 +6.05 1.205 1.0 1.099 -21.84 -21.96 +6.1 1.206 1.0 1.099 -21.83 -21.96 +6.15 1.206 1.0 1.099 -21.82 -21.95 +6.2 1.206 1.0 1.099 -21.82 -21.94 +6.25 1.206 1.0 1.099 -21.85 -21.97 +6.3 1.207 1.0 1.099 -21.95 -22.07 +6.35 1.207 1.0 1.099 -22.08 -22.2 +6.4 1.207 1.0 1.099 -22.19 -22.31 +6.45 1.208 1.0 1.099 -22.27 -22.39 +6.5 1.208 1.0 1.099 -22.32 -22.44 +6.55 1.208 1.0 1.099 -22.35 -22.48 +6.6 1.208 1.0 1.099 -22.38 -22.5 +6.65 1.208 1.0 1.099 -22.41 -22.53 +6.7 1.208 1.0 1.099 -22.44 -22.56 +6.75 1.208 1.0 1.099 -22.46 -22.59 +6.8 1.208 1.0 1.099 -22.48 -22.6 +6.85 1.209 1.0 1.099 -22.48 -22.6 +6.9 1.209 1.0 1.099 -22.46 -22.59 +6.95 1.209 1.0 1.099 -22.45 -22.57 +7.0 1.209 1.0 1.099 -22.45 -22.57 +7.05 1.209 1.0 1.099 -22.46 -22.59 +7.1 1.209 1.0 1.099 -22.49 -22.62 +7.15 1.209 1.0 1.099 -22.53 -22.65 +7.2 1.209 1.0 1.099 -22.56 -22.68 +7.25 1.209 1.0 1.099 -22.58 -22.7 +7.3 1.209 1.0 1.099 -22.6 -22.72 +7.35 1.209 1.0 1.099 -22.61 -22.73 +7.4 1.209 1.0 1.099 -22.61 -22.73 +7.45 1.209 1.0 1.099 -22.61 -22.73 +7.5 1.209 1.0 1.099 -22.6 -22.73 +7.55 1.209 1.0 1.099 -22.6 -22.72 +7.6 1.209 1.0 1.099 -22.59 -22.71 +7.65 1.209 1.0 1.099 -22.37 -22.7 +7.7 1.209 1.0 1.099 -22.36 -22.68 +7.75 1.209 1.0 1.099 -22.34 -22.67 +7.8 1.209 1.0 1.099 -22.33 -22.65 +7.85 1.209 1.0 1.099 -22.51 -22.64 +7.9 1.209 1.0 1.099 -22.49 -22.62 +7.95 1.209 1.0 1.099 -22.48 -22.6 +8.0 1.209 1.0 1.099 -22.46 -22.58 +8.05 1.209 1.0 1.099 -22.44 -22.36 +8.1 1.209 1.0 1.099 -22.42 -22.34 +8.15 1.209 1.0 1.099 -22.4 -22.33 +8.2 1.209 1.0 1.099 -22.38 -22.51 +8.25 1.209 1.0 1.099 -22.36 -22.49 +8.3 1.209 1.0 1.099 -22.34 -22.47 +8.35 1.209 1.0 1.099 -22.32 -22.45 +8.4 1.209 1.0 1.099 -22.3 -22.43 +8.45 1.209 1.0 1.099 -22.28 -22.4 +8.5 1.209 1.0 1.099 -22.26 -22.38 \ No newline at end of file diff --git a/docs/cooling_notes.md b/docs/cooling_notes.md new file mode 100644 index 00000000..34fb1866 --- /dev/null +++ b/docs/cooling_notes.md @@ -0,0 +1,116 @@ +--- +title: Cooling function conventions +author: Ben Wibking +date: February 12, 2024 +--- + +# Summary + +Several different conventions exist for the definition of a collisional ionization equilibrium (CIE) cooling curve. They are explained in detail below, with references. + +# Conventions + +## $n^2 \Lambda$ convention + +This convention uses the *total number density* $n$ to define the volumetric cooling rate. The total particle number density is defined as the sum of the number of ions, neutrals, and electrons divided by the volume. + +The total number density $n$ is related to the dimensionless mean molecular weight $\mu$ by: + +$$n = \frac{\rho}{\mu m_H} \, ,$$ {#eq:number_density} + +where $\rho$ is the mass density of the fluid, $m_H$ is the mass of the hydrogen atom, and $\mu$ is the dimensionless mean molecular weight. This may be taken as the definition of $\mu$. + +In this convention, the volumetric cooling rate is given by + +$$S_{cool} = n^2 \Lambda(T) \, ,$$ {#eq:cooling_rate_nsqLambda} + +where $S_{cool}$ is the volumetric cooling source term, $n$ is the total number density and $\Lambda(T)$ is the CIE cooling curve in this convention. + +This convention is used by the PLUTO code (see the [PLUTO User Guide](http://plutocode.ph.unito.it/userguide.pdf), section 9.2, equation 9.5). + +## $n_i n_e \Lambda$ convention + +In this convention, the volumetric cooling rate is given by + +$$S_{cool} = n_i n_e \Lambda(T) \, ,$$ {#eq:cooling_rate_nineLambda} + +where $S_{cool}$ is the volumetric cooling source term, $n_i$ is the number density of ions (*usually* including neutrals by convention, but this difference should be negligible when CIE is valid), $n_e$ is the number density of electrons, and $\Lambda(T)$ is the CIE cooling curve in this convention. + +This convention is adopted by Sutherland and Dopita (1993) in their tabulation of CIE cooling curves (their section 5.2; see also their equations 51-58). + +Sutherland and Dopita additionally comment: *"The normalization factor for the cooling function $\Lambda_N$ is taken as $n_t n_e$ where $n_t$ is the total number density of ions and $n_e$ is the total number density of electrons. This definition is generally valid and independent of composition. It differs from the commonly used factor $n_H n_e$ or even $n_e^2$ commonly used in hydrogen-rich plasmas."* + + +## $n_H n_e \Lambda$ convention + +In this convention, the volumetric cooling rate is given by + +$$S_{cool} = n_H n_e \Lambda(T) \, ,$$ {#eq:cooling_rate_nHneLambda} + +where $S_{cool}$ is the volumetric cooling source term, $n_H$ is the number density of hydrogen *nuclei* (not ions), $n_e$ is the number density of electrons, and $\Lambda(T)$ is the CIE cooling curve in this convention. + +This convention is adopted by Schure et al. (2009) in their definition of $\Lambda_N$. However, this is **not** the same $\Lambda_N$ as used by Sutherland and Dopita (1993)! + +This convention is adopted by Gnat and Sternberg (2007) in their definition of $\Lambda$. + +The following image illustrates a comparison between different cooling curves in this notation: +![nHne cooling](./cooling/cooling_curves_nHneLambda.png) + +## $n_H^2 \Lambda$ convention + +In this convention, the volumetric cooling rate is given by + +$$S_{cool} = n_H^2 \Lambda(T) \, ,$$ {#eq:cooling_rate_nHsqLambda} + +where $S_{cool}$ is the volumetric cooling source term, $n_H$ is the number density of hydrogen *nuclei* (not ions), and $\Lambda(T)$ is the CIE cooling curve in this convention. + +This convention is adopted by Dalgarno and McCray (1972) (their equation 24), and Schure et al. (2009) in their definition of $\Lambda_{hd}$ (their equation 2). + +### AthenaPK implementation + +This is the convention adopted by AthenaPK, except $n_H$ is computed assuming zero metals in the mass budget: + +$$ x_H = 1 - Y \, , $$ + +$$ n_H = X_H \rho / m_H = (1 - Y) \rho / m_H \, .$$ + +The difference in neglecting metals in the mass budget in computing $n_H$ is only a $\sim 2$ percent effect on $n_H$ (since metals are 2 percent by mass for solar metallicity) and a $\sim 4$ percent effect on the source term. + +The Schure table in the GitHub repository uses the $n_H n_e$ convention, rather than the $n_H^2$ convention. This causes an error in the cooling rate of $n_e / n_H$, or about 20 percent for temperatures above $10^{5.5}$ K. + +Above $\sim 10^4$ K, there is a percent-level error in the mean molecular weight due to neglecting the metal contribution to the electron fraction. *Users should be aware that at low absolute electron fraction, metals contribute a substantial proportion of the electrons, so this approximation is no longer valid below $\sim 10^4$ K.* The temperature is computed as: + +$$ T = \left( \frac{\rho}{\mu m_H} \right)^{-1} \left( \frac{P}{k_B} \right) \, ,$$ +where the dimensionless mean molecular weight $\mu$ is computed assuming a zero metallicity gas: + +$$ \mu = \left( \frac{3}{4} Y + 2(1 - Y) \right)^{-1} = \left( 2 - \frac{5}{4} Y \right)^{-1} \, ,$$ + +where $Y$ is the Helium mass fraction. + +For a more precise calculation of $\mu$ assuming a scaled-solar composition of metals, we have: + +$$ \mu = \left( 1 - x_e \right) \left( X + \frac{Y}{4} + \frac{Z}{\bar A} \right)^{-1} \, , $$ + +where $\bar A$ is the mass-weighted mean atomic weight of metals: + +$$ \bar A = 16 \, .$$ + +Additionally, for full ionization for all species, we have: + +$$ x_e = \frac{X + 2 Y (m_H/m_{He}) + (\bar A/2) Z (m_H/m_{\bar Z})}{2 X + 3 Y (m_H/m_{He}) + (1 + \bar A/2) +Z (m_H/m_{\bar Z})} \approx \frac{X + Y/2 + Z/2}{2 X + 3 Y/4 + (1/{\bar A} + 1/2) Z}$$ + + +For $Y = 0.24$ and $Z = 0.02$, the mean molecular weight for complete ionization is $\mu \approx 0.60$ (if $Z = 0$, then this yields $\mu \approx 0.59$). + +## $n_e^2 \Lambda$ convention + +In this convention, the volumetric cooling rate is given by + +$$S_{cool} = n_e^2 \Lambda(T) \, ,$$ {#eq:cooling_rate_nHsqLambda} + +where $S_{cool}$ is the volumetric cooling source term, $n_e$ is the number density of electrons, and $\Lambda(T)$ is the CIE cooling curve in this convention. + +For the case of a hydrogen-only fully-ionized plasma *only*, this is equivalent to the $n_H^2 \Lambda$ convention, since each hydrogen atom contributes exactly one electron and there are no other sources of electrons. + +I am not aware of any common tables that use this convention. However, it is noted as one of the possible conventions by Sutherland and Dopita (1993). diff --git a/docs/development.md b/docs/development.md index 8133ef6b..dcb1885d 100644 --- a/docs/development.md +++ b/docs/development.md @@ -7,3 +7,9 @@ All pull requests are checked automatically if the code is properly formatted. The build target `format-athenapk` calls both formatters and automatically format all changes, i.e., before committing changes simply call `make format-athenapk` (or similar). Alternatively, leave a comment with `@par-hermes format` in the open pull request to format the code directly on GitHub. + +## Dev container + +You can open a [GitHub Codespace](https://docs.github.com/en/codespaces) or use VSCode to automatically open local Docker container using the CUDA CI container image. + +If you have the [VSCode Dev Container extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) installed, on opening this repository in VSCode, it will automatically prompt to ask if you want to re-open this repository in a container. diff --git a/docs/input.md b/docs/input.md index 75f827fc..60428c2c 100644 --- a/docs/input.md +++ b/docs/input.md @@ -69,7 +69,63 @@ conserved to primitive conversion if both are defined. #### Diffusive processes -##### Isotropic (hydro and MHD )and anisotropic thermal conduction (only MHD) +Diffusive processes in AthenaPK can be configured in the `` block of the input file. +``` + +integrator = unsplit # alternatively: rkl2 +#rkl2_max_dt_ratio = 100.0 # limits the ratio between the parabolic and hyperbolic timesteps +#cfl = 1.0 # Additional safety factor applied to diffusive timestep constraint. Default to hyperbolic cfl. + +conduction = anisotropic # none (disabled), or isotropic, or anisotropic +conduction_coeff = fixed # alternative: spitzer +thermal_diff_coeff_code = 0.01 # fixed coefficent in code units +#spitzer_cond_in_erg_by_s_K_cm = 4.6e7 # spitzer coefficient in cgs units (requires definition of a unit system) +#conduction_sat_phi = 0.3 # fudge factor to account for uncertainties in saturated fluxes + + +viscosity = none # none (disabled) or isotropic +viscosity_coeff = fixed +mom_diff_coeff_code = 0.25 # fixed coefficent in code units + +resistivity = none # none (disabled) or ohmic +resistivity_coeff = fixed +ohm_diff_coeff_code = 0.25 # fixed coefficent in code units +``` +(An)isotropic thermal conduction (with fixed or Spitzer coefficient), and isotropic viscosity and +resistivity with fixed coefficient are currently implemented. +They can be integrated in an unsplit manner or operator split using a second-order accurate RKL2 +supertimestepping algorithm. +More details are described in the following. + +#### Integrators + +Diffusive processes can be integrated in either an unsplit +fashion (`diffusion/integrator=unsplit`) or operator split using a second-order accurate +RKL2 super timestepping algorithm (`diffusion/integrator=rkl2`) following [^M+14]. + +In the unsplit case, the diffusive processes are included at the end of every stage in +the main integration loop and the global timestep is limited accordingly. +A separate CFL can be set for the diffusive processes via `diffusion/cfl=...`, which +defaults to the hyperbolic value if not set. + +In the RKL2 case, the global timestep is not limited by the diffusive processes by default. +However, as reported by [^V+17] a large number of stages +($`s \approx \sqrt(\Delta t_{hyp}/\Delta t_{par}) \geq 20`$) in the supertimestepping +(in combination with anisotropic, limited diffusion) may lead to a loss in accuracy, which +is why the difference between hyperbolic and parabolic timesteps can be limited by +`diffusion/rkl2_max_dt_ratio=...` and a warning is shown if the ratio is above 400. +Note that if this limit is enforced the `dt=` shown on the terminal might not be the actual +`dt` taken in the code as the limit is currently enforced only after the output +has been printed. + +[^M+14]: + C. D. Meyer, D. S. Balsara, and T. D. Aslam, “A stabilized Runge–Kutta–Legendre method for explicit super-time-stepping of parabolic and mixed equations,” Journal of Computational Physics, vol. 257, pp. 594–626, 2014, doi: https://doi.org/10.1016/j.jcp.2013.08.021. + +[^V+17]: + B. Vaidya, D. Prasad, A. Mignone, P. Sharma, and L. Rickler, “Scalable explicit implementation of anisotropic diffusion with Runge–Kutta–Legendre super-time stepping,” Monthly Notices of the Royal Astronomical Society, vol. 472, no. 3, pp. 3147–3160, 2017, doi: 10.1093/mnras/stx2176. + + +##### Isotropic (hydro and MHD) and anisotropic thermal conduction (only MHD) In the presence of magnetic fields thermal conduction is becoming anisotropic with the flux along the local magnetic field direction typically being much stronger than the flux perpendicular to the magnetic field. @@ -112,7 +168,7 @@ In addition the coefficient (or diffusivity) needs to be set Parameter: `conduction_coeff` (string) - `spitzer` : Anisotropic thermal conduction with a temperature dependent classic Spitzer thermal conductivity $`\kappa (T) = c_\kappa T^{5/2} \mathrm{erg/s/K/cm}`$ and - $`c_\kappa`$ being constant prefactor (set via the additional `diffusion/spitzer_cond_in_erg_by_s_K_cm` parameter with a default value of $`4.6\times10^{-7}`$). Note, as indicated by the units in the input parameter name, this kind of thermal conductivity requires a full set of units + $`c_\kappa`$ being constant prefactor (set via the additional `diffusion/spitzer_cond_in_erg_by_s_K_cm` parameter with a default value of $`4.6\times10^{-7}`$ which assumes a fully ionized hydrogen plasma [^CM77] with $`\ln \lambda = 40`$ approximating ICM conditions). Note, as indicated by the units in the input parameter name, this kind of thermal conductivity requires a full set of units to be defined for the simulation. - `fixed` : Contrary to a temperature dependent conductivity, a simple thermal diffusivity can be used instead for which the conduction flux is $`\mathbf{F} = - \chi \rho \mathbf{\hat b} (\mathbf{\hat b \cdot \nabla \frac{p_\mathrm{th}}{\rho}})`$ @@ -140,6 +196,29 @@ Default value corresponds to the typical value used in literature and goes back [^BM82]: S. A. Balbus and C. F. McKee, “The evaporation of spherical clouds in a hot gas. III - Suprathermal evaporation,” , vol. 252, pp. 529–552, Jan. 1982, doi: https://doi.org/10.1086/159581 +#### Viscosity/Momentum diffusion + +Only isotropic viscosity with a (spatially and temporally) fixed coefficient in code units +is currently implemented. +To enable set (in the `` block) +``` +viscosity = isotropic +viscosity_coeff = fixed +mom_diff_coeff_code = 0.25 # fixed coefficent in code units +``` + +#### Resistivity/Ohmic diffusion + +Only resistivity with a (spatially and temporally) fixed coefficient in code units +is currently implemented. +To enable set (in the `` block) +``` +resistivity = ohmic +resistivity_coeff = fixed +ohm_diff_coeff_code = 0.25 # fixed coefficent in code units +``` + + ### Additional MHD options in `` block Parameter: `glmmhd_source` (string) @@ -216,15 +295,17 @@ than any other timestep constraint (e.g., the hyperbolic one). ### Cooling Tabular cooling (e.g., for optically thin cooling) is enabled through the `cooling` block in the input file. +The tabulated table itself is a text file containing (apart from comments) only two columns (two floating +point numbers per line with the first one being the log10 temperature and the second one the +log10 cooling rate scaled to a source function with $S_{cool} = n_H^2 \Lambda(T)$). + A possible block might look like: ``` -enable_cooling = tabular # To disable, set to `none` -table_filename = schure.cooling # Path to the cooling table (in a text file) -log_temp_col = 0 # Column in the file that contains the log10 temperatures -log_lambda_col = 1 # Column in the file that contains the cooling rates -lambda_units_cgs = 1 # Conversion factor of the cooling rate relative to CGS units +enable_cooling = tabular # To disable, set to `none` +table_filename = schure.cooling_1.0Z # Path to the cooling table (in a text file) +lambda_units_cgs = 1 # Conversion factor of the cooling rate relative to CGS units integrator = townsend # Other possible options are `rk12` and `rk45` for error bound subcycling #max_iter = 100 # Max number of iteration for subcycling. Unsued for Townsend integrator @@ -237,3 +318,7 @@ d_log_temp_tol = 1e-8 # Tolerance in cooling table between subseque - Cooling is turned off once the temperature reaches the lower end of the cooling table. Within the cooling function, gas does not cool past the cooling table. - If the global temperature floor `` is higher than the lower end of the cooling table, then the global temperature floor takes precedence. - The pressure floor if present is not considered in the cooling function, only the temperature floor `` + +Finally, a more comprehensive descriptions of various conventions used for cooling +functions (and the chosen implementation in AthenaPK) can be found in [Cooling Notes](cooling_notes.md) +and a notebook comparing various cooling tables (and their conversion) in [cooling/cooling.ipynb](cooling/cooling.ipynb). diff --git a/external/Kokkos b/external/Kokkos index 62d2b6c8..08ceff92 160000 --- a/external/Kokkos +++ b/external/Kokkos @@ -1 +1 @@ -Subproject commit 62d2b6c879b74b6ae7bd06eb3e5e80139c4708e6 +Subproject commit 08ceff92bcf3a828844480bc1e6137eb74028517 diff --git a/external/parthenon b/external/parthenon index f4d1ac2f..c0dd8d0b 160000 --- a/external/parthenon +++ b/external/parthenon @@ -1 +1 @@ -Subproject commit f4d1ac2f74f958572bcf8890f111f8e3e679cab9 +Subproject commit c0dd8d0b20c02cd40b9cc358a14c3d3208855105 diff --git a/inputs/cloud.in b/inputs/cloud.in index 05f71e25..002febd0 100644 --- a/inputs/cloud.in +++ b/inputs/cloud.in @@ -62,9 +62,7 @@ He_mass_fraction = 0.24 enable_cooling = none # turn on with "tabular" -table_filename = schure.cooling -log_temp_col = 0 -log_lambda_col = 1 +table_filename = schure.cooling_1.0Z lambda_units_cgs = 1 integrator = rk12 diff --git a/inputs/cluster/cluster.in b/inputs/cluster/cluster.in index e3192524..62d15ac1 100644 --- a/inputs/cluster/cluster.in +++ b/inputs/cluster/cluster.in @@ -86,9 +86,7 @@ code_time_cgs = 3.15576e+16 # 1 Gyr in s enable_cooling=tabular -table_filename=schure.cooling -log_temp_col=0 -log_lambda_col=1 +table_filename=schure.cooling_1.0Z lambda_units_cgs=1.0 integrator=rk45 diff --git a/inputs/cluster/cooling.in b/inputs/cluster/cooling.in index 63f8dd20..0aeb783b 100644 --- a/inputs/cluster/cooling.in +++ b/inputs/cluster/cooling.in @@ -70,9 +70,7 @@ code_time_cgs = 3.15576e+16 # 1 Gyr in s enable_cooling = tabular -table_filename = schure.cooling -log_temp_col = 0 -log_lambda_col = 1 +table_filename = schure.cooling_1.0Z lambda_units_cgs = 1 #erg cm^3/s in cgs, as used in schure.cooling integrator = rk12 diff --git a/inputs/cluster/my_cluster.input b/inputs/cluster/my_cluster.input index 3823f7b8..bbf8e1e4 100644 --- a/inputs/cluster/my_cluster.input +++ b/inputs/cluster/my_cluster.input @@ -90,7 +90,7 @@ code_time_cgs = 3.15576e+16 enable_cooling = tabular -table_filename = schure.cooling +table_filename = updated_schure.cooling log_temp_col = 0 # Column to read temperature in cooling table log_lambda_col = 1 # Column to read lambda in cooling table lambda_units_cgs = 1 diff --git a/inputs/cooling_tables/gnat-sternberg.cooling b/inputs/cooling_tables/gnat-sternberg.cooling deleted file mode 100644 index bd1233a2..00000000 --- a/inputs/cooling_tables/gnat-sternberg.cooling +++ /dev/null @@ -1,208 +0,0 @@ -# Title: Time-Dependent Ionization in Radiatively Cooling Gas -# Authors: Orly Gnat and Amiel Sternberg -# Table: CIE Cooling Efficiencies -# Converted (i.e., log10) from http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt -# -# cooling rates log10(Lambda) in (erg cm^3/s) for various metallicities -# logT Z=1e-3 Z=1e-2 Z=1e-1 Z=1 Z=2 -4.0000 -23.3279 -23.3028 -23.1090 -22.2526 -21.4237 -4.0199 -23.1180 -23.1085 -23.0200 -22.5100 -22.1574 -4.0402 -22.9101 -22.9031 -22.8570 -22.5436 -22.3224 -4.0603 -22.7055 -22.7033 -22.6757 -22.4672 -22.3072 -4.0803 -22.5114 -22.5100 -22.4921 -22.3458 -22.2233 -4.1004 -22.3316 -22.3307 -22.3179 -22.2104 -22.1146 -4.1206 -22.1688 -22.1675 -22.1593 -22.0762 -22.0000 -4.1408 -22.0269 -22.0264 -22.0186 -21.9547 -21.8928 -4.1608 -21.9136 -21.9136 -21.9066 -21.8508 -21.7959 -4.1810 -21.8327 -21.8327 -21.8268 -21.7773 -21.7258 -4.2011 -21.7825 -21.7825 -21.7773 -21.7305 -21.6799 -4.2212 -21.7670 -21.7670 -21.7620 -21.7122 -21.6635 -4.2413 -21.7721 -21.7721 -21.7670 -21.7167 -21.6676 -4.2613 -21.7986 -21.7986 -21.7932 -21.7399 -21.6861 -4.2815 -21.8356 -21.8327 -21.8268 -21.7696 -21.7144 -4.3015 -21.8794 -21.8794 -21.8729 -21.8097 -21.7471 -4.3216 -21.9281 -21.9281 -21.9172 -21.8447 -21.7773 -4.3416 -21.9788 -21.9788 -21.9666 -21.8827 -21.8041 -4.3617 -22.0269 -22.0259 -22.0146 -21.9172 -21.8268 -4.3818 -22.0737 -22.0726 -22.0595 -21.9431 -21.8447 -4.4021 -22.1192 -22.1175 -22.1018 -21.9666 -21.8570 -4.4221 -22.1624 -22.1605 -22.1421 -21.9872 -21.8601 -4.4422 -22.2041 -22.2013 -22.1785 -22.0000 -21.8601 -4.4622 -22.2434 -22.2403 -22.2125 -22.0066 -21.8539 -4.4824 -22.2815 -22.2782 -22.2464 -22.0101 -21.8447 -4.5026 -22.3215 -22.3170 -22.2782 -22.0101 -21.8297 -4.5226 -22.3615 -22.3565 -22.3089 -22.0052 -21.8125 -4.5427 -22.4001 -22.3936 -22.3391 -21.9957 -21.7905 -4.5628 -22.4377 -22.4306 -22.3645 -21.9830 -21.7645 -4.5830 -22.4750 -22.4660 -22.3883 -21.9666 -21.7352 -4.6030 -22.5100 -22.5003 -22.4067 -21.9431 -21.7055 -4.6231 -22.5406 -22.5287 -22.4214 -21.9172 -21.6716 -4.6433 -22.5654 -22.5513 -22.4295 -21.8894 -21.6383 -4.6633 -22.5834 -22.5670 -22.4295 -21.8601 -21.6021 -4.6834 -22.5901 -22.5719 -22.4214 -21.8268 -21.5638 -4.7035 -22.5850 -22.5654 -22.4034 -21.7905 -21.5258 -4.7236 -22.5622 -22.5421 -22.3757 -21.7520 -21.4855 -4.7437 -22.5229 -22.5017 -22.3354 -21.7122 -21.4461 -4.7638 -22.4672 -22.4473 -22.2857 -21.6716 -21.4056 -4.7839 -22.3990 -22.3799 -22.2277 -21.6289 -21.3655 -4.8040 -22.3242 -22.3072 -22.1656 -21.5867 -21.3261 -4.8241 -22.2495 -22.2343 -22.1029 -21.5452 -21.2882 -4.8442 -22.1831 -22.1688 -22.0458 -21.5058 -21.2526 -4.8643 -22.1290 -22.1152 -22.0000 -21.4724 -21.2204 -4.8844 -22.0910 -22.0778 -21.9626 -21.4425 -21.1925 -4.9045 -22.0711 -22.0580 -21.9431 -21.4202 -21.1694 -4.9246 -22.0680 -22.0535 -21.9355 -21.4012 -21.1494 -4.9447 -22.0783 -22.0635 -21.9355 -21.3872 -21.1319 -4.9648 -22.0996 -22.0830 -21.9469 -21.3768 -21.1175 -4.9849 -22.1296 -22.1113 -21.9626 -21.3686 -21.1062 -5.0052 -22.1637 -22.1433 -21.9788 -21.3645 -21.0980 -5.0253 -22.2013 -22.1791 -22.0026 -21.3645 -21.0953 -5.0453 -22.2411 -22.2168 -22.0273 -21.3696 -21.0975 -5.0652 -22.2823 -22.2557 -22.0526 -21.3768 -21.1035 -5.0853 -22.3224 -22.2941 -22.0783 -21.3862 -21.1101 -5.1055 -22.3635 -22.3316 -22.1029 -21.3947 -21.1158 -5.1255 -22.4034 -22.3686 -22.1238 -21.3990 -21.1180 -5.1458 -22.4425 -22.4045 -22.1421 -21.3990 -21.1163 -5.1658 -22.4802 -22.4389 -22.1574 -21.3958 -21.1113 -5.1858 -22.5171 -22.4711 -22.1694 -21.3893 -21.1035 -5.2060 -22.5528 -22.5017 -22.1791 -21.3820 -21.0942 -5.2261 -22.5884 -22.5317 -22.1878 -21.3747 -21.0857 -5.2463 -22.6216 -22.5607 -22.1945 -21.3675 -21.0773 -5.2662 -22.6536 -22.5867 -22.2013 -21.3615 -21.0706 -5.2865 -22.6861 -22.6126 -22.2069 -21.3556 -21.0635 -5.3066 -22.7167 -22.6364 -22.2111 -21.3497 -21.0560 -5.3265 -22.7447 -22.6596 -22.2140 -21.3429 -21.0487 -5.3467 -22.7747 -22.6819 -22.2175 -21.3372 -21.0419 -5.3668 -22.8013 -22.7033 -22.2218 -21.3335 -21.0381 -5.3869 -22.8268 -22.7235 -22.2291 -21.3354 -21.0395 -5.4071 -22.8539 -22.7471 -22.2418 -21.3449 -21.0482 -5.4272 -22.8794 -22.7696 -22.2628 -21.3635 -21.0675 -5.4472 -22.9031 -22.7959 -22.2924 -21.3947 -21.0985 -5.4673 -22.9547 -22.8447 -22.3354 -21.4353 -21.1397 -5.4874 -22.9788 -22.8729 -22.3757 -21.4802 -21.1838 -5.5076 -23.0022 -22.9031 -22.4134 -21.5229 -21.2269 -5.5276 -23.0241 -22.9245 -22.4461 -21.5591 -21.2628 -5.5478 -23.0453 -22.9469 -22.4724 -21.5867 -21.2907 -5.5678 -23.0650 -22.9666 -22.4908 -21.6055 -21.3089 -5.5879 -23.0835 -22.9872 -22.5058 -21.6180 -21.3215 -5.6081 -23.1013 -23.0009 -22.5143 -21.6234 -21.3279 -5.6282 -23.1175 -23.0146 -22.5214 -21.6271 -21.3316 -5.6483 -23.1331 -23.0273 -22.5272 -21.6308 -21.3335 -5.6684 -23.1487 -23.0395 -22.5331 -21.6326 -21.3372 -5.6884 -23.1630 -23.0521 -22.5391 -21.6383 -21.3410 -5.7085 -23.1772 -23.0645 -22.5482 -21.6459 -21.3487 -5.7287 -23.1911 -23.0783 -22.5607 -21.6576 -21.3615 -5.7487 -23.2048 -23.0937 -22.5800 -21.6778 -21.3820 -5.7689 -23.2182 -23.1096 -22.6021 -21.7033 -21.4067 -5.7889 -23.2306 -23.1255 -22.6271 -21.7305 -21.4342 -5.8090 -23.2426 -23.1415 -22.6536 -21.7620 -21.4660 -5.8292 -23.2526 -23.1549 -22.6737 -21.7852 -21.4895 -5.8492 -23.2620 -23.1669 -22.6946 -21.8097 -21.5129 -5.8693 -23.2708 -23.1765 -22.7055 -21.8210 -21.5258 -5.8895 -23.2790 -23.1844 -22.7144 -21.8327 -21.5361 -5.9096 -23.2857 -23.1918 -22.7212 -21.8356 -21.5406 -5.9296 -23.2924 -23.1972 -22.7258 -21.8416 -21.5452 -5.9497 -23.2976 -23.2020 -22.7282 -21.8416 -21.5467 -5.9698 -23.3028 -23.2062 -22.7305 -21.8447 -21.5482 -5.9899 -23.3072 -23.2111 -22.7375 -21.8508 -21.5544 -6.0000 -23.3098 -23.2132 -22.7375 -21.8508 -21.5560 -6.0199 -23.3125 -23.2168 -22.7447 -21.8601 -21.5622 -6.0398 -23.3143 -23.2204 -22.7520 -21.8665 -21.5719 -6.0599 -23.3161 -23.2240 -22.7595 -21.8761 -21.5817 -6.0799 -23.3170 -23.2262 -22.7645 -21.8861 -21.5901 -6.1000 -23.3179 -23.2284 -22.7696 -21.8928 -21.5969 -6.1199 -23.3179 -23.2306 -22.7799 -21.9031 -21.6073 -6.1399 -23.3179 -23.2321 -22.7852 -21.9101 -21.6162 -6.1599 -23.3179 -23.2328 -22.7905 -21.9208 -21.6253 -6.1801 -23.3170 -23.2343 -22.7986 -21.9318 -21.6364 -6.2000 -23.3152 -23.2358 -22.8097 -21.9469 -21.6517 -6.2201 -23.3143 -23.2381 -22.8210 -21.9626 -21.6696 -6.2400 -23.3125 -23.2403 -22.8356 -21.9830 -21.6904 -6.2601 -23.3107 -23.2426 -22.8508 -22.0088 -21.7167 -6.2801 -23.3089 -23.2441 -22.8697 -22.0348 -21.7423 -6.2999 -23.3063 -23.2464 -22.8861 -22.0635 -21.7721 -6.3199 -23.3116 -23.2549 -22.9101 -22.0942 -21.8041 -6.3400 -23.3080 -23.2557 -22.9281 -22.1232 -21.8327 -6.3600 -23.3045 -23.2565 -22.9431 -22.1518 -21.8633 -6.3800 -23.3010 -23.2557 -22.9586 -22.1798 -21.8928 -6.4000 -23.2967 -23.2549 -22.9706 -22.2069 -21.9208 -6.4200 -23.2933 -23.2541 -22.9872 -22.2351 -21.9508 -6.4400 -23.2890 -23.2526 -23.0000 -22.2612 -21.9788 -6.4600 -23.2840 -23.2510 -23.0110 -22.2882 -22.0070 -6.4800 -23.2798 -23.2487 -23.0218 -22.3143 -22.0348 -6.5000 -23.2749 -23.2464 -23.0320 -22.3391 -22.0615 -6.5200 -23.2684 -23.2418 -23.0395 -22.3625 -22.0862 -6.5400 -23.2620 -23.2373 -23.0462 -22.3840 -22.1101 -6.5600 -23.2557 -23.2321 -23.0501 -22.4023 -22.1296 -6.5800 -23.2487 -23.2269 -23.0535 -22.4191 -22.1481 -6.6000 -23.2418 -23.2211 -23.0560 -22.4330 -22.1643 -6.6200 -23.2351 -23.2154 -23.0570 -22.4461 -22.1798 -6.6400 -23.2277 -23.2090 -23.0575 -22.4584 -22.1931 -6.6600 -23.2211 -23.2034 -23.0570 -22.4685 -22.2048 -6.6800 -23.2140 -23.1965 -23.0560 -22.4789 -22.2168 -6.7000 -23.2062 -23.1904 -23.0550 -22.4868 -22.2269 -6.7200 -23.1993 -23.1838 -23.0531 -22.4962 -22.2373 -6.7400 -23.1918 -23.1772 -23.0511 -22.5031 -22.2457 -6.7600 -23.1851 -23.1707 -23.0487 -22.5100 -22.2541 -6.7800 -23.1778 -23.1637 -23.0458 -22.5143 -22.2604 -6.8000 -23.1701 -23.1568 -23.0419 -22.5186 -22.2660 -6.8200 -23.1630 -23.1500 -23.0386 -22.5214 -22.2708 -6.8400 -23.1555 -23.1433 -23.0343 -22.5243 -22.2749 -6.8600 -23.1481 -23.1361 -23.0292 -22.5243 -22.2749 -6.8800 -23.1409 -23.1290 -23.0246 -22.5258 -22.2782 -6.9000 -23.1337 -23.1221 -23.0195 -22.5258 -22.2790 -6.9200 -23.1261 -23.1146 -23.0150 -22.5272 -22.2815 -6.9400 -23.1192 -23.1079 -23.0101 -22.5287 -22.2840 -6.9600 -23.1118 -23.1007 -23.0057 -22.5302 -22.2874 -6.9800 -23.1046 -23.0937 -23.0009 -22.5317 -22.2899 -7.0000 -23.0969 -23.0867 -22.9957 -22.5346 -22.2941 -7.0199 -23.0883 -23.0783 -22.9914 -22.5391 -22.3010 -7.0398 -23.0794 -23.0696 -22.9872 -22.5436 -22.3080 -7.0599 -23.0701 -23.0615 -22.9830 -22.5498 -22.3170 -7.0799 -23.0615 -23.0531 -22.9788 -22.5607 -22.3316 -7.1000 -23.0521 -23.0443 -22.9747 -22.5702 -22.3449 -7.1199 -23.0434 -23.0357 -22.9706 -22.5817 -22.3605 -7.1399 -23.0357 -23.0292 -22.9666 -22.5952 -22.3788 -7.1599 -23.0273 -23.0209 -22.9626 -22.6091 -22.3979 -7.1801 -23.0182 -23.0123 -22.9586 -22.6253 -22.4191 -7.2000 -23.0088 -23.0039 -22.9547 -22.6383 -22.4389 -7.2201 -23.0004 -22.9957 -22.9508 -22.6536 -22.4597 -7.2400 -22.9914 -22.9872 -22.9469 -22.6676 -22.4815 -7.2601 -22.9830 -22.9788 -22.9431 -22.6799 -22.5003 -7.2801 -22.9747 -22.9706 -22.9355 -22.6904 -22.5186 -7.2999 -22.9666 -22.9626 -22.9318 -22.6990 -22.5346 -7.3199 -22.9547 -22.9547 -22.9245 -22.7077 -22.5482 -7.3400 -22.9469 -22.9431 -22.9172 -22.7144 -22.5607 -7.3600 -22.9393 -22.9355 -22.9136 -22.7190 -22.5702 -7.3800 -22.9318 -22.9281 -22.9066 -22.7212 -22.5784 -7.4000 -22.9208 -22.9208 -22.8996 -22.7235 -22.5850 -7.4200 -22.9136 -22.9101 -22.8928 -22.7235 -22.5901 -7.4400 -22.9066 -22.9031 -22.8827 -22.7235 -22.5935 -7.4600 -22.8962 -22.8962 -22.8761 -22.7212 -22.5952 -7.4800 -22.8894 -22.8861 -22.8697 -22.7190 -22.5969 -7.5000 -22.8827 -22.8794 -22.8633 -22.7167 -22.5952 -7.5200 -22.8729 -22.8697 -22.8539 -22.7122 -22.5918 -7.5400 -22.8633 -22.8601 -22.8447 -22.7055 -22.5884 -7.5600 -22.8539 -22.8508 -22.8356 -22.6990 -22.5850 -7.5800 -22.8447 -22.8416 -22.8268 -22.6925 -22.5800 -7.6000 -22.8356 -22.8327 -22.8182 -22.6861 -22.5735 -7.6200 -22.8268 -22.8239 -22.8097 -22.6799 -22.5686 -7.6400 -22.8182 -22.8182 -22.8013 -22.6737 -22.5622 -7.6600 -22.8097 -22.8097 -22.7932 -22.6655 -22.5544 -7.6800 -22.8013 -22.8013 -22.7852 -22.6576 -22.5482 -7.7000 -22.7932 -22.7932 -22.7773 -22.6498 -22.5406 -7.7200 -22.7852 -22.7852 -22.7696 -22.6440 -22.5361 -7.7400 -22.7799 -22.7773 -22.7620 -22.6364 -22.5287 -7.7600 -22.7721 -22.7696 -22.7570 -22.6308 -22.5229 -7.7800 -22.7645 -22.7645 -22.7496 -22.6234 -22.5157 -7.8000 -22.7595 -22.7570 -22.7423 -22.6180 -22.5114 -7.8200 -22.7520 -22.7496 -22.7375 -22.6126 -22.5058 -7.8400 -22.7471 -22.7447 -22.7305 -22.6073 -22.5017 -7.8600 -22.7399 -22.7399 -22.7258 -22.6021 -22.4962 -7.8800 -22.7352 -22.7328 -22.7190 -22.5986 -22.4935 -7.9000 -22.7305 -22.7282 -22.7144 -22.5935 -22.4895 -7.9200 -22.7258 -22.7235 -22.7100 -22.5918 -22.4881 -7.9400 -22.7190 -22.7190 -22.7055 -22.5884 -22.4868 -7.9600 -22.7167 -22.7144 -22.7011 -22.5867 -22.4855 -7.9800 -22.7122 -22.7100 -22.6990 -22.5850 -22.4868 -8.0000 -22.7077 -22.7077 -22.6946 -22.5834 -22.4855 diff --git a/inputs/cooling_tables/gnat-sternberg.cooling_0.001Z b/inputs/cooling_tables/gnat-sternberg.cooling_0.001Z new file mode 100644 index 00000000..13fb61d1 --- /dev/null +++ b/inputs/cooling_tables/gnat-sternberg.cooling_0.001Z @@ -0,0 +1,209 @@ +# Adapted from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt +# Title: Time-Dependent Ionization in Radiatively Cooling Gas +# Authors: Orly Gnat and Amiel Sternberg +# Table: CIE Cooling Efficiencies +# ----------------------------------------------------------------------------------------- +# Our assumed Z=1 solar abundances are listed in Table 1. +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=0.001 log10 Lambda_N [erg cm^3/s] +4.00 -23.3279 +4.02 -23.1180 +4.04 -22.9101 +4.06 -22.7055 +4.08 -22.5114 +4.10 -22.3316 +4.12 -22.1688 +4.14 -22.0269 +4.16 -21.9136 +4.18 -21.8327 +4.20 -21.7825 +4.22 -21.7670 +4.24 -21.7721 +4.26 -21.7986 +4.28 -21.8356 +4.30 -21.8794 +4.32 -21.9281 +4.34 -21.9788 +4.36 -22.0269 +4.38 -22.0737 +4.40 -22.1192 +4.42 -22.1624 +4.44 -22.2041 +4.46 -22.2434 +4.48 -22.2815 +4.50 -22.3215 +4.52 -22.3615 +4.54 -22.4001 +4.56 -22.4377 +4.58 -22.4750 +4.60 -22.5100 +4.62 -22.5406 +4.64 -22.5654 +4.66 -22.5834 +4.68 -22.5901 +4.70 -22.5850 +4.72 -22.5622 +4.74 -22.5229 +4.76 -22.4672 +4.78 -22.3990 +4.80 -22.3242 +4.82 -22.2495 +4.84 -22.1831 +4.86 -22.1290 +4.88 -22.0910 +4.90 -22.0711 +4.92 -22.0680 +4.94 -22.0783 +4.96 -22.0996 +4.98 -22.1296 +5.01 -22.1637 +5.03 -22.2013 +5.05 -22.2411 +5.07 -22.2823 +5.09 -22.3224 +5.11 -22.3635 +5.13 -22.4034 +5.15 -22.4425 +5.17 -22.4802 +5.19 -22.5171 +5.21 -22.5528 +5.23 -22.5884 +5.25 -22.6216 +5.27 -22.6536 +5.29 -22.6861 +5.31 -22.7167 +5.33 -22.7447 +5.35 -22.7747 +5.37 -22.8013 +5.39 -22.8268 +5.41 -22.8539 +5.43 -22.8794 +5.45 -22.9031 +5.47 -22.9547 +5.49 -22.9788 +5.51 -23.0022 +5.53 -23.0241 +5.55 -23.0453 +5.57 -23.0650 +5.59 -23.0835 +5.61 -23.1013 +5.63 -23.1175 +5.65 -23.1331 +5.67 -23.1487 +5.69 -23.1630 +5.71 -23.1772 +5.73 -23.1911 +5.75 -23.2048 +5.77 -23.2182 +5.79 -23.2306 +5.81 -23.2426 +5.83 -23.2526 +5.85 -23.2620 +5.87 -23.2708 +5.89 -23.2790 +5.91 -23.2857 +5.93 -23.2924 +5.95 -23.2976 +5.97 -23.3028 +5.99 -23.3072 +6.00 -23.3098 +6.02 -23.3125 +6.04 -23.3143 +6.06 -23.3161 +6.08 -23.3170 +6.10 -23.3179 +6.12 -23.3179 +6.14 -23.3179 +6.16 -23.3179 +6.18 -23.3170 +6.20 -23.3152 +6.22 -23.3143 +6.24 -23.3125 +6.26 -23.3107 +6.28 -23.3089 +6.30 -23.3063 +6.32 -23.3116 +6.34 -23.3080 +6.36 -23.3045 +6.38 -23.3010 +6.40 -23.2967 +6.42 -23.2933 +6.44 -23.2890 +6.46 -23.2840 +6.48 -23.2798 +6.50 -23.2749 +6.52 -23.2684 +6.54 -23.2620 +6.56 -23.2557 +6.58 -23.2487 +6.60 -23.2418 +6.62 -23.2351 +6.64 -23.2277 +6.66 -23.2211 +6.68 -23.2140 +6.70 -23.2062 +6.72 -23.1993 +6.74 -23.1918 +6.76 -23.1851 +6.78 -23.1778 +6.80 -23.1701 +6.82 -23.1630 +6.84 -23.1555 +6.86 -23.1481 +6.88 -23.1409 +6.90 -23.1337 +6.92 -23.1261 +6.94 -23.1192 +6.96 -23.1118 +6.98 -23.1046 +7.00 -23.0969 +7.02 -23.0883 +7.04 -23.0794 +7.06 -23.0701 +7.08 -23.0615 +7.10 -23.0521 +7.12 -23.0434 +7.14 -23.0357 +7.16 -23.0273 +7.18 -23.0182 +7.20 -23.0088 +7.22 -23.0004 +7.24 -22.9914 +7.26 -22.9830 +7.28 -22.9747 +7.30 -22.9666 +7.32 -22.9547 +7.34 -22.9469 +7.36 -22.9393 +7.38 -22.9318 +7.40 -22.9208 +7.42 -22.9136 +7.44 -22.9066 +7.46 -22.8962 +7.48 -22.8894 +7.50 -22.8827 +7.52 -22.8729 +7.54 -22.8633 +7.56 -22.8539 +7.58 -22.8447 +7.60 -22.8356 +7.62 -22.8268 +7.64 -22.8182 +7.66 -22.8097 +7.68 -22.8013 +7.70 -22.7932 +7.72 -22.7852 +7.74 -22.7799 +7.76 -22.7721 +7.78 -22.7645 +7.80 -22.7595 +7.82 -22.7520 +7.84 -22.7471 +7.86 -22.7399 +7.88 -22.7352 +7.90 -22.7305 +7.92 -22.7258 +7.94 -22.7190 +7.96 -22.7167 +7.98 -22.7122 +8.00 -22.7077 diff --git a/inputs/cooling_tables/gnat-sternberg.cooling_0.01Z b/inputs/cooling_tables/gnat-sternberg.cooling_0.01Z new file mode 100644 index 00000000..ca4cf0c4 --- /dev/null +++ b/inputs/cooling_tables/gnat-sternberg.cooling_0.01Z @@ -0,0 +1,209 @@ +# Adapted from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt +# Title: Time-Dependent Ionization in Radiatively Cooling Gas +# Authors: Orly Gnat and Amiel Sternberg +# Table: CIE Cooling Efficiencies +# ----------------------------------------------------------------------------------------- +# Our assumed Z=1 solar abundances are listed in Table 1. +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=0.01 log10 Lambda_N [erg cm^3/s] +4.00 -23.3028 +4.02 -23.1085 +4.04 -22.9031 +4.06 -22.7033 +4.08 -22.5100 +4.10 -22.3307 +4.12 -22.1675 +4.14 -22.0264 +4.16 -21.9136 +4.18 -21.8327 +4.20 -21.7825 +4.22 -21.7670 +4.24 -21.7721 +4.26 -21.7986 +4.28 -21.8327 +4.30 -21.8794 +4.32 -21.9281 +4.34 -21.9788 +4.36 -22.0259 +4.38 -22.0726 +4.40 -22.1175 +4.42 -22.1605 +4.44 -22.2013 +4.46 -22.2403 +4.48 -22.2782 +4.50 -22.3170 +4.52 -22.3565 +4.54 -22.3936 +4.56 -22.4306 +4.58 -22.4660 +4.60 -22.5003 +4.62 -22.5287 +4.64 -22.5513 +4.66 -22.5670 +4.68 -22.5719 +4.70 -22.5654 +4.72 -22.5421 +4.74 -22.5017 +4.76 -22.4473 +4.78 -22.3799 +4.80 -22.3072 +4.82 -22.2343 +4.84 -22.1688 +4.86 -22.1152 +4.88 -22.0778 +4.90 -22.0580 +4.92 -22.0535 +4.94 -22.0635 +4.96 -22.0830 +4.98 -22.1113 +5.01 -22.1433 +5.03 -22.1791 +5.05 -22.2168 +5.07 -22.2557 +5.09 -22.2941 +5.11 -22.3316 +5.13 -22.3686 +5.15 -22.4045 +5.17 -22.4389 +5.19 -22.4711 +5.21 -22.5017 +5.23 -22.5317 +5.25 -22.5607 +5.27 -22.5867 +5.29 -22.6126 +5.31 -22.6364 +5.33 -22.6596 +5.35 -22.6819 +5.37 -22.7033 +5.39 -22.7235 +5.41 -22.7471 +5.43 -22.7696 +5.45 -22.7959 +5.47 -22.8447 +5.49 -22.8729 +5.51 -22.9031 +5.53 -22.9245 +5.55 -22.9469 +5.57 -22.9666 +5.59 -22.9872 +5.61 -23.0009 +5.63 -23.0146 +5.65 -23.0273 +5.67 -23.0395 +5.69 -23.0521 +5.71 -23.0645 +5.73 -23.0783 +5.75 -23.0937 +5.77 -23.1096 +5.79 -23.1255 +5.81 -23.1415 +5.83 -23.1549 +5.85 -23.1669 +5.87 -23.1765 +5.89 -23.1844 +5.91 -23.1918 +5.93 -23.1972 +5.95 -23.2020 +5.97 -23.2062 +5.99 -23.2111 +6.00 -23.2132 +6.02 -23.2168 +6.04 -23.2204 +6.06 -23.2240 +6.08 -23.2262 +6.10 -23.2284 +6.12 -23.2306 +6.14 -23.2321 +6.16 -23.2328 +6.18 -23.2343 +6.20 -23.2358 +6.22 -23.2381 +6.24 -23.2403 +6.26 -23.2426 +6.28 -23.2441 +6.30 -23.2464 +6.32 -23.2549 +6.34 -23.2557 +6.36 -23.2565 +6.38 -23.2557 +6.40 -23.2549 +6.42 -23.2541 +6.44 -23.2526 +6.46 -23.2510 +6.48 -23.2487 +6.50 -23.2464 +6.52 -23.2418 +6.54 -23.2373 +6.56 -23.2321 +6.58 -23.2269 +6.60 -23.2211 +6.62 -23.2154 +6.64 -23.2090 +6.66 -23.2034 +6.68 -23.1965 +6.70 -23.1904 +6.72 -23.1838 +6.74 -23.1772 +6.76 -23.1707 +6.78 -23.1637 +6.80 -23.1568 +6.82 -23.1500 +6.84 -23.1433 +6.86 -23.1361 +6.88 -23.1290 +6.90 -23.1221 +6.92 -23.1146 +6.94 -23.1079 +6.96 -23.1007 +6.98 -23.0937 +7.00 -23.0867 +7.02 -23.0783 +7.04 -23.0696 +7.06 -23.0615 +7.08 -23.0531 +7.10 -23.0443 +7.12 -23.0357 +7.14 -23.0292 +7.16 -23.0209 +7.18 -23.0123 +7.20 -23.0039 +7.22 -22.9957 +7.24 -22.9872 +7.26 -22.9788 +7.28 -22.9706 +7.30 -22.9626 +7.32 -22.9547 +7.34 -22.9431 +7.36 -22.9355 +7.38 -22.9281 +7.40 -22.9208 +7.42 -22.9101 +7.44 -22.9031 +7.46 -22.8962 +7.48 -22.8861 +7.50 -22.8794 +7.52 -22.8697 +7.54 -22.8601 +7.56 -22.8508 +7.58 -22.8416 +7.60 -22.8327 +7.62 -22.8239 +7.64 -22.8182 +7.66 -22.8097 +7.68 -22.8013 +7.70 -22.7932 +7.72 -22.7852 +7.74 -22.7773 +7.76 -22.7696 +7.78 -22.7645 +7.80 -22.7570 +7.82 -22.7496 +7.84 -22.7447 +7.86 -22.7399 +7.88 -22.7328 +7.90 -22.7282 +7.92 -22.7235 +7.94 -22.7190 +7.96 -22.7144 +7.98 -22.7100 +8.00 -22.7077 diff --git a/inputs/cooling_tables/gnat-sternberg.cooling_0.1Z b/inputs/cooling_tables/gnat-sternberg.cooling_0.1Z new file mode 100644 index 00000000..53f1ceb3 --- /dev/null +++ b/inputs/cooling_tables/gnat-sternberg.cooling_0.1Z @@ -0,0 +1,209 @@ +# Adapted from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt +# Title: Time-Dependent Ionization in Radiatively Cooling Gas +# Authors: Orly Gnat and Amiel Sternberg +# Table: CIE Cooling Efficiencies +# ----------------------------------------------------------------------------------------- +# Our assumed Z=1 solar abundances are listed in Table 1. +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=0.1 log10 Lambda_N [erg cm^3/s] +4.00 -23.1090 +4.02 -23.0200 +4.04 -22.8570 +4.06 -22.6757 +4.08 -22.4921 +4.10 -22.3179 +4.12 -22.1593 +4.14 -22.0186 +4.16 -21.9066 +4.18 -21.8268 +4.20 -21.7773 +4.22 -21.7620 +4.24 -21.7670 +4.26 -21.7932 +4.28 -21.8268 +4.30 -21.8729 +4.32 -21.9172 +4.34 -21.9666 +4.36 -22.0146 +4.38 -22.0595 +4.40 -22.1018 +4.42 -22.1421 +4.44 -22.1785 +4.46 -22.2125 +4.48 -22.2464 +4.50 -22.2782 +4.52 -22.3089 +4.54 -22.3391 +4.56 -22.3645 +4.58 -22.3883 +4.60 -22.4067 +4.62 -22.4214 +4.64 -22.4295 +4.66 -22.4295 +4.68 -22.4214 +4.70 -22.4034 +4.72 -22.3757 +4.74 -22.3354 +4.76 -22.2857 +4.78 -22.2277 +4.80 -22.1656 +4.82 -22.1029 +4.84 -22.0458 +4.86 -22.0000 +4.88 -21.9626 +4.90 -21.9431 +4.92 -21.9355 +4.94 -21.9355 +4.96 -21.9469 +4.98 -21.9626 +5.01 -21.9788 +5.03 -22.0026 +5.05 -22.0273 +5.07 -22.0526 +5.09 -22.0783 +5.11 -22.1029 +5.13 -22.1238 +5.15 -22.1421 +5.17 -22.1574 +5.19 -22.1694 +5.21 -22.1791 +5.23 -22.1878 +5.25 -22.1945 +5.27 -22.2013 +5.29 -22.2069 +5.31 -22.2111 +5.33 -22.2140 +5.35 -22.2175 +5.37 -22.2218 +5.39 -22.2291 +5.41 -22.2418 +5.43 -22.2628 +5.45 -22.2924 +5.47 -22.3354 +5.49 -22.3757 +5.51 -22.4134 +5.53 -22.4461 +5.55 -22.4724 +5.57 -22.4908 +5.59 -22.5058 +5.61 -22.5143 +5.63 -22.5214 +5.65 -22.5272 +5.67 -22.5331 +5.69 -22.5391 +5.71 -22.5482 +5.73 -22.5607 +5.75 -22.5800 +5.77 -22.6021 +5.79 -22.6271 +5.81 -22.6536 +5.83 -22.6737 +5.85 -22.6946 +5.87 -22.7055 +5.89 -22.7144 +5.91 -22.7212 +5.93 -22.7258 +5.95 -22.7282 +5.97 -22.7305 +5.99 -22.7375 +6.00 -22.7375 +6.02 -22.7447 +6.04 -22.7520 +6.06 -22.7595 +6.08 -22.7645 +6.10 -22.7696 +6.12 -22.7799 +6.14 -22.7852 +6.16 -22.7905 +6.18 -22.7986 +6.20 -22.8097 +6.22 -22.8210 +6.24 -22.8356 +6.26 -22.8508 +6.28 -22.8697 +6.30 -22.8861 +6.32 -22.9101 +6.34 -22.9281 +6.36 -22.9431 +6.38 -22.9586 +6.40 -22.9706 +6.42 -22.9872 +6.44 -23.0000 +6.46 -23.0110 +6.48 -23.0218 +6.50 -23.0320 +6.52 -23.0395 +6.54 -23.0462 +6.56 -23.0501 +6.58 -23.0535 +6.60 -23.0560 +6.62 -23.0570 +6.64 -23.0575 +6.66 -23.0570 +6.68 -23.0560 +6.70 -23.0550 +6.72 -23.0531 +6.74 -23.0511 +6.76 -23.0487 +6.78 -23.0458 +6.80 -23.0419 +6.82 -23.0386 +6.84 -23.0343 +6.86 -23.0292 +6.88 -23.0246 +6.90 -23.0195 +6.92 -23.0150 +6.94 -23.0101 +6.96 -23.0057 +6.98 -23.0009 +7.00 -22.9957 +7.02 -22.9914 +7.04 -22.9872 +7.06 -22.9830 +7.08 -22.9788 +7.10 -22.9747 +7.12 -22.9706 +7.14 -22.9666 +7.16 -22.9626 +7.18 -22.9586 +7.20 -22.9547 +7.22 -22.9508 +7.24 -22.9469 +7.26 -22.9431 +7.28 -22.9355 +7.30 -22.9318 +7.32 -22.9245 +7.34 -22.9172 +7.36 -22.9136 +7.38 -22.9066 +7.40 -22.8996 +7.42 -22.8928 +7.44 -22.8827 +7.46 -22.8761 +7.48 -22.8697 +7.50 -22.8633 +7.52 -22.8539 +7.54 -22.8447 +7.56 -22.8356 +7.58 -22.8268 +7.60 -22.8182 +7.62 -22.8097 +7.64 -22.8013 +7.66 -22.7932 +7.68 -22.7852 +7.70 -22.7773 +7.72 -22.7696 +7.74 -22.7620 +7.76 -22.7570 +7.78 -22.7496 +7.80 -22.7423 +7.82 -22.7375 +7.84 -22.7305 +7.86 -22.7258 +7.88 -22.7190 +7.90 -22.7144 +7.92 -22.7100 +7.94 -22.7055 +7.96 -22.7011 +7.98 -22.6990 +8.00 -22.6946 diff --git a/inputs/cooling_tables/gnat-sternberg.cooling_1Z b/inputs/cooling_tables/gnat-sternberg.cooling_1Z new file mode 100644 index 00000000..9fdcaf94 --- /dev/null +++ b/inputs/cooling_tables/gnat-sternberg.cooling_1Z @@ -0,0 +1,209 @@ +# Adapted from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt +# Title: Time-Dependent Ionization in Radiatively Cooling Gas +# Authors: Orly Gnat and Amiel Sternberg +# Table: CIE Cooling Efficiencies +# ----------------------------------------------------------------------------------------- +# Our assumed Z=1 solar abundances are listed in Table 1. +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=1 log10 Lambda_N [erg cm^3/s] +4.00 -22.2526 +4.02 -22.5100 +4.04 -22.5436 +4.06 -22.4672 +4.08 -22.3458 +4.10 -22.2104 +4.12 -22.0762 +4.14 -21.9547 +4.16 -21.8508 +4.18 -21.7773 +4.20 -21.7305 +4.22 -21.7122 +4.24 -21.7167 +4.26 -21.7399 +4.28 -21.7696 +4.30 -21.8097 +4.32 -21.8447 +4.34 -21.8827 +4.36 -21.9172 +4.38 -21.9431 +4.40 -21.9666 +4.42 -21.9872 +4.44 -22.0000 +4.46 -22.0066 +4.48 -22.0101 +4.50 -22.0101 +4.52 -22.0052 +4.54 -21.9957 +4.56 -21.9830 +4.58 -21.9666 +4.60 -21.9431 +4.62 -21.9172 +4.64 -21.8894 +4.66 -21.8601 +4.68 -21.8268 +4.70 -21.7905 +4.72 -21.7520 +4.74 -21.7122 +4.76 -21.6716 +4.78 -21.6289 +4.80 -21.5867 +4.82 -21.5452 +4.84 -21.5058 +4.86 -21.4724 +4.88 -21.4425 +4.90 -21.4202 +4.92 -21.4012 +4.94 -21.3872 +4.96 -21.3768 +4.98 -21.3686 +5.01 -21.3645 +5.03 -21.3645 +5.05 -21.3696 +5.07 -21.3768 +5.09 -21.3862 +5.11 -21.3947 +5.13 -21.3990 +5.15 -21.3990 +5.17 -21.3958 +5.19 -21.3893 +5.21 -21.3820 +5.23 -21.3747 +5.25 -21.3675 +5.27 -21.3615 +5.29 -21.3556 +5.31 -21.3497 +5.33 -21.3429 +5.35 -21.3372 +5.37 -21.3335 +5.39 -21.3354 +5.41 -21.3449 +5.43 -21.3635 +5.45 -21.3947 +5.47 -21.4353 +5.49 -21.4802 +5.51 -21.5229 +5.53 -21.5591 +5.55 -21.5867 +5.57 -21.6055 +5.59 -21.6180 +5.61 -21.6234 +5.63 -21.6271 +5.65 -21.6308 +5.67 -21.6326 +5.69 -21.6383 +5.71 -21.6459 +5.73 -21.6576 +5.75 -21.6778 +5.77 -21.7033 +5.79 -21.7305 +5.81 -21.7620 +5.83 -21.7852 +5.85 -21.8097 +5.87 -21.8210 +5.89 -21.8327 +5.91 -21.8356 +5.93 -21.8416 +5.95 -21.8416 +5.97 -21.8447 +5.99 -21.8508 +6.00 -21.8508 +6.02 -21.8601 +6.04 -21.8665 +6.06 -21.8761 +6.08 -21.8861 +6.10 -21.8928 +6.12 -21.9031 +6.14 -21.9101 +6.16 -21.9208 +6.18 -21.9318 +6.20 -21.9469 +6.22 -21.9626 +6.24 -21.9830 +6.26 -22.0088 +6.28 -22.0348 +6.30 -22.0635 +6.32 -22.0942 +6.34 -22.1232 +6.36 -22.1518 +6.38 -22.1798 +6.40 -22.2069 +6.42 -22.2351 +6.44 -22.2612 +6.46 -22.2882 +6.48 -22.3143 +6.50 -22.3391 +6.52 -22.3625 +6.54 -22.3840 +6.56 -22.4023 +6.58 -22.4191 +6.60 -22.4330 +6.62 -22.4461 +6.64 -22.4584 +6.66 -22.4685 +6.68 -22.4789 +6.70 -22.4868 +6.72 -22.4962 +6.74 -22.5031 +6.76 -22.5100 +6.78 -22.5143 +6.80 -22.5186 +6.82 -22.5214 +6.84 -22.5243 +6.86 -22.5243 +6.88 -22.5258 +6.90 -22.5258 +6.92 -22.5272 +6.94 -22.5287 +6.96 -22.5302 +6.98 -22.5317 +7.00 -22.5346 +7.02 -22.5391 +7.04 -22.5436 +7.06 -22.5498 +7.08 -22.5607 +7.10 -22.5702 +7.12 -22.5817 +7.14 -22.5952 +7.16 -22.6091 +7.18 -22.6253 +7.20 -22.6383 +7.22 -22.6536 +7.24 -22.6676 +7.26 -22.6799 +7.28 -22.6904 +7.30 -22.6990 +7.32 -22.7077 +7.34 -22.7144 +7.36 -22.7190 +7.38 -22.7212 +7.40 -22.7235 +7.42 -22.7235 +7.44 -22.7235 +7.46 -22.7212 +7.48 -22.7190 +7.50 -22.7167 +7.52 -22.7122 +7.54 -22.7055 +7.56 -22.6990 +7.58 -22.6925 +7.60 -22.6861 +7.62 -22.6799 +7.64 -22.6737 +7.66 -22.6655 +7.68 -22.6576 +7.70 -22.6498 +7.72 -22.6440 +7.74 -22.6364 +7.76 -22.6308 +7.78 -22.6234 +7.80 -22.6180 +7.82 -22.6126 +7.84 -22.6073 +7.86 -22.6021 +7.88 -22.5986 +7.90 -22.5935 +7.92 -22.5918 +7.94 -22.5884 +7.96 -22.5867 +7.98 -22.5850 +8.00 -22.5834 diff --git a/inputs/cooling_tables/gnat-sternberg.cooling_2Z b/inputs/cooling_tables/gnat-sternberg.cooling_2Z new file mode 100644 index 00000000..87995a09 --- /dev/null +++ b/inputs/cooling_tables/gnat-sternberg.cooling_2Z @@ -0,0 +1,209 @@ +# Adapted from: http://wise-obs.tau.ac.il/~orlyg/cooling/CIEcool/tab13.txt +# Title: Time-Dependent Ionization in Radiatively Cooling Gas +# Authors: Orly Gnat and Amiel Sternberg +# Table: CIE Cooling Efficiencies +# ----------------------------------------------------------------------------------------- +# Our assumed Z=1 solar abundances are listed in Table 1. +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=2 log10 Lambda_N [erg cm^3/s] +4.00 -21.4237 +4.02 -22.1574 +4.04 -22.3224 +4.06 -22.3072 +4.08 -22.2233 +4.10 -22.1146 +4.12 -22.0000 +4.14 -21.8928 +4.16 -21.7959 +4.18 -21.7258 +4.20 -21.6799 +4.22 -21.6635 +4.24 -21.6676 +4.26 -21.6861 +4.28 -21.7144 +4.30 -21.7471 +4.32 -21.7773 +4.34 -21.8041 +4.36 -21.8268 +4.38 -21.8447 +4.40 -21.8570 +4.42 -21.8601 +4.44 -21.8601 +4.46 -21.8539 +4.48 -21.8447 +4.50 -21.8297 +4.52 -21.8125 +4.54 -21.7905 +4.56 -21.7645 +4.58 -21.7352 +4.60 -21.7055 +4.62 -21.6716 +4.64 -21.6383 +4.66 -21.6021 +4.68 -21.5638 +4.70 -21.5258 +4.72 -21.4855 +4.74 -21.4461 +4.76 -21.4056 +4.78 -21.3655 +4.80 -21.3261 +4.82 -21.2882 +4.84 -21.2526 +4.86 -21.2204 +4.88 -21.1925 +4.90 -21.1694 +4.92 -21.1494 +4.94 -21.1319 +4.96 -21.1175 +4.98 -21.1062 +5.01 -21.0980 +5.03 -21.0953 +5.05 -21.0975 +5.07 -21.1035 +5.09 -21.1101 +5.11 -21.1158 +5.13 -21.1180 +5.15 -21.1163 +5.17 -21.1113 +5.19 -21.1035 +5.21 -21.0942 +5.23 -21.0857 +5.25 -21.0773 +5.27 -21.0706 +5.29 -21.0635 +5.31 -21.0560 +5.33 -21.0487 +5.35 -21.0419 +5.37 -21.0381 +5.39 -21.0395 +5.41 -21.0482 +5.43 -21.0675 +5.45 -21.0985 +5.47 -21.1397 +5.49 -21.1838 +5.51 -21.2269 +5.53 -21.2628 +5.55 -21.2907 +5.57 -21.3089 +5.59 -21.3215 +5.61 -21.3279 +5.63 -21.3316 +5.65 -21.3335 +5.67 -21.3372 +5.69 -21.3410 +5.71 -21.3487 +5.73 -21.3615 +5.75 -21.3820 +5.77 -21.4067 +5.79 -21.4342 +5.81 -21.4660 +5.83 -21.4895 +5.85 -21.5129 +5.87 -21.5258 +5.89 -21.5361 +5.91 -21.5406 +5.93 -21.5452 +5.95 -21.5467 +5.97 -21.5482 +5.99 -21.5544 +6.00 -21.5560 +6.02 -21.5622 +6.04 -21.5719 +6.06 -21.5817 +6.08 -21.5901 +6.10 -21.5969 +6.12 -21.6073 +6.14 -21.6162 +6.16 -21.6253 +6.18 -21.6364 +6.20 -21.6517 +6.22 -21.6696 +6.24 -21.6904 +6.26 -21.7167 +6.28 -21.7423 +6.30 -21.7721 +6.32 -21.8041 +6.34 -21.8327 +6.36 -21.8633 +6.38 -21.8928 +6.40 -21.9208 +6.42 -21.9508 +6.44 -21.9788 +6.46 -22.0070 +6.48 -22.0348 +6.50 -22.0615 +6.52 -22.0862 +6.54 -22.1101 +6.56 -22.1296 +6.58 -22.1481 +6.60 -22.1643 +6.62 -22.1798 +6.64 -22.1931 +6.66 -22.2048 +6.68 -22.2168 +6.70 -22.2269 +6.72 -22.2373 +6.74 -22.2457 +6.76 -22.2541 +6.78 -22.2604 +6.80 -22.2660 +6.82 -22.2708 +6.84 -22.2749 +6.86 -22.2749 +6.88 -22.2782 +6.90 -22.2790 +6.92 -22.2815 +6.94 -22.2840 +6.96 -22.2874 +6.98 -22.2899 +7.00 -22.2941 +7.02 -22.3010 +7.04 -22.3080 +7.06 -22.3170 +7.08 -22.3316 +7.10 -22.3449 +7.12 -22.3605 +7.14 -22.3788 +7.16 -22.3979 +7.18 -22.4191 +7.20 -22.4389 +7.22 -22.4597 +7.24 -22.4815 +7.26 -22.5003 +7.28 -22.5186 +7.30 -22.5346 +7.32 -22.5482 +7.34 -22.5607 +7.36 -22.5702 +7.38 -22.5784 +7.40 -22.5850 +7.42 -22.5901 +7.44 -22.5935 +7.46 -22.5952 +7.48 -22.5969 +7.50 -22.5952 +7.52 -22.5918 +7.54 -22.5884 +7.56 -22.5850 +7.58 -22.5800 +7.60 -22.5735 +7.62 -22.5686 +7.64 -22.5622 +7.66 -22.5544 +7.68 -22.5482 +7.70 -22.5406 +7.72 -22.5361 +7.74 -22.5287 +7.76 -22.5229 +7.78 -22.5157 +7.80 -22.5114 +7.82 -22.5058 +7.84 -22.5017 +7.86 -22.4962 +7.88 -22.4935 +7.90 -22.4895 +7.92 -22.4881 +7.94 -22.4868 +7.96 -22.4855 +7.98 -22.4868 +8.00 -22.4855 diff --git a/inputs/cooling_tables/schure.cooling b/inputs/cooling_tables/schure.cooling index e5c054f8..2237d75c 100644 --- a/inputs/cooling_tables/schure.cooling +++ b/inputs/cooling_tables/schure.cooling @@ -1,105 +1,5 @@ -# Cooling table for solar metallicity, 1/2 solar metallicity -# (from Chris Loken, computed with Sarazin & White's analytic expression) -# temperature if log(K), cooling rate/ne^3 (erg cm^3/s) -# This is the new cooling table based on http://arxiv.org/pdf/0909.5204v2 -# logT solar 1/2 solar - 4.20000 -21.3361 -21.3381 - 4.24000 -21.3623 -21.3661 - 4.28000 -21.4525 -21.4612 - 4.32000 -21.5498 -21.5694 - 4.36000 -21.6238 -21.6648 - 4.40000 -21.6623 -21.7381 - 4.44000 -21.6497 -21.7711 - 4.48000 -21.5969 -21.7669 - 4.52000 -21.5159 -21.7263 - 4.56000 -21.4141 -21.6560 - 4.60000 -21.3034 -21.5662 - 4.64000 -21.1928 -21.4688 - 4.68000 -21.0938 -21.3785 - 4.72000 -20.9973 -21.2874 - 4.76000 -20.9196 -21.2130 - 4.80000 -20.8532 -21.1486 - 4.84000 -20.8050 -21.1018 - 4.88000 -20.7735 -21.0712 - 4.92000 -20.7536 -21.0519 - 4.96000 -20.7428 -21.0415 - 5.00000 -20.7578 -21.0567 - 5.04000 -20.7825 -21.0815 - 5.08000 -20.8021 -21.1013 - 5.12000 -20.7965 -21.0960 - 5.16000 -20.7859 -21.0855 - 5.20000 -20.7703 -21.0701 - 5.24000 -20.7561 -21.0560 - 5.28000 -20.7514 -21.0515 - 5.32000 -20.7483 -21.0484 - 5.36000 -20.7553 -21.0554 - 5.40000 -20.7929 -21.0930 - 5.44000 -20.8794 -21.1793 - 5.48000 -21.0405 -21.3401 - 5.52000 -21.2276 -21.5265 - 5.56000 -21.3727 -21.6707 - 5.60000 -21.4552 -21.7528 - 5.64000 -21.4913 -21.7888 - 5.68000 -21.5107 -21.8080 - 5.72000 -21.5354 -21.8325 - 5.76000 -21.5837 -21.8803 - 5.80000 -21.6534 -21.9493 - 5.84000 -21.7090 -22.0042 - 5.88000 -21.7409 -22.0357 - 5.92000 -21.7592 -22.0537 - 5.96000 -21.7695 -22.0638 - 6.00000 -21.7877 -22.0817 - 6.04000 -21.8087 -22.1023 - 6.08000 -21.8306 -22.1236 - 6.12000 -21.8386 -22.1312 - 6.16000 -21.8493 -22.1416 - 6.20000 -21.8690 -22.1607 - 6.24000 -21.9062 -22.1968 - 6.28000 -21.9708 -22.2595 - 6.32000 -22.0543 -22.3400 - 6.36000 -22.1497 -22.4313 - 6.40000 -22.2354 -22.5118 - 6.44000 -22.3090 -22.5804 - 6.48000 -22.3616 -22.6286 - 6.52000 -22.4015 -22.6636 - 6.56000 -22.4254 -22.6846 - 6.60000 -22.4390 -22.6950 - 6.64000 -22.4443 -22.6987 - 6.68000 -22.4375 -22.6905 - 6.72000 -22.4323 -22.6848 - 6.76000 -22.4230 -22.6744 - 6.80000 -22.4147 -22.6659 - 6.84000 -22.4131 -22.6623 - 6.88000 -22.4162 -22.6627 - 6.92000 -22.4265 -22.6706 - 6.96000 -22.4402 -22.6800 - 7.00000 -22.4580 -22.6927 - 7.04000 -22.4830 -22.7125 - 7.08000 -22.5087 -22.7310 - 7.12000 -22.5429 -22.7557 - 7.16000 -22.5776 -22.7798 - 7.20000 -22.6155 -22.8075 - 7.24000 -22.6490 -22.8285 - 7.28000 -22.6689 -22.8384 - 7.32000 -22.6842 -22.8441 - 7.36000 -22.6952 -22.8463 - 7.40000 -22.7039 -22.8495 - 7.44000 -22.7033 -22.8429 - 7.48000 -22.6988 -22.8336 - 7.52000 -22.6925 -22.8228 - 7.56000 -22.6843 -22.8108 - 7.60000 -22.6731 -22.7967 - 7.64000 -22.6606 -22.7816 - 7.68000 -22.6540 -22.7738 - 7.72000 -22.6402 -22.7579 - 7.76000 -22.6245 -22.7408 - 7.80000 -22.6099 -22.7243 - 7.84000 -22.5967 -22.7087 - 7.88000 -22.5805 -22.6911 - 7.92000 -22.5646 -22.6738 - 7.96000 -22.5496 -22.6570 - 8.00000 -22.5332 -22.6393 - 8.04000 -22.5199 -22.6236 - 8.08000 -22.5040 -22.6062 - 8.12000 -22.4881 -22.5888 - 8.16000 -22.4718 -22.5711 +# The original cooling curve in this file was from unknown origin/using unknown conventions +# and has thus been removed. +# This file is kept empty to make runs crash loud that assume/use this table. +# The updated_schure.cooling table contains Lambda for 1, 0.5 and 0.3 solar +# metallicity calculated with the notebook in docs/cooling/cooling.ipynb diff --git a/inputs/cooling_tables/schure.cooling_0.3Z b/inputs/cooling_tables/schure.cooling_0.3Z new file mode 100644 index 00000000..a3e8cfc6 --- /dev/null +++ b/inputs/cooling_tables/schure.cooling_0.3Z @@ -0,0 +1,111 @@ +# Cooling rates generated from Schure 2009 (doi.org/10.1051/0004-6361/200912495) +# containing temperatures in the first column (in log10 K) and collisional ionisation +# equilibrium (CIE) cooling rates (in log10 erg cm^3/s). +# Cooling rates are in the convention Lambda_hd from eq. 1, +# where the proton ratio n_e/n_H is taken from table 2. +# Lambda_N is computed from eq. 3. The cooling rate Lambda_N(X_i,T) from eq. 3 is contained +# in table 4. n_i/n_i(solar) is taken to be 1.0 for all elements for Z=1 while for Z=0.5 +# and Z=0.3 n_i/n_i(solar) is set to 1 for H and He and set to 0.5 and 0.3 respectively for +# all other elements. Made by Forrest Glines (forrestglines@gmail.com) +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=0.3 log10 Lambda_N [erg cm^3/s] +4.20 -21.6114 +4.24 -21.4833 +4.28 -21.5129 +4.32 -21.5974 +4.36 -21.6878 +4.40 -21.7659 +4.44 -21.8092 +4.48 -21.8230 +4.52 -21.8059 +4.56 -21.7621 +4.60 -21.6941 +4.64 -21.6111 +4.68 -21.5286 +4.72 -21.4387 +4.76 -21.3589 +4.80 -21.2816 +4.84 -21.2168 +4.88 -21.1700 +4.92 -21.1423 +4.96 -21.1331 +5.00 -21.1525 +5.04 -21.1820 +5.08 -21.2077 +5.12 -21.2093 +5.16 -21.2043 +5.20 -21.1937 +5.24 -21.1832 +5.28 -21.1811 +5.32 -21.1799 +5.36 -21.1883 +5.40 -21.2263 +5.44 -21.3118 +5.48 -21.4700 +5.52 -21.6521 +5.56 -21.7926 +5.60 -21.8728 +5.64 -21.9090 +5.68 -21.9290 +5.72 -21.9539 +5.76 -22.0008 +5.80 -22.0678 +5.84 -22.1209 +5.88 -22.1521 +5.92 -22.1698 +5.96 -22.1804 +6.00 -22.1977 +6.04 -22.2178 +6.08 -22.2383 +6.12 -22.2459 +6.16 -22.2557 +6.20 -22.2736 +6.24 -22.3075 +6.28 -22.3657 +6.32 -22.4391 +6.36 -22.5207 +6.40 -22.5909 +6.44 -22.6490 +6.48 -22.6878 +6.52 -22.7148 +6.56 -22.7308 +6.60 -22.7361 +6.64 -22.7379 +6.68 -22.7283 +6.72 -22.7216 +6.76 -22.7102 +6.80 -22.7023 +6.84 -22.6962 +6.88 -22.6921 +6.92 -22.6959 +6.96 -22.6994 +7.00 -22.7050 +7.04 -22.7170 +7.08 -22.7249 +7.12 -22.7378 +7.16 -22.7480 +7.20 -22.7629 +7.24 -22.7710 +7.28 -22.7697 +7.32 -22.7655 +7.36 -22.7605 +7.40 -22.7565 +7.44 -22.7461 +7.48 -22.7323 +7.52 -22.7176 +7.56 -22.7039 +7.60 -22.6873 +7.64 -22.6700 +7.68 -22.6613 +7.72 -22.6436 +7.76 -22.6251 +7.80 -22.6071 +7.84 -22.5914 +7.88 -22.5727 +7.92 -22.5542 +7.96 -22.5360 +8.00 -22.5172 +8.04 -22.5014 +8.08 -22.4828 +8.12 -22.4642 +8.16 -22.4455 diff --git a/inputs/cooling_tables/schure.cooling_0.5Z b/inputs/cooling_tables/schure.cooling_0.5Z new file mode 100644 index 00000000..8f23fbce --- /dev/null +++ b/inputs/cooling_tables/schure.cooling_0.5Z @@ -0,0 +1,111 @@ +# Cooling rates generated from Schure 2009 (doi.org/10.1051/0004-6361/200912495) +# containing temperatures in the first column (in log10 K) and collisional ionisation +# equilibrium (CIE) cooling rates (in log10 erg cm^3/s). +# Cooling rates are in the convention Lambda_hd from eq. 1, +# where the proton ratio n_e/n_H is taken from table 2. +# Lambda_N is computed from eq. 3. The cooling rate Lambda_N(X_i,T) from eq. 3 is contained +# in table 4. n_i/n_i(solar) is taken to be 1.0 for all elements for Z=1 while for Z=0.5 +# and Z=0.3 n_i/n_i(solar) is set to 1 for H and He and set to 0.5 and 0.3 respectively for +# all other elements. Made by Forrest Glines (forrestglines@gmail.com) +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=0.5 log10 Lambda_N [erg cm^3/s] +4.20 -21.6106 +4.24 -21.4817 +4.28 -21.5094 +4.32 -21.5894 +4.36 -21.6708 +4.40 -21.7330 +4.44 -21.7528 +4.48 -21.7361 +4.52 -21.6873 +4.56 -21.6136 +4.60 -21.5229 +4.64 -21.4248 +4.68 -21.3330 +4.72 -21.2392 +4.76 -21.1599 +4.80 -21.0871 +4.84 -21.0286 +4.88 -20.9858 +4.92 -20.9582 +4.96 -20.9451 +5.00 -20.9602 +5.04 -20.9861 +5.08 -21.0079 +5.12 -21.0052 +5.16 -20.9968 +5.20 -20.9834 +5.24 -20.9707 +5.28 -20.9670 +5.32 -20.9647 +5.36 -20.9722 +5.40 -21.0099 +5.44 -21.0958 +5.48 -21.2556 +5.52 -21.4404 +5.56 -21.5834 +5.60 -21.6649 +5.64 -21.7010 +5.68 -21.7207 +5.72 -21.7454 +5.76 -21.7931 +5.80 -21.8615 +5.84 -21.9160 +5.88 -21.9476 +5.92 -21.9656 +5.96 -21.9760 +6.00 -21.9938 +6.04 -22.0144 +6.08 -22.0355 +6.12 -22.0433 +6.16 -22.0536 +6.20 -22.0725 +6.24 -22.1082 +6.28 -22.1698 +6.32 -22.2486 +6.36 -22.3375 +6.40 -22.4159 +6.44 -22.4820 +6.48 -22.5278 +6.52 -22.5612 +6.56 -22.5811 +6.60 -22.5905 +6.64 -22.5940 +6.68 -22.5857 +6.72 -22.5797 +6.76 -22.5694 +6.80 -22.5612 +6.84 -22.5573 +6.88 -22.5566 +6.92 -22.5635 +6.96 -22.5718 +7.00 -22.5831 +7.04 -22.6010 +7.08 -22.6169 +7.12 -22.6391 +7.16 -22.6596 +7.20 -22.6840 +7.24 -22.7021 +7.28 -22.7090 +7.32 -22.7121 +7.36 -22.7129 +7.40 -22.7135 +7.44 -22.7065 +7.48 -22.6959 +7.52 -22.6840 +7.56 -22.6722 +7.60 -22.6574 +7.64 -22.6418 +7.68 -22.6337 +7.72 -22.6173 +7.76 -22.5998 +7.80 -22.5828 +7.84 -22.5679 +7.88 -22.5500 +7.92 -22.5324 +7.96 -22.5152 +8.00 -22.4972 +8.04 -22.4822 +8.08 -22.4644 +8.12 -22.4467 +8.16 -22.4287 diff --git a/inputs/cooling_tables/schure.cooling_1.0Z b/inputs/cooling_tables/schure.cooling_1.0Z new file mode 100644 index 00000000..93aac5e5 --- /dev/null +++ b/inputs/cooling_tables/schure.cooling_1.0Z @@ -0,0 +1,111 @@ +# Cooling rates generated from Schure 2009 (doi.org/10.1051/0004-6361/200912495) +# containing temperatures in the first column (in log10 K) and collisional ionisation +# equilibrium (CIE) cooling rates (in log10 erg cm^3/s). +# Cooling rates are in the convention Lambda_hd from eq. 1, +# where the proton ratio n_e/n_H is taken from table 2. +# Lambda_N is computed from eq. 3. The cooling rate Lambda_N(X_i,T) from eq. 3 is contained +# in table 4. n_i/n_i(solar) is taken to be 1.0 for all elements for Z=1 while for Z=0.5 +# and Z=0.3 n_i/n_i(solar) is set to 1 for H and He and set to 0.5 and 0.3 respectively for +# all other elements. Made by Forrest Glines (forrestglines@gmail.com) +# ----------------------------------------------------------------------------------------- +# log10 T [K] Z=1.0 log10 Lambda_N [erg cm^3/s] +4.20 -21.6087 +4.24 -21.4779 +4.28 -21.5009 +4.32 -21.5702 +4.36 -21.6311 +4.40 -21.6603 +4.44 -21.6373 +4.48 -21.5738 +4.52 -21.4838 +4.56 -21.3771 +4.60 -21.2642 +4.64 -21.1525 +4.68 -21.0529 +4.72 -20.9557 +4.76 -20.8769 +4.80 -20.8078 +4.84 -20.7546 +4.88 -20.7154 +4.92 -20.6877 +4.96 -20.6713 +5.00 -20.6828 +5.04 -20.7056 +5.08 -20.7242 +5.12 -20.7180 +5.16 -20.7069 +5.20 -20.6912 +5.24 -20.6768 +5.28 -20.6720 +5.32 -20.6687 +5.36 -20.6755 +5.40 -20.7130 +5.44 -20.7993 +5.48 -20.9603 +5.52 -21.1472 +5.56 -21.2921 +5.60 -21.3746 +5.64 -21.4107 +5.68 -21.4301 +5.72 -21.4547 +5.76 -21.5029 +5.80 -21.5726 +5.84 -21.6281 +5.88 -21.6600 +5.92 -21.6782 +5.96 -21.6885 +6.00 -21.7067 +6.04 -21.7277 +6.08 -21.7494 +6.12 -21.7574 +6.16 -21.7680 +6.20 -21.7877 +6.24 -21.8248 +6.28 -21.8893 +6.32 -21.9727 +6.36 -22.0680 +6.40 -22.1536 +6.44 -22.2272 +6.48 -22.2797 +6.52 -22.3195 +6.56 -22.3434 +6.60 -22.3570 +6.64 -22.3622 +6.68 -22.3553 +6.72 -22.3501 +6.76 -22.3409 +6.80 -22.3324 +6.84 -22.3309 +6.88 -22.3340 +6.92 -22.3443 +6.96 -22.3580 +7.00 -22.3758 +7.04 -22.4007 +7.08 -22.4264 +7.12 -22.4606 +7.16 -22.4953 +7.20 -22.5331 +7.24 -22.5666 +7.28 -22.5865 +7.32 -22.6018 +7.36 -22.6128 +7.40 -22.6215 +7.44 -22.6209 +7.48 -22.6164 +7.52 -22.6101 +7.56 -22.6019 +7.60 -22.5907 +7.64 -22.5782 +7.68 -22.5715 +7.72 -22.5577 +7.76 -22.5421 +7.80 -22.5275 +7.84 -22.5143 +7.88 -22.4980 +7.92 -22.4822 +7.96 -22.4671 +8.00 -22.4508 +8.04 -22.4375 +8.08 -22.4215 +8.12 -22.4056 +8.16 -22.3893 diff --git a/inputs/cooling_tables/sutherland_dopita.cooling b/inputs/cooling_tables/sutherland_dopita.cooling deleted file mode 100644 index 5e329103..00000000 --- a/inputs/cooling_tables/sutherland_dopita.cooling +++ /dev/null @@ -1,782 +0,0 @@ -# Cooling table for solar metallicity, 1/3 solar metallicity -# (adapted from PLUTO code by Deovrat Prasad) -# temperature log(K), cooling rate/ne^3 (erg cm^3/s) -# This is the cooling table based on Sutherland & Dopita (1993), ApJ, 88, 253 -# logT 1/3 solar 1 solar -3.0064233e+00 -2.4478679e+01 -2.4024876e+01 -3.0154017e+00 -2.4475474e+01 -2.4022199e+01 -3.0244036e+00 -2.4472293e+01 -2.4019538e+01 -3.0333835e+00 -2.4469109e+01 -2.4016884e+01 -3.0424180e+00 -2.4465936e+01 -2.4014241e+01 -3.0513841e+00 -2.4462760e+01 -2.4011606e+01 -3.0603956e+00 -2.4459595e+01 -2.4008978e+01 -3.0694091e+00 -2.4456416e+01 -2.4006361e+01 -3.0783843e+00 -2.4453248e+01 -2.4003747e+01 -3.0873909e+00 -2.4450078e+01 -2.4001139e+01 -3.0963885e+00 -2.4446918e+01 -2.3998526e+01 -3.1053739e+00 -2.4443746e+01 -2.3995937e+01 -3.1143774e+00 -2.4440572e+01 -2.3993363e+01 -3.1233616e+00 -2.4437398e+01 -2.3990762e+01 -3.1323878e+00 -2.4434223e+01 -2.3988176e+01 -3.1413557e+00 -2.4431036e+01 -2.3985563e+01 -3.1503573e+00 -2.4427861e+01 -2.3983008e+01 -3.1593566e+00 -2.4424662e+01 -2.3980427e+01 -3.1683501e+00 -2.4421464e+01 -2.3977819e+01 -3.1773633e+00 -2.4418266e+01 -2.3975227e+01 -3.1863629e+00 -2.4415036e+01 -2.3972610e+01 -3.1953461e+00 -2.4411818e+01 -2.3970008e+01 -3.2043642e+00 -2.4408568e+01 -2.3967381e+01 -3.2133584e+00 -2.4405320e+01 -2.3964770e+01 -3.2223522e+00 -2.4402053e+01 -2.3962135e+01 -3.2313421e+00 -2.4398766e+01 -2.3959516e+01 -3.2403495e+00 -2.4395472e+01 -2.3956834e+01 -3.2493451e+00 -2.4392395e+01 -2.3954403e+01 -3.2583259e+00 -2.4388999e+01 -2.3951636e+01 -3.2673360e+00 -2.4385662e+01 -2.3948963e+01 -3.2763239e+00 -2.4382266e+01 -2.3946192e+01 -3.2853322e+00 -2.4378876e+01 -2.3943476e+01 -3.2943339e+00 -2.4375439e+01 -2.3940664e+01 -3.3033257e+00 -2.4371989e+01 -2.3937869e+01 -3.3123255e+00 -2.4368516e+01 -2.3935056e+01 -3.3213084e+00 -2.4365009e+01 -2.3932185e+01 -3.3303123e+00 -2.4361481e+01 -2.3929297e+01 -3.3393123e+00 -2.4357921e+01 -2.3926355e+01 -3.3483049e+00 -2.4354332e+01 -2.3923396e+01 -3.3573058e+00 -2.4350714e+01 -2.3920385e+01 -3.3663109e+00 -2.4347038e+01 -2.3917286e+01 -3.3752977e+00 -2.4343308e+01 -2.3914174e+01 -3.3842996e+00 -2.4339533e+01 -2.3910978e+01 -3.3932944e+00 -2.4335697e+01 -2.3907771e+01 -3.4022958e+00 -2.4331810e+01 -2.3904447e+01 -3.4112998e+00 -2.4327856e+01 -2.3901114e+01 -3.4202859e+00 -2.4323846e+01 -2.3897669e+01 -3.4292838e+00 -2.4319764e+01 -2.3894183e+01 -3.4382891e+00 -2.4315621e+01 -2.3890590e+01 -3.4472821e+00 -2.4311402e+01 -2.3886926e+01 -3.4562749e+00 -2.4307100e+01 -2.3883193e+01 -3.4652787e+00 -2.4302727e+01 -2.3879327e+01 -3.4742746e+00 -2.4298268e+01 -2.3875398e+01 -3.4832734e+00 -2.4293726e+01 -2.3871375e+01 -3.4922714e+00 -2.4289088e+01 -2.3867228e+01 -3.5012647e+00 -2.4284364e+01 -2.3862963e+01 -3.5102634e+00 -2.4279535e+01 -2.3858582e+01 -3.5192634e+00 -2.4274595e+01 -2.3854089e+01 -3.5282609e+00 -2.4269557e+01 -2.3849458e+01 -3.5372523e+00 -2.4264401e+01 -2.3844694e+01 -3.5462465e+00 -2.4259124e+01 -2.3839802e+01 -3.5552517e+00 -2.4253732e+01 -2.3834756e+01 -3.5642517e+00 -2.4248221e+01 -2.3829533e+01 -3.5732430e+00 -2.4242574e+01 -2.3824169e+01 -3.5822452e+00 -2.4236774e+01 -2.3818642e+01 -3.5912427e+00 -2.4230837e+01 -2.3812902e+01 -3.6002321e+00 -2.4224746e+01 -2.3807015e+01 -3.6092315e+00 -2.4218503e+01 -2.3800931e+01 -3.6182260e+00 -2.4212100e+01 -2.3794633e+01 -3.6272327e+00 -2.4205533e+01 -2.3788132e+01 -3.6362270e+00 -2.4198795e+01 -2.3781438e+01 -3.6452257e+00 -2.4190723e+01 -2.3773117e+01 -3.6542247e+00 -2.4183447e+01 -2.3765787e+01 -3.6632202e+00 -2.4175972e+01 -2.3758180e+01 -3.6722180e+00 -2.4168277e+01 -2.3750313e+01 -3.6812141e+00 -2.4160359e+01 -2.3742153e+01 -3.6902049e+00 -2.4152205e+01 -2.3733745e+01 -3.6992045e+00 -2.4143815e+01 -2.3725034e+01 -3.7081999e+00 -2.4135175e+01 -2.3716021e+01 -3.7172043e+00 -2.4126273e+01 -2.3706682e+01 -3.7261973e+00 -2.4117100e+01 -2.3697042e+01 -3.7351995e+00 -2.4107638e+01 -2.3687040e+01 -3.7441912e+00 -2.4097872e+01 -2.3676686e+01 -3.7531922e+00 -2.4087778e+01 -2.3665949e+01 -3.7621907e+00 -2.4077342e+01 -2.3654803e+01 -3.7711831e+00 -2.4066538e+01 -2.3643248e+01 -3.7801804e+00 -2.4055340e+01 -2.3631248e+01 -3.7891787e+00 -2.4043711e+01 -2.3618777e+01 -3.7981809e+00 -2.4031629e+01 -2.3605794e+01 -3.8071764e+00 -2.4019047e+01 -2.3592286e+01 -3.8161750e+00 -2.4005943e+01 -2.3578248e+01 -3.8251729e+00 -2.3992252e+01 -2.3563631e+01 -3.8341663e+00 -2.3977984e+01 -2.3548428e+01 -3.8431642e+00 -2.3963012e+01 -2.3532614e+01 -3.8521627e+00 -2.3947421e+01 -2.3516284e+01 -3.8611579e+00 -2.3930924e+01 -2.3499160e+01 -3.8701580e+00 -2.3913533e+01 -2.3481302e+01 -3.8791532e+00 -2.3895103e+01 -2.3462697e+01 -3.8881514e+00 -2.3875561e+01 -2.3443275e+01 -3.8971486e+00 -2.3854773e+01 -2.3423014e+01 -3.9061464e+00 -2.3832535e+01 -2.3401844e+01 -3.9151412e+00 -2.3808773e+01 -2.3379729e+01 -3.9241397e+00 -2.3783254e+01 -2.3356616e+01 -3.9331379e+00 -2.3755896e+01 -2.3332482e+01 -3.9421371e+00 -2.3726466e+01 -2.3307285e+01 -3.9511334e+00 -2.3694864e+01 -2.3280984e+01 -3.9601282e+00 -2.3660946e+01 -2.3253560e+01 -3.9691269e+00 -2.3626886e+01 -2.3227869e+01 -3.9781257e+00 -2.3587976e+01 -2.3198123e+01 -3.9871208e+00 -2.3546269e+01 -2.3166898e+01 -3.9961175e+00 -2.3501855e+01 -2.3134280e+01 -4.0051376e+00 -2.3455015e+01 -2.3100163e+01 -4.0141003e+00 -2.3405099e+01 -2.3064503e+01 -4.0231289e+00 -2.3352686e+01 -2.3027274e+01 -4.0320947e+00 -2.3297880e+01 -2.2988430e+01 -4.0411162e+00 -2.3240884e+01 -2.2947999e+01 -4.0501090e+00 -2.3181926e+01 -2.2905878e+01 -4.0591088e+00 -2.3121266e+01 -2.2862203e+01 -4.0681116e+00 -2.3059200e+01 -2.2816987e+01 -4.0771134e+00 -2.2996066e+01 -2.2770446e+01 -4.0861106e+00 -2.2932111e+01 -2.2722437e+01 -4.0950996e+00 -2.2867676e+01 -2.2673234e+01 -4.1040772e+00 -2.2803078e+01 -2.2623022e+01 -4.1130739e+00 -2.2738642e+01 -2.2572076e+01 -4.1220848e+00 -2.2674649e+01 -2.2520338e+01 -4.1310730e+00 -2.2611686e+01 -2.2468726e+01 -4.1400679e+00 -2.2550013e+01 -2.2417221e+01 -4.1490651e+00 -2.2490233e+01 -2.2366521e+01 -4.1580608e+00 -2.2432797e+01 -2.2317025e+01 -4.1670809e+00 -2.2378325e+01 -2.2269347e+01 -4.1760623e+00 -2.2327505e+01 -2.2224026e+01 -4.1850603e+00 -2.2281067e+01 -2.2182091e+01 -4.1940701e+00 -2.2239615e+01 -2.2144202e+01 -4.2030601e+00 -2.2167274e+01 -2.2083372e+01 -4.2120544e+00 -2.2127989e+01 -2.2046956e+01 -4.2210489e+00 -2.2094112e+01 -2.2015099e+01 -4.2300400e+00 -2.2065896e+01 -2.1988134e+01 -4.2390491e+00 -2.2043452e+01 -2.1966134e+01 -4.2480469e+00 -2.2026484e+01 -2.1948616e+01 -4.2570543e+00 -2.2015104e+01 -2.1936291e+01 -4.2660434e+00 -2.2008663e+01 -2.1928228e+01 -4.2750348e+00 -2.2006595e+01 -2.1923906e+01 -4.2840245e+00 -2.2008278e+01 -2.1922741e+01 -4.2930309e+00 -2.2013094e+01 -2.1924088e+01 -4.3020277e+00 -2.2020433e+01 -2.1927383e+01 -4.3110330e+00 -2.2029751e+01 -2.1932111e+01 -4.3200216e+00 -2.2040544e+01 -2.1937719e+01 -4.3290316e+00 -2.2052380e+01 -2.1943820e+01 -4.3380180e+00 -2.2064886e+01 -2.1950085e+01 -4.3470176e+00 -2.2077737e+01 -2.1956206e+01 -4.3560067e+00 -2.2090658e+01 -2.1961976e+01 -4.3650197e+00 -2.2103413e+01 -2.1967140e+01 -4.3740147e+00 -2.2115805e+01 -2.1971591e+01 -4.3830070e+00 -2.2127646e+01 -2.1975145e+01 -4.3920107e+00 -2.2138812e+01 -2.1977819e+01 -4.4010040e+00 -2.2149188e+01 -2.1979473e+01 -4.4100007e+00 -2.2158641e+01 -2.1980053e+01 -4.4189969e+00 -2.2167095e+01 -2.1979556e+01 -4.4279889e+00 -2.2174515e+01 -2.1977984e+01 -4.4369891e+00 -2.2180693e+01 -2.1974981e+01 -4.4459932e+00 -2.2185926e+01 -2.1971225e+01 -4.4549820e+00 -2.2190265e+01 -2.1966616e+01 -4.4639825e+00 -2.2193298e+01 -2.1961141e+01 -4.4729757e+00 -2.2194723e+01 -2.1954325e+01 -4.4819726e+00 -2.2195200e+01 -2.1946614e+01 -4.4909693e+00 -2.2195186e+01 -2.1938246e+01 -4.4999756e+00 -2.2194812e+01 -2.1929408e+01 -4.5089739e+00 -2.2193698e+01 -2.1919987e+01 -4.5179608e+00 -2.2192025e+01 -2.1910024e+01 -4.5269593e+00 -2.2190427e+01 -2.1899871e+01 -4.5359647e+00 -2.2188217e+01 -2.1889208e+01 -4.5449605e+00 -2.2185593e+01 -2.1878210e+01 -4.5539558e+00 -2.2182494e+01 -2.1866749e+01 -4.5629587e+00 -2.2179615e+01 -2.1855332e+01 -4.5719533e+00 -2.2175451e+01 -2.1843178e+01 -4.5809478e+00 -2.2171585e+01 -2.1831120e+01 -4.5899496e+00 -2.2166929e+01 -2.1818614e+01 -4.5989436e+00 -2.2161132e+01 -2.1805541e+01 -4.6079373e+00 -2.2155510e+01 -2.1792527e+01 -4.6169374e+00 -2.2148925e+01 -2.1778977e+01 -4.6259295e+00 -2.2141120e+01 -2.1764876e+01 -4.6349305e+00 -2.2133217e+01 -2.1750655e+01 -4.6439262e+00 -2.2123996e+01 -2.1735914e+01 -4.6529229e+00 -2.2114147e+01 -2.1720858e+01 -4.6619262e+00 -2.2103518e+01 -2.1705468e+01 -4.6709228e+00 -2.2092030e+01 -2.1689732e+01 -4.6799182e+00 -2.2079835e+01 -2.1673849e+01 -4.6889179e+00 -2.2066619e+01 -2.1657459e+01 -4.6979090e+00 -2.2052522e+01 -2.1640753e+01 -4.7069140e+00 -2.2034963e+01 -2.1622767e+01 -4.7159115e+00 -2.2018172e+01 -2.1605128e+01 -4.7249064e+00 -2.2001183e+01 -2.1587472e+01 -4.7339031e+00 -2.1983301e+01 -2.1569538e+01 -4.7428979e+00 -2.1964530e+01 -2.1551340e+01 -4.7518947e+00 -2.1944966e+01 -2.1532940e+01 -4.7608972e+00 -2.1924599e+01 -2.1514293e+01 -4.7698940e+00 -2.1903368e+01 -2.1495407e+01 -4.7788889e+00 -2.1881636e+01 -2.1476423e+01 -4.7878854e+00 -2.1859461e+01 -2.1457336e+01 -4.7968864e+00 -2.1836928e+01 -2.1438231e+01 -4.8058813e+00 -2.1814005e+01 -2.1419440e+01 -4.8148799e+00 -2.1791021e+01 -2.1400455e+01 -4.8238783e+00 -2.1768097e+01 -2.1381638e+01 -4.8328728e+00 -2.1745404e+01 -2.1363071e+01 -4.8418723e+00 -2.1723492e+01 -2.1345025e+01 -4.8508667e+00 -2.1702480e+01 -2.1327560e+01 -4.8598645e+00 -2.1682564e+01 -2.1310789e+01 -4.8688618e+00 -2.1664301e+01 -2.1294975e+01 -4.8778607e+00 -2.1646892e+01 -2.1279708e+01 -4.8868572e+00 -2.1630933e+01 -2.1265296e+01 -4.8958533e+00 -2.1616400e+01 -2.1251711e+01 -4.9048507e+00 -2.1603260e+01 -2.1238922e+01 -4.9138509e+00 -2.1591573e+01 -2.1226923e+01 -4.9228448e+00 -2.1581053e+01 -2.1215682e+01 -4.9318442e+00 -2.1571703e+01 -2.1205205e+01 -4.9408401e+00 -2.1563456e+01 -2.1195499e+01 -4.9498387e+00 -2.1556236e+01 -2.1186613e+01 -4.9588361e+00 -2.1550013e+01 -2.1178585e+01 -4.9678334e+00 -2.1544759e+01 -2.1171495e+01 -4.9768312e+00 -2.1540487e+01 -2.1165427e+01 -4.9858305e+00 -2.1537153e+01 -2.1160434e+01 -4.9948273e+00 -2.1534781e+01 -2.1156593e+01 -5.0038051e+00 -2.1533607e+01 -2.1154226e+01 -5.0128372e+00 -2.1533088e+01 -2.1152717e+01 -5.0218093e+00 -2.1534558e+01 -2.1152748e+01 -5.0308020e+00 -2.1535898e+01 -2.1153484e+01 -5.0398106e+00 -2.1537452e+01 -2.1154747e+01 -5.0487913e+00 -2.1539343e+01 -2.1156512e+01 -5.0578182e+00 -2.1541241e+01 -2.1158515e+01 -5.0668103e+00 -2.1543163e+01 -2.1160491e+01 -5.0758024e+00 -2.1544820e+01 -2.1162191e+01 -5.0847907e+00 -2.1546070e+01 -2.1163423e+01 -5.0938068e+00 -2.1546789e+01 -2.1164031e+01 -5.1028109e+00 -2.1546911e+01 -2.1163929e+01 -5.1118000e+00 -2.1546422e+01 -2.1163075e+01 -5.1208042e+00 -2.1545308e+01 -2.1161472e+01 -5.1297865e+00 -2.1543619e+01 -2.1159167e+01 -5.1387762e+00 -2.1541407e+01 -2.1156232e+01 -5.1477690e+00 -2.1538757e+01 -2.1152761e+01 -5.1567914e+00 -2.1535734e+01 -2.1148840e+01 -5.1657783e+00 -2.1532436e+01 -2.1144596e+01 -5.1747864e+00 -2.1528958e+01 -2.1140123e+01 -5.1837822e+00 -2.1525361e+01 -2.1135530e+01 -5.1927625e+00 -2.1521765e+01 -2.1130933e+01 -5.2017521e+00 -2.1518214e+01 -2.1126412e+01 -5.2107732e+00 -2.1514804e+01 -2.1122059e+01 -5.2197678e+00 -2.1511576e+01 -2.1117937e+01 -5.2287596e+00 -2.1508582e+01 -2.1114091e+01 -5.2377448e+00 -2.1505818e+01 -2.1110536e+01 -5.2467447e+00 -2.1503306e+01 -2.1107266e+01 -5.2557548e+00 -2.1501001e+01 -2.1104241e+01 -5.2647470e+00 -2.1498872e+01 -2.1101412e+01 -5.2737418e+00 -2.1496863e+01 -2.1098705e+01 -5.2827354e+00 -2.1498982e+01 -2.1097671e+01 -5.2917461e+00 -2.1496809e+01 -2.1094911e+01 -5.3007259e+00 -2.1494606e+01 -2.1092116e+01 -5.3097366e+00 -2.1492414e+01 -2.1089296e+01 -5.3187310e+00 -2.1490273e+01 -2.1086483e+01 -5.3277267e+00 -2.1488237e+01 -2.1083751e+01 -5.3367198e+00 -2.1486370e+01 -2.1081205e+01 -5.3457265e+00 -2.1484802e+01 -2.1078969e+01 -5.3547229e+00 -2.1483663e+01 -2.1077223e+01 -5.3637248e+00 -2.1483108e+01 -2.1076160e+01 -5.3727095e+00 -2.1483332e+01 -2.1076016e+01 -5.3817106e+00 -2.1484550e+01 -2.1077057e+01 -5.3907055e+00 -2.1486982e+01 -2.1079558e+01 -5.3997083e+00 -2.1490878e+01 -2.1083825e+01 -5.4086978e+00 -2.1496482e+01 -2.1090145e+01 -5.4177041e+00 -2.1503970e+01 -2.1098787e+01 -5.4267064e+00 -2.1513499e+01 -2.1109954e+01 -5.4357011e+00 -2.1525158e+01 -2.1123759e+01 -5.4447004e+00 -2.1538907e+01 -2.1140219e+01 -5.4536852e+00 -2.1554614e+01 -2.1159198e+01 -5.4626824e+00 -2.1572011e+01 -2.1180423e+01 -5.4716877e+00 -2.1590743e+01 -2.1203502e+01 -5.4806823e+00 -2.1610409e+01 -2.1227935e+01 -5.4896773e+00 -2.1630580e+01 -2.1253187e+01 -5.4986826e+00 -2.1650781e+01 -2.1278692e+01 -5.5076805e+00 -2.1670643e+01 -2.1303932e+01 -5.5166676e+00 -2.1689838e+01 -2.1328438e+01 -5.5256666e+00 -2.1708121e+01 -2.1351845e+01 -5.5346733e+00 -2.1725311e+01 -2.1373855e+01 -5.5436708e+00 -2.1741315e+01 -2.1394286e+01 -5.5526682e+00 -2.1756218e+01 -2.1413087e+01 -5.5616618e+00 -2.1769628e+01 -2.1429994e+01 -5.5706597e+00 -2.1782095e+01 -2.1445293e+01 -5.5796579e+00 -2.1793147e+01 -2.1458745e+01 -5.5886526e+00 -2.1803382e+01 -2.1470685e+01 -5.5976513e+00 -2.1812479e+01 -2.1481013e+01 -5.6066500e+00 -2.1820879e+01 -2.1490018e+01 -5.6156450e+00 -2.1828303e+01 -2.1497641e+01 -5.6246430e+00 -2.1835053e+01 -2.1504151e+01 -5.6336401e+00 -2.1841065e+01 -2.1509592e+01 -5.6426327e+00 -2.1846551e+01 -2.1514165e+01 -5.6516365e+00 -2.1851613e+01 -2.1518013e+01 -5.6606284e+00 -2.1856298e+01 -2.1521289e+01 -5.6696237e+00 -2.1860751e+01 -2.1524155e+01 -5.6786276e+00 -2.1865090e+01 -2.1526747e+01 -5.6876181e+00 -2.1869377e+01 -2.1529251e+01 -5.6966185e+00 -2.1873739e+01 -2.1531830e+01 -5.7056157e+00 -2.1879294e+01 -2.1535108e+01 -5.7146147e+00 -2.1885389e+01 -2.1538862e+01 -5.7236116e+00 -2.1891841e+01 -2.1543179e+01 -5.7326109e+00 -2.1898769e+01 -2.1548214e+01 -5.7416085e+00 -2.1906333e+01 -2.1554085e+01 -5.7506010e+00 -2.1914531e+01 -2.1560888e+01 -5.7595999e+00 -2.1923396e+01 -2.1568652e+01 -5.7686011e+00 -2.1932929e+01 -2.1577312e+01 -5.7775935e+00 -2.1943019e+01 -2.1586751e+01 -5.7865953e+00 -2.1953544e+01 -2.1596742e+01 -5.7955881e+00 -2.1964250e+01 -2.1607004e+01 -5.8045892e+00 -2.1974899e+01 -2.1617191e+01 -5.8135877e+00 -2.1985311e+01 -2.1627033e+01 -5.8225799e+00 -2.1995249e+01 -2.1636256e+01 -5.8315819e+00 -2.2004571e+01 -2.1644625e+01 -5.8405765e+00 -2.2013197e+01 -2.1652007e+01 -5.8495730e+00 -2.2021062e+01 -2.1658368e+01 -5.8585733e+00 -2.2028172e+01 -2.1663700e+01 -5.8675677e+00 -2.2034573e+01 -2.1668107e+01 -5.8765642e+00 -2.2040324e+01 -2.1671661e+01 -5.8855647e+00 -2.2045526e+01 -2.1674525e+01 -5.8945597e+00 -2.2050278e+01 -2.1676851e+01 -5.9035566e+00 -2.2054689e+01 -2.1678754e+01 -5.9125568e+00 -2.2058861e+01 -2.1680436e+01 -5.9215512e+00 -2.2062909e+01 -2.1681999e+01 -5.9305517e+00 -2.2066923e+01 -2.1683589e+01 -5.9395492e+00 -2.2071005e+01 -2.1685332e+01 -5.9485450e+00 -2.2075230e+01 -2.1687336e+01 -5.9575450e+00 -2.2079673e+01 -2.1689689e+01 -5.9665406e+00 -2.2084379e+01 -2.1692440e+01 -5.9755375e+00 -2.2089386e+01 -2.1695617e+01 -5.9845363e+00 -2.2094701e+01 -2.1699252e+01 -5.9935332e+00 -2.2100305e+01 -2.1703313e+01 -6.0025116e+00 -2.2106177e+01 -2.1707744e+01 -6.0115282e+00 -2.2112265e+01 -2.1712489e+01 -6.0205270e+00 -2.2118518e+01 -2.1717469e+01 -6.0295055e+00 -2.2124158e+01 -2.1722368e+01 -6.0385009e+00 -2.2131009e+01 -2.1727787e+01 -6.0475085e+00 -2.2137773e+01 -2.1733228e+01 -6.0565237e+00 -2.2144463e+01 -2.1738666e+01 -6.0655050e+00 -2.2151054e+01 -2.1744028e+01 -6.0745239e+00 -2.2157541e+01 -2.1749336e+01 -6.0835026e+00 -2.2163936e+01 -2.1754586e+01 -6.0925101e+00 -2.2170253e+01 -2.1759825e+01 -6.1015065e+00 -2.2176513e+01 -2.1765027e+01 -6.1104887e+00 -2.2182745e+01 -2.1770267e+01 -6.1194868e+00 -2.2188995e+01 -2.1775571e+01 -6.1284962e+00 -2.2195309e+01 -2.1781018e+01 -6.1374807e+00 -2.2201736e+01 -2.1786668e+01 -6.1465001e+00 -2.2208344e+01 -2.1792554e+01 -6.1554879e+00 -2.2215190e+01 -2.1798794e+01 -6.1644718e+00 -2.2222334e+01 -2.1805458e+01 -6.1734776e+00 -2.2229848e+01 -2.1812592e+01 -6.1824717e+00 -2.2237802e+01 -2.1820305e+01 -6.1914790e+00 -2.2246241e+01 -2.1828654e+01 -6.2004674e+00 -2.2255230e+01 -2.1837704e+01 -6.2094614e+00 -2.2264824e+01 -2.1847498e+01 -6.2184567e+00 -2.2275061e+01 -2.1858143e+01 -6.2274753e+00 -2.2285972e+01 -2.1869666e+01 -6.2364617e+00 -2.2297595e+01 -2.1882099e+01 -6.2454633e+00 -2.2309955e+01 -2.1895479e+01 -6.2544514e+00 -2.2323050e+01 -2.1909777e+01 -6.2634467e+00 -2.2336884e+01 -2.1925110e+01 -6.2724450e+00 -2.2351425e+01 -2.1941346e+01 -6.2814425e+00 -2.2366622e+01 -2.1958489e+01 -6.2904353e+00 -2.2382413e+01 -2.1976459e+01 -6.2994419e+00 -2.2398712e+01 -2.1995163e+01 -6.3084363e+00 -2.2415409e+01 -2.2014520e+01 -6.3174365e+00 -2.2432409e+01 -2.2034361e+01 -6.3264383e+00 -2.2449576e+01 -2.2054571e+01 -6.3354378e+00 -2.2466813e+01 -2.2075023e+01 -6.3444316e+00 -2.2484020e+01 -2.2095609e+01 -6.3534353e+00 -2.2501097e+01 -2.2116219e+01 -6.3624259e+00 -2.2518070e+01 -2.2136820e+01 -6.3714189e+00 -2.2534573e+01 -2.2157197e+01 -6.3804102e+00 -2.2551186e+01 -2.2177551e+01 -6.3894142e+00 -2.2567223e+01 -2.2197548e+01 -6.3984088e+00 -2.2582944e+01 -2.2217226e+01 -6.4074079e+00 -2.2598117e+01 -2.2236467e+01 -6.4164075e+00 -2.2612806e+01 -2.2255191e+01 -6.4254038e+00 -2.2626922e+01 -2.2273322e+01 -6.4344092e+00 -2.2640430e+01 -2.2290798e+01 -6.4434038e+00 -2.2653315e+01 -2.2307567e+01 -6.4523998e+00 -2.2665566e+01 -2.2323608e+01 -6.4613935e+00 -2.2677161e+01 -2.2338898e+01 -6.4703958e+00 -2.2688077e+01 -2.2353390e+01 -6.4793881e+00 -2.2698406e+01 -2.2367168e+01 -6.4883815e+00 -2.2708121e+01 -2.2380218e+01 -6.4973858e+00 -2.2717242e+01 -2.2392524e+01 -6.5063833e+00 -2.2725796e+01 -2.2404129e+01 -6.5153837e+00 -2.2733792e+01 -2.2415047e+01 -6.5243831e+00 -2.2741291e+01 -2.2425309e+01 -6.5333780e+00 -2.2748240e+01 -2.2434884e+01 -6.5423772e+00 -2.2754685e+01 -2.2443806e+01 -6.5513646e+00 -2.2760625e+01 -2.2452102e+01 -6.5603610e+00 -2.2766091e+01 -2.2459733e+01 -6.5693622e+00 -2.2770958e+01 -2.2466686e+01 -6.5783641e+00 -2.2775622e+01 -2.2473170e+01 -6.5873629e+00 -2.2779604e+01 -2.2478940e+01 -6.5963551e+00 -2.2783412e+01 -2.2484232e+01 -6.6053482e+00 -2.2786535e+01 -2.2488839e+01 -6.6143487e+00 -2.2789521e+01 -2.2493049e+01 -6.6233527e+00 -2.2791908e+01 -2.2496632e+01 -6.6323459e+00 -2.2794173e+01 -2.2499805e+01 -6.6413452e+00 -2.2795826e+01 -2.2502448e+01 -6.6503367e+00 -2.2797430e+01 -2.2504789e+01 -6.6593361e+00 -2.2798521e+01 -2.2506626e+01 -6.6683300e+00 -2.2799560e+01 -2.2508190e+01 -6.6773332e+00 -2.2800135e+01 -2.2509311e+01 -6.6863323e+00 -2.2800656e+01 -2.2510224e+01 -6.6953240e+00 -2.2800739e+01 -2.2510717e+01 -6.7043221e+00 -2.2800848e+01 -2.2511055e+01 -6.7133225e+00 -2.2800547e+01 -2.2511055e+01 -6.7223212e+00 -2.2800245e+01 -2.2510900e+01 -6.7313147e+00 -2.2799587e+01 -2.2510463e+01 -6.7403153e+00 -2.2798958e+01 -2.2509901e+01 -6.7493111e+00 -2.2798057e+01 -2.2509143e+01 -6.7583062e+00 -2.2797212e+01 -2.2508372e+01 -6.7673043e+00 -2.2796097e+01 -2.2507407e+01 -6.7763016e+00 -2.2795039e+01 -2.2506430e+01 -6.7853014e+00 -2.2793795e+01 -2.2505345e+01 -6.7942998e+00 -2.2792635e+01 -2.2504289e+01 -6.8032932e+00 -2.2791290e+01 -2.2503167e+01 -6.8122915e+00 -2.2790083e+01 -2.2502158e+01 -6.8212908e+00 -2.2788719e+01 -2.2501097e+01 -6.8302871e+00 -2.2787546e+01 -2.2500230e+01 -6.8392832e+00 -2.2786217e+01 -2.2499297e+01 -6.8482815e+00 -2.2785024e+01 -2.2498544e+01 -6.8572782e+00 -2.2783755e+01 -2.2497819e+01 -6.8662755e+00 -2.2782648e+01 -2.2497259e+01 -6.8752755e+00 -2.2781464e+01 -2.2496754e+01 -6.8842685e+00 -2.2780442e+01 -2.2496454e+01 -6.8932678e+00 -2.2779343e+01 -2.2496209e+01 -6.9022640e+00 -2.2778429e+01 -2.2496168e+01 -6.9112642e+00 -2.2777466e+01 -2.2496209e+01 -6.9202590e+00 -2.2776660e+01 -2.2496468e+01 -6.9292554e+00 -2.2775830e+01 -2.2496795e+01 -6.9382545e+00 -2.2775105e+01 -2.2497341e+01 -6.9472523e+00 -2.2774536e+01 -2.2498092e+01 -6.9562501e+00 -2.2773942e+01 -2.2498982e+01 -6.9652488e+00 -2.2773503e+01 -2.2500107e+01 -6.9742445e+00 -2.2773220e+01 -2.2501496e+01 -6.9832428e+00 -2.2772936e+01 -2.2503070e+01 -6.9922397e+00 -2.2772833e+01 -2.2504955e+01 -7.0012576e+00 -2.2772911e+01 -2.2507128e+01 -7.0102151e+00 -2.2773065e+01 -2.2509578e+01 -7.0192410e+00 -2.2773400e+01 -2.2512381e+01 -7.0282458e+00 -2.2773942e+01 -2.2515586e+01 -7.0372272e+00 -2.2774613e+01 -2.2519117e+01 -7.0462219e+00 -2.2775467e+01 -2.2523024e+01 -7.0552254e+00 -2.2776504e+01 -2.2527331e+01 -7.0642333e+00 -2.2777700e+01 -2.2532022e+01 -7.0732050e+00 -2.2779056e+01 -2.2537093e+01 -7.0822107e+00 -2.2780546e+01 -2.2542527e+01 -7.0912096e+00 -2.2782200e+01 -2.2548352e+01 -7.1001982e+00 -2.2783940e+01 -2.2554458e+01 -7.1092072e+00 -2.2785739e+01 -2.2560825e+01 -7.1181986e+00 -2.2787653e+01 -2.2567480e+01 -7.1272020e+00 -2.2789521e+01 -2.2574254e+01 -7.1361813e+00 -2.2791397e+01 -2.2581169e+01 -7.1451964e+00 -2.2793255e+01 -2.2588162e+01 -7.1541804e+00 -2.2795012e+01 -2.2595115e+01 -7.1631912e+00 -2.2796695e+01 -2.2602043e+01 -7.1721941e+00 -2.2798193e+01 -2.2608835e+01 -7.1811859e+00 -2.2799587e+01 -2.2615503e+01 -7.1901916e+00 -2.2800821e+01 -2.2621929e+01 -7.1991790e+00 -2.2801838e+01 -2.2628120e+01 -7.2081725e+00 -2.2802664e+01 -2.2634044e+01 -7.2171680e+00 -2.2803299e+01 -2.2639653e+01 -7.2261615e+00 -2.2803713e+01 -2.2644932e+01 -7.2351748e+00 -2.2803934e+01 -2.2649868e+01 -7.2441534e+00 -2.2803934e+01 -2.2654430e+01 -7.2531683e+00 -2.2803741e+01 -2.2658684e+01 -7.2621662e+00 -2.2803354e+01 -2.2662581e+01 -7.2711676e+00 -2.2802775e+01 -2.2666150e+01 -7.2801457e+00 -2.2802031e+01 -2.2669404e+01 -7.2891428e+00 -2.2800986e+01 -2.2672008e+01 -7.2981542e+00 -2.2799861e+01 -2.2674566e+01 -7.3071536e+00 -2.2798603e+01 -2.2676830e+01 -7.3161382e+00 -2.2796885e+01 -2.2678029e+01 -7.3251461e+00 -2.2795283e+01 -2.2679604e+01 -7.3341319e+00 -2.2793552e+01 -2.2680915e+01 -7.3431328e+00 -2.2791693e+01 -2.2681958e+01 -7.3521246e+00 -2.2789708e+01 -2.2682752e+01 -7.3611232e+00 -2.2787626e+01 -2.2683317e+01 -7.3701243e+00 -2.2785421e+01 -2.2683631e+01 -7.3791241e+00 -2.2783096e+01 -2.2683757e+01 -7.3881190e+00 -2.2780704e+01 -2.2683652e+01 -7.3971228e+00 -2.2778221e+01 -2.2683380e+01 -7.4061142e+00 -2.2775622e+01 -2.2682898e+01 -7.4151070e+00 -2.2772936e+01 -2.2682166e+01 -7.4241136e+00 -2.2770190e+01 -2.2681332e+01 -7.4331135e+00 -2.2767385e+01 -2.2680353e+01 -7.4421033e+00 -2.2764497e+01 -2.2679210e+01 -7.4511107e+00 -2.2761552e+01 -2.2677925e+01 -7.4601007e+00 -2.2758553e+01 -2.2676500e+01 -7.4691000e+00 -2.2755451e+01 -2.2674957e+01 -7.4780901e+00 -2.2752346e+01 -2.2673275e+01 -7.4870959e+00 -2.2749165e+01 -2.2671478e+01 -7.4960851e+00 -2.2745960e+01 -2.2669566e+01 -7.5050821e+00 -2.2742681e+01 -2.2667562e+01 -7.5140827e+00 -2.2739356e+01 -2.2665446e+01 -7.5230828e+00 -2.2736009e+01 -2.2663220e+01 -7.5320789e+00 -2.2732594e+01 -2.2660926e+01 -7.5410798e+00 -2.2729181e+01 -2.2658526e+01 -7.5500815e+00 -2.2725680e+01 -2.2656060e+01 -7.5590683e+00 -2.2722207e+01 -2.2653510e+01 -7.5680726e+00 -2.2718648e+01 -2.2650878e+01 -7.5770665e+00 -2.2715096e+01 -2.2648165e+01 -7.5860694e+00 -2.2711482e+01 -2.2645411e+01 -7.5950661e+00 -2.2707855e+01 -2.2642580e+01 -7.6040640e+00 -2.2704191e+01 -2.2639691e+01 -7.6130592e+00 -2.2700536e+01 -2.2636745e+01 -7.6220585e+00 -2.2696804e+01 -2.2633745e+01 -7.6310479e+00 -2.2693103e+01 -2.2630691e+01 -7.6400539e+00 -2.2689349e+01 -2.2627604e+01 -7.6490426e+00 -2.2685585e+01 -2.2624464e+01 -7.6580400e+00 -2.2681791e+01 -2.2621275e+01 -7.6670418e+00 -2.2678008e+01 -2.2618037e+01 -7.6760348e+00 -2.2674156e+01 -2.2614769e+01 -7.6850338e+00 -2.2670338e+01 -2.2611473e+01 -7.6940345e+00 -2.2666472e+01 -2.2608130e+01 -7.7030333e+00 -2.2662621e+01 -2.2604778e+01 -7.7120264e+00 -2.2658724e+01 -2.2601366e+01 -7.7210270e+00 -2.2654842e+01 -2.2597962e+01 -7.7300228e+00 -2.2650936e+01 -2.2594500e+01 -7.7390182e+00 -2.2647027e+01 -2.2591048e+01 -7.7480174e+00 -2.2643095e+01 -2.2587556e+01 -7.7570162e+00 -2.2639179e+01 -2.2584059e+01 -7.7660111e+00 -2.2635224e+01 -2.2580523e+01 -7.7750130e+00 -2.2631267e+01 -2.2576984e+01 -7.7840036e+00 -2.2627309e+01 -2.2573424e+01 -7.7930007e+00 -2.2623350e+01 -2.2569877e+01 -7.8020002e+00 -2.2619373e+01 -2.2566294e+01 -7.8109982e+00 -2.2615396e+01 -2.2562709e+01 -7.8199977e+00 -2.2611402e+01 -2.2559107e+01 -7.8289948e+00 -2.2607426e+01 -2.2555502e+01 -7.8379922e+00 -2.2603417e+01 -2.2551881e+01 -7.8469862e+00 -2.2599427e+01 -2.2548275e+01 -7.8559853e+00 -2.2595423e+01 -2.2544637e+01 -7.8649855e+00 -2.2591421e+01 -2.2541015e+01 -7.8739829e+00 -2.2587388e+01 -2.2537362e+01 -7.8829797e+00 -2.2583376e+01 -2.2533726e+01 -7.8919777e+00 -2.2579351e+01 -2.2530075e+01 -7.9009731e+00 -2.2575347e+01 -2.2526425e+01 -7.9099677e+00 -2.2571315e+01 -2.2522777e+01 -7.9189682e+00 -2.2567287e+01 -2.2519117e+01 -7.9279654e+00 -2.2563249e+01 -2.2515444e+01 -7.9369609e+00 -2.2559217e+01 -2.2511788e+01 -7.9459607e+00 -2.2555159e+01 -2.2508120e+01 -7.9549561e+00 -2.2551124e+01 -2.2504456e+01 -7.9639530e+00 -2.2547079e+01 -2.2500780e+01 -7.9729523e+00 -2.2543027e+01 -2.2497109e+01 -7.9819499e+00 -2.2538967e+01 -2.2493427e+01 -7.9909468e+00 -2.2534930e+01 -2.2489737e+01 -7.9999435e+00 -2.2530856e+01 -2.2486050e+01 -8.0089407e+00 -2.2526805e+01 -2.2482356e+01 -8.0179511e+00 -2.2522734e+01 -2.2478653e+01 -8.0269416e+00 -2.2518658e+01 -2.2474955e+01 -8.0359498e+00 -2.2514577e+01 -2.2471238e+01 -8.0449315e+00 -2.2510506e+01 -2.2467526e+01 -8.0539232e+00 -2.2506416e+01 -2.2463795e+01 -8.0629203e+00 -2.2502324e+01 -2.2460071e+01 -8.0719188e+00 -2.2498243e+01 -2.2456329e+01 -8.0809150e+00 -2.2494145e+01 -2.2452582e+01 -8.0899051e+00 -2.2490045e+01 -2.2448831e+01 -8.0989205e+00 -2.2485931e+01 -2.2445063e+01 -8.1079219e+00 -2.2481828e+01 -2.2441291e+01 -8.1169065e+00 -2.2477712e+01 -2.2437517e+01 -8.1259040e+00 -2.2473583e+01 -2.2433716e+01 -8.1349099e+00 -2.2469467e+01 -2.2429924e+01 -8.1438888e+00 -2.2465327e+01 -2.2426108e+01 -8.1528996e+00 -2.2461188e+01 -2.2422290e+01 -8.1619068e+00 -2.2457050e+01 -2.2418460e+01 -8.1709068e+00 -2.2452902e+01 -2.2414618e+01 -8.1798963e+00 -2.2448745e+01 -2.2410766e+01 -8.1889004e+00 -2.2444579e+01 -2.2406902e+01 -8.1978868e+00 -2.2440417e+01 -2.2403029e+01 -8.2068798e+00 -2.2436246e+01 -2.2399136e+01 -8.2158754e+00 -2.2432068e+01 -2.2395245e+01 -8.2248696e+00 -2.2427884e+01 -2.2391335e+01 -8.2338841e+00 -2.2423693e+01 -2.2387407e+01 -8.2428643e+00 -2.2419497e+01 -2.2383482e+01 -8.2518571e+00 -2.2415296e+01 -2.2379531e+01 -8.2608581e+00 -2.2411090e+01 -2.2375574e+01 -8.2698630e+00 -2.2406869e+01 -2.2371611e+01 -8.2788679e+00 -2.2402645e+01 -2.2367624e+01 -8.2878689e+00 -2.2398418e+01 -2.2363632e+01 -8.2968626e+00 -2.2394189e+01 -2.2359628e+01 -8.3058456e+00 -2.2389947e+01 -2.2355621e+01 -8.3148570e+00 -2.2385704e+01 -2.2351591e+01 -8.3238500e+00 -2.2381450e+01 -2.2347551e+01 -8.3328423e+00 -2.2377196e+01 -2.2343499e+01 -8.3418498e+00 -2.2372931e+01 -2.2339438e+01 -8.3508486e+00 -2.2368658e+01 -2.2335367e+01 -8.3598355e+00 -2.2364386e+01 -2.2331288e+01 -8.3688259e+00 -2.2360105e+01 -2.2327191e+01 -8.3778342e+00 -2.2355808e+01 -2.2323078e+01 -8.3868377e+00 -2.2351513e+01 -2.2318967e+01 -8.3958329e+00 -2.2347212e+01 -2.2314832e+01 -8.4048166e+00 -2.2342906e+01 -2.2310700e+01 -8.4138193e+00 -2.2338585e+01 -2.2306546e+01 -8.4228196e+00 -2.2334269e+01 -2.2302387e+01 -8.4318139e+00 -2.2329940e+01 -2.2298208e+01 -8.4408147e+00 -2.2325607e+01 -2.2294025e+01 -8.4498177e+00 -2.2321263e+01 -2.2289832e+01 -8.4588040e+00 -2.2316917e+01 -2.2285628e+01 -8.4678004e+00 -2.2312560e+01 -2.2281415e+01 -8.4768027e+00 -2.2308203e+01 -2.2277185e+01 -8.4858066e+00 -2.2303836e+01 -2.2272955e+01 -8.4947944e+00 -2.2299461e+01 -2.2268709e+01 -8.5037907e+00 -2.2295078e+01 -2.2264449e+01 -8.5127911e+00 -2.2290688e+01 -2.2260182e+01 -8.5217916e+00 -2.2286291e+01 -2.2255903e+01 -8.5307886e+00 -2.2281889e+01 -2.2251618e+01 -8.5397784e+00 -2.2277481e+01 -2.2247314e+01 -8.5487824e+00 -2.2273061e+01 -2.2243007e+01 -8.5577838e+00 -2.2268637e+01 -2.2238689e+01 -8.5667791e+00 -2.2264202e+01 -2.2234361e+01 -8.5757765e+00 -2.2259764e+01 -2.2230017e+01 -8.5847721e+00 -2.2255316e+01 -2.2225673e+01 -8.5937733e+00 -2.2250859e+01 -2.2221313e+01 -8.6027651e+00 -2.2246394e+01 -2.2216933e+01 -8.6117658e+00 -2.2241929e+01 -2.2212554e+01 -8.6207605e+00 -2.2237449e+01 -2.2208169e+01 -8.6297561e+00 -2.2232963e+01 -2.2203766e+01 -8.6387587e+00 -2.2228464e+01 -2.2199359e+01 -8.6477545e+00 -2.2223960e+01 -2.2194934e+01 -8.6567496e+00 -2.2219445e+01 -2.2190508e+01 -8.6657498e+00 -2.2214927e+01 -2.2186059e+01 -8.6747418e+00 -2.2210391e+01 -2.2181609e+01 -8.6837403e+00 -2.2205854e+01 -2.2177139e+01 -8.6927412e+00 -2.2201301e+01 -2.2172663e+01 -8.7017406e+00 -2.2196741e+01 -2.2168175e+01 -8.7107349e+00 -2.2192167e+01 -2.2163670e+01 -8.7197289e+00 -2.2187588e+01 -2.2159160e+01 -8.7287270e+00 -2.2182997e+01 -2.2154635e+01 -8.7377252e+00 -2.2178395e+01 -2.2150096e+01 -8.7467276e+00 -2.2173783e+01 -2.2145548e+01 -8.7557224e+00 -2.2169155e+01 -2.2140988e+01 -8.7647215e+00 -2.2164519e+01 -2.2136415e+01 -8.7737133e+00 -2.2159875e+01 -2.2131826e+01 -8.7827162e+00 -2.2155212e+01 -2.2127226e+01 -8.7917117e+00 -2.2150544e+01 -2.2122617e+01 -8.8007102e+00 -2.2145858e+01 -2.2117988e+01 -8.8097078e+00 -2.2141162e+01 -2.2113351e+01 -8.8187008e+00 -2.2136451e+01 -2.2108697e+01 -8.8276987e+00 -2.2131732e+01 -2.2104025e+01 -8.8366975e+00 -2.2126993e+01 -2.2099343e+01 -8.8456932e+00 -2.2122243e+01 -2.2094647e+01 -8.8546946e+00 -2.2117475e+01 -2.2089936e+01 -8.8636916e+00 -2.2112698e+01 -2.2085207e+01 -8.8726864e+00 -2.2107900e+01 -2.2080462e+01 -8.8816870e+00 -2.2103088e+01 -2.2075705e+01 -8.8906836e+00 -2.2098258e+01 -2.2070929e+01 -8.8996783e+00 -2.2093417e+01 -2.2066133e+01 -8.9086780e+00 -2.2088555e+01 -2.2061325e+01 -8.9176735e+00 -2.2083678e+01 -2.2056496e+01 -8.9266716e+00 -2.2078782e+01 -2.2051651e+01 -8.9356685e+00 -2.2073869e+01 -2.2046787e+01 -8.9446652e+00 -2.2068934e+01 -2.2041905e+01 -8.9536631e+00 -2.2063979e+01 -2.2037006e+01 -8.9626581e+00 -2.2059011e+01 -2.2032082e+01 -8.9716562e+00 -2.2054015e+01 -2.2027140e+01 -8.9806532e+00 -2.2049003e+01 -2.2022180e+01 -8.9896545e+00 -2.2043966e+01 -2.2017195e+01 -8.9986516e+00 -2.2038911e+01 -2.2012191e+01 -9.0076624e+00 -2.2033835e+01 -2.2007159e+01 -9.0166573e+00 -2.2028729e+01 -2.2002111e+01 -9.0256335e+00 -2.2023604e+01 -2.1997057e+01 -9.0346285e+00 -2.2018453e+01 -2.1991954e+01 -9.0436373e+00 -2.2013278e+01 -2.1986826e+01 -9.0526170e+00 -2.2008079e+01 -2.1981674e+01 -9.0616409e+00 -2.2002850e+01 -2.1976501e+01 -9.0706288e+00 -2.1997575e+01 -2.1971307e+01 -9.0796153e+00 -2.1992295e+01 -2.1966054e+01 -9.0886321e+00 -2.1986994e+01 -2.1960824e+01 -9.0976043e+00 -2.1981674e+01 -2.1955539e+01 -9.1066328e+00 -2.1976295e+01 -2.1950201e+01 -9.1156105e+00 -2.1970900e+01 -2.1944889e+01 -9.1246020e+00 -2.1965452e+01 -2.1939491e+01 -9.1336028e+00 -2.1959991e+01 -2.1934084e+01 -9.1426084e+00 -2.1954481e+01 -2.1928670e+01 -9.1516150e+00 -2.1948963e+01 -2.1923178e+01 -9.1605886e+00 -2.1943400e+01 -2.1917681e+01 -9.1695863e+00 -2.1937794e+01 -2.1912148e+01 -9.1786029e+00 -2.1932148e+01 -2.1906578e+01 -9.1876053e+00 -2.1926465e+01 -2.1900976e+01 -9.1965907e+00 -2.1920746e+01 -2.1895308e+01 -9.2055833e+00 -2.1914995e+01 -2.1889612e+01 -9.2145790e+00 -2.1909213e+01 -2.1883891e+01 -9.2235738e+00 -2.1903368e+01 -2.1878145e+01 -9.2325896e+00 -2.1897498e+01 -2.1872312e+01 -9.2415714e+00 -2.1891570e+01 -2.1866493e+01 -9.2505664e+00 -2.1885589e+01 -2.1860593e+01 -9.2595700e+00 -2.1879591e+01 -2.1854648e+01 -9.2685780e+00 -2.1873544e+01 -2.1848661e+01 -9.2775634e+00 -2.1867420e+01 -2.1842634e+01 -9.2865687e+00 -2.1861255e+01 -2.1836570e+01 -9.2955671e+00 -2.1855052e+01 -2.1830443e+01 -9.3045552e+00 -2.1848814e+01 -2.1824256e+01 -9.3135509e+00 -2.1842483e+01 -2.1818042e+01 -9.3225501e+00 -2.1836123e+01 -2.1811775e+01 -9.3315488e+00 -2.1829709e+01 -2.1805430e+01 -9.3405433e+00 -2.1823243e+01 -2.1799040e+01 -9.3495495e+00 -2.1816702e+01 -2.1792608e+01 -9.3585440e+00 -2.1810117e+01 -2.1786111e+01 -9.3675423e+00 -2.1803465e+01 -2.1779578e+01 -9.3765405e+00 -2.1796777e+01 -2.1772962e+01 -9.3855348e+00 -2.1790003e+01 -2.1766293e+01 -9.3945392e+00 -2.1783148e+01 -2.1759551e+01 -9.4035323e+00 -2.1776270e+01 -2.1752763e+01 -9.4125277e+00 -2.1769296e+01 -2.1745887e+01 -9.4215217e+00 -2.1762255e+01 -2.1738975e+01 -9.4305265e+00 -2.1755179e+01 -2.1731984e+01 -9.4395222e+00 -2.1747997e+01 -2.1724919e+01 -9.4485208e+00 -2.1740765e+01 -2.1717809e+01 -9.4575186e+00 -2.1733439e+01 -2.1710612e+01 -9.4665117e+00 -2.1726073e+01 -2.1703335e+01 -9.4755114e+00 -2.1718603e+01 -2.1695984e+01 -9.4845134e+00 -2.1711080e+01 -2.1688585e+01 -9.4934999e+00 -2.1703466e+01 -2.1681081e+01 -9.5024954e+00 -2.1695768e+01 -2.1673521e+01 -9.5114957e+00 -2.1687992e+01 -2.1665868e+01 -9.5204966e+00 -2.1680145e+01 -2.1658150e+01 -9.5294945e+00 -2.1672212e+01 -2.1650353e+01 -9.5384858e+00 -2.1664201e+01 -2.1642465e+01 -9.5474916e+00 -2.1656099e+01 -2.1634493e+01 -9.5564834e+00 -2.1647914e+01 -2.1626444e+01 -9.5654818e+00 -2.1639634e+01 -2.1618307e+01 -9.5744827e+00 -2.1631267e+01 -2.1610090e+01 -9.5834822e+00 -2.1622821e+01 -2.1601782e+01 -9.5924766e+00 -2.1614287e+01 -2.1593375e+01 -9.6014733e+00 -2.1605653e+01 -2.1584893e+01 -9.6104685e+00 -2.1596931e+01 -2.1576312e+01 -9.6194690e+00 -2.1588111e+01 -2.1567640e+01 -9.6284605e+00 -2.1579186e+01 -2.1558871e+01 -9.6374597e+00 -2.1570183e+01 -2.1550013e+01 -9.6464625e+00 -2.1561078e+01 -2.1541060e+01 -9.6554554e+00 -2.1551881e+01 -2.1532007e+01 -9.6644539e+00 -2.1542572e+01 -2.1522864e+01 -9.6734541e+00 -2.1533177e+01 -2.1513612e+01 -9.6824520e+00 -2.1523676e+01 -2.1504275e+01 -9.6914440e+00 -2.1514066e+01 -2.1494823e+01 -9.7004441e+00 -2.1504372e+01 -2.1485280e+01 -9.7094396e+00 -2.1494565e+01 -2.1475643e+01 -9.7184353e+00 -2.1484656e+01 -2.1465898e+01 -9.7274355e+00 -2.1474644e+01 -2.1456044e+01 -9.7364363e+00 -2.1464529e+01 -2.1446093e+01 -9.7454340e+00 -2.1454309e+01 -2.1436045e+01 -9.7544248e+00 -2.1443987e+01 -2.1425876e+01 -9.7634280e+00 -2.1433563e+01 -2.1415612e+01 -9.7724244e+00 -2.1423026e+01 -2.1405254e+01 -9.7814179e+00 -2.1412390e+01 -2.1394770e+01 -9.7904189e+00 -2.1401636e+01 -2.1384197e+01 -9.7994164e+00 -2.1390790e+01 -2.1373506e+01 -9.8084136e+00 -2.1379822e+01 -2.1362720e+01 -9.8174067e+00 -2.1368759e+01 -2.1351816e+01 -9.8264053e+00 -2.1357585e+01 -2.1340807e+01 -9.8354052e+00 -2.1346305e+01 -2.1329698e+01 -9.8444026e+00 -2.1334916e+01 -2.1318478e+01 -9.8534001e+00 -2.1323425e+01 -2.1307153e+01 -9.8623938e+00 -2.1311829e+01 -2.1295721e+01 -9.8713919e+00 -2.1300119e+01 -2.1284180e+01 -9.8803905e+00 -2.1288311e+01 -2.1272540e+01 -9.8893858e+00 -2.1276388e+01 -2.1260784e+01 -9.8983851e+00 -2.1264369e+01 -2.1248929e+01 -9.9073845e+00 -2.1252239e+01 -2.1236969e+01 -9.9163802e+00 -2.1240007e+01 -2.1224900e+01 -9.9253791e+00 -2.1227671e+01 -2.1212724e+01 -9.9343772e+00 -2.1215233e+01 -2.1200453e+01 -9.9433708e+00 -2.1202691e+01 -2.1188070e+01 -9.9523710e+00 -2.1190050e+01 -2.1175588e+01 -9.9613689e+00 -2.1177302e+01 -2.1162999e+01 -9.9703655e+00 -2.1164455e+01 -2.1150310e+01 -9.9793617e+00 -2.1151509e+01 -2.1137523e+01 -9.9883583e+00 -2.1138466e+01 -2.1124632e+01 diff --git a/inputs/diffusion.in b/inputs/diffusion.in index 543f6f12..d177c9e9 100644 --- a/inputs/diffusion.in +++ b/inputs/diffusion.in @@ -67,7 +67,7 @@ thermal_diff_coeff_code = 0.01 viscosity = none # none (disabled), isotropic, or anisotropic viscosity_coeff = fixed mom_diff_coeff_code = 0.25 -resistivity = none # none (disabled) or isotropic +resistivity = none # none (disabled) or ohmic resistivity_coeff = fixed ohm_diff_coeff_code = 0.25 rkl2_max_dt_ratio = 100.0 diff --git a/src/hydro/diffusion/diffusion.cpp b/src/hydro/diffusion/diffusion.cpp index 1aef746f..d8b1c59d 100644 --- a/src/hydro/diffusion/diffusion.cpp +++ b/src/hydro/diffusion/diffusion.cpp @@ -42,7 +42,7 @@ TaskStatus CalcDiffFluxes(StateDescriptor *hydro_pkg, MeshData *md) { if (resistivity != Resistivity::none) { const auto &ohm_diff = hydro_pkg->Param("ohm_diff"); - if (resistivity == Resistivity::isotropic && + if (resistivity == Resistivity::ohmic && ohm_diff.GetCoeffType() == ResistivityCoeff::fixed) { OhmicDiffFluxIsoFixed(md); } else { diff --git a/src/hydro/diffusion/resistivity.cpp b/src/hydro/diffusion/resistivity.cpp index ab10bc61..c8242e19 100644 --- a/src/hydro/diffusion/resistivity.cpp +++ b/src/hydro/diffusion/resistivity.cpp @@ -19,8 +19,6 @@ using namespace parthenon::package::prelude; -// TODO(pgrete) Calculate the thermal *diffusivity*, \chi, in code units as the energy -// flux itself is calculated from -\chi \rho \nabla (p/\rho). KOKKOS_INLINE_FUNCTION Real OhmicDiffusivity::Get(const Real pres, const Real rho) const { if (resistivity_coeff_type_ == ResistivityCoeff::fixed) { @@ -28,7 +26,7 @@ Real OhmicDiffusivity::Get(const Real pres, const Real rho) const { } else if (resistivity_coeff_type_ == ResistivityCoeff::spitzer) { PARTHENON_FAIL("needs impl"); } else { - return 0.0; + PARTHENON_FAIL("Unknown Resistivity coeff"); } } @@ -54,14 +52,14 @@ Real EstimateResistivityTimestep(MeshData *md) { const auto gm1 = hydro_pkg->Param("AdiabaticIndex"); const auto &ohm_diff = hydro_pkg->Param("ohm_diff"); - if (ohm_diff.GetType() == Resistivity::isotropic && + if (ohm_diff.GetType() == Resistivity::ohmic && ohm_diff.GetCoeffType() == ResistivityCoeff::fixed) { // TODO(pgrete): once mindx is properly calculated before this loop, we can get rid of // it entirely. // Using 0.0 as parameters rho and p as they're not used anyway for a fixed coeff. const auto ohm_diff_coeff = ohm_diff.Get(0.0, 0.0); Kokkos::parallel_reduce( - "EstimateResistivityTimestep (iso fixed)", + "EstimateResistivityTimestep (ohmic fixed)", Kokkos::MDRangePolicy>( DevExecSpace(), {0, kb.s, jb.s, ib.s}, {prim_pack.GetDim(5), kb.e + 1, jb.e + 1, ib.e + 1}, @@ -111,7 +109,7 @@ void OhmicDiffFluxIsoFixed(MeshData *md) { const auto eta = ohm_diff.Get(0.0, 0.0); parthenon::par_for( - DEFAULT_LOOP_PATTERN, "Resist. X1 fluxes (iso)", DevExecSpace(), 0, + DEFAULT_LOOP_PATTERN, "Resist. X1 fluxes (ohmic)", DevExecSpace(), 0, cons_pack.GetDim(5) - 1, kb.s, kb.e, jb.s, jb.e, ib.s, ib.e + 1, KOKKOS_LAMBDA(const int b, const int k, const int j, const int i) { const auto &coords = prim_pack.GetCoords(b); @@ -156,7 +154,7 @@ void OhmicDiffFluxIsoFixed(MeshData *md) { } parthenon::par_for( - DEFAULT_LOOP_PATTERN, "Resist. X2 fluxes (iso)", parthenon::DevExecSpace(), 0, + DEFAULT_LOOP_PATTERN, "Resist. X2 fluxes (ohmic)", parthenon::DevExecSpace(), 0, cons_pack.GetDim(5) - 1, kb.s, kb.e, jb.s, jb.e + 1, ib.s, ib.e, KOKKOS_LAMBDA(const int b, const int k, const int j, const int i) { const auto &coords = prim_pack.GetCoords(b); @@ -199,7 +197,7 @@ void OhmicDiffFluxIsoFixed(MeshData *md) { } parthenon::par_for( - DEFAULT_LOOP_PATTERN, "Resist. X3 fluxes (iso)", parthenon::DevExecSpace(), 0, + DEFAULT_LOOP_PATTERN, "Resist. X3 fluxes (ohmic)", parthenon::DevExecSpace(), 0, cons_pack.GetDim(5) - 1, kb.s, kb.e + 1, jb.s, jb.e, ib.s, ib.e, KOKKOS_LAMBDA(const int b, const int k, const int j, const int i) { const auto &coords = prim_pack.GetCoords(b); @@ -237,7 +235,7 @@ void OhmicDiffFluxIsoFixed(MeshData *md) { } //--------------------------------------------------------------------------------------- -//! TODO(pgrete) Calculate thermal conduction, general case, i.e., anisotropic and/or with -//! varying (incl. saturated) coefficient +//! TODO(pgrete) Calculate Ohmic diffusion, general case, e.g., with varying (Spitzer) +//! coefficient void OhmicDiffFluxGeneral(MeshData *md) { PARTHENON_THROW("Needs impl."); } \ No newline at end of file diff --git a/src/hydro/diffusion/viscosity.cpp b/src/hydro/diffusion/viscosity.cpp index aa552f14..c3050eb1 100644 --- a/src/hydro/diffusion/viscosity.cpp +++ b/src/hydro/diffusion/viscosity.cpp @@ -23,16 +23,12 @@ using namespace parthenon::package::prelude; -// TODO(pgrete) Calculate the thermal *diffusivity*, \chi, in code units as the energy -// flux itself is calculated from -\chi \rho \nabla (p/\rho). KOKKOS_INLINE_FUNCTION Real MomentumDiffusivity::Get(const Real pres, const Real rho) const { if (viscosity_coeff_type_ == ViscosityCoeff::fixed) { return coeff_; - } else if (viscosity_coeff_type_ == ViscosityCoeff::spitzer) { - PARTHENON_FAIL("needs impl"); } else { - return 0.0; + PARTHENON_FAIL("Unknown viscosity coeff"); } } @@ -293,7 +289,7 @@ void MomentumDiffFluxIsoFixed(MeshData *md) { } //--------------------------------------------------------------------------------------- -//! TODO(pgrete) Calculate thermal conduction, general case, i.e., anisotropic and/or with -//! varying (incl. saturated) coefficient +//! TODO(pgrete) Calculate momentum diffusion, general case, i.e., anisotropic and/or with +//! varying coefficient void MomentumDiffFluxGeneral(MeshData *md) { PARTHENON_THROW("Needs impl."); } diff --git a/src/hydro/hydro.cpp b/src/hydro/hydro.cpp index cf152aeb..43c4f1a6 100644 --- a/src/hydro/hydro.cpp +++ b/src/hydro/hydro.cpp @@ -520,6 +520,8 @@ std::shared_ptr Initialize(ParameterInput *pin) { } conduction_coeff = ConductionCoeff::spitzer; + // Default value assume fully ionized hydrogen plasma with Coulomb logarithm of 40 + // to approximate ICM conditions, i.e., 1.84e-5/ln Lambda = 4.6e-7. Real spitzer_coeff = pin->GetOrAddReal("diffusion", "spitzer_cond_in_erg_by_s_K_cm", 4.6e-7); // Convert to code units. No temp conversion as [T_phys] = [T_code]. @@ -533,6 +535,9 @@ std::shared_ptr Initialize(ParameterInput *pin) { pkg->AddParam<>("thermal_diff", thermal_diff); const auto mu = pkg->Param("mu"); + // 6.86 again assumes a fully ionized hydrogen plasma in agreement with + // the assumptions above (technically this means mu = 0.5) and can be derived + // from eq (7) in CM77 assuming T_e = T_i. conduction_sat_prefac = 6.86 * std::sqrt(mu) * conduction_sat_phi; } else if (conduction_coeff_str == "fixed") { @@ -542,6 +547,8 @@ std::shared_ptr Initialize(ParameterInput *pin) { auto thermal_diff = ThermalDiffusivity(conduction, conduction_coeff, thermal_diff_coeff_code, 0.0, 0.0, 0.0); pkg->AddParam<>("thermal_diff", thermal_diff); + // 5.0 prefactor comes from eq (8) in Cowie & McKee 1977 + // https://doi.org/10.1086/154911 conduction_sat_prefac = 5.0 * conduction_sat_phi; } else { @@ -558,11 +565,8 @@ std::shared_ptr Initialize(ParameterInput *pin) { auto viscosity_str = pin->GetOrAddString("diffusion", "viscosity", "none"); if (viscosity_str == "isotropic") { viscosity = Viscosity::isotropic; - } else if (viscosity_str == "anisotropic") { - viscosity = Viscosity::anisotropic; } else if (viscosity_str != "none") { - PARTHENON_FAIL( - "Unknown viscosity method. Options are: none, isotropic, anisotropic"); + PARTHENON_FAIL("Unknown viscosity method. Options are: none, isotropic"); } // If viscosity is enabled, process supported coefficients if (viscosity != Viscosity::none) { @@ -570,28 +574,7 @@ std::shared_ptr Initialize(ParameterInput *pin) { pin->GetOrAddString("diffusion", "viscosity_coeff", "none"); auto viscosity_coeff = ViscosityCoeff::none; - if (viscosity_coeff_str == "spitzer") { - if (!pkg->AllParams().hasKey("mbar")) { - PARTHENON_FAIL("Spitzer viscosity requires units and gas composition. " - "Please set a 'units' block and the 'hydro/He_mass_fraction' in " - "the input file."); - } - viscosity_coeff = ViscosityCoeff::spitzer; - - // TODO(pgrete) fix coeff - Real spitzer_coeff = - pin->GetOrAddReal("diffusion", "spitzer_visc_in_erg_by_s_K_cm", 4.6e-7); - // Convert to code units. No temp conversion as [T_phys] = [T_code]. - auto units = pkg->Param("units"); - spitzer_coeff *= units.erg() / (units.s() * units.cm()); - - const auto mbar = pkg->Param("mbar"); - auto mom_diff = - MomentumDiffusivity(viscosity, viscosity_coeff, spitzer_coeff, mbar, - units.electron_mass(), units.k_boltzmann()); - pkg->AddParam<>("mom_diff", mom_diff); - - } else if (viscosity_coeff_str == "fixed") { + if (viscosity_coeff_str == "fixed") { viscosity_coeff = ViscosityCoeff::fixed; Real mom_diff_coeff_code = pin->GetReal("diffusion", "mom_diff_coeff_code"); auto mom_diff = MomentumDiffusivity(viscosity, viscosity_coeff, @@ -600,17 +583,18 @@ std::shared_ptr Initialize(ParameterInput *pin) { } else { PARTHENON_FAIL("Viscosity is enabled but no coefficient is set. Please " - "set diffusion/viscosity_coeff to either 'spitzer' or 'fixed'"); + "set diffusion/viscosity_coeff to 'fixed' and " + "diffusion/mom_diff_coeff_code to the desired value."); } } pkg->AddParam<>("viscosity", viscosity); auto resistivity = Resistivity::none; auto resistivity_str = pin->GetOrAddString("diffusion", "resistivity", "none"); - if (resistivity_str == "isotropic") { - resistivity = Resistivity::isotropic; + if (resistivity_str == "ohmic") { + resistivity = Resistivity::ohmic; } else if (resistivity_str != "none") { - PARTHENON_FAIL("Unknown resistivity method. Options are: none, isotropic"); + PARTHENON_FAIL("Unknown resistivity method. Options are: none, ohmic"); } // If resistivity is enabled, process supported coefficients if (resistivity != Resistivity::none) { @@ -619,25 +603,9 @@ std::shared_ptr Initialize(ParameterInput *pin) { auto resistivity_coeff = ResistivityCoeff::none; if (resistivity_coeff_str == "spitzer") { - if (!pkg->AllParams().hasKey("mbar")) { - PARTHENON_FAIL("Spitzer resistivity requires units and gas composition. " - "Please set a 'units' block and the 'hydro/He_mass_fraction' in " - "the input file."); - } - resistivity_coeff = ResistivityCoeff::spitzer; - - // TODO(pgrete) fix coeff - Real spitzer_coeff = - pin->GetOrAddReal("diffusion", "spitzer_resist_in_erg_by_s_K_cm", 4.6e-7); - // Convert to code units. No temp conversion as [T_phys] = [T_code]. - auto units = pkg->Param("units"); - spitzer_coeff *= units.erg() / (units.s() * units.cm()); - - const auto mbar = pkg->Param("mbar"); - auto ohm_diff = - OhmicDiffusivity(resistivity, resistivity_coeff, spitzer_coeff, mbar, - units.electron_mass(), units.k_boltzmann()); - pkg->AddParam<>("ohm_diff", ohm_diff); + // If this is implemented, check how the Spitzer coeff for thermal conduction is + // handled. + PARTHENON_FAIL("needs impl"); } else if (resistivity_coeff_str == "fixed") { resistivity_coeff = ResistivityCoeff::fixed; @@ -648,7 +616,8 @@ std::shared_ptr Initialize(ParameterInput *pin) { } else { PARTHENON_FAIL("Resistivity is enabled but no coefficient is set. Please " - "set diffusion/resistivity_coeff to either 'spitzer' or 'fixed'"); + "set diffusion/resistivity_coeff to 'fixed' and " + "diffusion/ohm_diff_coeff_code to the desired value."); } } pkg->AddParam<>("resistivity", resistivity); diff --git a/src/hydro/hydro_driver.cpp b/src/hydro/hydro_driver.cpp index 21f50e87..836722f2 100644 --- a/src/hydro/hydro_driver.cpp +++ b/src/hydro/hydro_driver.cpp @@ -231,7 +231,7 @@ void AddSTSTasks(TaskCollection *ptask_coll, Mesh *pmesh, BlockList_t &blocks, TaskID none(0); - // Store initial u0 in u1 as "base" will continusouly be updated but initial state Y0 is + // Store initial u0 in u1 as "base" will continuously be updated but initial state Y0 is // required for each stage. TaskRegion ®ion_copy_out = ptask_coll->AddRegion(blocks.size()); for (int i = 0; i < blocks.size(); i++) { @@ -540,6 +540,8 @@ TaskCollection HydroDriver::MakeTaskCollection(BlockList_t &blocks, int stage) { // First add split sources before the main time integration if (stage == 1) { + // If any tasks modify the conserved variables before this place, then + // the STS tasks should be updated to not assume prim and cons are in sync. const auto &diffint = hydro_pkg->Param("diffint"); if (diffint == DiffInt::rkl2) { AddSTSTasks(&tc, pmesh, blocks, 0.5 * tm.dt); @@ -690,6 +692,8 @@ TaskCollection HydroDriver::MakeTaskCollection(BlockList_t &blocks, int stage) { tl.AddTask(none, parthenon::Update::FillDerived>, mu0.get()); } const auto &diffint = hydro_pkg->Param("diffint"); + // If any tasks modify the conserved variables before this place and after FillDerived, + // then the STS tasks should be updated to not assume prim and cons are in sync. if (diffint == DiffInt::rkl2 && stage == integrator->nstages) { AddSTSTasks(&tc, pmesh, blocks, 0.5 * tm.dt); } diff --git a/src/hydro/srcterms/tabular_cooling.cpp b/src/hydro/srcterms/tabular_cooling.cpp index 6d79f952..9861f058 100644 --- a/src/hydro/srcterms/tabular_cooling.cpp +++ b/src/hydro/srcterms/tabular_cooling.cpp @@ -35,8 +35,17 @@ TabularCooling::TabularCooling(ParameterInput *pin, const std::string table_filename = pin->GetString("cooling", "table_filename"); - const int log_temp_col = pin->GetOrAddInteger("cooling", "log_temp_col", 0); - const int log_lambda_col = pin->GetOrAddInteger("cooling", "log_lambda_col", 1); + // It should be fine to just issue a warning here. + // If an original cooling table with two columns was used, the behavior is the same. + // If not, then the test below on the number of columns in the file will fail. + if (Globals::my_rank == 0 && (pin->DoesParameterExist("cooling", "log_temp_col") || + pin->DoesParameterExist("cooling", "log_lambda_col"))) { + PARTHENON_WARN("\"cooling/log_temp_col\" or \"cooling/log_lambda_col\" found in" + "the parameter input.\n" + "These have been deprecated and only cooling tables for a single " + "metallicity containing the log10 temperature and log10 lambdas are " + "supported.\n"); + } const Real lambda_units_cgs = pin->GetReal("cooling", "lambda_units_cgs"); // Convert erg cm^3/s to code units @@ -111,16 +120,16 @@ TabularCooling::TabularCooling(ParameterInput *pin, std::vector line_data{std::istream_iterator{iss}, std::istream_iterator{}}; // Check size - if (line_data.empty() || line_data.size() <= std::max(log_temp_col, log_lambda_col)) { + if (line_data.empty() || line_data.size() != 2) { msg << "### FATAL ERROR in function [TabularCooling::TabularCooling]" << std::endl - << "Index " << std::max(log_temp_col, log_lambda_col) << " out of range on \"" - << line << "\"" << std::endl; + << "Expected exactly two columns per line but got: \"" << line << "\"" + << std::endl; PARTHENON_FAIL(msg); } try { - const Real log_temp = std::stod(line_data[log_temp_col]); - const Real log_lambda = std::stod(line_data[log_lambda_col]); + const Real log_temp = std::stod(line_data[0]); + const Real log_lambda = std::stod(line_data[1]); // Add to growing list log_temps.push_back(log_temp); diff --git a/src/main.hpp b/src/main.hpp index 8e4dddfe..4c81c307 100644 --- a/src/main.hpp +++ b/src/main.hpp @@ -1,5 +1,5 @@ // AthenaPK - a performance portable block structured AMR MHD code -// Copyright (c) 2020-2021, Athena Parthenon Collaboration. All rights reserved. +// Copyright (c) 2020-2024, Athena Parthenon Collaboration. All rights reserved. // Licensed under the 3-Clause License (the "LICENSE") #ifndef MAIN_HPP_ @@ -37,9 +37,9 @@ enum class Fluid { undefined, euler, glmmhd }; enum class Cooling { none, tabular }; enum class Conduction { none, isotropic, anisotropic }; enum class ConductionCoeff { none, fixed, spitzer }; -enum class Viscosity { none, isotropic, anisotropic }; -enum class ViscosityCoeff { none, fixed, spitzer }; -enum class Resistivity { none, isotropic }; +enum class Viscosity { none, isotropic }; +enum class ViscosityCoeff { none, fixed }; +enum class Resistivity { none, ohmic }; enum class ResistivityCoeff { none, fixed, spitzer }; enum class DiffInt { none, unsplit, rkl2 }; diff --git a/tst/regression/test_suites/cluster_tabular_cooling/cluster_tabular_cooling.py b/tst/regression/test_suites/cluster_tabular_cooling/cluster_tabular_cooling.py index e04cdc60..1b4b0077 100644 --- a/tst/regression/test_suites/cluster_tabular_cooling/cluster_tabular_cooling.py +++ b/tst/regression/test_suites/cluster_tabular_cooling/cluster_tabular_cooling.py @@ -170,8 +170,6 @@ def Prepare(self, parameters, step): f"problem/cluster/uniform_gas/uz={self.uniform_gas_uz.in_units('code_length*code_time**-1').v}", f"problem/cluster/uniform_gas/pres={self.uniform_gas_pres.in_units('code_mass*code_length**-1*code_time**-2').v}", f"cooling/table_filename={table_filename}", - f"cooling/log_temp_col=0", - f"cooling/log_lambda_col=1", f"cooling/lambda_units_cgs=1", f"cooling/integrator={integrator}", f"cooling/cfl={cooling_cfl}", diff --git a/tst/regression/test_suites/diffusion/diffusion.py b/tst/regression/test_suites/diffusion/diffusion.py index bfd7c607..b8269109 100644 --- a/tst/regression/test_suites/diffusion/diffusion.py +++ b/tst/regression/test_suites/diffusion/diffusion.py @@ -51,7 +51,7 @@ def Prepare(self, parameters, step): fluid_ = "glmmhd" iprob_ = 40 viscosity_ = "none" - resistivity_ = "isotropic" + resistivity_ = "ohmic" parameters.driver_cmd_line_args = [ "parthenon/mesh/nx1=%d" % res, diff --git a/tst/regression/test_suites/diffusion_linwave3d/diffusion_linwave3d.py b/tst/regression/test_suites/diffusion_linwave3d/diffusion_linwave3d.py index 07f2484a..5f0a05a3 100644 --- a/tst/regression/test_suites/diffusion_linwave3d/diffusion_linwave3d.py +++ b/tst/regression/test_suites/diffusion_linwave3d/diffusion_linwave3d.py @@ -80,7 +80,7 @@ def Prepare(self, parameters, step): "diffusion/viscosity=isotropic", "diffusion/viscosity_coeff=fixed", f"diffusion/mom_diff_coeff_code={_nu}", - "diffusion/resistivity=isotropic", + "diffusion/resistivity=ohmic", "diffusion/resistivity_coeff=fixed", f"diffusion/ohm_diff_coeff_code={_eta}", ]