diff --git a/.clang-tidy b/.clang-tidy index 1e228494af..2bd4310f7a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -19,6 +19,7 @@ Checks: > -misc-include-cleaner, -misc-non-private-member-variables-in-classes, -misc-use-anonymous-namespace, + -misc-use-internal-linkage, modernize-*, -modernize-avoid-c-arrays, -modernize-use-trailing-return-type, @@ -29,12 +30,14 @@ Checks: > -readability-avoid-const-params-in-decls, -readability-braces-around-statements, -readability-else-after-return, + -readability-enum-initial-value, -readability-function-cognitive-complexity, -readability-function-size, -readability-identifier-length, -readability-implicit-bool-conversion, -readability-isolate-declaration, -readability-magic-numbers, + -readability-math-missing-parentheses, -readability-named-parameter, -readability-simplify-boolean-expr, mpi-*, diff --git a/.github/workflows/burn_cell_metal_chem.yml b/.github/workflows/burn_cell_metal_chem.yml index 6c587eebf2..13ec5f98ea 100644 --- a/.github/workflows/burn_cell_metal_chem.yml +++ b/.github/workflows/burn_cell_metal_chem.yml @@ -31,7 +31,7 @@ jobs: - name: Compile run: | cd unit_test/burn_cell_metal_chem - make -j 2 + make -j 4 - name: Run and compare outputs for different Z values, also including cosmic ray ionization run: | diff --git a/.github/workflows/burn_cell_primordial_chem.yml b/.github/workflows/burn_cell_primordial_chem.yml index 04f04643e2..7b2ba7a781 100644 --- a/.github/workflows/burn_cell_primordial_chem.yml +++ b/.github/workflows/burn_cell_primordial_chem.yml @@ -31,7 +31,7 @@ jobs: - name: Compile and run run: | cd unit_test/burn_cell_primordial_chem - make -j 2 + make -j 4 ./main1d.gnu.DEBUG.ex inputs_primordial_chem amrex.fpe_trap_{invalid,zero,overflow}=1 > test.out - name: Print backtrace diff --git a/.github/workflows/c-linter.yml b/.github/workflows/c-linter.yml index 56d6bc7235..30e4baa8c8 100644 --- a/.github/workflows/c-linter.yml +++ b/.github/workflows/c-linter.yml @@ -26,7 +26,7 @@ jobs: uses: AMReX-Astro/cpp-linter-action@main with: build_path: 'unit_test/test_react' - make_options: '-j 2 USE_OMP=FALSE USE_MPI=FALSE USE_CUDA=FALSE DEBUG=TRUE' + make_options: '-j 4 USE_OMP=FALSE USE_MPI=FALSE USE_CUDA=FALSE DEBUG=TRUE' ignore_files: 'amrex|util/gcem' header_filter: '(/conductivity/|/constants/|/EOS/|/integration/|/interfaces/|/networks/|/neutrinos/|/nse_solver/|/opacity/|/rates/|/screening/|/util/|^\./).*\.H$' config_file: ${GITHUB_WORKSPACE}/.clang-tidy diff --git a/.github/workflows/castro-development.yml b/.github/workflows/castro-development.yml index 451f4c2037..273e32a7c6 100644 --- a/.github/workflows/castro-development.yml +++ b/.github/workflows/castro-development.yml @@ -47,7 +47,7 @@ jobs: export MICROPHYSICS_HOME=${PWD} cd Castro/Exec/science/flame_wave/ - make -j2 CCACHE=ccache USE_MPI=FALSE + make -j 4 CCACHE=ccache USE_MPI=FALSE ccache -s du -hs ~/.cache/ccache @@ -64,7 +64,7 @@ jobs: export MICROPHYSICS_HOME=${PWD} cd Castro/Exec/science/subchandra/ - make -j2 CCACHE=ccache USE_MPI=FALSE + make -j 4 CCACHE=ccache USE_MPI=FALSE ccache -s du -hs ~/.cache/ccache diff --git a/.github/workflows/castro.yml b/.github/workflows/castro.yml index 0ea9864aca..4a5b1d58e8 100644 --- a/.github/workflows/castro.yml +++ b/.github/workflows/castro.yml @@ -51,7 +51,7 @@ jobs: export MICROPHYSICS_HOME=${PWD} cd Castro/Exec/science/flame_wave/ - make -j2 CCACHE=ccache USE_MPI=FALSE + make -j 4 CCACHE=ccache USE_MPI=FALSE ccache -s du -hs ~/.cache/ccache @@ -68,7 +68,7 @@ jobs: export MICROPHYSICS_HOME=${PWD} cd Castro/Exec/science/subchandra/ - make -j2 CCACHE=ccache USE_MPI=FALSE + make -j 4 CCACHE=ccache USE_MPI=FALSE ccache -s du -hs ~/.cache/ccache diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index 6482717f89..6563da5f78 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -26,10 +26,10 @@ jobs: - name: Install dependencies run: | - .github/workflows/dependencies_clang-tidy-apt-llvm.sh 17 + .github/workflows/dependencies_clang-tidy-apt-llvm.sh 19 - name: Compile burn_cell_sdc run: | cd unit_test/burn_cell_sdc - make USE_MPI=FALSE USE_CLANG_TIDY=TRUE CLANG_TIDY=clang-tidy-17 CLANG_TIDY_WARN_ERROR=TRUE -j 4 + make USE_MPI=FALSE USE_CLANG_TIDY=TRUE CLANG_TIDY=clang-tidy-19 CLANG_TIDY_WARN_ERROR=TRUE -j 4 diff --git a/.github/workflows/cmake_build_cell_primordial_chem.yml b/.github/workflows/cmake_build_cell_primordial_chem.yml index 844ab4c8d7..6063770722 100644 --- a/.github/workflows/cmake_build_cell_primordial_chem.yml +++ b/.github/workflows/cmake_build_cell_primordial_chem.yml @@ -18,5 +18,5 @@ jobs: run: | mkdir build && cd build cmake .. -DBUILD_UNIT_TEST=true -DBUILD_AMReX=true - make -j2 + make -j 4 ctest --output-on-failure diff --git a/.github/workflows/cuda.yml b/.github/workflows/cuda.yml index 7e418249a8..0e8b2aea54 100644 --- a/.github/workflows/cuda.yml +++ b/.github/workflows/cuda.yml @@ -26,23 +26,23 @@ jobs: cd ../.. - name: Dependencies - run: .github/workflows/dependencies/dependencies_nvcc11.sh + run: .github/workflows/dependencies/dependencies_nvcc.sh 11.7 - name: compile test_react (aprox13) run: | export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} cd unit_test/test_react - make NETWORK_DIR=aprox13 USE_CUDA=TRUE COMP=gnu USE_MPI=FALSE -j 2 + make NETWORK_DIR=aprox13 USE_CUDA=TRUE COMP=gnu USE_MPI=FALSE -j 4 - name: compile test_react (ignition_reaclib/URCA-simple) run: | export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} cd unit_test/test_react make realclean - make NETWORK_DIR=ignition_reaclib/URCA-simple USE_CUDA=TRUE COMP=gnu USE_MPI=FALSE -j 2 + make NETWORK_DIR=ignition_reaclib/URCA-simple USE_CUDA=TRUE COMP=gnu USE_MPI=FALSE -j 4 - name: compile test_nse_net (ase) run: | export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} cd unit_test/test_nse_net - make USE_CUDA=TRUE COMP=gnu USE_MPI=FALSE -j 2 + make USE_CUDA=TRUE COMP=gnu USE_MPI=FALSE -j 4 diff --git a/.github/workflows/dependencies/dependencies_hip.sh b/.github/workflows/dependencies/dependencies_hip.sh index ab5185ce0a..527379e7e8 100755 --- a/.github/workflows/dependencies/dependencies_hip.sh +++ b/.github/workflows/dependencies/dependencies_hip.sh @@ -40,6 +40,7 @@ echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/r # we should not need to export HIP_PATH=/opt/rocm/hip with those installs +sudo apt-get clean sudo apt-get update # Ref.: https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#installing-development-packages-for-cross-compilation @@ -56,7 +57,9 @@ sudo apt-get install -y --no-install-recommends \ roctracer-dev \ rocprofiler-dev \ rocrand-dev \ - rocprim-dev + rocfft-dev \ + rocprim-dev \ + rocsparse-dev # hiprand-dev is a new package that does not exist in old versions sudo apt-get install -y --no-install-recommends hiprand-dev || true diff --git a/.github/workflows/dependencies/dependencies_nvcc.sh b/.github/workflows/dependencies/dependencies_nvcc.sh new file mode 100755 index 0000000000..14bae699d7 --- /dev/null +++ b/.github/workflows/dependencies/dependencies_nvcc.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# +# Copyright 2020-2022 Axel Huebl +# +# License: BSD-3-Clause-LBNL + +set -eu -o pipefail + +# `man apt.conf`: +# Number of retries to perform. If this is non-zero APT will retry +# failed files the given number of times. +echo 'Acquire::Retries "3";' | sudo tee /etc/apt/apt.conf.d/80-retries + +sudo apt-get -qqq update +sudo apt-get install -y \ + build-essential \ + ca-certificates \ + cmake \ + g++ \ + gfortran \ + gnupg \ + libopenmpi-dev \ + openmpi-bin \ + pkg-config \ + wget + +VERSION_DOTTED=${1-12.0} && VERSION_DASHED=$(sed 's/\./-/' <<< $VERSION_DOTTED) +curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb +sudo dpkg -i cuda-keyring_1.0-1_all.deb +sudo apt-get update +sudo apt-get install -y \ + cuda-command-line-tools-$VERSION_DASHED \ + cuda-compiler-$VERSION_DASHED \ + cuda-cupti-dev-$VERSION_DASHED \ + cuda-minimal-build-$VERSION_DASHED \ + cuda-nvml-dev-$VERSION_DASHED \ + cuda-nvtx-$VERSION_DASHED \ + libcufft-dev-$VERSION_DASHED \ + libcurand-dev-$VERSION_DASHED \ + libcusparse-dev-$VERSION_DASHED +sudo ln -s cuda-$VERSION_DOTTED /usr/local/cuda diff --git a/.github/workflows/dependencies/dependencies_nvcc11.sh b/.github/workflows/dependencies/dependencies_nvcc11.sh deleted file mode 100755 index 143cb0b98f..0000000000 --- a/.github/workflows/dependencies/dependencies_nvcc11.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright 2020 Axel Huebl -# -# License: BSD-3-Clause-LBNL - -set -eu -o pipefail - -sudo apt-get -qqq update -sudo apt-get install -y \ - build-essential \ - ca-certificates \ - cmake \ - g++ \ - gnupg \ - libopenmpi-dev \ - openmpi-bin \ - pkg-config \ - wget - -sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub -echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 /" \ - | sudo tee /etc/apt/sources.list.d/cuda.list -sudo apt-get update -sudo apt-get install -y \ - cuda-command-line-tools-11-7 \ - cuda-compiler-11-7 \ - cuda-cupti-dev-11-7 \ - cuda-minimal-build-11-7 \ - cuda-nvml-dev-11-7 \ - cuda-nvtx-11-7 \ - libcurand-dev-11-7 -sudo ln -s cuda-11.7 /usr/local/cuda - diff --git a/.github/workflows/docs-test.yml b/.github/workflows/docs-test.yml index 6579ccdf6a..0958680966 100644 --- a/.github/workflows/docs-test.yml +++ b/.github/workflows/docs-test.yml @@ -35,10 +35,10 @@ jobs: - name: Build docs run: | - cd sphinx_docs/ + cd Docs/ make SPHINXOPTS='-v -W --keep-going' html - name: Link check run: | - cd sphinx_docs/ + cd Docs/ make SPHINXOPTS=-v linkcheck diff --git a/.github/workflows/macos_build_cell_metal_chem.yml b/.github/workflows/macos_build_cell_metal_chem.yml index 581fdd82af..7880dabafc 100644 --- a/.github/workflows/macos_build_cell_metal_chem.yml +++ b/.github/workflows/macos_build_cell_metal_chem.yml @@ -12,11 +12,10 @@ jobs: - name: Install dependencies run: | brew install cmake openmpi python3 || true - brew link --overwrite python@3.11 - name: Compile and run run: | mkdir build && cd build cmake .. -DBUILD_UNIT_TEST_MC=true -DBUILD_AMReX=true - make -j2 + make -j 4 ctest --output-on-failure diff --git a/.github/workflows/macos_build_cell_primordial_chem.yml b/.github/workflows/macos_build_cell_primordial_chem.yml index 243dae2a41..0390c426c1 100644 --- a/.github/workflows/macos_build_cell_primordial_chem.yml +++ b/.github/workflows/macos_build_cell_primordial_chem.yml @@ -12,11 +12,10 @@ jobs: - name: Install dependencies run: | brew install cmake openmpi python3 || true - brew link --overwrite python@3.11 - name: Compile and run run: | mkdir build && cd build cmake .. -DBUILD_UNIT_TEST_PC=true -DBUILD_AMReX=true - make -j2 + make -j 4 ctest --output-on-failure diff --git a/.github/workflows/test_neutrinos.yml b/.github/workflows/test_neutrinos.yml index 46cb99cd8c..4ab1a80cc8 100644 --- a/.github/workflows/test_neutrinos.yml +++ b/.github/workflows/test_neutrinos.yml @@ -29,7 +29,7 @@ jobs: - name: Build the fextrema tool run: | cd external/amrex/Tools/Plotfile - make programs=fextrema -j 2 + make programs=fextrema -j 4 - name: Compile run: | diff --git a/.github/workflows/test_partition_functions.yml b/.github/workflows/test_partition_functions.yml new file mode 100644 index 0000000000..2752920610 --- /dev/null +++ b/.github/workflows/test_partition_functions.yml @@ -0,0 +1,44 @@ +name: test_partition_functions + +on: [pull_request] +jobs: + test_partition_functions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Get AMReX + run: | + mkdir external + cd external + git clone https://github.com/AMReX-Codes/amrex.git + cd amrex + git checkout development + echo 'AMREX_HOME=$(GITHUB_WORKSPACE)/external/amrex' >> $GITHUB_ENV + echo $AMREX_HOME + if [[ -n "${AMREX_HOME}" ]]; then exit 1; fi + cd ../.. + + - name: Install dependencies + run: | + sudo apt-get update -y -qq + sudo apt-get -qq -y install curl cmake jq clang g++>=9.3.0 + + - name: Compile + run: | + cd unit_test/test_part_func + make clean + make -j 4 + + - name: Run test_part_func + run: | + cd unit_test/test_part_func + ./main3d.gnu.ex > test.out + + - name: Compare to stored output + run: | + cd unit_test/test_part_func + diff -I "^Initializing AMReX" -I "^AMReX" -I "^reading in reaclib rates" test.out ci-benchmarks/part_func.out + diff --git a/.github/workflows/test_rhs.yml b/.github/workflows/test_rhs.yml index 4654200513..21b4a9dcd8 100644 --- a/.github/workflows/test_rhs.yml +++ b/.github/workflows/test_rhs.yml @@ -29,7 +29,7 @@ jobs: - name: Build the fextrema tool run: | cd external/amrex/Tools/Plotfile - make programs=fextrema -j 2 + make programs=fextrema -j 4 - name: Compile, test_rhs (VODE, ignition_simple) run: | diff --git a/.gitignore b/.gitignore index 15bc85126f..1cbd05a575 100644 --- a/.gitignore +++ b/.gitignore @@ -78,7 +78,7 @@ extern.f90 # sphinx build/ doxy_files -sphinx_docs/source/runtime_parameters.rst +Docs/source/runtime_parameters.rst # C++ parameters diff --git a/CHANGES.md b/CHANGES.md index 18872f398f..07e961ead5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,23 @@ +# 25.01 + + * update HIP/CUDA dependences to include sparse libraries (#1686) + + * rename `Opacity_dir` -> `OPACITY_DIR` (#1679) + + * update the integration and NSE docs (#1682) + +# 24.12 + + * documentation improvements (#1661, #1667, #1670) + + * optimize tabular NSE EOS calls (#1668) + + * CI fixes (#1666, #1671, #1675) and new partition function CI + (#1673) + + * `burn_cell` can now initialize all mass fractions to be equal + (#1665) + # 24.10 * metal chemistry updates (#1648) with ices (#1650) and cosmic rays (#1651) diff --git a/sphinx_docs/Doxyfile b/Docs/Doxyfile similarity index 100% rename from sphinx_docs/Doxyfile rename to Docs/Doxyfile diff --git a/sphinx_docs/Makefile b/Docs/Makefile similarity index 100% rename from sphinx_docs/Makefile rename to Docs/Makefile diff --git a/sphinx_docs/converting_docs.txt b/Docs/converting_docs.txt similarity index 100% rename from sphinx_docs/converting_docs.txt rename to Docs/converting_docs.txt diff --git a/sphinx_docs/notes.txt b/Docs/notes.txt similarity index 100% rename from sphinx_docs/notes.txt rename to Docs/notes.txt diff --git a/sphinx_docs/pandoc.sh b/Docs/pandoc.sh similarity index 100% rename from sphinx_docs/pandoc.sh rename to Docs/pandoc.sh diff --git a/sphinx_docs/rp.py b/Docs/rp.py similarity index 100% rename from sphinx_docs/rp.py rename to Docs/rp.py diff --git a/sphinx_docs/source/CNO_He_burn.png b/Docs/source/CNO_He_burn.png similarity index 100% rename from sphinx_docs/source/CNO_He_burn.png rename to Docs/source/CNO_He_burn.png diff --git a/sphinx_docs/source/ECSN.png b/Docs/source/ECSN.png similarity index 100% rename from sphinx_docs/source/ECSN.png rename to Docs/source/ECSN.png diff --git a/sphinx_docs/source/_static/theme_overrides.css b/Docs/source/_static/theme_overrides.css similarity index 100% rename from sphinx_docs/source/_static/theme_overrides.css rename to Docs/source/_static/theme_overrides.css diff --git a/sphinx_docs/source/_templates/dev_layout.html b/Docs/source/_templates/dev_layout.html similarity index 100% rename from sphinx_docs/source/_templates/dev_layout.html rename to Docs/source/_templates/dev_layout.html diff --git a/sphinx_docs/source/_templates/layout.html b/Docs/source/_templates/layout.html similarity index 100% rename from sphinx_docs/source/_templates/layout.html rename to Docs/source/_templates/layout.html diff --git a/sphinx_docs/source/autodiff.rst b/Docs/source/autodiff.rst similarity index 100% rename from sphinx_docs/source/autodiff.rst rename to Docs/source/autodiff.rst diff --git a/sphinx_docs/source/cno_extras_hide_alpha.png b/Docs/source/cno_extras_hide_alpha.png similarity index 100% rename from sphinx_docs/source/cno_extras_hide_alpha.png rename to Docs/source/cno_extras_hide_alpha.png diff --git a/sphinx_docs/source/comprehensive_tests.rst b/Docs/source/comprehensive_tests.rst similarity index 100% rename from sphinx_docs/source/comprehensive_tests.rst rename to Docs/source/comprehensive_tests.rst diff --git a/sphinx_docs/source/conf.py b/Docs/source/conf.py similarity index 98% rename from sphinx_docs/source/conf.py rename to Docs/source/conf.py index a266702ffb..64e5ef03d1 100644 --- a/sphinx_docs/source/conf.py +++ b/Docs/source/conf.py @@ -223,8 +223,11 @@ def get_version(): linkcheck_retries = 3 linkcheck_timeout = 100 +linkcheck_allow_unauthorized = True +linkcheck_ignore = [r"https://doi.org/10.1103/[Pp]hys[Rr]ev*"] user_agent = "Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0" + # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples diff --git a/sphinx_docs/source/data_structures.rst b/Docs/source/data_structures.rst similarity index 96% rename from sphinx_docs/source/data_structures.rst rename to Docs/source/data_structures.rst index a76cf1f0cc..8a4c4ccc3c 100644 --- a/sphinx_docs/source/data_structures.rst +++ b/Docs/source/data_structures.rst @@ -13,6 +13,8 @@ EOS ``eos_t`` --------- +.. index:: eos_t + The main data structure for interacting with the EOS is ``eos_t``. This is a collection of data specifying the microphysical state of the fluid that we are evaluating. This has many components. For a @@ -49,6 +51,8 @@ Networks ``burn_t`` ---------- +.. index:: burn_t + The main data structure for interacting with the reaction networks is ``burn_t``. This holds the composition (mass fractions), thermodynamic state, and a lot of internal information used by the reaction network @@ -89,7 +93,9 @@ the user will only need to fill/use the following information: ``rate_t``, ``rate_fr_t`` ------------------------- -The ``rate_t`` and ``rate_fr_t`` structures are used internally in a network to pass the +.. index:: rate_t + +The ``rate_t`` structure is used internally in a network to pass the raw reaction rate information (usually just the temperature-dependent terms) between various subroutines. It does not come out of the network-specific righthand side or Jacobian routines. @@ -97,6 +103,8 @@ network-specific righthand side or Jacobian routines. ``burn_type.H`` --------------- +.. index:: burn_type.H + In addition to defining the ``burn_t`` type, the header ``burn_type.H`` also defines integer indices into the solution vector that can be used to access the different components of the state: diff --git a/sphinx_docs/source/design.rst b/Docs/source/design.rst similarity index 97% rename from sphinx_docs/source/design.rst rename to Docs/source/design.rst index 0b405886c7..d1f9a1df9e 100644 --- a/sphinx_docs/source/design.rst +++ b/Docs/source/design.rst @@ -12,6 +12,8 @@ and the generic solvers: * ``constants``: fundamental constants +* ``Docs``: the sphinx source for this documentation + * ``EOS/``: the various equations of state * ``integration/``: the ODE integration routines used for the @@ -34,8 +36,6 @@ and the generic solvers: * ``screening/``: common electron screening factors used by some of the reaction networks. -* ``sphinx_docs``: the sphinx source for this documentation - * ``unit_test/``: self-contained unit tests for Microphysics. These don’t need any application code to build, but will require AMReX. diff --git a/sphinx_docs/source/doxygen_network.png b/Docs/source/doxygen_network.png similarity index 100% rename from sphinx_docs/source/doxygen_network.png rename to Docs/source/doxygen_network.png diff --git a/sphinx_docs/source/eos.rst b/Docs/source/eos.rst similarity index 86% rename from sphinx_docs/source/eos.rst rename to Docs/source/eos.rst index f49d4987fa..dee9ee809f 100644 --- a/sphinx_docs/source/eos.rst +++ b/Docs/source/eos.rst @@ -9,6 +9,8 @@ an EOS module in case you want to build your own. Available Equations of State ============================ +.. index:: eos_t + The following equations of state are available in Microphysics. Except where noted, each of these EOSs will provide the full thermodynamic data (including all derivatives) in the ``eos_t`` @@ -22,7 +24,7 @@ equation of state: .. math:: p = (\gamma - 1) \rho e. -:math:`\gamma` is specified by the runtime parameter ``eos_gamma``. For +:math:`\gamma` is specified by the runtime parameter ``eos.eos_gamma``. For an ideal gas, this represents the ratio of specific heats. The gas is assumed to be ideal, with the pressure given by @@ -30,12 +32,12 @@ assumed to be ideal, with the pressure given by where :math:`k` is Boltzmann’s constant and :math:`\mu` is the mean molecular weight, calculated from the composition, :math:`X_k`. This EOS assumes -the gas is either completely neutral (``assume_neutral = T``), +the gas is either completely neutral (``eos.assume_neutral = 1``), giving: .. math:: \mu^{-1} = \sum_k \frac{X_k}{A_k} -or completely ionized (``assume_neutral = F``), giving: +or completely ionized (``eos.assume_neutral = 0``), giving: .. math:: \mu^{-1} = \sum_k \left ( 1 + Z_k \right ) \frac{X_k}{A_k} @@ -43,11 +45,6 @@ The entropy comes from the Sackur-Tetrode equation. Because of the complex way that composition enters into the entropy, the entropy formulation here is only correct for a :math:`\gamma = 5/3` gas. -Note that the implementation provided in Microphysics is the same as -the version shipped with MAESTRO, but more general than the -``gamma_law`` EOS provided with CASTRO. CASTRO’s default EOS only -fills the thermodynamic information in ``eos_t`` that is required -by the hydrodynamics module in CASTRO. polytrope --------- @@ -63,21 +60,21 @@ only independent variable; there is no temperature dependence. The user either selects from a set of predefined options reflecting physical polytropes (e.g. a non-relativistic, fully degenerate electron gas) or inputs their own values for :math:`K` and :math:`\gamma` -via ``polytrope_K`` and ``polytrope_gamma``. +via ``eos.polytrope_K`` and ``eos.polytrope_gamma``. -The runtime parameter ``polytrope_type`` selects the pre-defined +The runtime parameter ``eos.polytrope_type`` selects the pre-defined polytropic relations. The options are: -- ``polytrope_type = 1``: sets :math:`\gamma = 5/3` and +- ``eos.polytrope_type = 1``: sets :math:`\gamma = 5/3` and .. math:: K = \left ( \frac{3}{\pi} \right)^{2/3} \frac{h^2}{20 m_e m_p^{5/3}} \frac{1}{\mu_e^{5/3}} - where :math:`mu_e` is the mean molecular weight per electron, specified via ``polytrope_mu_e`` + where :math:`mu_e` is the mean molecular weight per electron, specified via ``eos.polytrope_mu_e`` This is the form appropriate for a non-relativistic fully-degenerate electron gas. -- ``polytrope_type = 2``: sets :math:`\gamma = 4/3` and +- ``eos.polytrope_type = 2``: sets :math:`\gamma = 4/3` and .. math:: K = \left ( \frac{3}{\pi} \right)^{1/3} \frac{hc}{8 m_p^{4/3}} \frac{1}{\mu_e^{4/3}} @@ -161,12 +158,12 @@ and :math:`p = \rho e (\gamma_\mathrm{effective} - 1)`. This equation of state takes several runtime parameters that can set the :math:`\gamma_i` for a specific species. The parameters are: -- ``eos_gamma_default``: the default :math:`\gamma` to apply for all +- ``eos.eos_gamma_default``: the default :math:`\gamma` to apply for all species -- ``species_X_name`` and ``species_X_gamma``: set the +- ``eos.species_X_name`` and ``eos.species_X_gamma``: set the :math:`\gamma_i` for the species whose name is given as - ``species_X_name`` to the value provided by ``species_X_gamma``. + ``eos.species_X_name`` to the value provided by ``eos.species_X_gamma``. Here, ``X`` can be one of the letters: ``a``, ``b``, or ``c``, allowing us to specify custom :math:`\gamma_i` for up to three different species. @@ -209,6 +206,8 @@ appropriate interpolation table from that site to use this. Interface and Modes =================== +.. index:: eos_t, eos_re_t, eos_rep_t, eos_rh_t, chem_eos_t + The EOS is called as: .. code:: c++ @@ -244,6 +243,11 @@ The *eos_type* passed in is one of * ``eos_rep_t`` : expands on ``eos_re_t`` to include pressure information +* ``eos_rh_t`` : expands on ``eos_rep_t`` to include enthalpy information + +* ``chem_eos_t`` : adds some quantities needed for the primordial chemistry EOS + and explicitly does not include the mass fractions. + In general, you should use the type that has the smallest set of information needed, since we optimize out needless quantities at compile type (via C++ templating) for ``eos_re_t`` and ``eos_rep_t``. @@ -260,6 +264,7 @@ compile type (via C++ templating) for ``eos_re_t`` and ``eos_rep_t``. Auxiliary Composition --------------------- +.. index:: USE_AUX_THERMO With ``USE_AUX_THERMO=TRUE``, we interpret the composition from the auxiliary variables. The auxiliary variables are @@ -298,6 +303,21 @@ The equation of state also needs :math:`\bar{Z}` which is easily computed as \bar{Z} = \bar{A} Y_e +Composition Derivatives +----------------------- + +.. index:: eos_extra_t, eos_re_extra_t, eos_rep_extra_t + +The derivatives $\partial p/\partial A$, $\partial p/\partial Z$, +and $\partial e/\partial A$, $\partial e/\partial Z$ are available via +the ``eos_extra_t``, ``eos_re_extra_t``, ``eos_rep_extra_t``, which +extends the non-"extra" variants with these additional fields. + +The composition derivatives can be used via the ``composition_derivatives()`` function +in ``eos_composition.H`` +to compute :math:`\partial p/\partial X_k |_{\rho, T, X_j}`, :math:`\partial e/\partial X_k |_{\rho, T, X_j}`, and :math:`\partial h/\partial X_k |_{\rho, T, X_j}`. + + Initialization and Cutoff Values ================================ @@ -328,6 +348,3 @@ appropriate time for, say, loading an interpolation table into memory. The main evaluation routine is called ``actual_eos``. It should accept an eos_input and an eos_t state; see Section :ref:`data_structures`. - - - diff --git a/sphinx_docs/source/getting_started.rst b/Docs/source/getting_started.rst similarity index 96% rename from sphinx_docs/source/getting_started.rst rename to Docs/source/getting_started.rst index a338f28ec6..b02c121249 100644 --- a/sphinx_docs/source/getting_started.rst +++ b/Docs/source/getting_started.rst @@ -5,6 +5,8 @@ Getting Started Standalone ========== +.. index:: AMREX_HOME + Microphysics can be used in a "standalone" fashion to run the unit tests and explore the behavior of the reaction networks. The main requirement is a copy of AMReX: @@ -23,6 +25,8 @@ to set the ``AMREX_HOME`` environment variable to point to the (where you change ``/path/to/amrex`` to your actual path). +.. index:: burn_cell + A good unit test to start with is ``burn_cell`` -- this is simply a one-zone burn. In ``Microphysics/`` do: @@ -45,6 +49,8 @@ Here ``inputs_aprox21`` is the inputs file that sets options. Running with AMReX Application Code =================================== +.. index:: MICROPHYSICS_HOME + Getting started with Microphysics using either CASTRO or MAESTROeX is straightforward. Because the modules here are already in a format that the AMReX codes understand, you only need to provide to the code diff --git a/Docs/source/index.rst b/Docs/source/index.rst new file mode 100644 index 0000000000..b4ca4e7f1f --- /dev/null +++ b/Docs/source/index.rst @@ -0,0 +1,103 @@ +.. Microphysics documentation main file. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +************************ +AMReX-Astro Microphysics +************************ + +AMReX-Astro Microphysics is a collection of microphysics routines (equations of state, +reaction networks, ...) and utilities (ODE integrators, NSE solvers) +for astrophysical simulation codes. + +The original design was to support the `AMReX +`_ codes `CASTRO +`_ and MAESTRO (now `MAESTROeX +`_). These all have a +consistent interface and the separate Microphysics repository allows +them to share the same equation of state, reaction networks, and more. +Later, Microphysics was adopted by the `Quokka `_ +simulation code. + +While there are a number of unit tests that exercise the functionality, +Microphysics is primarily intended to be used along with another simulation +code. At the moment, the interfaces and +build stubs are compatible with the AMReX codes and use the AMReX build +system. + +A number of the routines contained here we authored by other people. +We bundle them here with permission, usually changing the interfaces +to be compatible with our standardized interface. We in particular +thank Frank Timmes for numerous reaction networks and his equation +of state routines. + + +.. toctree:: + :maxdepth: 1 + :caption: Microphysics overview + :hidden: + + getting_started + design + data_structures + autodiff + rp_intro + +.. toctree:: + :maxdepth: 1 + :caption: EOS and transport + :hidden: + + eos + transport + +.. toctree:: + :maxdepth: 1 + :caption: Reaction networks + :hidden: + + networks-overview + networks + templated_networks + screening + neutrinos + +.. toctree:: + :maxdepth: 1 + :caption: ODE integrators + :hidden: + + integrators + ode_integrators + nse + sdc + +.. toctree:: + :maxdepth: 1 + :caption: Util / external libraries + :hidden: + + util + +.. toctree:: + :maxdepth: 1 + :caption: Unit tests + :hidden: + + unit_tests + comprehensive_tests + one_zone_tests + +.. toctree:: + :maxdepth: 1 + :caption: References + :hidden: + + zreferences + +.. toctree:: + :maxdepth: 1 + :caption: Index + :hidden: + + genindex diff --git a/sphinx_docs/source/integrators.rst b/Docs/source/integrators.rst similarity index 73% rename from sphinx_docs/source/integrators.rst rename to Docs/source/integrators.rst index cf6c87565d..5d110b9bb8 100644 --- a/sphinx_docs/source/integrators.rst +++ b/Docs/source/integrators.rst @@ -14,14 +14,16 @@ The equations we integrate to do a nuclear burn are: :label: eq:spec_integrate .. math:: - \frac{de}{dt} = f(\rho,X_k,T) + \frac{de}{dt} = \epsilon(\rho,X_k,T) :label: eq:enuc_integrate -Here, :math:`X_k` is the mass fraction of species :math:`k`, :math:`e` is the specific -nuclear energy created through reactions. Also needed are density :math:`\rho`, -temperature :math:`T`, and the specific heat. The function :math:`f` provides the energy release from reactions and can often be expressed in terms of the -instantaneous reaction terms, :math:`\dot{X}_k`. As noted in the previous -section, this is implemented in a network-specific manner. +Here, :math:`X_k` is the mass fraction of species :math:`k`, :math:`e` +is the specific nuclear energy created through reactions. Also needed +are density :math:`\rho`, temperature :math:`T`, and the specific +heat. The function :math:`\epsilon` provides the energy release from +reactions and can often be expressed in terms of the instantaneous +reaction terms, :math:`\dot{X}_k`. As noted in the previous section, +this is implemented in a network-specific manner. In this system, :math:`e` is equal to the total specific internal energy. This allows us to easily call the EOS during the burn to obtain the temperature. @@ -44,7 +46,7 @@ energy. This allows us to easily call the EOS during the burn to obtain the temp :label: eq:spec_n_integrate .. math:: - \frac{de}{dt} = f(\rho,n_k,T) + \frac{de}{dt} = \epsilon(\rho,n_k,T) :label: eq:enuc_n_integrate The effect of this flag in the integrators is that we don't worry @@ -103,30 +105,50 @@ passed into the integration routines. For this reason, we often need to pass both the specific integrator's type (e.g. ``dvode_t``) and ``burn_t`` objects into the lower-level network routines. -The overall flow of the integrator is (using VODE as the example): +Below we outline the overall flow of the integrator (using VODE as the +example). Most of the setup and cleanup after calling the particular +integration routine is the same for all integrators, and is handled by +the functions ``integrator_setup()`` and ``integrator_cleanup()``. -#. Call the EOS directly on the input ``burn_t`` state using :math:`\rho` and :math:`T` as inputs. +.. index:: integrator.scale_system, burn_to_integrator, integrator_to_burn +.. index:: integrator.call_eos_in_rhs, integrator.subtract_internal_energy, integrator.burner_verbose + +#. Call the EOS directly on the input ``burn_t`` state using + :math:`\rho` and :math:`T` as inputs. + +#. Scale the absolute energy tolerance if we are using + ``integrator.scale_system`` #. Fill the integrator type by calling ``burn_to_integrator()`` to create a ``dvode_t``. -#. call the ODE integrator, ``dvode()``, passing in the ``dvode_t`` _and_ the +#. Save the initial thermodynamic state for diagnostics and optionally + subtracting off the initial energy later. + +#. Call the ODE integrator, ``dvode()``, passing in the ``dvode_t`` *and* the ``burn_t`` --- as noted above, the auxiliary information that is not part of the integration state will be obtained from the ``burn_t``. -#. subtract off the energy offset---we now store just the energy released - in the ``dvode_t`` integration state. +#. Convert back to a ``burn_t`` by calling ``integrator_to_burn`` -#. convert back to a ``burn_t`` by calling ``integrator_to_burn`` +#. Recompute the temperature if we are using ``integrator.call_eos_in_rhs``. -#. normalize the abundances so they sum to 1. +#. If we set ``integrator.subtract_internal_energy``, then subtract + off the energy offset, the energy stored is now just that generated + by reactions. + +#. Normalize the abundances so they sum to 1 (except if ``integrator.use_number_density`` is set). + +#. Output statistics on the integration if we set ``integrator.burner_verbose``. + This is not recommended for big simulations, as it will output information + for every zone's burn. .. index:: integrator.subtract_internal_energy -.. note:: +.. important:: - Upon exit, ``burn_t burn_state.e`` is the energy *released* during + By default, upon exit, ``burn_t burn_state.e`` is the energy *released* during the burn, and not the actual internal energy of the state. Optionally, by setting ``integrator.subtract_internal_energy=0`` @@ -153,7 +175,8 @@ The righthand side of the network is implemented by .. code-block:: c++ - void actual_rhs(burn_t& state, Array1D& ydot) + AMREX_GPU_HOST_DEVICE AMREX_INLINE + void actual_rhs(burn_t& state, amrex::Array1D& ydot) All of the necessary integration data comes in through state, as: @@ -223,7 +246,7 @@ flow is (for VODE): and zero out the temperature and energy derivatives if we are not integrating those quantities. -#. apply any boosting if ``react_boost`` > 0 +#. apply any boosting if ``integrator.react_boost`` > 0 Jacobian implementation @@ -243,7 +266,11 @@ The analytic Jacobian is specific to each network and is provided by .. code-block:: c++ - void actual_jac(burn_t& state, MathArray2D<1, neqs, 1, neqs>& jac) + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + void actual_jac(const burn_t& state, MatrixType& jac) + +where the ``MatrixType`` is most commonly ``MathArray2D<1, neqs, 1, neqs>`` The Jacobian matrix elements are stored in ``jac`` as: @@ -314,13 +341,9 @@ Thermodynamics and :math:`e` Evolution ====================================== The thermodynamic equation in our system is the evolution of the internal energy, -:math:`e`. - -.. note:: - - When the system is integrated in an operator-split approach, the - energy equation accounts for only the nuclear energy release and - not pdV work. +:math:`e`. During the course of the integration, we ensure that the temperature stay +below the value ``integrator.MAX_TEMP`` (defaulting to ``1.e11``) by clamping the +temperature if necessary. At initialization, :math:`e` is set to the value from the EOS consistent with the initial temperature, density, and composition: @@ -329,28 +352,40 @@ with the initial temperature, density, and composition: e_0 = e(\rho_0, T_0, {X_k}_0) -In the integration routines, this is termed the *energy offset*. - As the system is integrated, :math:`e` is updated to account for the -nuclear energy release, +nuclear energy release (and thermal neutrino losses), + +.. math:: e(t) = e_0 + \int_{t_0}^t \epsilon(\dot{Y}_k) dt + +.. note:: -.. math:: e(t) = e_0 + \int_{t_0}^t f(\dot{Y}_k) dt + When the system is integrated in an operator-split approach, the + energy equation accounts for only the nuclear energy release and + not pdV work. -As noted above, upon exit, we subtract off this initial offset, so ``state.e`` in -the returned ``burn_t`` type from the ``actual_integrator`` -call represents the energy *release* during the burn. +If ``integrator.subtract_internal_energy`` is set, then, on exit, we +subtract off this initial $e_0$, so ``state.e`` in the returned +``burn_t`` type from the ``actual_integrator`` call represents the +energy *release* during the burn. -Integration of Equation :eq:`eq:enuc_integrate` -requires an evaluation of the temperature at each integration step -(since the RHS for the species is given in terms of :math:`T`, not :math:`e`). -This involves an EOS call and is the default behavior of the integration. -Note also that for the Jacobian, we need the specific heat, :math:`c_v`, since we -usually calculate derivatives with respect to temperature (as this is the form -the rates are commonly provided in). +Integration of Equation :eq:`eq:enuc_integrate` requires an evaluation +of the temperature at each integration step (since the RHS for the +species is given in terms of :math:`T`, not :math:`e`). This involves +an EOS call and is the default behavior of the integration. + +Note also that for the Jacobian, we need the specific heat, +:math:`c_v`, since we usually calculate derivatives with respect to +temperature (as this is the form the rates are commonly provided in). .. index:: integrator.call_eos_in_rhs .. note:: - If desired, the EOS call can be skipped and the temperature and $c_v$ kept - frozen over the entire time interval of the integration by setting ``integrator.call_eos_in_rhs=0``. + If desired, the EOS call can be skipped and the temperature and + $c_v$ kept frozen over the entire time interval of the integration + by setting ``integrator.call_eos_in_rhs=0``. + +.. index:: integrator.integrate_energy + +We also provide the option to completely remove the energy equation from +the system by setting ``integrator.integrate_energy=0``. diff --git a/sphinx_docs/source/mathsymbols.tex b/Docs/source/mathsymbols.tex similarity index 100% rename from sphinx_docs/source/mathsymbols.tex rename to Docs/source/mathsymbols.tex diff --git a/sphinx_docs/source/networks-overview.rst b/Docs/source/networks-overview.rst similarity index 95% rename from sphinx_docs/source/networks-overview.rst rename to Docs/source/networks-overview.rst index f4beb95e9a..02074c1a73 100644 --- a/sphinx_docs/source/networks-overview.rst +++ b/Docs/source/networks-overview.rst @@ -114,9 +114,11 @@ There are two primary files within each network directory. state and (respectively) the time-derivatives and Jacobian elements to fill in. - Note: some networks do not provide an analytic Jacobian and instead - rely on the numerical difference-approximation to the Jacobian. In - this case, the interface ``actual_jac`` is still needed to compile. + .. note:: + + Some networks do not provide an analytic Jacobian and instead + rely on the numerical difference-approximation to the Jacobian. In + this case, the interface ``actual_jac`` is still needed to compile. Notice that these modules have initialization routines: diff --git a/sphinx_docs/source/networks.rst b/Docs/source/networks.rst similarity index 97% rename from sphinx_docs/source/networks.rst rename to Docs/source/networks.rst index e0fd944f00..908a6ee200 100644 --- a/sphinx_docs/source/networks.rst +++ b/Docs/source/networks.rst @@ -26,10 +26,10 @@ is stored as ``mion(:)`` in the network. The energy release per gram is converted from the rates as: -.. math:: \edot = -N_A c^2 \sum_k \frac{dY_k}{dt} M_k - \edotnu +.. math:: \epsilon = -N_A c^2 \sum_k \frac{dY_k}{dt} M_k - \epsilon_\nu where :math:`N_A` is Avogadro’s number (to convert this to “per gram”) -and :math:`\edotnu` is the neutrino loss term. +and :math:`\edotnu` is the neutrino loss term (see :ref:`neutrino_loss`). ``general_null`` @@ -56,6 +56,8 @@ for plotfile variables, and the mass number, :math:`A`, and proton number, :math The name of the inputs file by one of two make variables: +.. index:: NETWORK_INPUTS, GENERAL_NET_INPUTS + * ``NETWORK_INPUTS`` : this is simply the name of the "`.net`" file, without any path. The build system will look for it in the current directory and then in ``$(MICROPHYSICS_HOME)/networks/general_null/``. @@ -135,7 +137,7 @@ network is interpolated based on the density. It is stored as the binding energy (ergs/g) *per nucleon*, with a sign convention that binding energies are negative. The energy generation rate is then: -.. math:: \edot = q \frac{dX(\isotm{C}{12})}{dt} = q A_{\isotm{C}{12}} \frac{dY(\isotm{C}{12})}{dt} +.. math:: \epsilon = q \frac{dX(\isotm{C}{12})}{dt} = q A_{\isotm{C}{12}} \frac{dY(\isotm{C}{12})}{dt} (this is positive since both :math:`q` and :math:`dY/dt` are negative) @@ -242,7 +244,7 @@ Finally, for the energy generation, we take our reaction to release a specific energy, :math:`[\mathrm{erg~g^{-1}}]`, of :math:`\qburn`, and our energy source is -.. math:: \edot = -\qburn \frac{dX_f}{dt} +.. math:: \epsilon = -\qburn \frac{dX_f}{dt} There are a number of parameters we use to control the constants in this network. This is one of the few networks that was designed diff --git a/Docs/source/neutrinos.rst b/Docs/source/neutrinos.rst new file mode 100644 index 0000000000..28deab6ab6 --- /dev/null +++ b/Docs/source/neutrinos.rst @@ -0,0 +1,47 @@ +.. _neutrino_loss: + +*************** +Neutrino Losses +*************** + +We model thermal neutrino losses (plasma, photo-, pair-, +recombination, and Bremsstrahlung) using the method described in +:cite:`itoh:1996`. This neutrino loss term is included in all of the +reaction networks by default, and modifies the energy equation to have +the form (for Strang splitting): + +.. math:: + + \frac{de}{dt} = \epsilon - \epsilon_\nu + +where $\epsilon_\nu$ are the thermal neutrino losses. + +.. note:: + + Thermal neutrino losses can be disabled at compile time by setting the make + variable ``USE_NEUTRINOS = FALSE``. + +The interface for the neutrino loss function is: + +.. code:: c++ + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + void sneut5(const amrex::Real temp, const amrex::Real den, + const amrex::Real abar, const amrex::Real zbar, + amrex::Real& snu, amrex::Real& dsnudt, amrex::Real& dsnudd, + amrex::Real& dsnuda, amrex::Real& dsnudz) + +Here, the template parameter, ``do_derivatives``, can be used to disable the code +the computes the derivatives of the neutrino loss, for example, if a numerical Jacobian +is used. The output is + +* ``snu`` : $\epsilon_\nu$, the neutrino loss in erg/g/s + +* ``dsnudt`` : $d\epsilon_\nu/dT$ + +* ``dsnudd`` : $d\epsilon_\nu/d\rho$ + +* ``dsnuda`` : $d\epsilon_\nu/d\bar{A}$ + +* ``dsnudz`` : $d\epsilon_\nu/d\bar{Z}$ diff --git a/sphinx_docs/source/nova.png b/Docs/source/nova.png similarity index 100% rename from sphinx_docs/source/nova.png rename to Docs/source/nova.png diff --git a/sphinx_docs/source/nova2.png b/Docs/source/nova2.png similarity index 100% rename from sphinx_docs/source/nova2.png rename to Docs/source/nova2.png diff --git a/sphinx_docs/source/nse.rst b/Docs/source/nse.rst similarity index 72% rename from sphinx_docs/source/nse.rst rename to Docs/source/nse.rst index 67b646b1f4..74d55f0ae8 100644 --- a/sphinx_docs/source/nse.rst +++ b/Docs/source/nse.rst @@ -2,13 +2,21 @@ NSE *** +.. important:: + + NSE is only supported with the simplified-SDC method for + coupling hydrodynamics and reactions. We do not support + operator-splitting (Strang) coupling with NSE. + The reaction networks in Microphysics have the ability to use NSE instead of integrating the entire network when the conditions are appropriate. There are 2 different implementations of NSE in Microphysics, that have slightly different use cases. +.. index:: USE_NSE_TABLE, USE_NSE_NET + * :ref:`tabulated_nse` : this uses a table of NSE abundances given - :math:`(\rho, T, Y_e)` generate from a large network (125 isotopes). + :math:`(\rho, T, Y_e)` generate from a large network (96 isotopes). The table also returns :math:`dY_e/dt` resulting from electron-captures, to allow for the NSE state to evolve. This is meant to be used in the cores of massive stars and works only with the @@ -21,8 +29,11 @@ Microphysics, that have slightly different use cases. :math:`\langle B/A\rangle`. All of the EOS calls will work with these quantities. + This algorithm was described in :cite:`sdc-nse`. + This is enabled via ``USE_NSE_TABLE`` + * :ref:`self_consistent_nse` : this adds an NSE solver to the network that can be called to find the equilibrium abundances of each of the species defined in the network. It works with any of the @@ -59,18 +70,19 @@ standard ``aprox19`` network with a table for nuclear statistic equilibrium resulting from a much larger network at high density and temperatures. This option is enabled by building with: -.. prompt:: bash +.. code:: bash NETWORK_DIR=aprox19 USE_NSE_TABLE=TRUE Composition and EOS ------------------- -The NSE table was generated using a 125 nuclei reaction network -(described in :cite:`ma:2013`), and includes electron-capture rates, -so the compositional quantities it carries, :math:`\bar{A}` and -:math:`Y_e` and not representable from the 19 isotopes we carry in the -network. In particular, it can attain a lower :math:`Y_e` than +The NSE table was generated using `pynucastro +` using 96 nuclei and +electron/positron capture/decay rates from :cite:`langanke:2001`. The +table takes $Y_e$ as the primary composition variable and provides a +set of mass fractions that is mapped into those used by ``aprox19``. +Using the value allows us to attain a lower :math:`Y_e` than ``aprox19`` can represent. For this reason, when we are using the NSE network, we always take the @@ -84,35 +96,39 @@ NSE Table Outputs ----------------- The NSE table provides values for the auxiliary composition, -:math:`Y_e`, :math:`\bar{A}`, and :math:`\langle B/A \rangle` -resulting from the full 125 nuclei network. It also provides a set of 19 +:math:`\bar{A}`, and :math:`\langle B/A \rangle` +resulting from the full 96 nuclei network. It also provides a set of 19 :math:`X_k` that map into the isotopes carried by ``aprox19``. - - These three quantities are stored as ``aux`` data in the network and are indexed as ``iye``, ``iabar``, and ``ibea``. Additionally, when coupling to hydrodynamics, we need to advect these auxiliary quantities. -For Strang split coupling of hydro and reactions, :math:`DX_k/Dt = 0`, -and our evolution equations are: +The evolution equations for the auxiliary variables are: .. math:: \begin{align*} - \frac{DY_e}{Dt} &= \sum_k \frac{Z_k}{A_k} \frac{DX_k}{Dt} = 0 \\ - \frac{D}{Dt} \frac{1}{\bar{A}} &= - \frac{1}{\bar{A}^2} \frac{D\bar{A}}{Dt} = \sum_k \frac{1}{A_k} \frac{DX_k}{Dt} = 0 \rightarrow \frac{D\bar{A}}{Dt} = 0 \\ - \frac{D}{Dt} \left (\frac{B}{A} \right ) &= \sum_k \frac{B_k}{A_k} \frac{DX_k}{Dt} = 0 + \frac{DY_e}{Dt} &= \sum_k \frac{Z_k}{A_k} \dot{\omega}_k \\ + \frac{D\bar{A}}{Dt} &= -\bar{A}^2 \sum_k \frac{1}{A_k} \dot{\omega}_k \\ + \frac{D}{Dt} \left (\frac{B}{A} \right ) &= \sum_k \frac{B_k}{A_k} \dot{\omega}_k \end{align*} Therefore each of these auxiliary equations obeys an advection equation in the hydro part of the advancement. +The table also provides $dY_e/dt$, $(d\langle +B/A\rangle/dt)_\mathrm{weak}$, and $\epsilon_{\nu,\mathrm{react}}$, the +weak rate neutrino losses. These quantities are used to update the +thermodynamic state as we integrate. NSE Flow -------- -The basic flow of a simulation using ``aprox19`` + the NSE table is as follows: +.. index:: integrator.nse_deriv_dt_factor, integrator.nse_include_enu_weak + +The time integration algorithm is described in detail in :cite:`sdc-nse`. Here +we provide an outline: * initialize the problem, including :math:`X_k` @@ -127,34 +143,58 @@ The basic flow of a simulation using ``aprox19`` + the NSE table is as follows: * if we are in an NSE region: - * use :math:`\rho`, :math:`T`, and :math:`Y_e` to call the table. - This returns: :math:`dY_e/dt`, :math:`(B/A)_{\rm out}`, and :math:`\bar{A}_{\rm out}`. + * Compute the initial temperature given $\rho$, $e$, and $Y_e$, + using an EOS inversion algorithm that understands NSE (in + particular that the composition depends on $T$ in NSE) - * update :math:`Y_e` [#fY]_ : + * Compute the plasma neutrino losses, $\epsilon_{\nu,\mathrm{thermal}}$ - .. math:: - - (Y_e)_{\rm out} = (Y_e)_{\rm in} + \Delta t \frac{dY_e}{dt} + * Use :math:`\rho`, :math:`T`, and :math:`Y_e` to evaluate the NSE + state and construct $[\Rb(\Uc^\prime)]^n$, the source term from reactions to the + reduced conserved state $\Uc^\prime$ (this is the state used by the SDC algorithm + and includes the internal energy density, mass fractions, and auxiliary variables). - * :math:`\bar{A}_{\rm out}` is simply the value returned from the table + This is done via finite differencing in time (through a step + $\tau \ll \Delta t$), and the reactive sources are constructed + to exclude the advective contributions. The size of $\tau$ is + controlled via ``integrator.nse_deriv_dt_factor``. - * the energy generation rate, :math:`e_{\rm nuc}` is: + In particular, the energy source is constructed as: .. math:: - e_{\rm nuc} = \eta \left [ \left ( \frac{B}{A} \right )_{\rm out} - - \left ( \frac{B}{A} \right )_{\rm in} \right ] * \frac{1.602 \times 10^{-6} {\rm erg}}{{\rm MeV}} N_A \frac{1}{\Delta t} + R(\rho e) = N_A \frac{\Delta (\rho \langle B/A\rangle)}{\tau} + N_A \Delta m_{np} c^2 \rho \frac{dY_e}{dt} - \rho (\epsilon_{\nu,\mathrm{thermal}} + \epsilon_{\nu,\mathrm{react}}) + + where $\Delta m_{np}$ is the difference between the neutron and H atom mass. + .. important:: - where :math:`\eta` is an inertia term < 1 to prevent the energy changing too much in one set. + It only makes sense to include the weak rate neutrino losses, $\epsilon_{\nu,\mathrm{react}}$, + if the initial model that you are using in your simulation also included those losses. + Otherwise, the energy loss from our NSE table will likely be too great and that simulation + will not be in equilibrium. This is an issue, for example, when using a MESA model + constructed with ``aprox21``, which does not have all of the weak rates we model here. - * the new binding energy for the zone is then: + The weak rate neutrino losses can be disabled by ``integrator.nse_include_enu_weak=0``. + + * Predict $\Uc^\prime$ to the midpoint in time, $n+1/2$ and construct + $[\Rb(\Uc^\prime)]^{n+1/2}$. + + * Do the final update to time $n$ as: .. math:: - \left ( \frac{B}{A} \right )_{\rm out} = \left ( \frac{B}{A} \right )_{\rm in} + \eta \left [ \left ( \frac{B}{A} \right )_{\rm out} - \left ( \frac{B}{A} \right )_{\rm in} \right ] + \Uc^{\prime,n+1/2} = \Uc^{\prime,n} + \frac{\Delta t}{2} [\Advs{\Uc^\prime}]^{n+1/2} + \frac{\Delta t}{2} [\Rb(\Uc^\prime)]^{n+1/2} + + + where $[\Advs{\Uc^\prime}]^{n+1/2}$ are the advective updates carried by the SDC + algorithm. + + * Compute the energy generation rate from the change in internal energy from $\Uc^{\prime,n}$ to $\Uc^{\prime,n+1}$, excluding advection. + + * Update the total energy. - * update the mass fractions, :math:`X_k`, using the values from the table + * Set the mass fractions carried on the grid from the NSE table (with the new temperature and $Y_e$). * if we are not in NSE: @@ -166,35 +206,38 @@ The basic flow of a simulation using ``aprox19`` + the NSE table is as follows: NSE check --------- -For a zone to be consider in NSE, we require $\rho$ > ``rho_nse`` and *either* +.. index:: network.rho_nse, network.T_nse, network.T_always_nse +.. index:: network.He_Fe_nse, network.C_nse, network.O_nse, network.Si_nse -* $T$ > ``T_nse`` together with the composition check +For a zone to be consider in NSE, we require $\rho$ > ``network.rho_nse`` and *either* -* $T$ > ``T_always_nse`` +* $T$ > ``network.T_nse`` together with the composition check + +* $T$ > ``network.T_always_nse`` where we assume that ``T_always_nse`` > ``T_nse``. The composition check considers the following nuclei groups: -* ``He_group``: atomic numbers 1 to 2 (H to He) +* He-group: atomic numbers 1 to 2 (H to He) -* ``C_group``: atomic numbers 6 to 7 (C to N) +* C-group: atomic numbers 6 to 7 (C to N) -* ``O_group``: atomic number 8 (O) +* O-group: atomic number 8 (O) -* ``Si_group``: atomic number 14 (Si) +* Si-group: atomic number 14 (Si) -* ``Fe_group``: atomic numbers 24 to 30 (Cr to Zn) +* Fe-group: atomic numbers 24 to 30 (Cr to Zn) and we then say that a composition supports NSE if: -* :math:`X(C_group)` < ``C_nse`` +* :math:`X(\mathrm{C}_\mathrm{group})` < ``network.C_nse`` -* :math:`X(O_group)` < ``O_nse`` +* :math:`X(\mathrm{O}_\mathrm{group})` < ``network.O_nse`` -* :math:`X(Si_group)` < ``Si_nse`` +* :math:`X(\mathrm{Si}_\mathrm{group})` < ``network.Si_nse`` -* :math:`X(Fe_group) + X(He_group)` > ``He_Fe_nse`` +* :math:`X(\mathrm{Fe}_\mathrm{group}) + X(\mathrm{He}_\mathrm{group})` > ``network.He_Fe_nse`` @@ -203,9 +246,9 @@ NSE table ranges The NSE table was created for: -* :math:`9 < \log_{10}(T) < 10.4` +* :math:`9.4 < \log_{10}(T) < 10.4` * :math:`7 < \log_{10}(\rho) < 10` -* :math:`0.4 < Y_e < 0.5` +* :math:`0.43 < Y_e < 0.5` @@ -248,8 +291,8 @@ different syntax. The overall framework is constructed following :cite:`Kushnir_2020` with slight variations. The overview of the steps we take are the following: -* Minimum Temperature Check: require ``T > T_min_nse``, where ``T_min_nse`` is - a runtime parameter with a default value ``T_min_nse = 4.0e9``. +* Minimum Temperature Check: require ``T > nse.T_min_nse``, where ``nse.T_min_nse`` is + a runtime parameter with a default value ``nse.T_min_nse = 4.0e9``. * Mass Abundance Check: compare the current mass abundances of the nuclei to the NSE mass fractions. A detailed criteria are the following: @@ -278,13 +321,13 @@ variations. The overview of the steps we take are the following: .. math:: - \epsilon_{abs} = Y^i - Y^i_{NSE} < \mbox{nse_abs_tol} + \epsilon_{abs} = Y^i - Y^i_{NSE} < \mbox{nse.nse_abs_tol} .. math:: - \epsilon_{rel} = \frac{\epsilon_{abs}}{Y^i} < \mbox{nse_rel_tol} + \epsilon_{rel} = \frac{\epsilon_{abs}}{Y^i} < \mbox{nse.nse_rel_tol} - where ``nse_rel_tol = 0.2`` and ``nse_abs_tol = 0.005`` by default. + where ``nse.nse_rel_tol = 0.2`` and ``nse.nse_abs_tol = 0.005`` by default. * **Removed** :cite:`Kushnir_2020` also requires a fast reaction cycle that @@ -441,14 +484,3 @@ to the self-consistent nse check: the subsequent NSE checks. This is mainly to avoid unnecessary computations of computing the NSE mass fractions when the current temperature is too low. This is set to 4.0e9 by default. - - -.. rubric:: Footnotes - -.. [#fY] The table actually provides the weak rate, which is the sum - of all electron capture and positron decay rates times the - appropriate abundances minus a similar rate for the beta decay and - positron capture, [wrate] = [rectot] + [rpdtot] - [redtot] - [rpctot] - - So if electron capture dominates, then [wrate] is positive and this should - be subtracted from :math:`Y_e`. diff --git a/sphinx_docs/source/ode_integrators.rst b/Docs/source/ode_integrators.rst similarity index 76% rename from sphinx_docs/source/ode_integrators.rst rename to Docs/source/ode_integrators.rst index 6a2286ec1e..fa7eb2b14c 100644 --- a/sphinx_docs/source/ode_integrators.rst +++ b/Docs/source/ode_integrators.rst @@ -1,9 +1,11 @@ .. _ch:networks:integrators: -********************* -Available Integrators -********************* +*************** +ODE Integrators +*************** +Available integrators +===================== We use a high-order implicit ODE solver for integrating the reaction system. A few alternatives, including first order implicit and explicit integrators are also @@ -43,6 +45,8 @@ the allowed options are: the `Gershgorin circle theorem `_ is used instead. +.. index:: integrator.use_jacobian_caching + * ``VODE``: the VODE :cite:`vode` integration package. We ported this integrator to C++ and removed the non-stiff integration code paths. @@ -60,12 +64,6 @@ robust. .. index:: integrator.scale_system -.. important:: - - The integrator will not abort if it encounters trouble. Instead it will - set ``burn_t burn_state.success = false`` on exit. It is up to the - application code to handle the failure. - .. note:: The runtime parameter ``integrator.scale_system`` @@ -81,6 +79,67 @@ robust. This option currently does not work with the ForwardEuler or QSS integrators. +Timestep selection +================== + +All of the integrators will select the timestep internally to meet the +tolerances. There are 2 controls that affect timestepping: + +* ``integrator.ode_max_dt`` : sets the maximum allowed timestep + +* ``integrator.ode_max_steps`` : sets the maximum number of steps + the integrator is allowed to take. If it exceeds this, then + it will return an error. + + +Linear algebra +============== + +All implicit integrators use the LINPACK LU decomposition routines. + +For the templated networks (``aprox13``, ``aprox19``, ...) the implementation +is done using ``consexpr`` loops over the equations and no pivoting is allowed. + +.. index:: integrator.linalg_do_pivoting + +For the other networks (usually pynucastro networks), the implementation is +provided in ``Microphysics/util/linpack.H`` and is templated on the number +of equations. Pivoting can be disabled by setting ``integrator.linalg_do_pivoting=0``. + +Integration errors +================== + +.. important:: + + The integrator will not abort if it encounters trouble. Instead it will + set ``burn_t burn_state.success = false`` on exit. It is up to the + application code to handle the failure. + +The ``burn_t`` ``error_code`` field will provide an error code that can be +used to interpret the failure. The current codes are: + ++-------+----------------------------------------------------------+ +| code | meaning | ++=======+==========================================================+ +| 1 | success | ++-------+----------------------------------------------------------+ +| -1 | invalid inputs | ++-------+----------------------------------------------------------+ +| -2 | underflow in computing $\Delta t$ | ++-------+----------------------------------------------------------+ +| -3 | spectral radius estimation did not converge | ++-------+----------------------------------------------------------+ +| -4 | too many steps needed | ++-------+----------------------------------------------------------+ +| -5 | unable to meet the accuracy demanded by the tolerances | ++-------+----------------------------------------------------------+ +| -6 | non-convergence in the corrector iteration | ++-------+----------------------------------------------------------+ +| -7 | LU decomposition failed | ++-------+----------------------------------------------------------+ +| -100 | entered NSE | ++-------+----------------------------------------------------------+ + Tolerances ========== @@ -131,6 +190,8 @@ is used for the temperature and energy. Controlling Species $\sum_k X_k = 1$ ==================================== +.. index:: integrator.renormalize_abundances, integrator.SMALL_X_SAFE, integrator.do_species_clip + The ODE integrators don't know about the constraint that $$\sum_k X_k = 1$$ @@ -164,6 +225,8 @@ constraint on the intermediate states during the integration. Retry Mechanism =============== +.. index:: integrator.ode_max_steps + Integration can fail for a number of reasons. Some of the errors you may see are: 1. Not enough steps allowed (``integrator.ode_max_steps``) @@ -232,17 +295,3 @@ The runtime parameters that come into play when doing the retry are: ``integrator.ode_max_steps`` to a small value (like ``10000``) and start with the analytic Jacobian (``integrator.jacobian = 1``) and then use the retry mechanism to swap the Jacobian on any zones that fail. - - -Overriding Parameter Defaults on a Network-by-Network Basis -=========================================================== - -Any network can override or add to any of the existing runtime -parameters by creating a ``_parameters`` file in the network directory -(e.g., ``networks/triple_alpha_plus_cago/_parameters``). As noted in -:doc:`rp_intro`, the fourth column in the ``_parameter`` -file definition is the *priority*. When a duplicate parameter is -encountered by the scripts writing the runtime parameter header files, the value -of the parameter with the highest priority is used. So picking a large -integer value for the priority in a network’s ``_parameter`` file will -ensure that it takes precedence. diff --git a/Docs/source/one_zone_tests.rst b/Docs/source/one_zone_tests.rst new file mode 100644 index 0000000000..43a1e9ea48 --- /dev/null +++ b/Docs/source/one_zone_tests.rst @@ -0,0 +1,182 @@ +************** +One Zone Tests +************** + +There are several tests that let you call the EOS or reaction network +on a single zone to inspect the output directly. + + +``burn_cell`` +============= + +.. index:: burn_cell + +``burn_cell`` is a simple one-zone burn that will evolve a state with +a network for a specified amount of time. This can be used to +understand the timescales involved in a reaction sequence or to +determine the needed ODE tolerances. This is designed to work +with the Strang-split integration wrappers. The system that is evolved +has the form: + +.. math:: + + \begin{align*} + \frac{dX_k}{dt} &= \dot{\omega}_k(\rho, X_k, T) \\ + \frac{de}{dt} &= \epsilon(\rho, X_k, T) + \end{align*} + +with density held constant and the temperature found via the equation of state, +$T = T(\rho, X_k, e)$. + + +.. note:: + + Since the energy evolves due to the heat release (or loss) + from reactions, the temperature will change during the burn + (unless ``integrator.call_eos_in_rhs=0`` is set). + + +Getting Started +--------------- + +The ``burn_cell`` code is located in +``Microphysics/unit_test/burn_cell``. An inputs file which sets the +default parameters for your choice of network is needed to run the +test. There are a number of inputs files in the unit test directory +already with a name list ``inputs_network``, where ``network`` +is the network you wish to use for your testing. These can be +used as a starting point for any explorations. + + +Setting the thermodynamics +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The parameters that affect the thermodynamics are: + +* ``unit_test.density`` : the initial density + +* ``unit_test.temperature`` : the initial temperature + +* ``unit_test.small_temp`` : the low temperature cutoff used in the equation of state + +* ``unit_test.small_dens`` : the low density cutoff used in the equation of state + +The composition can be set either by setting each mass fraction explicitly via the +parameters, ``unit_test.X1``, ``unit_test.X2``, ..., +e.g.: + +:: + + unit_test.X1 = 0.5 + unit_test.X2 = 0.2 + unit_test.X3 = 0.2 + unit_test.X4 = 0.1 + +where parameters up to ``X35`` are available. If the values don't sum to ``1`` +initially, then the test will do a normalization. This normalization can be +disabled by setting: + +:: + + unit_test.skip_initial_normalization = 1 + + +Alternately, the composition can be set automatically by initializing all +of the mass fractions equally (to $1/N$, where $N$ is the number of species), +by setting: + +:: + + unit_test.init_species_all_equal = 1 + + +Controlling time +^^^^^^^^^^^^^^^^ + +The test will run unit a time ``unit_test.tmax``, outputting the state +at regular intervals. The parameters controlling the output are: + +* ``unit_test.tmax`` : the end point of integration. + +* ``unit_test.tfirst`` : the first time interval to output. + +* ``unit_test.nsteps`` : the number of steps to divide the integration into, + logarithmically-spaced. + +If there is only a single step, ``unit_test.nsteps = 1``, then we integrate +from $[0, \mathrm{tmax}]$. + +If there are multiple steps, then the first output will be at a time +$\mathrm{tmax} / \mathrm{nsteps}$, and the steps will be +logarithmically-spaced afterwards. + + +Integration parameters +^^^^^^^^^^^^^^^^^^^^^^ + +The tolerances, choice of Jacobian, and other integration parameters +can be set via the usual Microphysics runtime parameters, e.g. +``integrator.atol_spec``. + + +Building and Running the Code +----------------------------- + +The code can be built simply as: + +.. prompt:: bash + + make + +and the network and integrator can be changed using the normal +Microphysics build system parameters, e.g., + +.. prompt:: bash + + make NETWORK_DIR=aprox19 INTEGRATOR_DIR=rkc + +The build process will automatically create links in the build +directory to the EOS table and any reaction rate tables needed by your +choice of network. + + +.. important:: + + You need to do a ``make clean`` before rebuilding with a different + network or integrator. + + +To run the code, enter the burn_cell directory and run:: + + ./main3d.gnu.ex inputs + +where ``inputs`` is the name of your inputs file. + +Working with Output +------------------- + +.. note:: + + For this part, we'll assume that the default ``aprox13`` and + ``VODE`` options were used for the network and integrator, and the + test was run with ``inputs.aprox13``. + +As the code runs, it will output to ``stdout`` details of the initial +and final state and the number of integration steps taken (along with whether +the burn was successful). The full history of the thermodynamic state will also be output to a file, +``state_over_time.txt``, with each line corresponding to one of the +``nsteps`` requested in the time integration. + +The script ``plot_burn_cell.py`` can be used to visualize the evolution: + +.. prompt:: bash + + python plot_burn_cell.py state_over_time.txt + +This will generate the following figure: + +.. figure:: state.png + :alt: An example of a plot output by the burn_cell unit test. + +Only the most abundant species are plotted. The number of species to plot and the +limits of $X$ can be set via runtime parameters (see ``python plot_burn_cell.py -h``). diff --git a/sphinx_docs/source/react_aprox13_logX.png b/Docs/source/react_aprox13_logX.png similarity index 100% rename from sphinx_docs/source/react_aprox13_logX.png rename to Docs/source/react_aprox13_logX.png diff --git a/sphinx_docs/source/refs.bib b/Docs/source/refs.bib similarity index 86% rename from sphinx_docs/source/refs.bib rename to Docs/source/refs.bib index 4b92f50b21..67eb167741 100644 --- a/sphinx_docs/source/refs.bib +++ b/Docs/source/refs.bib @@ -625,3 +625,79 @@ @misc{autodiff howpublished = {\texttt{https://autodiff.github.io}}, year = {2018} } + +@ARTICLE{timmes:2000b, + author = {{Timmes}, F.~X.}, + title = "{Physical Properties of Laminar Helium Deflagrations}", + journal = {APJ}, + keywords = {HYDRODYNAMICS, METHODS: NUMERICAL, NUCLEAR REACTIONS, NUCLEOSYNTHESIS, ABUNDANCES, STARS: INTERIORS, Hydrodynamics, Methods: Numerical, nuclear reactions, nucleosynthesis; abundances, Stars: Interiors}, + year = 2000, + month = jan, + volume = {528}, + number = {2}, + pages = {913-945}, + doi = {10.1086/308203}, + adsurl = {https://ui.adsabs.harvard.edu/abs/2000ApJ...528..913T}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + + +@article{sdc-nse, +doi = {10.3847/1538-4357/ad8a66}, +url = {https://dx.doi.org/10.3847/1538-4357/ad8a66}, +year = {2024}, +month = {nov}, +publisher = {The American Astronomical Society}, +volume = {977}, +number = {1}, +pages = {30}, +author = {Michael Zingale and Zhi Chen and Eric T. Johnson and Max P. Katz and Alexander Smith Clark}, +title = {Strong Coupling of Hydrodynamics and Reactions in Nuclear Statistical Equilibrium for Modeling Convection in Massive Stars}, +journal = {The Astrophysical Journal}, +abstract = {We build on the simplified spectral deferred corrections + (SDC) coupling of hydrodynamics and reactions to + handle the case of nuclear statistical equilibrium + (NSE) and electron/positron captures/decays in the + cores of massive stars. Our approach blends a + traditional reaction network on the grid with a + tabulated NSE state from a very large, nuclei + network. We demonstrate how to achieve second-order + accuracy in the simplified-SDC framework when + coupling NSE to hydrodynamics, with the ability to + evolve the star on the hydrodynamics time step. We + discuss the application of this method to convection + in massive stars leading up to core collapse. We + also show how to initialize the initial convective + state from a 1D model in a self-consistent + fashion. All of these developments are done in the + publicly available Castro simulation code and the + entire simulation methodology is fully + GPU-accelerated.} +} + +@article{langanke:2001, +title = {RATE TABLES FOR THE WEAK PROCESSES OF pf-SHELL NUCLEI IN STELLAR ENVIRONMENTS}, +journal = {Atomic Data and Nuclear Data Tables}, +volume = {79}, +number = {1}, +pages = {1-46}, +year = {2001}, +issn = {0092-640X}, +doi = {https://doi.org/10.1006/adnd.2001.0865}, +author = {K. LANGANKE and G. MARTÍNEZ-PINEDO}, +abstract = {The weak interaction rates in stellar environments are computed for pf-shell nuclei in the mass range A=45–65 using large-scale shell-model calculations. The calculated capture and decay rates take into consideration the latest experimental energy levels and log ft-values. The rates are tabulated at the same grid points of density and temperature as those used by Fuller, Fowler, and Newman for densities ρY e =10–1011 g/cm3 and temperatures T=107–1011 K, and hence are relevant for both types of supernovae (Type Ia and Type II). Effective 〈ft〉 values for capture rates and average neutrino (antineutrino) energies are also given to facilitate the use of interpolated rates in stellar evolution codes.} +} + +@ARTICLE{itoh:1996, + author = {{Itoh}, Naoki and {Hayashi}, Hiroshi and {Nishikawa}, Akinori and {Kohyama}, Yasuharu}, + title = "{Neutrino Energy Loss in Stellar Interiors. VII. Pair, Photo-, Plasma, Bremsstrahlung, and Recombination Neutrino Processes}", + journal = {\apjs}, + keywords = {DENSE MATTER, ELEMENTARY PARTICLES, RADIATION MECHANISMS: NONTHERMAL, STARS: INTERIORS, METHODS: NUMERICAL}, + year = 1996, + month = feb, + volume = {102}, + pages = {411}, + doi = {10.1086/192264}, + adsurl = {https://ui.adsabs.harvard.edu/abs/1996ApJS..102..411I}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} diff --git a/sphinx_docs/source/rp_intro.rst b/Docs/source/rp_intro.rst similarity index 100% rename from sphinx_docs/source/rp_intro.rst rename to Docs/source/rp_intro.rst diff --git a/Docs/source/runtime_parameters.rst b/Docs/source/runtime_parameters.rst new file mode 100644 index 0000000000..e35240cd42 --- /dev/null +++ b/Docs/source/runtime_parameters.rst @@ -0,0 +1,1940 @@ +Parameters by Namespace +======================= +namespace: none +--------------- + +**util/cj_detonation:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``smallx`` | | 1.e-10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``conductivity`` +--------------------------- + +**CONDUCTIVITY_DIR=constant:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``const_conductivity`` | | 1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**CONDUCTIVITY_DIR=constant_opacity:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``const_opacity`` | | 7.0e-2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**CONDUCTIVITY_DIR=powerlaw:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``cond_coeff`` | | 1.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``cond_exponent`` | | 1.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``eos`` +------------------ + +**EOS_DIR=breakout:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_gamma`` | | 0.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=gamma_law:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_gamma`` | | 5.e0/3.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_assume_neutral`` | | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=helmholtz:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``use_eos_coulomb`` | use the Coulomb corrections | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_input_is_constant`` | Force the EOS output quantities to match input | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_ttol`` | Tolerance for iterations with respect to temperature | 1.0e-8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_dtol`` | Tolerance for iterations with respect to density | 1.0e-8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``prad_limiter_rho_c`` | Density target for radiation pressure smoothing | -1.0e0 | +| | (negative means smoothing is disabled) | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``prad_limiter_delta_rho`` | Density gradient for radiation pressure smoothing | -1.0e0 | +| | (negative means smoothing is disabled) | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=metal_chem:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_gamma_default`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_1_name`` | define the specie names, and their masses and gammas | "co_total" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_1_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_1_mass`` | | 0.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_2_name`` | | "h2o_total" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_2_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_2_mass`` | | 0.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_3_name`` | | "elec" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_3_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_3_mass`` | | 9.10938188e-28 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_4_name`` | | "hp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_4_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_4_mass`` | | 1.67262158e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_5_name`` | | "h" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_5_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_5_mass`` | | 1.67353251819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_6_name`` | | "hm" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_6_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_6_mass`` | | 1.67444345638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_7_name`` | | "dp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_7_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_7_mass`` | | 3.34512158e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_8_name`` | | "d" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_8_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_8_mass`` | | 3.34603251819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_9_name`` | | "h2p" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_9_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_9_mass`` | | 3.34615409819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_10_name`` | | "dm" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_10_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_10_mass`` | | 3.34694345638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_11_name`` | | "h2" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_11_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_11_mass`` | | 3.34706503638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_12_name`` | | "hdp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_12_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_12_mass`` | | 5.01865409819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_13_name`` | | "hd" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_13_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_13_mass`` | | 5.01956503638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_14_name`` | | "hepp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_14_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_14_mass`` | | 6.69024316e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_15_name`` | | "hep" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_15_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_15_mass`` | | 6.69115409819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_16_name`` | | "he" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_16_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_16_mass`` | | 6.69206503638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_17_name`` | | "cp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_17_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_17_mass`` | | 2.007528417094e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_18_name`` | carbon cannot be declared as c because it conflicts | "carbon" | +| | with namespace C used for physical constants | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_18_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_18_mass`` | | 2.0076195109128e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_19_name`` | | "ch" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_19_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_19_mass`` | | 2.1749727627316e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_20_name`` | | "ch2" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_20_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_20_mass`` | | 2.3423260145503998e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_21_name`` | | "ch3" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_21_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_21_mass`` | | .5096792663692e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_22_name`` | | "op" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_22_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_22_mass`` | | 2.6767349207316e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_23_name`` | | "o" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_23_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_23_mass`` | | 2.6768260145504e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_24_name`` | | "ch4" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_24_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_24_mass`` | | 2.677032518188e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_25_name`` | | "ohp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_25_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_25_mass`` | | 2.8440881725504e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_26_name`` | | "oh" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_26_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_26_mass`` | | 2.8441792663692003e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_27_name`` | | "h2op" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_27_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_27_mass`` | | 3.0114414243692e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_28_name`` | | "h2o" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_28_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_28_mass`` | | 3.011532518188e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_29_name`` | | "h3op" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_29_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_29_mass`` | | 3.178794676188e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_30_name`` | | "cop" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_30_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_30_mass`` | | 4.6843544316444e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_31_name`` | | "co" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_31_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_31_mass`` | | 4.6844455254632e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_32_name`` | | "o2p" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_32_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_32_mass`` | | 5.353560935282e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_33_name`` | | "o2" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_33_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_33_mass`` | | 5.3536520291008e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_34_name`` | | "co2" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_34_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_34_mass`` | | 7.3612715400136e-23 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=multigamma:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_gamma_default`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_a_name`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_a_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_b_name`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_b_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_c_name`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_c_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=polytrope:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``polytrope_type`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``polytrope_gamma`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``polytrope_K`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``polytrope_mu_e`` | | 2.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=primordial_chem:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_gamma_default`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_1_name`` | define the specie names, and their masses and gammas | "elec" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_1_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_1_mass`` | | 9.10938188e-28 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_2_name`` | | "hp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_2_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_2_mass`` | | 1.67262158e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_3_name`` | | "h" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_3_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_3_mass`` | | 1.67353251819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_4_name`` | | "hm" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_4_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_4_mass`` | | 1.67444345638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_5_name`` | | "dp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_5_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_5_mass`` | | 3.34512158e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_6_name`` | | "d" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_6_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_6_mass`` | | 3.34603251819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_7_name`` | | "h2p" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_7_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_7_mass`` | | 3.34615409819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_8_name`` | | "dm" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_8_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_8_mass`` | | 3.34694345638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_9_name`` | | "h2" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_9_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_9_mass`` | | 3.34706503638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_10_name`` | | "hdp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_10_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_10_mass`` | | 5.01865409819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_11_name`` | | "hd" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_11_gamma`` | | 1.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_11_mass`` | | 5.01956503638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_12_name`` | | "hepp" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_12_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_12_mass`` | | 6.69024316e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_13_name`` | | "hep" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_13_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_13_mass`` | | 6.69115409819e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_14_name`` | | "he" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_14_gamma`` | | 5./3. | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_14_mass`` | | 6.69206503638e-24 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=rad_power_law:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_const_c_v`` | | -1.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_c_v_exp_m`` | | 0.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_c_v_exp_n`` | | 0.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**EOS_DIR=tillotson:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``eos_la`` | | 0.5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_lb`` | | 1.3 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_e_0`` | | 1.6e11 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_rho_0`` | | 2.7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_A`` | | 1.8e11 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_B`` | | 1.8e11 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_e_s`` | | 3.5e10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_e_s_prime`` | | 1.8e11 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_alpha`` | | 5.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_beta`` | | 5.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``eos_c_v`` | | 7.9e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``integrator`` +------------------------- + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``call_eos_in_rhs`` | Normally we update the temperature during a burn to be | 1 | +| | consistent with the current internal energy. This is | | +| | done with an EOS call, which can be turned off if | | +| | desired. This will freeze the temperature and specific | | +| | heat to the values at the beginning of the burn, which | | +| | is inaccurate but cheaper. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``integrate_energy`` | Allow the energy integration to be disabled by setting | 1 | +| | the RHS to zero. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``jacobian`` | Whether to use an analytical or numerical Jacobian. 1 | 1 | +| | == Analytical 2 == Numerical | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``burner_verbose`` | Should we print out diagnostic output after the solve? | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rtol_spec`` | Tolerances for the solver (relative and absolute), for | 1.e-12 | +| | the species and energy equations. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rtol_enuc`` | | 1.e-6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``atol_spec`` | | 1.e-8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``atol_enuc`` | | 1.e-6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``renormalize_abundances`` | Whether to renormalize the mass fractions at each step | 0 | +| | in the evolution so that they sum to unity. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``SMALL_X_SAFE`` | The absolute cutoff for species -- note that this might | 1.0e-30 | +| | be larger than ``small_x``, but the issue is that we | | +| | need to prevent underflow issues and keep mass | | +| | fractions positive in the integrator. You may have to | | +| | increase the floor to, e.g. 1.e-20 if your rates are | | +| | large. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``MAX_TEMP`` | The maximum temperature for reactions in the | 1.0e11 | +| | integration. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``react_boost`` | boost the reaction rates by a factor > 1 | -1.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ode_max_steps`` | maximum number of timesteps for the integrator | 150000 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ode_max_dt`` | maximum timestep for the integrator | 1.e30 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_jacobian_caching`` | Whether to use Jacobian caching in VODE | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nonaka_i`` | Inputs for generating a Nonaka Plot (TM) | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nonaka_j`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nonaka_k`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nonaka_level`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nonaka_file`` | | "nonaka_plot.dat" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_burn_retry`` | do we retry a failed burn with different parameters? | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``retry_swap_jacobian`` | do we swap the Jacobian (from analytic to numerical or | 1 | +| | vice versa) on a retry? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``retry_rtol_spec`` | Tolerances for the solver (relative and absolute), for | -1 | +| | the species and energy equations. If set to < 0, then | | +| | the same value as the first attempt is used. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``retry_rtol_enuc`` | | -1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``retry_atol_spec`` | | -1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``retry_atol_enuc`` | | -1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``do_species_clip`` | in the clean_state process, do we clip the species such | 1 | +| | that they are in [0, 1]? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_number_densities`` | flag for turning on the use of number densities for all | 0 | +| | species | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``subtract_internal_energy`` | flag for tuning on the subtraction of internal energy | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``scale_system`` | do we scale the ODE system we integrate to make it | 0 | +| | O(1)? for Strang, this simply means scaling e by the | | +| | initial energy? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_deriv_dt_factor`` | for SDC+NSE, when estimating the derivatives of the NSE | 0.05 | +| | table quantities, what fraction of dt do we use for the | | +| | finite-difference estimate | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_include_enu_weak`` | for NSE update, do we include the weak rate neutrino | 1 | +| | losses? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``linalg_do_pivoting`` | for the linear algebra, do we allow pivoting? | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**INTEGRATOR_DIR=BackwardEuler:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``max_iter`` | Maximum number of iterations for the Newton solve | 25 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tol`` | tolerance for the Newton solve | 1.e-10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**INTEGRATOR_DIR=ForwardEuler:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``maximum_timestep_change_factor`` | Maximum amount any quantity can change by in a timestep | 1.001 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**INTEGRATOR_DIR=QSS:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``predictor_corrector_tolerance`` | Allowable difference between the predictor and | 0.01 | +| | corrector | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tolerance_safety_factor`` | Threshold factor on the error criterion used in | 10.0 | +| | timestep selection | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``num_timestep_iters`` | Maximum number of iterations on the timestep constraint | 10 | +| | loop | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``num_corrector_iters`` | Maximum number of iterations on the corrector loop | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dt_max_change_factor`` | Maximum factor that dt is allowed to grow per timestep | 1.05 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dt_cut_factor`` | Multiply the timestep by this factor when we outright | 0.5 | +| | reject it | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``species_tolerance`` | Reject a species update if X < -tol or X > 1.0 + tol | 0.01 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dt_init_fraction`` | Scale factor for initial timestep | 0.01 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**INTEGRATOR_DIR=RKC:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``scale_system`` | do we scale the ODE system we integrate to make it | 1 | +| | O(1)? for Strang, this simply means scaling e by the | | +| | initial energy? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_circle_theorem`` | use the Gershgorin circle theorem to estimate the | 1 | +| | spectral radius? note: requires integrator.scale_system | | +| | = 1 | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**INTEGRATOR_DIR=VODE:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``X_reject_buffer`` | for the step rejection logic on mass fractions, we only | 1.0 | +| | consider species that are > X_reject_buffer * atol_spec | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=rprox:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``atol_spec`` | override the default tolerances for backwards | 1.0e-11 | +| | compatibility | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rtol_spec`` | | 1.0e-12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``atol_enuc`` | | 1.0e-8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rtol_enuc`` | | 1.0e-8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``jacobian`` | override so that the default is an analytical Jacobian | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=triple_alpha_plus_cago:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``atol_spec`` | override the default tolerances for backwards | 1.0e-12 | +| | compatibility | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rtol_spec`` | | 1.0e-12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``atol_enuc`` | | 1.0e-8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rtol_enuc`` | | 1.0e-6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``jacobian`` | override so that the default is an analytical Jacobian | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``network`` +---------------------- + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_x`` | cutoff for species mass fractions | 1.e-30 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_tables`` | Should we use rate tables if they are present in the | 0 | +| | network? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_c12ag_deboer17`` | Should we use Deboer + 2017 rate for c12(a,g)o16? | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_nse`` | | 3.e8 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_nse`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``C_nse`` | | 0.01 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``O_nse`` | | 0.01 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Si_nse`` | | 0.01 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``He_Fe_nse`` | | 0.88 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_always_nse`` | temperature above which we always assume NSE, | 9.e9 | +| | regardless of composition note: rho_nse is still | | +| | considered. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_relax_factor`` | factor (< 1) by which to relax the criteria for | 1.0 | +| | entering NSE. This is only applied after a failed burn. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_table_interp_linear`` | do we do tri-linear or tri-cubic interpolation on the | 0 | +| | table? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=CNO_He_burn:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``disable_p_C12_to_N13`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``disable_He4_N13_to_p_O16`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=ase:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``disable_p_C12_to_N13`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``disable_He4_N13_to_p_O16`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=he-burn.bak/he-burn-18a:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``disable_p_C12_to_N13`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``disable_He4_N13_to_p_O16`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=he-burn.bak/he-burn-22a:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``disable_p_C12_to_N13`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``disable_He4_N13_to_p_O16`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=metal_chem:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_x`` | cutoff for species mass fractions | 1.e-100 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``redshift`` | redshift for metal chem (Pop II/I star formation) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``metallicity`` | metallicity for metal chem (Pop II/I star formation) | 1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dust2gas_ratio`` | dust to gas ratio relative to solar | 1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``crate`` | Cosmic ray ionization rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Av`` | Av | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ionH`` | H ionization rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ionH2`` | H2 ionization rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dissH2`` | H2 dissociation rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ionC`` | C ionization rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ionO`` | O ionization rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dissCO`` | CO dissociation rate (per s) | 0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=powerlaw:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``rtilde`` | the coefficient for the reaction rate | 1.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nu`` | exponent for the temperature | 4.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``specific_q_burn`` | reaction specific q-value (in erg/g) | 10.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_burn_ref`` | reaction thresholds (for the power law) | 1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_burn_ref`` | | 1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``f_act`` | | 1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=primordial_chem:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_x`` | cutoff for species mass fractions | 1.e-100 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``redshift`` | assumed redshift for primordial chem (Pop III star | 30e0 | +| | formation) | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=subch_base:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``disable_p_C12_to_N13`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``disable_He4_N13_to_p_O16`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**NETWORK_DIR=subch_simple:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``disable_p_C12_to_N13`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``disable_He4_N13_to_p_O16`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``nse`` +------------------ + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``max_nse_iters`` | max iterations for NSE Newton-Raphson Solver | 500 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``use_hybrid_solver`` | Choose NSE solver. 1 == hybrid powell 0 == Newton- | 1 | +| | Raphson | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ase_tol`` | Tolerance used in the NSE-Grouping process | 0.1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_abs_tol`` | Tolerances for molar fraction comparison | 0.005 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_rel_tol`` | | 0.2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_dx_independent`` | Whether NSE depends on the size of the cell. This is | 0 | +| | the requirement that the reaction timescale must be | | +| | smaller than the sound crossing time 1 == independent 0 | | +| | == dependent | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_molar_independent`` | Whether to use NSE mass fractions for NSE grouping This | 0 | +| | makes NSE Grouping process solely dependent on the | | +| | thermodynamic condition | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nse_skip_molar`` | Whether the initial molar fraction check is skipped | 0 | +| | when integration failed. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_nse_net`` | Set this to a positive number to make use simple | -1.0 | +| | temperature threshold of determining NSE after the | | +| | initial molar fraction check. | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_min_nse`` | Minimum Temperature required for NSE | 4.0e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``opacity`` +---------------------- + +**opacity/rad_power_law:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``const_kappa_p`` | Opacity constant (Planck) | -1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_p_exp_m`` | Density exponent (Planck) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_p_exp_n`` | Temperature exponent (Planck) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_p_exp_p`` | Frequency exponent (Planck) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``const_kappa_r`` | Opacity constant (Rosseland) | -1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_r_exp_m`` | Density exponent (Rosseland) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_r_exp_n`` | Temperature exponent (Rosseland) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_r_exp_p`` | Frequency exponent (Rosseland) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``const_scatter`` | Opacity constant (scattering) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``scatter_exp_m`` | Density exponent (scattering) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``scatter_exp_n`` | Temperature exponent (scattering) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``scatter_exp_p`` | Frequency exponent (scattering) | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``kappa_floor`` | Opacity floor | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rad_temp_floor`` | Temperature floor | 1.e-10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``screening`` +------------------------ + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``enable_chabrier1998_quantum_corr`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +namespace: ``unit_test`` +------------------------ + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``primary_species_1`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_2`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_3`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X1`` | | 1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X4`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X5`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X6`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X7`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X8`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X9`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X10`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X11`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X12`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X13`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X14`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X15`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X16`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X17`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X18`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X19`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X20`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X21`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X22`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X23`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X24`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X25`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X26`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X27`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X28`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X29`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X30`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X31`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X32`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X33`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X34`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X35`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**nse_solver/make_table:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``rho_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_max`` | | 1.e10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nrho`` | | 5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_min`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_max`` | | 1.e10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nT`` | | 5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Ye_min`` | | 0.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Ye_max`` | | 0.7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nye`` | | 7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**nse_solver/nse_compatibility:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``run_prefix`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | the final time to integrate to | 1.e3 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tfirst`` | first output time -- we will output in nsteps | 0.0 | +| | logarithmically spaced steps between [tfirst, tmax] | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nsteps`` | number of steps (logarithmically spaced) | 100 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_min`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nrho`` | | 4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_min`` | | 6.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_max`` | | 8.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nT`` | | 4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/burn_cell:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | the final time to integrate to | 1.e-2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tfirst`` | first output time -- we will output in nsteps | 0.0 | +| | logarithmically spaced steps between [tfirst, tmax] | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nsteps`` | number of steps (logarithmically spaced) | 100 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``skip_initial_normalization`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``init_species_all_equal`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/burn_cell_metal_chem:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``run_prefix`` | | "burn_cell_metal_chem" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | floor values of temperature and density | 1.e1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-30 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | the final time to integrate to | 1.e20 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tff_reduc`` | tff_reduc reduces the calculated freefall time to | 1.e-1 | +| | accordingly increase the density during the single zone | | +| | burn | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tfirst`` | first output time -- we will output in nsteps | 0.0 | +| | logarithmically spaced steps between [tfirst, tmax] | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nsteps`` | number of steps for the single zone burn | 1000 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ninit`` | initial number density and temperature | 1e-1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 1e2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_1`` | list of species and their number densities used in the | 1.0e0 | +| | network (39 if including deuterium) | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_4`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_5`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_6`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_7`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_8`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_9`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_10`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_11`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_12`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_13`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_14`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_15`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_16`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_17`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_18`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_19`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_20`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_21`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_22`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_23`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_24`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_25`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_26`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_27`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_28`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_29`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_30`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_31`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_32`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_33`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_34`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/burn_cell_primordial_chem:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``run_prefix`` | | "burn_cell_primordial_chem" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | floor values of temperature and density | 1.e1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-30 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | the final time to integrate to | 1.e20 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tff_reduc`` | tff_reduc reduces the calculated freefall time to | 1.e-1 | +| | accordingly increase the density during the single zone | | +| | burn | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tfirst`` | first output time -- we will output in nsteps | 0.0 | +| | logarithmically spaced steps between [tfirst, tmax] | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nsteps`` | number of steps for the single zone burn | 1000 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | initial temperature | 1e2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_1`` | list of species and their number densities used in the | 1.0e0 | +| | network (14 if including deuterium) | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_4`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_5`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_6`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_7`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_8`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_9`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_10`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_11`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_12`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_13`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``primary_species_14`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/burn_cell_sdc:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | the final time to integrate to | 1.e-2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tfirst`` | first output time -- we will output in nsteps | 0.0 | +| | logarithmically spaced steps between [tfirst, tmax] | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nsteps`` | number of steps (logarithmically spaced) | 100 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``recompute_aux`` | do we recompute the aux quantities? or do we take them | 0 | +| | as given in the inputs? | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rhoe`` | | -1.e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Aux1`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Aux2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Aux3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_rho`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_rhoe`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X1`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X4`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X5`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X6`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X7`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X8`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X9`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X10`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X11`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X12`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X13`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X14`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X15`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X16`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X17`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X18`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X19`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X20`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X21`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X22`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X23`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X24`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X25`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X26`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X27`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X28`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X29`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X30`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X31`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X32`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X33`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X34`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X35`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_Aux1`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_Aux2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_Aux3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``mu_p`` | | -5.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``mu_n`` | | -12.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/eos_cell:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/jac_cell:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``run_prefix`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | the final time to integrate to | 1.e-2 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tfirst`` | first output time -- we will output in nsteps | 0.0 | +| | logarithmically spaced steps between [tfirst, tmax] | | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nsteps`` | number of steps (logarithmically spaced) | 100 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``skip_initial_normalization`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/nse_table_cell:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.23e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 5.18e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ye`` | | 0.472 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_aprox_rates:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``metalicity_max`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_conductivity:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``metalicity_max`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_eos:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``metalicity_max`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_jac:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e15 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``uniform_xn`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``do_acc`` | | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_linear_algebra:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_neutrino_cooling:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``metalicity_max`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_nse_interp:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.23e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 5.18e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ye`` | | 0.472 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_nse_net:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``run_prefix`` | | "" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``ye`` | | 0.75 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``mu_p`` | | -3.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``mu_n`` | | -12.0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X1`` | | 1.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X4`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X5`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X6`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X7`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X8`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X9`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X10`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X11`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X12`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X13`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X14`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X15`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X16`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X17`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X18`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X19`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X20`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``X21`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_nse_net/make_table:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``rho_max`` | | 1.e10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nrho`` | | 5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_min`` | | 4.0e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``T_max`` | | 1.e10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nT`` | | 10 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Ye_min`` | | 0.4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Ye_max`` | | 0.7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``nye`` | | 7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_parameters:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``test_string`` | | "test" | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_part_func:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 5.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_react:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e15 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``uniform_xn`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``do_acc`` | | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_rhs:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e15 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``uniform_xn`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_screening_templated:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e12 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``metalicity_max`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e-4 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``loops`` | | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_sdc:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``dens_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``dens_max`` | | 1.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_min`` | | 1.e6 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temp_max`` | | 1.e15 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``uniform_xn`` | | 0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | | 0.1e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e3 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``do_acc`` | | 1 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + +**unit_test/test_sdc_vode_rhs:** + ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| parameter | description | default value | ++=======================================+=========================================================+==============================+ +| ``small_temp`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``small_dens`` | | 1.e5 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``density`` | | 1.e7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``temperature`` | | 3.e9 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``tmax`` | | 1.e-7 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Aux1`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Aux2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Aux3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_rho`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_rhoe`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X1`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X4`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X5`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X6`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X7`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X8`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X9`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X10`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X11`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X12`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X13`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X14`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X15`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X16`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X17`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X18`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X19`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X20`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X21`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X22`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X23`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X24`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X25`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X26`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X27`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X28`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X29`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_X30`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_Aux1`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_Aux2`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ +| ``Adv_Aux3`` | | 0.0e0 | ++---------------------------------------+---------------------------------------------------------+------------------------------+ + + + diff --git a/sphinx_docs/source/screening.rst b/Docs/source/screening.rst similarity index 85% rename from sphinx_docs/source/screening.rst rename to Docs/source/screening.rst index 1d99a925c7..d1739aeb86 100644 --- a/sphinx_docs/source/screening.rst +++ b/Docs/source/screening.rst @@ -2,6 +2,8 @@ Screening of Reaction Rates *************************** +.. index:: SCREEN_METHOD + Screening of reaction rates can be computed using several different methods, controlled by the make parameter ``SCREEN_METHOD``. For example, @@ -51,4 +53,12 @@ The options are: Runtime Options ---------------- -* ``screening.enable_chabrier1998_quantum_corr = 1`` in the input file enables an additional quantum correction term added to the screening factor when ``SCREEN_METHOD=chabrier1998``. This is disabled by default since ``chabrier1998`` is often used along with ``USE_NSE_NET=TRUE``, and the NSE solver doesn't include quantum corrections. + +.. index:: screening.enable_chabrier1998_quantum_corr + +* ``screening.enable_chabrier1998_quantum_corr = 1`` in the input file + enables an additional quantum correction term added to the screening + factor when ``SCREEN_METHOD=chabrier1998``. This is disabled by + default since ``chabrier1998`` is often used along with + ``USE_NSE_NET=TRUE``, and the NSE solver doesn't include quantum + corrections. diff --git a/sphinx_docs/source/sdc.rst b/Docs/source/sdc.rst similarity index 98% rename from sphinx_docs/source/sdc.rst rename to Docs/source/sdc.rst index 3cbf8e7c32..1d9b52e29d 100644 --- a/sphinx_docs/source/sdc.rst +++ b/Docs/source/sdc.rst @@ -33,6 +33,7 @@ hydrodynamical sources), and :math:`\Rb(\Uc)` is the reaction source term. +.. index:: USE_TRUE_SDC, USE_SIMPLIFIED_SDC .. note:: @@ -146,7 +147,7 @@ The reactions don’t modify the total density, :math:`\rho`, or momentum, \Adv{\rho X_k}^{n+1/2} \\ \Adv{\rho e}^{n+1/2} \\ \end{array} \right ) + \left ( - \begin{array}{c} \rho \omegadot_k \\ \rho \Sdot \end{array} + \begin{array}{c} \rho \omegadot_k \\ \rho \epsilon \end{array} \right ) Here the advective terms are piecewise-constant (in time) diff --git a/Docs/source/state.png b/Docs/source/state.png new file mode 100644 index 0000000000..96695d4586 Binary files /dev/null and b/Docs/source/state.png differ diff --git a/sphinx_docs/source/subch_base.png b/Docs/source/subch_base.png similarity index 100% rename from sphinx_docs/source/subch_base.png rename to Docs/source/subch_base.png diff --git a/sphinx_docs/source/subch_simple.png b/Docs/source/subch_simple.png similarity index 100% rename from sphinx_docs/source/subch_simple.png rename to Docs/source/subch_simple.png diff --git a/sphinx_docs/source/templated_networks.rst b/Docs/source/templated_networks.rst similarity index 100% rename from sphinx_docs/source/templated_networks.rst rename to Docs/source/templated_networks.rst diff --git a/sphinx_docs/source/tolerances.png b/Docs/source/tolerances.png similarity index 100% rename from sphinx_docs/source/tolerances.png rename to Docs/source/tolerances.png diff --git a/Docs/source/transport.rst b/Docs/source/transport.rst new file mode 100644 index 0000000000..d778e36101 --- /dev/null +++ b/Docs/source/transport.rst @@ -0,0 +1,134 @@ +********************** +Transport Coefficients +********************** + +Thermal Conductivity +==================== + +The thermal conductivities, $k_\mathrm{th}$, are provided to allow for +modeling of thermal diffusion, for instance in an energy equation: + +.. math:: + + \frac{\partial (\rho e)}{\partial t} = \nabla \cdot k_\mathrm{th} \nabla T + +Thermal conductivities are provided by the ``conductivity/`` +directory. The main interface has the form: + +.. code:: c++ + + template + AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE + void conductivity (T& state) + +where currently, the input type needs to be the full EOS type, ``eos_t``. The conductivity +is then available as ``eos_t eos_state.conductivity``. + +.. important:: + + It is assumed that the state is thermodynamically consistent + before calling the conductivity routine. + It may be necessary to do an EOS + call first, to enforce the consistency. + +There are several implementations of the conductivity currently: + +* ``constant`` : + + This simply sets the conductivity to a constant value set via + ``conductivity.const_conductivity``. + +* ``constant_opacity`` : + + This is intended for creating a conductivity from an opacity, for + instance, electron scattering. The opacity is taken as constant + and set via ``conductivity.const_opacity``, and then the conductivity + is set as: + + .. math:: + + k_\mathrm{th} = \frac{16 \sigma_\mathrm{SB} T^3}{3 \kappa \rho} + + where $\sigma_\mathrm{SB}$ is the Stefan-Boltzmann constant. + +* ``powerlaw`` : + + This models a temperature-dependent conductivity of the form: + + .. math:: + + k_\mathrm{th} = k_0 T^\nu + + where $k_0$ is set via ``conductivity.cond_coeff`` and $\nu$ is set via + ``conductivity.cond_exponent``. + +* ``stellar`` : + + This is a general stellar conductivity based on :cite:`timmes:2000b`. + It combines radiative opacities and thermal conductivities into a + single expression. This conductivity is suitable for modeling + laminar flames. + +.. index:: CONDUCTIVITY_DIR + +These can be set via the ``CONDUCTIVITY_DIR`` make variable. + + +Radiation Opacities +=================== + +For radiation transport, we provide simple opacity routines that return +the Planck and Rosseland mean opacities. + +The interface for these opacities is: + +.. code:: c++ + + AMREX_GPU_HOST_DEVICE AMREX_INLINE + void actual_opacity (Real& kp, Real& kr, Real rho, Real temp, Real rhoYe, Real nu, + bool get_Planck_mean, bool get_Rosseland_mean) + +where the boolean ``get_Planck_mean`` and ``get_Rosseland_mean`` specify where those +opacity terms are filled upon return. + +There are 2 interfaces, which are selected via the make variable ``OPACITY_DIR``. + +* ``breakout`` : + + This returns a simple electron scattering opacity with a crude approximation + connecting the Planck and Rosseland means. + +* ``rad_power_law`` : + + This constructs a power-law opacity. For the Planck mean, it is: + + .. math:: + + \kappa_p = \kappa_{p,0} \rho^{m_p} T^{-{n_p}} \nu^{p_p} + + where $\kappa_{p,0}$ is set via ``opacity.const_kappa_p``, $m_p$ is set via ``opacity.kappa_p_exp_m``, + $n_p$ is set via ``opacity.kappa_p_exp_n``, and $p_p$ is set via ``opacity.kappa_p_exp_p``. + + The Rosseland mean has a scattering component, $\kappa_s$, which is computed as: + + .. math:: + + \kappa_s = \kappa_{s,0} \rho^{m_s} T^{-{n_s}} \nu^{p_s} + + where $\kappa_{s,0}$ is set via ``opacity.const_scatter``, $m_s$ is set via ``opacity.scatter_exp_m``, + $n_s$ is set via ``opacity.scatter_n``, and $p_s$ is set via ``opacity.scatter_p``. The Rosseland + mean is then computed as: + + .. math:: + + \kappa'_r = \kappa_{r,0} \rho^{m_r} T^{-{n_r}} \nu^{p_r} + + where $\kappa_{r,0}$ is set via ``opacity.const_kappa_r``, $m_r$ is set via ``opacity.kappa_r_exp_m``, + $n_r$ is set via ``opacity.kappa_r_exp_n``, and $p_r$ is set via ``opacity.kappa_r_exp_p``, and then + combined with scattering as: + + .. math:: + + \kappa_r = \max \{ \kappa'_r + \kappa_s, \kappa_\mathrm{floor} \} + + where $\kappa_\mathrm{floor}$ is set via ``opacity.kappa_floor``, diff --git a/sphinx_docs/source/unit_tests.rst b/Docs/source/unit_tests.rst similarity index 94% rename from sphinx_docs/source/unit_tests.rst rename to Docs/source/unit_tests.rst index a95a18de72..5a36b2c4af 100644 --- a/sphinx_docs/source/unit_tests.rst +++ b/Docs/source/unit_tests.rst @@ -43,6 +43,8 @@ Tests are divided into three categories: Comprehensive tests =================== +.. index:: test_aprox_rates, test_conductivity, test_eos, test_jac, test_neutrino_cooling, test_react, test_rhs, test_screening_templated, test_sdc + Each of these tests sets up a cube of data, $(\rho, T, X_k)$, with the range of $T$ and $\rho$, and the species to focus on for $X_k$ controlled by options in the input file. @@ -113,6 +115,8 @@ by options in the input file. One-zone tests ============== +.. index:: burn_cell, burn_cell_primordial_chem, burn_cell_sdc, eos_cell, jac_cell, nse_table_cell, test_ase, test_part_func + * ``burn_cell`` : given a $\rho$, $T$, and $X_k$, integrate a reaction network through a specified time @@ -157,6 +161,8 @@ One-zone tests Infrastructure tests ==================== +.. index:: test_linear_algebra, test_nse_interp, test_parameters, test_sdc_vode_rhs + * ``test_linear_algebra`` : create a diagonally dominant matrix, multiply it by a test vector, $x$, diff --git a/Docs/source/util.rst b/Docs/source/util.rst new file mode 100644 index 0000000000..1ac4798191 --- /dev/null +++ b/Docs/source/util.rst @@ -0,0 +1,46 @@ +****************************** +Helper Functions and Libraries +****************************** + +The ``util/`` directory contains a number of external libraries and simple +utilities that are used by the different components of Microphysics. + +* ``approx_math/`` : these are a set of headers that implement + approximations to ``atan()``, ``exp()``, ``log()``, and ``pow()``. + These can be much faster than the C++ library versions, especially + on GPUs. + +* ``autodiff/`` : this is a clone of the C++ autodiff library from + https://github.com/autodiff/autodiff + + The header ``microphysics_autodiff.H`` provides a set of interfaces + for working with the AMReX datatypes and interfacing with the + autodiff library. + +* ``build_scripts/`` : a set of python scripts used during the build + process to parse the runtime parameters. + +* ``cj_detonation/`` : a simple routine to compute the Chapman-Jouguet + detonation speed for one of our networks. + +* ``esum.H`` : an implementation of the exact sum algorithm based on the + msum algorithm by Raymond Hettinger. It is generated automatically + by the ``esum_cxx.py`` script and creates implementations for exact + numbers of terms (``esum3()``, ``esum4()``, ...) + +* ``gcem/`` : a templated math library that provides implementations of + the standard library math functions that can be used in ``constexpr`` + expressions. This is from https://github.com/kthohr/gcem + + Some of the constants are redefined in 64-bit floating point in + ``microphysics_math.H`` to avoid ``long double`` issues on some + architectures. + +* ``hybrj/`` : a C++ port of the MINPACK hybrid Powell minimization function + to zero a set of functions. + +* ``linpack.H`` : a C++ port of the LINPACK ``dgesl`` and ``dgefa`` LU + decomposition Gaussian elimination routines. + +* ``microphysics_sort.H`` : a set of sorting routines for + ``amrex::Array1D`` data. diff --git a/sphinx_docs/source/zreferences.rst b/Docs/source/zreferences.rst similarity index 100% rename from sphinx_docs/source/zreferences.rst rename to Docs/source/zreferences.rst diff --git a/sphinx_docs/textsymbols.tex b/Docs/textsymbols.tex similarity index 100% rename from sphinx_docs/textsymbols.tex rename to Docs/textsymbols.tex diff --git a/EOS/breakout/actual_eos.H b/EOS/breakout/actual_eos.H index ac0ba24bca..a4b5113880 100644 --- a/EOS/breakout/actual_eos.H +++ b/EOS/breakout/actual_eos.H @@ -21,6 +21,10 @@ void actual_eos_init () gamma_const = 5.0_rt / 3.0_rt; } + // this EOS assumes that has a 1/mu entry -- make sure that is valid + if (aux_names_cxx[AuxZero::iinvmu] != "invmu") { + amrex::Error("invalid aux state for breakout EOS"); + } } template @@ -52,7 +56,7 @@ void actual_eos (I input, T& state) // Calculate mu. This is the only difference between // this EOS and gamma_law. - state.mu = 1.0_rt / state.aux[1]; + state.mu = 1.0_rt / state.aux[AuxZero::iinvmu]; switch (input) { diff --git a/Make.Microphysics_extern b/Make.Microphysics_extern index 60327aebc5..17f45478ca 100644 --- a/Make.Microphysics_extern +++ b/Make.Microphysics_extern @@ -126,14 +126,18 @@ ifeq ($(USE_CONDUCTIVITY),TRUE) EXTERN_CORE += $(CONDUCTIVITY_PATH) endif +# backwards compatibility -- remove after 25.01 +ifdef Opacity_dir + OPACITY_DIR=$(Opacity_dir) +endif ifeq ($(USE_RAD), TRUE) - ifeq ($(Opacity_dir), null) + ifeq ($(OPACITY_DIR), null) $(error The null opacity directory has been removed, please update to rad_power_law) endif EXTERN_CORE += $(MICROPHYSICS_HOME)/opacity - OPAC_PATH := $(MICROPHYSICS_HOME)/opacity/$(Opacity_dir) + OPAC_PATH := $(MICROPHYSICS_HOME)/opacity/$(OPACITY_DIR) EXTERN_CORE += $(OPAC_PATH) endif diff --git a/README.md b/README.md index 29f8e3b751..3dd4453575 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ # Microphysics -*A collection of astrophysical microphysics routines for stellar explosions and interstellar medium chemistry (including primordial chemistry)* +*A collection of astrophysical microphysics routines for stellar +explosions and interstellar medium chemistry (including primordial +chemistry)* There are several core types of microphysics routines hosted here: @@ -87,7 +89,7 @@ system to ensure the interfaces are tested. A user's guide for Microphysics is available at: http://amrex-astro.github.io/Microphysics/docs/ -The sphinx source for the documentation is in `Microphysics/sphinx_docs/` +The Sphinx source for the documentation is in `Microphysics/Docs/` ## Development Model: diff --git a/deploy_docs_action.sh b/deploy_docs_action.sh index 734cbf30ce..d175f96b49 100755 --- a/deploy_docs_action.sh +++ b/deploy_docs_action.sh @@ -12,19 +12,19 @@ mkdir out # if on the dev branch, use the dev_layout.html template to get the # links correct if [ "$GITHUB_BRANCH" = "$DEV_BRANCH" ]; then - mv sphinx_docs/source/_templates/dev_layout.html sphinx_docs/source/_templates/layout.html + mv Docs/source/_templates/dev_layout.html Docs/source/_templates/layout.html fi # Build the Sphinx documentation -cd sphinx_docs +cd Docs make html cd ../ mkdir -p out/docs/ if [ "$GITHUB_BRANCH" = "$MAIN_BRANCH" ]; then mkdir -p out/docs - mv sphinx_docs/build/html/* out/docs + mv Docs/build/html/* out/docs else mkdir -p out/docs/dev/ - mv sphinx_docs/build/html/* out/docs/dev + mv Docs/build/html/* out/docs/dev fi diff --git a/integration/VODE/vode_dvhin.H b/integration/VODE/vode_dvhin.H index 055ddc1394..20c6747224 100644 --- a/integration/VODE/vode_dvhin.H +++ b/integration/VODE/vode_dvhin.H @@ -122,17 +122,13 @@ void dvhin (BurnT& state, DvodeT& vstate, amrex::Real& H0, int& NITER, int& IER) } - // Iteration done. Apply bounds, bias factor, and sign. Then exit. + // Iteration done. Apply bounds and bias factor. Then exit. H0 = hnew * 0.5_rt; - if (H0 < HLB) { - H0 = HLB; - } - if (H0 > HUB) { - H0 = HUB; - } + H0 = std::clamp(H0, HLB, HUB); } + // apply sign H0 = std::copysign(H0, vstate.tout - vstate.t); NITER = iter; IER = 0; diff --git a/integration/integrator_setup_strang.H b/integration/integrator_setup_strang.H index 4afc1552bc..66df898327 100644 --- a/integration/integrator_setup_strang.H +++ b/integration/integrator_setup_strang.H @@ -90,8 +90,6 @@ IntegratorT integrator_setup (BurnT& state, amrex::Real dt, bool is_retry) burn_to_integrator(state, int_state); - // Save the initial composition, temperature, and energy for our later diagnostics. - return int_state; } diff --git a/networks/CNO_He_burn/CNO_He_burn.png b/networks/CNO_He_burn/CNO_He_burn.png index bfa65876b4..f331bb5568 100644 Binary files a/networks/CNO_He_burn/CNO_He_burn.png and b/networks/CNO_He_burn/CNO_He_burn.png differ diff --git a/networks/CNO_He_burn/Make.package b/networks/CNO_He_burn/Make.package index 39c65eca7b..3c406e47f1 100644 --- a/networks/CNO_He_burn/Make.package +++ b/networks/CNO_He_burn/Make.package @@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE) CEXE_headers += actual_network.H CEXE_headers += tfactors.H CEXE_headers += partition_functions.H + CEXE_sources += partition_functions_data.cpp CEXE_headers += actual_rhs.H CEXE_headers += reaclib_rates.H CEXE_headers += table_rates.H diff --git a/networks/CNO_He_burn/actual_rhs.H b/networks/CNO_He_burn/actual_rhs.H index 602421d99c..eef8617271 100644 --- a/networks/CNO_He_burn/actual_rhs.H +++ b/networks/CNO_He_burn/actual_rhs.H @@ -1584,7 +1584,7 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { // Fill approximate rates - fill_approx_rates(tfactors, rate_eval); + fill_approx_rates(tfactors, state.rho, Y, rate_eval); // Calculate tabular rates diff --git a/networks/CNO_He_burn/partition_functions.H b/networks/CNO_He_burn/partition_functions.H index dfdf3cf1f9..591a0b36ce 100644 --- a/networks/CNO_He_burn/partition_functions.H +++ b/networks/CNO_He_burn/partition_functions.H @@ -17,684 +17,155 @@ namespace part_fun { // this is T9 - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real temp_array_1[npts_1] = { - 0.01, 0.15, 0.2, 0.3, 0.4, - 0.5, 0.6, 0.7, 0.8, 0.9, - 1.0, 1.5, 2.0, 2.5, 3.0, - 3.5, 4.0, 4.5, 5.0, 6.0, - 7.0, 8.0, 9.0, 10.0, 12.0, - 14.0, 16.0, 18.0, 20.0, 22.0, - 24.0, 26.0, 28.0, 30.0, 35.0, - 40.0, 45.0, 50.0, 55.0, 60.0, - 65.0, 70.0, 75.0, 80.0, 85.0, - 90.0, 95.0, 100.0, 105.0, 110.0, - 115.0, 120.0, 125.0, 130.0, 135.0, - 140.0, 145.0, 150.0, 155.0, 160.0, - 165.0, 170.0, 175.0, 180.0, 190.0, - 200.0, 210.0, 220.0, 230.0, 240.0, - 250.0, 275.0, - }; - + extern AMREX_GPU_MANAGED amrex::Array1D temp_array_1; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O14_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.021189299069938092, - 0.045322978786657475, 0.07918124604762482, 0.12057393120584989, 0.1673173347481761, 0.21748394421390627, - 0.2648178230095365, 0.3096301674258988, 0.35410843914740087, 0.3944516808262163, 0.481442628502305, - 0.5514499979728752, 0.6053050461411095, 0.6473829701146199, 0.6794278966121189, 0.7032913781186614, - 0.7201593034059569, 0.7315887651867387, 0.7371926427047373, 0.7395723444500919, 0.7371926427047373, - 0.7315887651867387, 0.7234556720351858, 0.7126497016272114, 0.6989700043360189, 0.6839471307515121, - 0.6665179805548809, 0.6464037262230695, 0.6263403673750424, 0.6031443726201823, 0.5797835966168101, - 0.5550944485783191, 0.5289167002776547, 0.5024271199844327, 0.4742162640762553, 0.44560420327359757, - 0.414973347970818, 0.38560627359831223, 0.35410843914740087, 0.3222192947339193, 0.25767857486918455, - 0.1903316981702915, 0.12385164096708581, 0.05307844348341968, -0.017728766960431606, -0.08884239126002343, - -0.16052195262580163, -0.3419886033428876, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O14_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O15_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.021189299069938092, - 0.045322978786657475, 0.08278537031645007, 0.1367205671564068, 0.2041199826559248, 0.2787536009528289, - 0.36172783601759284, 0.4471580313422192, 0.5352941200427705, 0.6242820958356683, 0.850033257689769, - 1.0791812460476249, 1.3096301674258988, 1.545307116465824, 1.7846172926328754, 2.0293837776852097, - 2.2764618041732443, 2.525044807036845, 2.775974331129369, 3.0253058652647704, 3.278753600952829, - 3.5289167002776547, 3.7795964912578244, 4.02938377768521, 4.278753600952829, 4.528916700277655, - 4.7774268223893115, 5.02530586526477, 5.27415784926368, 5.519827993775719, 5.767155866082181, - 6.012837224705172, 6.260071387985075, 6.503790683057181, 6.749736315569061, 6.994317152669637, - 7.238046103128795, 7.482873583608754, 7.727541257028556, 7.971739590887778, 8.459392487759231, - 8.947433721887052, 9.4345689040342, 9.922206277439017, 10.409933123331294, 10.898176483497677, - 11.38738982633873, 12.611723308007342, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O15_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O16_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, - 0.037426497940623665, 0.07188200730612537, 0.12057393120584989, 0.1846914308175988, 0.2624510897304295, - 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, - 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, - 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, - 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, - 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, - 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, - 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, - 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, - 12.856124444242301, 14.195899652409233, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O16_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O17_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.004321373782642578, 0.004321373782642578, - 0.00860017176191757, 0.012837224705172217, 0.01703333929878037, 0.01703333929878037, 0.02530586526477026, - 0.03342375548694973, 0.04139268515822508, 0.05307844348341968, 0.06069784035361165, 0.09342168516223508, - 0.13033376849500614, 0.17609125905568124, 0.23299611039215384, 0.2966651902615311, 0.367355921026019, - 0.44560420327359757, 0.5289167002776547, 0.615950051656401, 0.7084209001347128, 0.9542425094393249, - 1.2174839442139063, 1.4913616938342726, 1.7708520116421442, 2.05307844348342, 2.3324384599156054, - 2.6138418218760693, 2.8926510338773004, 3.1702617153949575, 3.4471580313422194, 3.7234556720351857, - 3.999130541287371, 4.27415784926368, 4.549003262025788, 4.824125833916549, 5.100370545117563, - 5.3747483460101035, 5.649334858712142, 5.924279286061882, 6.198657086954423, 6.474216264076255, - 6.749736315569061, 7.02530586526477, 7.301029995663981, 7.576341350205793, 7.852479993636856, - 8.127104798364808, 8.404833716619938, 8.680335513414564, 8.956648579205204, 9.509202522331103, - 10.064457989226918, 10.618048096712092, 11.173186268412275, 11.73158876518674, 12.290034611362518, - 12.848804701051804, 14.252853030979892, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O17_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O18_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.004321373782642578, 0.00860017176191757, 0.012837224705172217, 0.021189299069938092, 0.04921802267018165, - 0.08635983067474823, 0.13353890837021754, 0.1846914308175988, 0.23804610312879543, 0.38381536598043126, - 0.5118833609788744, 0.6334684555795865, 0.7474118078864233, 0.8536982117761743, 0.9542425094393249, - 1.0530784434834197, 1.146128035678238, 1.2430380486862944, 1.3384564936046048, 1.5921767573958667, - 1.8686444383948257, 2.164352855784437, 2.4756711883244296, 2.791690649020118, 3.110589710299249, - 3.428134794028789, 3.7450747915820575, 4.060697840353612, 4.372912002970106, 4.68304703823885, - 4.992995098431342, 5.301029995663981, 5.608526033577194, 5.9148718175400505, 6.220108088040055, - 6.525044807036846, 6.82865989653532, 7.1303337684950066, 7.434568904034199, 7.7363965022766426, - 8.037426497940624, 8.338456493604605, 8.640481436970422, 8.940516484932568, 9.2405492482826, - 9.540329474790873, 9.840733234611807, 10.139879086401237, 10.439332693830263, 11.037426497940624, - 11.636487896353366, 12.23552844690755, 12.834420703681532, 13.432969290874405, 14.03342375548695, - 14.634477270160732, 16.139879086401237, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O18_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real F17_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.004321373782642578, 0.00860017176191757, 0.012837224705172217, 0.021189299069938092, - 0.02530586526477026, 0.03342375548694973, 0.037426497940623665, 0.04139268515822508, 0.05307844348341968, - 0.06069784035361165, 0.06818586174616162, 0.07554696139253074, 0.08635983067474823, 0.11394335230683679, - 0.14301480025409505, 0.18184358794477257, 0.22788670461367352, 0.28103336724772754, 0.3424226808222063, - 0.4082399653118496, 0.47856649559384334, 0.5550944485783191, 0.6374897295125107, 0.8603380065709937, - 1.1038037209559568, 1.3654879848908996, 1.6334684555795866, 1.9057958803678685, 2.1818435879447726, - 2.456366033129043, 2.7307822756663893, 3.0043213737826426, 3.278753600952829, 3.5538830266438746, - 3.828015064223977, 4.100370545117563, 4.376576957056512, 4.650307523131937, 4.924279286061882, - 5.198657086954423, 5.472756449317212, 5.747411807886423, 6.021189299069938, 6.296665190261531, - 6.571708831808688, 6.846955325019824, 7.12057393120585, 7.3979400086720375, 7.673020907128897, - 7.948412965778601, 8.225309281725863, 8.499687082618404, 8.775974331129369, 9.328379603438737, - 9.88252453795488, 10.437750562820389, 10.992553517832135, 11.549003262025789, 12.107209969647869, - 12.66651798055488, 14.068185861746162, - }; + extern AMREX_GPU_MANAGED amrex::Array1D F17_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real F18_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.00860017176191757, 0.02530586526477026, 0.04921802267018165, - 0.08635983067474823, 0.12385164096708581, 0.1673173347481761, 0.20682587603184974, 0.28330122870354957, - 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, - 0.756636108245848, 0.8419848045901139, 0.9232440186302766, 1.0043213737826426, 1.08278537031645, - 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, - 1.9405164849325673, 2.220108088040055, 2.505149978319906, 2.7930916001765804, 3.0827853703164503, - 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, - 4.800029359244134, 5.086359830674748, 5.371067862271737, 5.657055852857104, 5.94299959336604, - 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, - 7.667452952889954, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, - 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, - 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, - 14.096910013008056, 15.584331224367531, - }; + extern AMREX_GPU_MANAGED amrex::Array1D F18_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real F19_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.00860017176191757, 0.021189299069938092, - 0.045322978786657475, 0.07918124604762482, 0.11058971029924898, 0.14301480025409505, 0.17609125905568124, - 0.20682587603184974, 0.32633586092875144, 0.40312052117581787, 0.4548448600085102, 0.4941545940184428, - 0.5250448070368452, 0.5526682161121932, 0.5763413502057929, 0.5976951859255123, 0.6384892569546373, - 0.6739419986340878, 0.7075701760979364, 0.7371926427047373, 0.7656685547590141, 0.8530895298518656, - 0.9258275746247423, 1.0, 1.0791812460476249, 1.1583624920952498, 1.2430380486862944, - 1.3324384599156054, 1.4265112613645752, 1.5250448070368452, 1.6273658565927327, 1.9052560487484513, - 2.204119982655925, 2.514547752660286, 2.8312296938670634, 3.14921911265538, 3.4683473304121573, - 3.7867514221455614, 4.103803720955957, 4.419955748489758, 4.734799829588847, 5.049218022670182, - 5.363611979892144, 5.679427896612119, 5.993436230497612, 6.307496037913213, 6.623249290397901, - 6.937517892017347, 7.252853030979893, 7.567026366159061, 7.8819549713396, 8.195899652409233, - 8.511883360978874, 8.826074802700827, 9.139879086401237, 9.456366033129044, 9.771587480881255, - 10.086359830674748, 10.403120521175818, 10.717670503002262, 11.03342375548695, 11.665580991017952, - 12.298853076409706, 12.932473764677153, 13.56702636615906, 14.204119982655925, 14.840733234611807, - 15.48000694295715, 17.08278537031645, - }; + extern AMREX_GPU_MANAGED amrex::Array1D F19_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne18_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 8.685880952436748e-07, 3.821623291793711e-05, 0.00034078742672235857, 0.0014740966917327271, - 0.0042108511246098535, 0.009296188019926578, 0.01729216848118748, 0.028532619910828713, 0.06103645800577312, - 0.10579825637065968, 0.1601151291767779, 0.2207039183598475, 0.28451510286256426, 0.4132997640812518, - 0.534026106056135, 0.6454222693490919, 0.7474118078864233, 0.8419848045901139, 0.931457870689005, - 1.0170333392987805, 1.1038037209559568, 1.1931245983544616, 1.2833012287035497, 1.530199698203082, - 1.8027737252919758, 2.0969100130080562, 2.406540180433955, 2.720159303405957, 3.037426497940624, - 3.3502480183341627, 3.6646419755561257, 3.9768083373380665, 4.2878017299302265, 4.596597095626461, - 4.904174368284163, 5.212187604403958, 5.517195897949974, 5.8228216453031045, 6.127104798364807, - 6.431363764158988, 6.733999286538387, 7.037426497940624, 7.338456493604605, 7.6414741105041, - 7.94299959336604, 8.243038048686294, 8.545307116465825, 8.846337112129806, 9.146128035678238, - 9.44715803134222, 9.747411807886424, 10.049218022670182, 10.348304863048162, 10.947923619831727, - 11.547774705387823, 12.14921911265538, 12.749736315569061, 13.352182518111363, 13.953759691733229, - 14.556302500767288, 16.068185861746162, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne18_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne19_pf_array[npts_1] = { - 0.0, 0.0, 1.3028814913777444e-06, 0.00013982031331027489, 0.0014412009067215222, - 0.0058550331034921905, 0.01484382918315971, 0.02864403564981097, 0.046524428475543715, 0.067325701327402, - 0.08987227329808917, 0.2024330050186144, 0.29142235685380635, 0.3573212585177977, 0.4076299980711713, - 0.4480025329155769, 0.4819996873375467, 0.5117837959085901, 0.5386747558422048, 0.5868019236204228, - 0.6302234949477327, 0.6708947682014244, 0.7099774032281327, 0.7482111370619575, 0.8241258339165489, - 0.8998205024270963, 0.9777236052888478, 1.0569048513364727, 1.1398790864012365, 1.2278867046136734, - 1.320146286111054, 1.416640507338281, 1.5171958979499742, 1.6222140229662954, 1.9041743682841634, - 2.204119982655925, 2.5171958979499744, 2.833147111912785, 3.14921911265538, 3.4683473304121573, - 3.783903579272735, 4.096910013008056, 4.413299764081252, 4.725911632295048, 5.037426497940624, - 5.352182518111363, 5.664641975556125, 5.977266212427293, 6.290034611362518, 6.603144372620182, - 6.915927211697116, 7.230448921378274, 7.54282542695918, 7.8561244442423, 8.170261715394957, - 8.484299839346786, 8.797267540830717, 9.11058971029925, 9.424881636631067, 9.739572344450092, - 10.05307844348342, 10.369215857410143, 10.683947130751513, 10.998695158311655, 11.629409599102718, - 12.260071387985075, 12.893206753059848, 13.52762990087134, 14.161368002234974, 14.798650645445269, - 15.436162647040756, 17.037426497940622, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne19_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne20_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, - 0.009540974939696452, 0.018595240218299815, 0.03107544483336982, 0.04661767038571622, 0.0846241727916796, - 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, - 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, - 0.9532763366673044, 1.0644579892269186, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, - 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, - 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, - 5.830588668685144, 6.193124598354462, 6.556302500767288, 6.916980047320382, 7.276461804173244, - 7.6344772701607315, 7.991669007379949, 8.348304863048162, 8.703291378118662, 9.056904851336473, - 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, - 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, - 13.61384182187607, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, - 17.096910013008056, 18.838849090737256, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne21_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 8.685880952436748e-07, 2.4754079983896385e-05, - 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.0040039218205739505, 0.007021925578680666, - 0.010986057727319889, 0.04118891376750491, 0.07777221055393521, 0.11230632139519969, 0.14260436993417835, - 0.16888829052162924, 0.19197861038694297, 0.21269992944898236, 0.23172922294680387, 0.26667282493464145, - 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899236, 0.46982201597816303, - 0.5465426634781311, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, - 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, - 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, - 3.965671971220107, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, - 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, - 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, - 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, - 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.844477175745682, - 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, - 17.123851640967086, 18.923244018630278, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na22_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003523, - 0.0002626687122755098, 0.002992810584370353, 0.010836979076306525, 0.02428653620880802, 0.04242704733870039, - 0.06402310268617777, 0.0879676561420024, 0.11338308526345185, 0.13961150376071624, 0.19275584832811388, - 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, - 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423004, 0.9633155113861113, - 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, - 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, - 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, - 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, - 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, - 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, - 11.4345689040342, 11.80413943233535, 12.173186268412275, 12.544068044350276, 13.285557309007775, - 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, - 17.76492298464989, 19.64933485871214, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na23_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, - 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.002232173197636284, - 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, - 0.13079227003361293, 0.15390201926318714, 0.17503899265296466, 0.1947232524871551, 0.23147162936712468, - 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, - 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210936, - 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.5514499979728753, 1.9628426812012425, - 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, - 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, - 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, - 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, - 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, - 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, - 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, - 19.17609125905568, 21.173186268412273, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mg22_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 4.342942647204277e-07, - 1.3028814913777444e-06, 0.0001411227754094858, 0.001568009102978072, 0.006621333592317272, 0.017164860499026567, - 0.03357733989361113, 0.05503565409031889, 0.08020425138057381, 0.10775825947457741, 0.16607827276194487, - 0.224935317299723, 0.2825131291235062, 0.33852302720374633, 0.39321990159455933, 0.49968708261840383, - 0.6063813651106049, 0.7134905430939426, 0.8247764624755457, 0.9420080530223133, 1.0681858617461617, - 1.2013971243204515, 1.3424226808222062, 1.4913616938342726, 1.6483600109809315, 2.0569048513364727, - 2.4785664955938436, 2.8987251815894934, 3.3138672203691533, 3.7234556720351857, 4.127104798364807, - 4.5276299008713385, 4.923244018630276, 5.315970345456917, 5.707570176097937, 6.096910013008056, - 6.48572142648158, 6.872156272748293, 7.2576785748691846, 7.643452676486188, 8.02938377768521, - 8.411619705963231, 8.79448804665917, 9.176091259055681, 9.558708570533165, 9.940516484932568, - 10.32221929473392, 10.702430536445526, 11.08278537031645, 11.463892988985908, 11.84323277809801, - 12.222716471147583, 12.603144372620182, 12.982723387668546, 13.361727836017593, 14.12057393120585, - 14.880241775895481, 15.639486489268586, 16.399673721481037, 17.161368002234976, 17.92272545799326, - 18.685741738602264, 20.59659709562646, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mg22_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mg24_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255058, - 0.022625058328435314, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, - 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, - 0.5263392773898441, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.974971994298069, - 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, - 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, - 4.984527313343793, 5.440909082065218, 5.894869656745253, 6.344392273685111, 6.791690649020118, - 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, - 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784438, - 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, - 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, - 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, - 20.96284268120124, 23.0899051114394, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Al27_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, - 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249925, 0.011239204769804157, - 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340023, - 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, - 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, - 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, - 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, - 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, - 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, - 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, - 12.472756449317213, 12.947923619831727, 13.423245873936809, 13.89707700320942, 14.371067862271737, - 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.2148438480477, - 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, - 22.915927211697117, 25.305351369446623, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Si28_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, - 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, - 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.2302807913268337, 0.3222192947339193, - 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, - 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.5314789170422554, - 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, - 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, - 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, - 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, - 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.859138297294532, - 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, - 19.911157608739977, 20.92116605063774, 21.9304395947667, 22.93951925261862, 23.948901760970212, - 24.958563883221967, 27.48572142648158, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real P31_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, - 0.013688955408210907, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557587, - 0.13887811232360858, 0.19608052467040615, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, - 0.7419390777291989, 0.9827233876685454, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, - 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, - 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, - 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, - 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, - 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, - 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.02938377768521, - 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, - 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, - 26.75511226639507, 29.477121254719663, - }; + extern AMREX_GPU_MANAGED amrex::Array1D P31_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real S32_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 5.211502513843472e-06, 6.948155872801058e-05, 0.0003893875360542875, - 0.001336870159627728, 0.003378232401258555, 0.00696337755678715, 0.012456734172197398, 0.030114157908450765, - 0.05748428585387722, 0.0950053699501746, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, - 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, - 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, - 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, - 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682894, 9.469822015978163, - 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, - 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, - 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, - 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, - 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, - 28.24551266781415, 31.08635983067475, - }; + extern AMREX_GPU_MANAGED amrex::Array1D S32_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cl35_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, - 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.02725376696259042, 0.0532486689285615, - 0.09021853774459236, 0.13964204799692437, 0.20296975189964023, 0.28111453407611076, 0.48000694295715063, - 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, - 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, - 4.2878017299302265, 4.942008053022313, 5.588831725594208, 6.230448921378274, 6.870988813760575, - 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, - 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, - 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, - 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, - 20.08278537031645, 20.705863712283918, 21.330413773349193, 21.95375969173323, 23.20139712432045, - 24.450249108319362, 25.699837725867248, 26.950364854376122, 28.20139712432045, 29.456366033129044, - 30.71264970162721, 33.862131379313034, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ar36_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 4.342942647204277e-07, 2.3451268844214655e-05, 0.00023141729162330256, 0.0010622869460975197, - 0.0031540913067783544, 0.007135153007315867, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, - 0.08643600351808535, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, - 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, - 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, - 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, - 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, - 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, - 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, - 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.925827574624744, 20.57170883180869, - 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, - 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, - 32.17897694729317, 35.41329976408125, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real K39_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, - 0.000162829902014903, 0.0005394928156396339, 0.0014074368520356395, 0.0031075244141559894, 0.010846721573671135, - 0.028297088943748085, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, - 0.7015679850559274, 1.0170333392987805, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, - 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, - 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626743, - 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, - 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, - 15.437750562820389, 16.139879086401237, 16.8394780473742, 17.539076098792776, 18.238046103128795, - 18.936513742478894, 19.633468455579585, 20.330413773349193, 21.02530586526477, 21.723455672035186, - 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, - 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, - 34.25767857486918, 37.761927838420526, - }; + extern AMREX_GPU_MANAGED amrex::Array1D K39_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ca40_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, - 2.605688721537332e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138494, 0.005324252203746658, - 0.016451245325404366, 0.03938040551055626, 0.0790998081972309, 0.13972800117379408, 0.33041377334919086, - 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, - 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, - 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, - 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, - 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, - 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, - 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, - 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, - 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, - 36.15533603746506, 39.78816837114117, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Sc43_pf_array[npts_1] = { - 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.002639422351216832, - 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.03006796257543875, - 0.03661053325876141, 0.06810122175372876, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, - 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, - 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.732465412501299, 0.9380190974762103, - 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, - 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, - 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, - 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, - 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, - 16.916453948549925, 17.687528961214635, 18.457881896733994, 19.227886704613674, 19.99694924849538, - 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, - 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, - 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, - 37.682145076373835, 41.55870857053316, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ti44_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 4.342942647204277e-07, 1.737174453219938e-06, - 7.382943437485088e-06, 0.0004987179011085028, 0.004043078170724821, 0.014135215027787822, 0.032426549056877405, - 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, - 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, - 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830567, 2.5415792439465807, - 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, - 5.885361220031512, 6.757396028793024, 7.619093330626743, 8.472756449317213, 9.32221929473392, - 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, - 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, - 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, - 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, - 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, - 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, - 40.29666519026153, 44.33041377334919, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real V47_pf_array[npts_1] = { - 2.518834949526704e-05, 0.0007584840322833456, 0.004226764680268442, 0.024475815916759104, 0.05998274311239668, - 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786615, 0.2615226538586488, - 0.29260868165003595, 0.40714096450521564, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, - 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, - 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, - 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, - 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, - 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, - 10.557507201905658, 11.421603926869832, 12.285557309007775, 13.146128035678238, 14.008600171761918, - 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, - 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, - 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, - 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, - 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, - 42.096910013008056, 46.372912002970104, - }; + extern AMREX_GPU_MANAGED amrex::Array1D V47_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cr48_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, - 0.00035120219371925006, 0.006401856055765156, 0.02685304570895992, 0.0621531182513584, 0.10696594975266843, - 0.15598699109465683, 0.205815844445829, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, - 0.4764059620390526, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, - 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, - 3.437750562820388, 3.854913022307856, 4.264817823009537, 4.666517980554881, 5.648360010980932, - 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, - 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, - 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, - 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, - 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, - 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, - 35.46834733041216, 37.23299611039216, 38.99913054128737, 40.764922984649886, 42.5327543789925, - 44.30102999566398, 48.727541257028555, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mn51_pf_array[npts_1] = { - 0.0, 0.0, 4.342942647204277e-07, 6.0362737871404116e-05, 0.0005954436481690332, - 0.002352703452491265, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.02640577650122878, - 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635362, - 0.22185561141496235, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, - 0.4326074417788097, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, - 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, - 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, - 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, - 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, - 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.02938377768521, 19.985426474083003, - 20.93851972517649, 21.88986172125819, 22.8394780473742, 23.787460474518415, 24.73399928653839, - 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.509202522331105, 29.45178643552429, - 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, - 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, - 46.392696953259666, 51.12057393120585, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe52_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, - 0.00011333607006293107, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777632, - 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, - 0.39933965344635436, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, - 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, - 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, - 6.944482672150169, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, - 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, - 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, - 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, - 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, - 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, - 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, - 48.20682587603185, 53.02938377768521, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Co55_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 8.685880952436748e-07, 1.4331481434642371e-05, 9.336327741651444e-05, - 0.0003811432576949256, 0.0011510907323373071, 0.0028275866787247843, 0.0059861278100218065, 0.019727612600003868, - 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, - 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.14921911265538, 2.56702636615906, - 2.991226075692495, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, - 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, - 11.927370363039024, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, - 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, - 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, - 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, - 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.755874855672495, - 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, - 49.954242509439325, 55.056904851336476, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ni56_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 4.342942647204277e-07, 7.817230319428648e-06, 6.42708273977769e-05, - 0.0002904458650804842, 0.0009123622824012838, 0.002249887625802649, 0.004694448751887299, 0.014735532704563183, - 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.22190042758492473, 0.5092025223311029, - 0.9132839017604184, 1.374748346010104, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, - 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, - 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, - 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, - 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, - 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.05307844348342, 28.113943352306837, - 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, - 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, - 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, - 52.230448921378276, 57.462397997898954, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array; // interpolation routine - template + template AMREX_GPU_HOST_DEVICE AMREX_INLINE - void interpolate_pf(const amrex::Real t9, const amrex::Real (&temp_array)[npts], const amrex::Real (&pf_array)[npts], + void interpolate_pf(const amrex::Real t9, const T& temp_array, const T& pf_array, amrex::Real& pf, amrex::Real& dpf_dT) { - if (t9 >= temp_array[0] && t9 < temp_array[npts-1]) { + if (t9 >= temp_array.lo() && t9 < temp_array.hi()) { // find the largest temperature element <= t9 using a binary search - int left = 0; - int right = npts; + int left = temp_array.lo(); + int right = temp_array.hi(); while (left < right) { int mid = (left + right) / 2; - if (temp_array[mid] > t9) { + if (temp_array(mid) > t9) { right = mid; } else { left = mid + 1; @@ -707,11 +178,12 @@ namespace part_fun { // construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i) - amrex::Real slope = (pf_array[idx+1] - pf_array[idx]) / (temp_array[idx+1] - temp_array[idx]); + amrex::Real slope = (pf_array(idx+1) - pf_array(idx)) / + (temp_array(idx+1) - temp_array(idx)); // find the PF - amrex::Real log10_pf = pf_array[idx] + slope * (t9 - temp_array[idx]); + amrex::Real log10_pf = pf_array(idx) + slope * (t9 - temp_array(idx)); pf = std::pow(10.0_rt, log10_pf); // find the derivative (with respect to T, not T9) @@ -750,131 +222,131 @@ void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactor switch (inuc) { case O14: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O14_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O14_pf_array, pf, dpf_dT); break; case O15: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O15_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O15_pf_array, pf, dpf_dT); break; case O16: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); break; case O17: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O17_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O17_pf_array, pf, dpf_dT); break; case O18: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O18_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O18_pf_array, pf, dpf_dT); break; case F17: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F17_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F17_pf_array, pf, dpf_dT); break; case F18: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); break; case F19: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F19_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F19_pf_array, pf, dpf_dT); break; case Ne18: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne18_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne18_pf_array, pf, dpf_dT); break; case Ne19: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne19_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne19_pf_array, pf, dpf_dT); break; case Ne20: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); break; case Ne21: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); break; case Na22: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); break; case Na23: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); break; case Mg22: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg22_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg22_pf_array, pf, dpf_dT); break; case Mg24: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); break; case Al27: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); break; case Si28: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); break; case P31: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); break; case S32: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); break; case Cl35: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); break; case Ar36: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); break; case K39: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); break; case Ca40: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); break; case Sc43: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); break; case Ti44: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); break; case V47: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); break; case Cr48: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); break; case Mn51: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); break; case Fe52: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); break; case Co55: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); break; case Ni56: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); break; diff --git a/networks/CNO_He_burn/partition_functions_data.cpp b/networks/CNO_He_burn/partition_functions_data.cpp new file mode 100644 index 0000000000..ef16ebadae --- /dev/null +++ b/networks/CNO_He_burn/partition_functions_data.cpp @@ -0,0 +1,675 @@ +#include +#include +#include +#include + +#include + +using namespace amrex; + +namespace part_fun { + + // this is T9 + + AMREX_GPU_MANAGED amrex::Array1D temp_array_1= { + 0.01, 0.15, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, + 1.0, 1.5, 2.0, 2.5, 3.0, + 3.5, 4.0, 4.5, 5.0, 6.0, + 7.0, 8.0, 9.0, 10.0, 12.0, + 14.0, 16.0, 18.0, 20.0, 22.0, + 24.0, 26.0, 28.0, 30.0, 35.0, + 40.0, 45.0, 50.0, 55.0, 60.0, + 65.0, 70.0, 75.0, 80.0, 85.0, + 90.0, 95.0, 100.0, 105.0, 110.0, + 115.0, 120.0, 125.0, 130.0, 135.0, + 140.0, 145.0, 150.0, 155.0, 160.0, + 165.0, 170.0, 175.0, 180.0, 190.0, + 200.0, 210.0, 220.0, 230.0, 240.0, + 250.0, 275.0, + }; + + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O14_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.021189299069938092, + 0.045322978786657475, 0.07918124604762482, 0.12057393120584989, 0.1673173347481761, 0.21748394421390627, + 0.2648178230095365, 0.3096301674258988, 0.35410843914740087, 0.3944516808262163, 0.48144262850230496, + 0.5514499979728752, 0.6053050461411095, 0.6473829701146199, 0.6794278966121189, 0.7032913781186614, + 0.7201593034059569, 0.7315887651867387, 0.7371926427047373, 0.7395723444500919, 0.7371926427047373, + 0.7315887651867387, 0.7234556720351858, 0.7126497016272114, 0.6989700043360189, 0.6839471307515121, + 0.6665179805548809, 0.6464037262230695, 0.6263403673750424, 0.6031443726201823, 0.5797835966168101, + 0.5550944485783191, 0.5289167002776547, 0.5024271199844327, 0.4742162640762552, 0.44560420327359757, + 0.414973347970818, 0.38560627359831223, 0.35410843914740087, 0.3222192947339193, 0.2576785748691845, + 0.1903316981702915, 0.12385164096708581, 0.05307844348341968, -0.017728766960431602, -0.08884239126002341, + -0.16052195262580163, -0.34198860334288755, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O15_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.021189299069938092, + 0.045322978786657475, 0.08278537031645007, 0.1367205671564068, 0.2041199826559248, 0.2787536009528289, + 0.36172783601759284, 0.4471580313422192, 0.5352941200427705, 0.6242820958356683, 0.850033257689769, + 1.0791812460476249, 1.3096301674258988, 1.545307116465824, 1.7846172926328754, 2.0293837776852097, + 2.2764618041732443, 2.525044807036845, 2.775974331129369, 3.0253058652647704, 3.278753600952829, + 3.5289167002776547, 3.7795964912578244, 4.02938377768521, 4.278753600952829, 4.528916700277655, + 4.7774268223893115, 5.02530586526477, 5.27415784926368, 5.519827993775719, 5.76715586608218, + 6.012837224705172, 6.260071387985075, 6.503790683057181, 6.749736315569061, 6.994317152669637, + 7.238046103128795, 7.482873583608754, 7.727541257028556, 7.971739590887778, 8.459392487759231, + 8.94743372188705, 9.4345689040342, 9.922206277439017, 10.409933123331294, 10.898176483497677, + 11.38738982633873, 12.611723308007342, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O16_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, + 0.037426497940623665, 0.07188200730612536, 0.12057393120584989, 0.1846914308175988, 0.26245108973042947, + 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, + 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, + 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, + 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, + 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, + 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, + 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, + 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, + 12.856124444242301, 14.195899652409233, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O17_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.004321373782642578, 0.004321373782642578, + 0.00860017176191757, 0.012837224705172217, 0.01703333929878037, 0.01703333929878037, 0.02530586526477026, + 0.03342375548694973, 0.04139268515822508, 0.05307844348341968, 0.06069784035361165, 0.09342168516223506, + 0.13033376849500614, 0.17609125905568124, 0.23299611039215382, 0.2966651902615311, 0.367355921026019, + 0.44560420327359757, 0.5289167002776547, 0.615950051656401, 0.7084209001347127, 0.9542425094393249, + 1.2174839442139063, 1.4913616938342726, 1.7708520116421442, 2.0530784434834195, 2.3324384599156054, + 2.6138418218760693, 2.8926510338773004, 3.1702617153949575, 3.4471580313422194, 3.7234556720351857, + 3.999130541287371, 4.27415784926368, 4.549003262025788, 4.824125833916549, 5.1003705451175625, + 5.3747483460101035, 5.649334858712142, 5.924279286061882, 6.198657086954422, 6.474216264076255, + 6.749736315569061, 7.02530586526477, 7.301029995663981, 7.576341350205793, 7.852479993636856, + 8.127104798364808, 8.404833716619938, 8.680335513414564, 8.956648579205204, 9.509202522331103, + 10.064457989226918, 10.618048096712092, 11.173186268412275, 11.73158876518674, 12.290034611362518, + 12.848804701051804, 14.252853030979892, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O18_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.004321373782642578, 0.00860017176191757, 0.012837224705172217, 0.021189299069938092, 0.04921802267018165, + 0.08635983067474821, 0.13353890837021754, 0.1846914308175988, 0.2380461031287954, 0.38381536598043126, + 0.5118833609788743, 0.6334684555795865, 0.7474118078864233, 0.8536982117761743, 0.9542425094393249, + 1.0530784434834197, 1.146128035678238, 1.2430380486862944, 1.3384564936046048, 1.5921767573958667, + 1.8686444383948257, 2.164352855784437, 2.4756711883244296, 2.791690649020118, 3.110589710299249, + 3.428134794028789, 3.7450747915820575, 4.060697840353612, 4.372912002970106, 4.68304703823885, + 4.992995098431342, 5.301029995663981, 5.608526033577194, 5.9148718175400505, 6.220108088040055, + 6.525044807036846, 6.82865989653532, 7.1303337684950066, 7.434568904034199, 7.7363965022766426, + 8.037426497940624, 8.338456493604605, 8.640481436970422, 8.940516484932568, 9.2405492482826, + 9.540329474790873, 9.840733234611807, 10.139879086401237, 10.439332693830263, 11.037426497940624, + 11.636487896353366, 12.23552844690755, 12.834420703681532, 13.432969290874405, 14.03342375548695, + 14.634477270160732, 16.139879086401237, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D F17_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.004321373782642578, 0.00860017176191757, 0.012837224705172217, 0.021189299069938092, + 0.02530586526477026, 0.03342375548694973, 0.037426497940623665, 0.04139268515822508, 0.05307844348341968, + 0.06069784035361165, 0.06818586174616162, 0.07554696139253074, 0.08635983067474821, 0.11394335230683679, + 0.14301480025409505, 0.18184358794477254, 0.22788670461367352, 0.28103336724772754, 0.3424226808222063, + 0.4082399653118496, 0.47856649559384334, 0.5550944485783191, 0.6374897295125107, 0.8603380065709937, + 1.1038037209559568, 1.3654879848908996, 1.6334684555795864, 1.9057958803678685, 2.1818435879447726, + 2.456366033129043, 2.7307822756663893, 3.0043213737826426, 3.278753600952829, 3.5538830266438746, + 3.828015064223977, 4.1003705451175625, 4.376576957056512, 4.650307523131937, 4.924279286061882, + 5.198657086954422, 5.472756449317212, 5.747411807886423, 6.021189299069938, 6.296665190261531, + 6.571708831808688, 6.846955325019824, 7.12057393120585, 7.3979400086720375, 7.673020907128897, + 7.948412965778601, 8.225309281725863, 8.499687082618404, 8.775974331129369, 9.328379603438737, + 9.88252453795488, 10.437750562820389, 10.992553517832135, 11.549003262025789, 12.107209969647869, + 12.66651798055488, 14.068185861746162, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D F18_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.00860017176191757, 0.02530586526477026, 0.04921802267018165, + 0.08635983067474821, 0.12385164096708581, 0.1673173347481761, 0.20682587603184974, 0.28330122870354957, + 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, + 0.756636108245848, 0.8419848045901139, 0.9232440186302765, 1.0043213737826426, 1.08278537031645, + 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, + 1.9405164849325673, 2.220108088040055, 2.505149978319906, 2.79309160017658, 3.0827853703164503, + 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, + 4.800029359244134, 5.086359830674748, 5.371067862271736, 5.657055852857104, 5.94299959336604, + 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, + 7.6674529528899535, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, + 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, + 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, + 14.096910013008056, 15.584331224367531, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D F19_pf_array = { + 0.0, 0.0, 0.0, 0.00860017176191757, 0.021189299069938092, + 0.045322978786657475, 0.07918124604762482, 0.11058971029924898, 0.14301480025409505, 0.17609125905568124, + 0.20682587603184974, 0.32633586092875144, 0.40312052117581787, 0.4548448600085102, 0.4941545940184428, + 0.5250448070368452, 0.5526682161121932, 0.5763413502057929, 0.5976951859255123, 0.6384892569546373, + 0.6739419986340878, 0.7075701760979364, 0.7371926427047373, 0.7656685547590141, 0.8530895298518656, + 0.9258275746247423, 1.0, 1.0791812460476249, 1.1583624920952498, 1.2430380486862944, + 1.3324384599156054, 1.4265112613645752, 1.5250448070368452, 1.6273658565927327, 1.9052560487484513, + 2.2041199826559246, 2.514547752660286, 2.8312296938670634, 3.1492191126553797, 3.4683473304121573, + 3.7867514221455614, 4.103803720955957, 4.419955748489758, 4.734799829588847, 5.049218022670182, + 5.363611979892144, 5.679427896612119, 5.993436230497612, 6.307496037913213, 6.623249290397901, + 6.937517892017347, 7.252853030979893, 7.567026366159061, 7.8819549713396, 8.195899652409233, + 8.511883360978874, 8.826074802700827, 9.139879086401237, 9.456366033129044, 9.771587480881255, + 10.086359830674748, 10.403120521175818, 10.717670503002262, 11.03342375548695, 11.665580991017952, + 12.298853076409706, 12.932473764677153, 13.56702636615906, 14.204119982655925, 14.840733234611807, + 15.48000694295715, 17.08278537031645, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne18_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 8.685880952436748e-07, 3.8216232917937116e-05, 0.00034078742672235857, 0.0014740966917327273, + 0.0042108511246098535, 0.009296188019926578, 0.01729216848118748, 0.028532619910828717, 0.06103645800577312, + 0.10579825637065966, 0.16011512917677792, 0.2207039183598475, 0.28451510286256426, 0.4132997640812518, + 0.534026106056135, 0.6454222693490919, 0.7474118078864233, 0.8419848045901139, 0.931457870689005, + 1.0170333392987803, 1.1038037209559568, 1.1931245983544616, 1.2833012287035497, 1.530199698203082, + 1.8027737252919758, 2.0969100130080562, 2.406540180433955, 2.720159303405957, 3.037426497940624, + 3.3502480183341627, 3.6646419755561257, 3.976808337338066, 4.2878017299302265, 4.596597095626461, + 4.904174368284163, 5.212187604403958, 5.517195897949974, 5.8228216453031045, 6.127104798364807, + 6.431363764158987, 6.733999286538387, 7.037426497940624, 7.338456493604605, 7.6414741105041, + 7.94299959336604, 8.243038048686294, 8.545307116465825, 8.846337112129806, 9.146128035678238, + 9.44715803134222, 9.747411807886424, 10.049218022670182, 10.348304863048162, 10.947923619831727, + 11.547774705387823, 12.14921911265538, 12.749736315569061, 13.352182518111363, 13.953759691733229, + 14.556302500767288, 16.068185861746162, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne19_pf_array = { + 0.0, 0.0, 1.3028814913777444e-06, 0.00013982031331027489, 0.0014412009067215222, + 0.005855033103492191, 0.014843829183159709, 0.028644035649810974, 0.046524428475543715, 0.067325701327402, + 0.08987227329808917, 0.2024330050186144, 0.29142235685380635, 0.3573212585177977, 0.4076299980711713, + 0.4480025329155769, 0.4819996873375467, 0.5117837959085901, 0.5386747558422048, 0.5868019236204228, + 0.6302234949477327, 0.6708947682014244, 0.7099774032281327, 0.7482111370619575, 0.8241258339165489, + 0.8998205024270963, 0.9777236052888477, 1.0569048513364727, 1.1398790864012365, 1.2278867046136734, + 1.320146286111054, 1.416640507338281, 1.5171958979499742, 1.6222140229662954, 1.9041743682841634, + 2.2041199826559246, 2.5171958979499744, 2.833147111912785, 3.1492191126553797, 3.4683473304121573, + 3.783903579272735, 4.096910013008056, 4.413299764081252, 4.725911632295048, 5.037426497940624, + 5.352182518111363, 5.664641975556125, 5.977266212427293, 6.290034611362518, 6.603144372620182, + 6.915927211697116, 7.230448921378274, 7.54282542695918, 7.8561244442423, 8.170261715394957, + 8.484299839346786, 8.797267540830717, 9.11058971029925, 9.424881636631067, 9.739572344450092, + 10.05307844348342, 10.369215857410143, 10.683947130751513, 10.998695158311655, 11.629409599102718, + 12.260071387985075, 12.893206753059848, 13.52762990087134, 14.161368002234974, 14.798650645445269, + 15.436162647040756, 17.037426497940622, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, + 0.00954097493969645, 0.01859524021829981, 0.031075444833369822, 0.04661767038571622, 0.0846241727916796, + 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, + 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, + 0.9532763366673044, 1.0644579892269184, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, + 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, + 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, + 5.830588668685144, 6.193124598354461, 6.556302500767287, 6.916980047320382, 7.276461804173244, + 7.6344772701607315, 7.991669007379948, 8.348304863048162, 8.703291378118662, 9.056904851336473, + 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, + 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, + 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, + 17.096910013008056, 18.838849090737256, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array = { + 0.0, 0.0, 0.0, 8.685880952436748e-07, 2.4754079983896385e-05, + 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.004003921820573951, 0.007021925578680665, + 0.010986057727319889, 0.04118891376750491, 0.0777722105539352, 0.11230632139519969, 0.14260436993417835, + 0.16888829052162926, 0.19197861038694294, 0.2126999294489824, 0.23172922294680387, 0.26667282493464145, + 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899235, 0.46982201597816303, + 0.5465426634781311, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, + 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, + 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, + 3.9656719712201065, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, + 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, + 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, + 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, + 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.84447717574568, + 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, + 17.123851640967086, 18.923244018630278, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003523, + 0.0002626687122755098, 0.0029928105843703536, 0.010836979076306525, 0.02428653620880802, 0.0424270473387004, + 0.06402310268617777, 0.08796765614200239, 0.11338308526345185, 0.13961150376071624, 0.19275584832811385, + 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, + 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423003, 0.9633155113861113, + 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, + 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, + 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, + 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, + 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, + 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, + 11.4345689040342, 11.80413943233535, 12.173186268412275, 12.544068044350276, 13.285557309007773, + 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, + 17.76492298464989, 19.64933485871214, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, + 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.0022321731976362837, + 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, + 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, + 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, + 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, + 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.551449997972875, 1.9628426812012425, + 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, + 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, + 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, + 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, + 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, + 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, + 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, + 19.17609125905568, 21.173186268412273, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mg22_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 4.3429426472042774e-07, + 1.3028814913777444e-06, 0.00014112277540948576, 0.001568009102978072, 0.006621333592317272, 0.017164860499026567, + 0.03357733989361113, 0.05503565409031889, 0.0802042513805738, 0.10775825947457741, 0.16607827276194487, + 0.224935317299723, 0.2825131291235062, 0.33852302720374633, 0.39321990159455933, 0.49968708261840383, + 0.6063813651106049, 0.7134905430939426, 0.8247764624755457, 0.9420080530223133, 1.0681858617461617, + 1.2013971243204515, 1.3424226808222062, 1.4913616938342726, 1.6483600109809315, 2.0569048513364727, + 2.4785664955938436, 2.8987251815894934, 3.3138672203691533, 3.7234556720351857, 4.127104798364807, + 4.5276299008713385, 4.923244018630276, 5.315970345456917, 5.707570176097937, 6.096910013008056, + 6.48572142648158, 6.872156272748293, 7.2576785748691846, 7.643452676486188, 8.02938377768521, + 8.411619705963231, 8.79448804665917, 9.176091259055681, 9.558708570533165, 9.940516484932568, + 10.32221929473392, 10.702430536445526, 11.08278537031645, 11.463892988985908, 11.84323277809801, + 12.222716471147583, 12.603144372620182, 12.982723387668546, 13.361727836017593, 14.12057393120585, + 14.880241775895481, 15.639486489268586, 16.399673721481037, 17.161368002234976, 17.92272545799326, + 18.685741738602264, 20.59659709562646, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255056, + 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, + 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, + 0.526339277389844, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, + 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, + 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, + 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, + 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, + 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, + 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, + 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, + 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, + 20.96284268120124, 23.089905111439396, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, + 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249926, 0.011239204769804155, + 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, + 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, + 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, + 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, + 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, + 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, + 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, + 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, + 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, + 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, + 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, + 22.915927211697117, 25.305351369446623, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, + 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, + 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.23028079132683374, 0.3222192947339193, + 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, + 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, + 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, + 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, + 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, + 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, + 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, + 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, + 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, + 24.958563883221967, 27.48572142648158, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D P31_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, + 0.013688955408210905, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557586, + 0.13887811232360858, 0.19608052467040618, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, + 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, + 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, + 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, + 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, + 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, + 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, + 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, + 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, + 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, + 26.75511226639507, 29.477121254719663, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D S32_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, + 0.001336870159627728, 0.0033782324012585556, 0.00696337755678715, 0.012456734172197396, 0.030114157908450765, + 0.05748428585387722, 0.09500536995017458, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, + 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, + 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, + 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, + 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, + 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, + 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, + 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, + 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, + 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, + 28.24551266781415, 31.08635983067475, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, + 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, + 0.09021853774459236, 0.13964204799692437, 0.20296975189964025, 0.28111453407611076, 0.48000694295715063, + 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, + 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, + 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, + 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, + 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, + 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, + 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, + 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, + 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, + 30.71264970162721, 33.862131379313034, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, + 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, + 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, + 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, + 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, + 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, + 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, + 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, + 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, + 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, + 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, + 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, + 32.17897694729317, 35.41329976408125, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D K39_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, + 0.00016282990201490303, 0.000539492815639634, 0.0014074368520356397, 0.0031075244141559894, 0.010846721573671133, + 0.028297088943748088, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, + 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, + 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, + 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, + 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, + 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, + 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, + 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, + 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, + 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, + 34.25767857486918, 37.761927838420526, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, + 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138496, 0.005324252203746658, + 0.016451245325404363, 0.039380405510556264, 0.07909980819723089, 0.1397280011737941, 0.33041377334919086, + 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, + 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, + 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, + 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, + 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, + 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, + 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, + 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, + 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, + 36.15533603746506, 39.78816837114117, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array = { + 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.0026394223512168323, + 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.030067962575438752, + 0.03661053325876141, 0.06810122175372875, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, + 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, + 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.7324654125012992, 0.9380190974762103, + 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, + 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, + 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, + 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, + 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, + 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, + 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, + 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, + 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, + 37.68214507637383, 41.55870857053316, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, + 7.382943437485088e-06, 0.0004987179011085027, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, + 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, + 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, + 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, + 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, + 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, + 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, + 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, + 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, + 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, + 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, + 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, + 40.29666519026153, 44.33041377334919, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D V47_pf_array = { + 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759108, 0.05998274311239668, + 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786618, 0.2615226538586488, + 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, + 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, + 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, + 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, + 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, + 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, + 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, + 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, + 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, + 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, + 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, + 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, + 42.096910013008056, 46.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, + 0.00035120219371925006, 0.006401856055765157, 0.02685304570895992, 0.0621531182513584, 0.10696594975266842, + 0.15598699109465686, 0.20581584444582904, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, + 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, + 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, + 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, + 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, + 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, + 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, + 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, + 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, + 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, + 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, + 44.30102999566398, 48.727541257028555, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array = { + 0.0, 0.0, 4.3429426472042774e-07, 6.0362737871404116e-05, 0.0005954436481690332, + 0.0023527034524912656, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.026405776501228783, + 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635364, + 0.22185561141496238, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, + 0.4326074417788098, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, + 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, + 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, + 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, + 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, + 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, + 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, + 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, + 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, + 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, + 46.392696953259666, 51.12057393120585, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, + 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777631, + 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, + 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, + 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, + 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, + 6.944482672150168, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, + 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, + 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, + 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, + 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, + 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, + 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, + 48.20682587603185, 53.02938377768521, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 8.685880952436748e-07, 1.433148143464237e-05, 9.336327741651445e-05, + 0.00038114325769492564, 0.0011510907323373071, 0.0028275866787247843, 0.005986127810021806, 0.019727612600003868, + 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, + 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.1492191126553797, 2.56702636615906, + 2.9912260756924947, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, + 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, + 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, + 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, + 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, + 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, + 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, + 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, + 49.954242509439325, 55.05690485133647, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 4.3429426472042774e-07, 7.817230319428648e-06, 6.42708273977769e-05, + 0.0002904458650804842, 0.0009123622824012838, 0.0022498876258026487, 0.004694448751887299, 0.014735532704563181, + 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.2219004275849247, 0.5092025223311029, + 0.9132839017604184, 1.3747483460101038, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, + 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, + 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, + 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, + 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, + 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, + 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, + 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, + 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, + 52.230448921378276, 57.462397997898954, + }; + + +} + diff --git a/networks/CNO_He_burn/reaclib_rates.H b/networks/CNO_He_burn/reaclib_rates.H index 28529b93cb..afe326b421 100644 --- a/networks/CNO_He_burn/reaclib_rates.H +++ b/networks/CNO_He_burn/reaclib_rates.H @@ -3955,11 +3955,11 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // ls09c - ln_set_rate = 40.04074558314484 + -22.547578710551672 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + ln_set_rate = 40.040745581311285 + -22.547578710171805 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.547578710551672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + dln_set_rate_dT9 = 22.547578710171805 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -3972,11 +3972,11 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // ls09c - ln_set_rate = 40.43534558314484 + -26.326068710551674 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + ln_set_rate = 40.43534558131128 + -26.326068710171807 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 26.326068710551674 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + dln_set_rate_dT9 = 26.326068710171807 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; } @@ -4031,10 +4031,10 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // nacrc - ln_set_rate = 38.37162975887633 + -101.18001633730091 * tfactors.T9i; + ln_set_rate = 38.371629757042776 + -101.18001633582465 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 101.18001633730091 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 101.18001633582465 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4046,11 +4046,11 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // nacrc - ln_set_rate = 41.70462975887634 + -87.62571633730091 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + ln_set_rate = 41.70462975704278 + -87.62571633582465 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 87.62571633730091 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + dln_set_rate_dT9 = 87.62571633582465 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4063,11 +4063,11 @@ void rate_N14_to_p_C13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // nacrc - ln_set_rate = 37.15282975887634 + -93.40718633730091 * tfactors.T9i + -0.196703 * tfactors.T913 + ln_set_rate = 37.15282975704278 + -93.40718633582465 * tfactors.T9i + -0.196703 * tfactors.T913 + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 93.40718633730091 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + dln_set_rate_dT9 = 93.40718633582465 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923; } @@ -4122,10 +4122,10 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // lg06c - ln_set_rate = 35.284842047544444 + -59.831381731894915 * tfactors.T9i + 1.57122 * tfactors.T913i; + ln_set_rate = 35.28484204571089 + -59.831381730990124 * tfactors.T9i + 1.57122 * tfactors.T913i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 59.831381731894915 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; + dln_set_rate_dT9 = 59.831381730990124 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4137,11 +4137,11 @@ void rate_O14_to_p_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // lg06c - ln_set_rate = 42.42334204754444 + -53.70536173189492 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + ln_set_rate = 42.42334204571088 + -53.70536173099013 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 53.70536173189492 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + dln_set_rate_dT9 = 53.70536173099013 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4195,11 +4195,11 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // im05c - ln_set_rate = 41.01773262609282 + -84.67584783075318 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + ln_set_rate = 41.01773262425927 + -84.67584782932663 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.67584783075318 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + dln_set_rate_dT9 = 84.67584782932663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4212,11 +4212,11 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // im05c - ln_set_rate = 30.743512626092816 + -89.56684783075319 * tfactors.T9i + ln_set_rate = 30.74351262425926 + -89.56684782932663 * tfactors.T9i + 1.5682 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 89.56684783075319 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 89.56684782932663 * tfactors.T9i * tfactors.T9i + 1.5682 * tfactors.T9i; } @@ -4229,10 +4229,10 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // im05c - ln_set_rate = 31.66217262609282 + -87.67384783075319 * tfactors.T9i; + ln_set_rate = 31.662172624259263 + -87.67384782932663 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 87.67384783075319 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 87.67384782932663 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4244,11 +4244,11 @@ void rate_O15_to_p_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // im05c - ln_set_rate = 44.12463262609282 + -84.67584783075318 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + ln_set_rate = 44.12463262425926 + -84.67584782932663 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 1.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.67584783075318 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + dln_set_rate_dT9 = 84.67584782932663 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 1.833333 * tfactors.T9i; } @@ -4302,11 +4302,11 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // li10c - ln_set_rate = 44.31969622406868 + -140.7326330696574 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + ln_set_rate = 44.31969622223512 + -140.73263306728643 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 140.7326330696574 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + dln_set_rate_dT9 = 140.73263306728643 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4319,11 +4319,11 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // li10c - ln_set_rate = 38.84649622406867 + -150.9621330696574 * tfactors.T9i + ln_set_rate = 38.84649622223512 + -150.96213306728643 * tfactors.T9i + 0.0459037 * tfactors.T9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 150.9621330696574 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 150.96213306728643 * tfactors.T9i * tfactors.T9i + 0.0459037; } @@ -4336,10 +4336,10 @@ void rate_O16_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // li10c - ln_set_rate = 30.892656224068677 + -143.6557830696574 * tfactors.T9i; + ln_set_rate = 30.89265622223512 + -143.65578306728642 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 143.6557830696574 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 143.65578306728642 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4392,11 +4392,11 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // nac2 - ln_set_rate = 279.2945280776573 + -84.95160042649215 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + ln_set_rate = 279.29452807582373 + -84.95160042509195 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.95160042649215 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + dln_set_rate_dT9 = 84.95160042509195 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; } @@ -4409,11 +4409,11 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // nac2 - ln_set_rate = 94.31312807765731 + -84.50317042649215 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + ln_set_rate = 94.31312807582376 + -84.50317042509195 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.50317042649215 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + dln_set_rate_dT9 = 84.50317042509195 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; } @@ -4467,11 +4467,11 @@ void rate_F17_to_p_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // ia08n - ln_set_rate = 40.91346042326238 + -6.965844092940222 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + ln_set_rate = 40.91346042142882 + -6.9658440928228655 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 6.965844092940222 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + dln_set_rate_dT9 = 6.9658440928228655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4524,11 +4524,11 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 40.2060663850151 + -65.06073084956662 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + ln_set_rate = 40.20606638318154 + -65.06073084847051 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 65.06073084956662 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + dln_set_rate_dT9 = 65.06073084847051 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4541,11 +4541,11 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 33.703646385015105 + -71.28901084956662 * tfactors.T9i + 2.31435 * tfactors.T913 + ln_set_rate = 33.70364638318155 + -71.28901084847051 * tfactors.T9i + 2.31435 * tfactors.T913 + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 71.28901084956662 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + dln_set_rate_dT9 = 71.28901084847051 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923; } @@ -4558,10 +4558,10 @@ void rate_F18_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 11.236166385015101 + -65.80702684956663 * tfactors.T9i; + ln_set_rate = 11.236166383181546 + -65.80702684847051 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 65.80702684956663 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 65.80702684847051 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4613,11 +4613,11 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 46.248979543913606 + -51.22930570025806 * tfactors.T9i + -36.2504 * tfactors.T913i + ln_set_rate = 46.24897954208005 + -51.229305699394985 * tfactors.T9i + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 51.22930570025806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + dln_set_rate_dT9 = 51.229305699394985 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4630,10 +4630,10 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 38.61457954391361 + -62.19490570025806 * tfactors.T9i + -5.6227 * tfactors.T913i; + ln_set_rate = 38.61457954208005 + -62.19490569939499 * tfactors.T9i + -5.6227 * tfactors.T913i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 62.19490570025806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; + dln_set_rate_dT9 = 62.19490569939499 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4645,10 +4645,10 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 24.91191754391361 + -56.38964570025806 * tfactors.T9i; + ln_set_rate = 24.911917542080054 + -56.38964569939498 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 56.38964570025806 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 56.38964569939498 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4701,10 +4701,10 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -12.076391187250273 + -93.0205444797316 * tfactors.T9i; + ln_set_rate = -12.076391189083829 + -93.02054447816857 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 93.0205444797316 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 93.02054447816857 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4716,11 +4716,11 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 42.84850881274973 + -92.7758014797316 * tfactors.T9i + -16.7246 * tfactors.T913i + ln_set_rate = 42.84850881091617 + -92.77580147816857 * tfactors.T9i + -16.7246 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 92.7758014797316 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + dln_set_rate_dT9 = 92.77580147816857 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4733,11 +4733,11 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 30.200268812749727 + -99.5011014797316 * tfactors.T9i + 3.99059 * tfactors.T913 + ln_set_rate = 30.20026881091617 + -99.50110147816858 * tfactors.T9i + 3.99059 * tfactors.T913 + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 99.5011014797316 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + dln_set_rate_dT9 = 99.50110147816858 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923; } @@ -4750,10 +4750,10 @@ void rate_F19_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 28.007988812749726 + -94.43261147973159 * tfactors.T9i; + ln_set_rate = 28.00798881091617 + -94.43261147816857 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 94.43261147973159 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 94.43261147816857 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4805,10 +4805,10 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 15.318548019238627 + -50.755468565975136 * tfactors.T9i; + ln_set_rate = 15.318548017405071 + -50.75546856519042 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 50.755468565975136 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 50.75546856519042 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4820,11 +4820,11 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 50.12906801923863 + -46.57751856597513 * tfactors.T9i + -36.2324 * tfactors.T913i + ln_set_rate = 50.129068017405075 + -46.57751856519042 * tfactors.T9i + -36.2324 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 46.57751856597513 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + dln_set_rate_dT9 = 46.57751856519042 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4837,11 +4837,11 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = -4.061431980761373 + -50.777378565975134 * tfactors.T9i + 35.4292 * tfactors.T913 + ln_set_rate = -4.061431982594929 + -50.77737856519042 * tfactors.T9i + 35.4292 * tfactors.T913 + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 50.777378565975134 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + dln_set_rate_dT9 = 50.77737856519042 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923; } @@ -4854,10 +4854,10 @@ void rate_F19_to_He4_N15_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 28.271668019238625 + -53.56213856597513 * tfactors.T9i; + ln_set_rate = 28.27166801740507 + -53.562138565190416 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 53.56213856597513 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 53.562138565190416 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -4910,11 +4910,11 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: amrex::Real set_rate{0.0}; // cb09 - ln_set_rate = 17.564698673683218 + -45.56279329585002 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + ln_set_rate = 17.564698671849662 + -45.56279329508295 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -0.6337600000000001 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 45.56279329585002 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + dln_set_rate_dT9 = 45.56279329508295 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -0.6337600000000001 * tfactors.T9i; } @@ -4927,11 +4927,11 @@ void rate_Ne18_to_p_F17_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: } // cb09 - ln_set_rate = 52.98957867368321 + -50.490132895850024 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + ln_set_rate = 52.98957867184966 + -50.49013289508295 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -5.86014 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 50.490132895850024 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + dln_set_rate_dT9 = 50.49013289508295 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -5.86014 * tfactors.T9i; } @@ -4984,11 +4984,11 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // wh87c - ln_set_rate = 20.015599543913616 + -71.50450567460692 * tfactors.T9i + ln_set_rate = 20.01559954208006 + -71.50450567360711 * tfactors.T9i + 6.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 71.50450567460692 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 71.50450567360711 * tfactors.T9i * tfactors.T9i + 6.5 * tfactors.T9i; } @@ -5001,10 +5001,10 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // wh87c - ln_set_rate = 28.241439543913618 + -81.95550567460691 * tfactors.T9i; + ln_set_rate = 28.241439542080062 + -81.9555056736071 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 81.95550567460691 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 81.9555056736071 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5016,10 +5016,10 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // wh87c - ln_set_rate = 22.560909543913617 + -71.07550567460692 * tfactors.T9i; + ln_set_rate = 22.56090954208006 + -71.07550567360711 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 71.07550567460692 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 71.07550567360711 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5031,11 +5031,11 @@ void rate_Ne18_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // wh87c - ln_set_rate = 51.15797954391362 + -59.34550567460692 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + ln_set_rate = 51.157979542080064 + -59.34550567360711 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 59.34550567460692 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + dln_set_rate_dT9 = 59.34550567360711 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5088,11 +5088,11 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 81.43852110141783 + -74.3988865821353 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + ln_set_rate = 81.43852109958428 + -74.39888658088186 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 74.3988865821353 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + dln_set_rate_dT9 = 74.39888658088186 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5105,11 +5105,11 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: } // il10c - ln_set_rate = 18.172851101417834 + -77.2903565821353 * tfactors.T9i + 13.1683 * tfactors.T913 + ln_set_rate = 18.17285109958428 + -77.29035658088186 * tfactors.T9i + 13.1683 * tfactors.T913 + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 77.2903565821353 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + dln_set_rate_dT9 = 77.29035658088186 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923; } @@ -5122,11 +5122,11 @@ void rate_Ne19_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: } // il10c - ln_set_rate = -5.418878898582168 + -74.7978365821353 * tfactors.T9i + 22.4903 * tfactors.T913 + ln_set_rate = -5.418878900415724 + -74.79783658088186 * tfactors.T9i + 22.4903 * tfactors.T913 + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 74.7978365821353 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + dln_set_rate_dT9 = 74.79783658088186 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923; } @@ -5179,11 +5179,11 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // dc11c - ln_set_rate = -7.5121319807613745 + -45.157894903452345 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + ln_set_rate = -7.51213198259493 + -45.15789490276239 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 45.157894903452345 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + dln_set_rate_dT9 = 45.15789490276239 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923; } @@ -5196,10 +5196,10 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // dc11c - ln_set_rate = 24.692221519238625 + -46.83789490345235 * tfactors.T9i; + ln_set_rate = 24.69222151740507 + -46.837894902762386 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 46.83789490345235 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 46.837894902762386 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5211,11 +5211,11 @@ void rate_Ne19_to_He4_O15_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // dc11c - ln_set_rate = 51.02886801923863 + -40.95350490345235 * tfactors.T9i + -39.578 * tfactors.T913i + ln_set_rate = 51.028868017405074 + -40.95350490276239 * tfactors.T9i + -39.578 * tfactors.T913i + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 40.95350490345235 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + dln_set_rate_dT9 = 40.95350490276239 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5268,11 +5268,11 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: amrex::Real set_rate{0.0}; // nacrc - ln_set_rate = 18.6910340641937 + -156.78096623757855 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + ln_set_rate = 18.691034062360146 + -156.78096623506767 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 156.78096623757855 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + dln_set_rate_dT9 = 156.78096623506767 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923; } @@ -5285,11 +5285,11 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: } // nacrc - ln_set_rate = 36.7035640641937 + -150.75065623757857 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + ln_set_rate = 36.703564062360144 + -150.75065623506768 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 150.75065623757857 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + dln_set_rate_dT9 = 150.75065623506768 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923; } @@ -5302,11 +5302,11 @@ void rate_Ne20_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex:: } // nacrc - ln_set_rate = 42.6026640641937 + -149.03682623757857 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + ln_set_rate = 42.60266406236015 + -149.03682623506768 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 149.03682623757857 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + dln_set_rate_dT9 = 149.03682623506768 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5359,11 +5359,11 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // co10c - ln_set_rate = 34.26581585936365 + -67.65193003813836 * tfactors.T9i + -3.65925 * tfactors.T913 + ln_set_rate = 34.26581585753009 + -67.65193003721365 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 67.65193003813836 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + dln_set_rate_dT9 = 67.65193003721365 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; } @@ -5376,10 +5376,10 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // co10c - ln_set_rate = 28.64304585936365 + -65.24613003813835 * tfactors.T9i; + ln_set_rate = 28.643045857530094 + -65.24613003721365 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 65.24613003813835 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 65.24613003721365 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5391,11 +5391,11 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // co10c - ln_set_rate = 48.66033585936365 + -54.887630038138354 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + ln_set_rate = 48.66033585753009 + -54.88763003721364 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 54.887630038138354 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + dln_set_rate_dT9 = 54.88763003721364 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5448,11 +5448,11 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // be13r - ln_set_rate = 0.09075265394232801 + -90.77844684231803 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + ln_set_rate = 0.09075265210877248 + -90.77844684088147 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 83.7218 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 90.77844684231803 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + dln_set_rate_dT9 = 90.77844684088147 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 83.7218 * tfactors.T9i; } @@ -5465,11 +5465,11 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // be13r - ln_set_rate = -91.95344734605767 + -98.94508684231803 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + ln_set_rate = -91.95344734789123 + -98.94508684088147 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -41.2753 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 98.94508684231803 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + dln_set_rate_dT9 = 98.94508684088147 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -41.2753 * tfactors.T9i; } @@ -5482,11 +5482,11 @@ void rate_Ne21_to_He4_O17_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // be13r - ln_set_rate = 27.32055265394233 + -91.26870684231804 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + ln_set_rate = 27.320552652108773 + -91.26870684088148 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 6.25778 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 91.26870684231804 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + dln_set_rate_dT9 = 91.26870684088148 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 6.25778 * tfactors.T9i; } @@ -5539,10 +5539,10 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -24.579038986172677 + -78.40599033331655 * tfactors.T9i; + ln_set_rate = -24.579038988006232 + -78.40599033199892 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 78.40599033331655 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 78.40599033199892 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5554,11 +5554,11 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 42.145961013827325 + -78.20981033331655 * tfactors.T9i + -19.2096 * tfactors.T913i + ln_set_rate = 42.14596101199377 + -78.20981033199892 * tfactors.T9i + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 78.20981033331655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + dln_set_rate_dT9 = 78.20981033199892 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5571,11 +5571,11 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = -16.409838986172673 + -82.42366033331655 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + ln_set_rate = -16.40983898800623 + -82.42366033199892 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 82.42366033331655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + dln_set_rate_dT9 = 82.42366033199892 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; } @@ -5588,10 +5588,10 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 24.833401013827324 + -79.60938033331655 * tfactors.T9i; + ln_set_rate = 24.833401011993768 + -79.60938033199892 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 79.60938033331655 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 79.60938033199892 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5643,11 +5643,11 @@ void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // rpsmr - ln_set_rate = 59.32234728275454 + -100.23588367240258 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + ln_set_rate = 59.32234728092099 + -100.23588367074468 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.23588367240258 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + dln_set_rate_dT9 = 100.23588367074468 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; } @@ -5700,11 +5700,11 @@ void rate_Na23_to_He4_F19_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // rpsmr - ln_set_rate = 76.89792115063096 + -123.57857118031104 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + ln_set_rate = 76.89792114879741 + -123.5785711782647 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 55.9823 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 123.57857118031104 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + dln_set_rate_dT9 = 123.5785711782647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 55.9823 * tfactors.T9i; } @@ -5757,11 +5757,11 @@ void rate_Mg22_to_He4_Ne18_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 57.677545143141735 + -94.4497532187934 * tfactors.T9i + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + ln_set_rate = 57.67754514130818 + -94.44975321720216 * tfactors.T9i + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 94.4497532187934 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + dln_set_rate_dT9 = 94.44975321720216 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5814,11 +5814,11 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 43.93571176470678 + -135.6881490421346 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + ln_set_rate = 43.935711762873225 + -135.6881490398486 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 135.6881490421346 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + dln_set_rate_dT9 = 135.6881490398486 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5831,11 +5831,11 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 34.08761176470678 + -138.9684390421346 * tfactors.T9i + -0.360588 * tfactors.T913 + ln_set_rate = 34.08761176287322 + -138.96843903984862 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 138.9684390421346 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + dln_set_rate_dT9 = 138.96843903984862 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; } @@ -5848,10 +5848,10 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 20.002361764706784 + -137.3003390421346 * tfactors.T9i; + ln_set_rate = 20.002361762873228 + -137.3003390398486 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 137.3003390421346 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 137.3003390398486 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5903,10 +5903,10 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -13.886931148855957 + -110.62012330714883 * tfactors.T9i; + ln_set_rate = -13.886931150689513 + -110.62012330532738 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 110.62012330714883 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 110.62012330532738 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -5918,11 +5918,11 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 49.324368851144044 + -108.11407330714883 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + ln_set_rate = 49.32436884931049 + -108.11407330532738 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 108.11407330714883 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + dln_set_rate_dT9 = 108.11407330532738 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -5935,11 +5935,11 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 16.02029885114404 + -120.89497330714883 * tfactors.T9i + 16.9229 * tfactors.T913 + ln_set_rate = 16.020298849310485 + -120.89497330532738 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 120.89497330714883 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + dln_set_rate_dT9 = 120.89497330532738 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; } @@ -5952,10 +5952,10 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 26.801638851144045 + -117.33433330714882 * tfactors.T9i; + ln_set_rate = 26.80163884931049 + -117.33433330532738 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 117.33433330714882 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 117.33433330532738 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6007,11 +6007,11 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 11.776564828186824 + -136.3434628922348 * tfactors.T9i + 23.8634 * tfactors.T913 + ln_set_rate = 11.776564826353269 + -136.34346288996986 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 136.3434628922348 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + dln_set_rate_dT9 = 136.34346288996986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; } @@ -6024,11 +6024,11 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 111.46636482818681 + -134.8268158922348 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + ln_set_rate = 111.46636482635327 + -134.82681588996985 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 134.8268158922348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + dln_set_rate_dT9 = 134.82681588996985 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; } @@ -6041,11 +6041,11 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 46.54946482818683 + -134.4395028922348 * tfactors.T9i + -23.2205 * tfactors.T913i + ln_set_rate = 46.54946482635327 + -134.43950288996984 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 134.4395028922348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + dln_set_rate_dT9 = 134.43950288996984 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -6098,11 +6098,11 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // st08r - ln_set_rate = -25.688574833405916 + -128.69270892750794 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + ln_set_rate = -25.68857483523947 + -128.692708925556 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 128.69270892750794 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + dln_set_rate_dT9 = 128.692708925556 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; } @@ -6115,10 +6115,10 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre } // st08r - ln_set_rate = 32.90059516659409 + -131.48850892750792 * tfactors.T9i; + ln_set_rate = 32.90059516476053 + -131.48850892555598 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 131.48850892750792 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 131.48850892555598 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6170,11 +6170,11 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 25.172836958303158 + -106.63693563716609 * tfactors.T9i + 8.09341 * tfactors.T913 + ln_set_rate = 25.172836956469602 + -106.63693563543316 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 106.63693563716609 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + dln_set_rate_dT9 = 106.63693563543316 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; } @@ -6187,10 +6187,10 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 21.682890958303158 + -105.11947563716609 * tfactors.T9i; + ln_set_rate = 21.682890956469603 + -105.11947563543316 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 105.11947563716609 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 105.11947563543316 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -6202,11 +6202,11 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 43.610880958303156 + -102.85989563716609 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + ln_set_rate = 43.6108809564696 + -102.85989563543316 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 102.85989563716609 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + dln_set_rate_dT9 = 102.85989563543316 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -6259,11 +6259,11 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 72.81295409739818 + -80.62610309662641 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + ln_set_rate = 72.81295409556463 + -80.62610309526808 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 80.62610309662641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + dln_set_rate_dT9 = 80.62610309526808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -6316,11 +6316,11 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // fy05c - ln_set_rate = 22.39392447043974 + -88.54942933569913 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + ln_set_rate = 22.393924466772628 + -88.54942933427682 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 88.54942933569913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + dln_set_rate_dT9 = 88.54942933427682 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; } @@ -6333,11 +6333,11 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am } // fy05c - ln_set_rate = 34.95602447043974 + -85.44732933569914 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + ln_set_rate = 34.95602446677263 + -85.44732933427683 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 85.44732933569914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + dln_set_rate_dT9 = 85.44732933427683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; } @@ -6350,11 +6350,11 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am } // fy05c - ln_set_rate = 45.77337247043974 + -84.42286933569913 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + ln_set_rate = 45.77337246677263 + -84.42286933427683 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.42286933569913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + dln_set_rate_dT9 = 84.42286933427683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; } @@ -6404,11 +6404,11 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // nacrc - ln_set_rate = 27.11796814641137 + -57.62803699258858 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + ln_set_rate = 27.11796814641137 + -57.6280369916177 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 57.62803699258858 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + dln_set_rate_dT9 = 57.6280369916177 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -6421,11 +6421,11 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = -6.93365185358863 + -58.79183699258858 * tfactors.T9i + 22.7105 * tfactors.T913 + ln_set_rate = -6.93365185358863 + -58.7918369916177 * tfactors.T9i + 22.7105 * tfactors.T913 + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 58.79183699258858 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + dln_set_rate_dT9 = 58.7918369916177 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -6438,11 +6438,11 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = 20.53876814641137 + -65.03403699258858 * tfactors.T9i + ln_set_rate = 20.53876814641137 + -65.0340369916177 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 65.03403699258858 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 65.0340369916177 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6455,11 +6455,11 @@ void rate_He4_C12_to_p_N15_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = -5.2319018535886315 + -59.649206992588574 * tfactors.T9i + 30.8497 * tfactors.T913 + ln_set_rate = -5.2319018535886315 + -59.649206991617696 * tfactors.T9i + 30.8497 * tfactors.T913 + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 59.649206992588574 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + dln_set_rate_dT9 = 59.649206991617696 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -6519,11 +6519,11 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 5.131686841101491 + -15.945266787858825 * tfactors.T9i + ln_set_rate = 5.131686841101491 + -15.945266787625817 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 15.945266787858825 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 15.945266787625817 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6536,11 +6536,11 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = -7.609543158898509 + -14.583891787858825 * tfactors.T9i + ln_set_rate = -7.609543158898509 + -14.583891787625817 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 14.583891787858825 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 14.583891787625817 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6553,11 +6553,11 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 19.17708684110149 + -13.830496787858825 * tfactors.T9i + -16.9078 * tfactors.T913i + ln_set_rate = 19.17708684110149 + -13.830496787625817 * tfactors.T9i + -16.9078 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 13.830496787858825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + dln_set_rate_dT9 = 13.830496787625817 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -6570,11 +6570,11 @@ void rate_He4_N14_to_p_O17_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 9.77208684110149 + -18.789146787858826 * tfactors.T9i + 5.10182 * tfactors.T913 + ln_set_rate = 9.77208684110149 + -18.789146787625818 * tfactors.T9i + 5.10182 * tfactors.T913 + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 18.789146787858826 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + dln_set_rate_dT9 = 18.789146787625818 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -6633,11 +6633,11 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 8.466540793511097 + -47.86163104930013 * tfactors.T9i + ln_set_rate = 8.466540793511097 + -47.8616310485218 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 47.86163104930013 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 47.8616310485218 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6650,11 +6650,11 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = -29.710359206488903 + -46.44451504930013 * tfactors.T9i + ln_set_rate = -29.710359206488903 + -46.4445150485218 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 46.44451504930013 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 46.4445150485218 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6667,11 +6667,11 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 25.161140793511095 + -46.19863104930013 * tfactors.T9i + -16.6979 * tfactors.T913i + ln_set_rate = 25.161140793511095 + -46.198631048521804 * tfactors.T9i + -16.6979 * tfactors.T913i + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 46.19863104930013 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + dln_set_rate_dT9 = 46.198631048521804 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -6684,11 +6684,11 @@ void rate_He4_N15_to_p_O18_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 7.137560793511096 + -51.52198104930013 * tfactors.T9i + 11.6568 * tfactors.T913 + ln_set_rate = 7.137560793511096 + -51.5219810485218 * tfactors.T9i + 11.6568 * tfactors.T913 + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 51.52198104930013 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + dln_set_rate_dT9 = 51.5219810485218 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -6747,11 +6747,11 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 61.29845308217921 + -33.44596190458904 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + ln_set_rate = 61.29845308217921 + -33.445961904025566 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 33.44596190458904 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + dln_set_rate_dT9 = 33.445961904025566 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -6764,11 +6764,11 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 1.0496930821792043 + -36.46271190458904 * tfactors.T9i + 13.3223 * tfactors.T913 + ln_set_rate = 1.049693082179206 + -36.46271190402557 * tfactors.T9i + 13.3223 * tfactors.T913 + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 36.46271190458904 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + dln_set_rate_dT9 = 36.46271190402557 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -6781,11 +6781,11 @@ void rate_He4_O15_to_p_F18_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = -32.4461469178208 + -33.82239390458904 * tfactors.T9i + 61.738 * tfactors.T913 + ln_set_rate = -32.4461469178208 + -33.82239390402557 * tfactors.T9i + 61.738 * tfactors.T913 + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 33.82239390458904 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + dln_set_rate_dT9 = 33.82239390402557 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -6843,11 +6843,11 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // cf88n - ln_set_rate = 42.232382494512464 + -60.55237555926846 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + ln_set_rate = 42.232382494512464 + -60.552375558248315 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 60.55237555926846 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + dln_set_rate_dT9 = 60.552375558248315 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -6906,11 +6906,11 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // nacrc - ln_set_rate = 7.803628204830044 + -96.62734003984369 * tfactors.T9i + ln_set_rate = 7.803628204830044 + -96.62734003825736 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 96.62734003984369 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 96.62734003825736 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6923,11 +6923,11 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = -53.13967179516996 + -94.2867100398437 * tfactors.T9i + ln_set_rate = -53.13967179516996 + -94.28671003825735 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 94.2867100398437 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 94.28671003825735 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -6940,11 +6940,11 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = 25.856228204830042 + -94.1590600398437 * tfactors.T9i + -18.116 * tfactors.T913i + ln_set_rate = 25.856228204830042 + -94.15906003825735 * tfactors.T9i + -18.116 * tfactors.T913i + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 94.1590600398437 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + dln_set_rate_dT9 = 94.15906003825735 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -6957,11 +6957,11 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = 13.923228204830043 + -97.4450600398437 * tfactors.T9i + ln_set_rate = 13.923228204830043 + -97.44506003825735 * tfactors.T9i + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 97.4450600398437 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 97.44506003825735 * tfactors.T9i * tfactors.T9i + -0.21103 + 2.87702 * tfactors.T9i; } @@ -6974,11 +6974,11 @@ void rate_He4_O16_to_p_F19_derived(const tf_t& tfactors, amrex::Real& rate, amre } // nacrc - ln_set_rate = 14.760128204830043 + -97.9109100398437 * tfactors.T9i + ln_set_rate = 14.760128204830043 + -97.91091003825736 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 97.9109100398437 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 97.91091003825736 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7036,11 +7036,11 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // Ha96c - ln_set_rate = 40.13910087023039 + -13.832585601120737 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + ln_set_rate = 40.13910087023039 + -13.832585600887693 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 13.832585601120737 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + dln_set_rate_dT9 = 13.832585600887693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7053,11 +7053,11 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre } // Ha96c - ln_set_rate = 15.6120008702304 + -36.34258560112074 * tfactors.T9i + ln_set_rate = 15.6120008702304 + -36.342585600887695 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 36.34258560112074 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 36.342585600887695 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7070,11 +7070,11 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre } // Ha96c - ln_set_rate = 10.421700870230397 + -27.432585601120735 * tfactors.T9i + ln_set_rate = 10.421700870230397 + -27.43258560088769 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 27.432585601120735 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 27.43258560088769 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7087,11 +7087,11 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre } // Ha96c - ln_set_rate = -106.78769912976959 + -14.285621601120738 * tfactors.T9i + ln_set_rate = -106.78769912976959 + -14.285621600887694 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 14.285621601120738 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 14.285621600887694 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7104,11 +7104,11 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre } // Ha96c - ln_set_rate = 11.432200870230398 + -25.854885601120735 * tfactors.T9i + ln_set_rate = 11.432200870230398 + -25.85488560088769 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 25.854885601120735 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 25.85488560088769 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7121,11 +7121,11 @@ void rate_p_F17_to_He4_O14_derived(const tf_t& tfactors, amrex::Real& rate, amre } // Ha96c - ln_set_rate = 17.9551008702304 + -39.83258560112074 * tfactors.T9i + ln_set_rate = 17.9551008702304 + -39.8325856008877 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 39.83258560112074 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 39.8325856008877 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7183,11 +7183,11 @@ void rate_He4_F17_to_p_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amr amrex::Real set_rate{0.0}; // nacr - ln_set_rate = 38.62872456389872 + 5.984280926440988e-05 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + ln_set_rate = 38.62872456389872 + 5.9842001824961244e-05 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = -5.984280926440988e-05 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + dln_set_rate_dT9 = -5.9842001824961244e-05 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7245,11 +7245,11 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -6.377717086437262 + -29.88961364462334 * tfactors.T9i + 19.7297 * tfactors.T913 + ln_set_rate = -6.377717086437262 + -29.88961364415879 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 29.88961364462334 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + dln_set_rate_dT9 = 29.88961364415879 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -7262,11 +7262,11 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = 0.227472413562738 + -29.434873644623337 * tfactors.T9i + ln_set_rate = 0.227472413562738 + -29.434873644158788 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 29.434873644623337 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 29.434873644158788 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7279,11 +7279,11 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = 19.18524291356274 + -27.573843644623338 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + ln_set_rate = 19.18524291356274 + -27.57384364415879 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 27.573843644623338 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + dln_set_rate_dT9 = 27.57384364415879 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7341,11 +7341,11 @@ void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amr amrex::Real set_rate{0.0}; // rpsmr - ln_set_rate = 50.65368626892722 + -22.049056049959066 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + ln_set_rate = 50.65368626892722 + -22.04905604961869 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.049056049959066 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + dln_set_rate_dT9 = 22.04905604961869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; } @@ -7403,11 +7403,11 @@ void rate_p_Na22_to_He4_Ne19_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 43.10102618133671 + -24.01926369875145 * tfactors.T9i + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + ln_set_rate = 43.10102618133671 + -24.019263698346784 * tfactors.T9i + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 24.01926369875145 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + dln_set_rate_dT9 = 24.019263698346784 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7465,11 +7465,11 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -6.445750338407261 + -22.82086933218981 * tfactors.T9i + 18.0416 * tfactors.T913 + ln_set_rate = -6.445750338407262 + -22.820869331876814 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.82086933218981 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + dln_set_rate_dT9 = 22.820869331876814 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -7482,11 +7482,11 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = -26.286160338407264 + -19.54138133218981 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + ln_set_rate = -26.286160338407264 + -19.541381331876813 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 19.54138133218981 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + dln_set_rate_dT9 = 19.541381331876813 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -7499,11 +7499,11 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = 30.03973966159274 + -18.578369332189812 * tfactors.T9i + -26.4162 * tfactors.T913i + ln_set_rate = 30.039739661592737 + -18.578369331876814 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 18.578369332189812 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + dln_set_rate_dT9 = 18.578369331876814 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7561,11 +7561,11 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -11.433473139095032 + -25.65965858572089 * tfactors.T9i + 21.521 * tfactors.T913 + ln_set_rate = -11.433473139095032 + -25.659658585346307 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 25.65965858572089 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + dln_set_rate_dT9 = 25.659658585346307 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -7578,11 +7578,11 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr } // il10c - ln_set_rate = -13.459473139095032 + -24.11106858572089 * tfactors.T9i + ln_set_rate = -13.459473139095032 + -24.111068585346306 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 24.11106858572089 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 24.111068585346306 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7595,11 +7595,11 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr } // il10c - ln_set_rate = 60.342426860904965 + -22.23390858572089 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + ln_set_rate = 60.342426860904965 + -22.233908585346306 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.23390858572089 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + dln_set_rate_dT9 = 22.233908585346306 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7657,11 +7657,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 2.425628238034531 + -27.66622776398283 * tfactors.T9i + 5.33756 * tfactors.T913 + ln_set_rate = 2.425628238034531 + -27.66622776361797 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 27.66622776398283 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + dln_set_rate_dT9 = 27.66622776361797 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -7674,11 +7674,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r } // il10c - ln_set_rate = -0.877601761965469 + -25.59141776398283 * tfactors.T9i + ln_set_rate = -0.877601761965469 + -25.591417763617972 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 25.59141776398283 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 25.591417763617972 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -7691,11 +7691,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r } // il10c - ln_set_rate = -57.39498176196547 + -22.18939876398283 * tfactors.T9i + 25.5338 * tfactors.T913 + ln_set_rate = -57.39498176196547 + -22.189398763617973 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.18939876398283 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + dln_set_rate_dT9 = 22.189398763617973 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -7708,11 +7708,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r } // il10c - ln_set_rate = 32.25441823803453 + -21.65646776398283 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + ln_set_rate = 32.25441823803453 + -21.65646776361797 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 21.65646776398283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + dln_set_rate_dT9 = 21.65646776361797 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7770,11 +7770,11 @@ void rate_Ar36_to_He4_S32_derived_removed(const tf_t& tfactors, amrex::Real& rat amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 73.81637663285039 + -77.06281976216322 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + ln_set_rate = 73.81637663101685 + -77.06281976086491 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 77.06281976216322 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + dln_set_rate_dT9 = 77.06281976086491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -7827,10 +7827,10 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 16.01685487088493 + -100.72924752614605 * tfactors.T9i; + ln_set_rate = 16.016854869051375 + -100.7292475244829 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.72924752614605 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 100.7292475244829 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7842,10 +7842,10 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate } // il10c - ln_set_rate = -17.47510512911507 + -99.28393852614604 * tfactors.T9i; + ln_set_rate = -17.475105130948627 + -99.28393852448289 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 99.28393852614604 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 99.28393852448289 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -7857,11 +7857,11 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate } // il10c - ln_set_rate = 60.73659487088493 + -98.71928752614605 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + ln_set_rate = 60.73659486905137 + -98.7192875244829 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 98.71928752614605 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + dln_set_rate_dT9 = 98.7192875244829 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -7874,11 +7874,11 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate } // il10c - ln_set_rate = 17.202804870884933 + -102.37020752614605 * tfactors.T9i + 18.0179 * tfactors.T913 + ln_set_rate = 17.202804869051377 + -102.3702075244829 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 102.37020752614605 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + dln_set_rate_dT9 = 102.3702075244829 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; } @@ -7931,11 +7931,11 @@ void rate_He4_Ar36_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& r amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 20.636664061510302 + -14.953349961318928 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + ln_set_rate = 20.636664061510302 + -14.953349961067001 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 14.953349961318928 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + dln_set_rate_dT9 = 14.953349961067001 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -7993,11 +7993,11 @@ void rate_Ca40_to_He4_Ar36_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 77.28261041284823 + -81.69174599574632 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + ln_set_rate = 77.28261041101467 + -81.69174599437001 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 81.69174599574632 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + dln_set_rate_dT9 = 81.69174599437001 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8050,11 +8050,11 @@ void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real set_rate{0.0}; // lo18r - ln_set_rate = 2786.4340744743586 + -101.86662364079672 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + ln_set_rate = 2786.434074472525 + -101.86662363916852 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 101.86662364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + dln_set_rate_dT9 = 101.86662363916852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; } @@ -8067,11 +8067,11 @@ void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // lo18r - ln_set_rate = 613.1530744743586 + -109.20898364079672 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + ln_set_rate = 613.1530744725251 + -109.20898363916852 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 109.20898364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + dln_set_rate_dT9 = 109.20898363916852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; } @@ -8084,11 +8084,11 @@ void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // lo18r - ln_set_rate = 127.30607447435852 + -98.30936364079672 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + ln_set_rate = 127.30607447252498 + -98.30936363916852 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 98.30936364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + dln_set_rate_dT9 = 98.30936363916852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; } @@ -8141,11 +8141,11 @@ void rate_He4_Ca40_to_p_Sc43_derived_removed(const tf_t& tfactors, amrex::Real& amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 35.65752817292938 + -40.87575463203665 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + ln_set_rate = 35.65752817292938 + -40.875754631348 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 40.87575463203665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + dln_set_rate_dT9 = 40.875754631348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -8203,11 +8203,11 @@ void rate_Ti44_to_He4_Ca40_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // chw0 - ln_set_rate = 78.69908591662849 + -59.4975248620018 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + ln_set_rate = 78.69908591479492 + -59.49752486099942 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 59.4975248620018 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + dln_set_rate_dT9 = 59.49752486099942 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8260,11 +8260,11 @@ void rate_Ti44_to_p_Sc43_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 62.59391408955788 + -100.37327949403844 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + ln_set_rate = 62.59391408772432 + -100.37327949234741 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.37327949403844 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + dln_set_rate_dT9 = 100.37327949234741 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8317,11 +8317,11 @@ void rate_Cr48_to_He4_Ti44_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 89.75733412085052 + -89.3041938384302 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + ln_set_rate = 89.75733411901697 + -89.30419383692565 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 89.3041938384302 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + dln_set_rate_dT9 = 89.30419383692565 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8374,11 +8374,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real set_rate{0.0}; // nfisn - ln_set_rate = 67.74027107253823 + -100.12633621113824 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + ln_set_rate = 67.74027107070467 + -100.12633620955347 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.12633621113824 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + dln_set_rate_dT9 = 100.12633620955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; } @@ -8391,11 +8391,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // nfisn - ln_set_rate = 536.5234710725382 + -99.36194621113825 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + ln_set_rate = 536.5234710707047 + -99.36194620955347 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 99.36194621113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + dln_set_rate_dT9 = 99.36194620955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; } @@ -8408,11 +8408,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // nfisn - ln_set_rate = 48.891971072538226 + -93.82037121113825 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + ln_set_rate = 48.89197107070467 + -93.82037120955347 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 93.82037121113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + dln_set_rate_dT9 = 93.82037120955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; } @@ -8425,11 +8425,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // nfisn - ln_set_rate = 65.62307107253824 + -94.58145021113825 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + ln_set_rate = 65.62307107070467 + -94.58145020955347 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 94.58145021113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + dln_set_rate_dT9 = 94.58145020955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; } @@ -8482,11 +8482,11 @@ void rate_p_V47_to_He4_Ti44_derived_removed(const tf_t& tfactors, amrex::Real& r amrex::Real set_rate{0.0}; // chw0r - ln_set_rate = -76.61433695168769 + -6.029445311023438 * tfactors.T9i + 70.2835 * tfactors.T913 + ln_set_rate = -76.61433695168769 + -6.029445311103694 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 6.029445311023438 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + dln_set_rate_dT9 = 6.029445311103694 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -8544,11 +8544,11 @@ void rate_Fe52_to_He4_Cr48_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 90.14738712482466 + -92.10912191363732 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + ln_set_rate = 90.1473871229911 + -92.10912191208553 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 92.10912191363732 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + dln_set_rate_dT9 = 92.10912191208553 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8601,11 +8601,11 @@ void rate_Fe52_to_p_Mn51_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 61.72798916565748 + -85.6326403498911 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + ln_set_rate = 61.72798916382393 + -85.63264034844842 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 85.6326403498911 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + dln_set_rate_dT9 = 85.63264034844842 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8658,11 +8658,11 @@ void rate_p_Mn51_to_He4_Cr48_derived_removed(const tf_t& tfactors, amrex::Real& amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 58.73119795916718 + -6.476551190854941 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + ln_set_rate = 58.73119795916719 + -6.476551190745829 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 6.476551190854941 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + dln_set_rate_dT9 = 6.476551190745829 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -8720,11 +8720,11 @@ void rate_Ni56_to_He4_Fe52_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 91.62258922810439 + -92.801099329237 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + ln_set_rate = 91.62258922627083 + -92.80109932767355 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 92.801099329237 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + dln_set_rate_dT9 = 92.80109932767355 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8777,11 +8777,11 @@ void rate_Ni56_to_p_Co55_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 63.131770608640906 + -83.14741674893808 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + ln_set_rate = 63.13177060680735 + -83.14741674753726 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 83.14741674893808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + dln_set_rate_dT9 = 83.14741674753726 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -8834,11 +8834,11 @@ void rate_p_Co55_to_He4_Fe52_derived_removed(const tf_t& tfactors, amrex::Real& amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 61.443418619463486 + -9.65364776674457 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + ln_set_rate = 61.443418619463486 + -9.653647766581932 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 9.65364776674457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + dln_set_rate_dT9 = 9.653647766581932 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -9951,7 +9951,10 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) template AMREX_GPU_HOST_DEVICE AMREX_INLINE void -fill_approx_rates([[maybe_unused]] const tf_t& tfactors, [[maybe_unused]] T& rate_eval) +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, + [[maybe_unused]] const amrex::Real rho, + [[maybe_unused]] const amrex::Array1D& Y, + [[maybe_unused]] T& rate_eval) { [[maybe_unused]] amrex::Real rate{}; diff --git a/networks/He-C-Fe-group/He-C-Fe-group.png b/networks/He-C-Fe-group/He-C-Fe-group.png index cdeddb5363..0970da4ec4 100644 Binary files a/networks/He-C-Fe-group/He-C-Fe-group.png and b/networks/He-C-Fe-group/He-C-Fe-group.png differ diff --git a/networks/He-C-Fe-group/Make.package b/networks/He-C-Fe-group/Make.package index 39c65eca7b..3c406e47f1 100644 --- a/networks/He-C-Fe-group/Make.package +++ b/networks/He-C-Fe-group/Make.package @@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE) CEXE_headers += actual_network.H CEXE_headers += tfactors.H CEXE_headers += partition_functions.H + CEXE_sources += partition_functions_data.cpp CEXE_headers += actual_rhs.H CEXE_headers += reaclib_rates.H CEXE_headers += table_rates.H diff --git a/networks/He-C-Fe-group/actual_network.H b/networks/He-C-Fe-group/actual_network.H index 24f591be8d..fd2f517e9e 100644 --- a/networks/He-C-Fe-group/actual_network.H +++ b/networks/He-C-Fe-group/actual_network.H @@ -33,106 +33,106 @@ namespace network return 0.0_rt; } else if constexpr (spec == He4) { - return 28.29566_rt; + return 28.295662457999697_rt; } else if constexpr (spec == C12) { - return 92.16172800000001_rt; + return 92.16173498399803_rt; } else if constexpr (spec == N13) { - return 94.105219_rt; + return 94.10522604799917_rt; } else if constexpr (spec == N14) { - return 104.65859599999999_rt; + return 104.65860734799753_rt; } else if constexpr (spec == O16) { - return 127.619296_rt; + return 127.6193154119992_rt; } else if constexpr (spec == F18) { - return 137.369484_rt; + return 137.36950247599816_rt; } else if constexpr (spec == Ne20) { - return 160.6448_rt; + return 160.64482384000075_rt; } else if constexpr (spec == Ne21) { - return 167.405973_rt; + return 167.40598973999658_rt; } else if constexpr (spec == Na22) { - return 174.144674_rt; + return 174.14457080400098_rt; } else if constexpr (spec == Na23) { - return 186.56433900000002_rt; + return 186.56435240400242_rt; } else if constexpr (spec == Mg24) { - return 198.25701600000002_rt; + return 198.2570479679962_rt; } else if constexpr (spec == Al27) { - return 224.951931_rt; + return 224.95193723199915_rt; } else if constexpr (spec == Si28) { - return 236.536832_rt; + return 236.53684539599638_rt; } else if constexpr (spec == P31) { - return 262.91617699999995_rt; + return 262.9161999600037_rt; } else if constexpr (spec == S32) { - return 271.78012800000005_rt; + return 271.78016372399725_rt; } else if constexpr (spec == Ar36) { - return 306.716724_rt; + return 306.7167469519991_rt; } else if constexpr (spec == Ca40) { - return 342.05212000000006_rt; + return 342.05218528000114_rt; } else if constexpr (spec == Ti44) { - return 375.47488000000004_rt; + return 375.47496160800074_rt; } else if constexpr (spec == Cr48) { - return 411.46891200000005_rt; + return 411.4679399359957_rt; } else if constexpr (spec == Mn51) { - return 440.32237200000003_rt; + return 440.321747199996_rt; } else if constexpr (spec == Mn55) { - return 482.07621_rt; + return 482.07635959999607_rt; } else if constexpr (spec == Fe52) { - return 447.697848_rt; + return 447.6996182639923_rt; } else if constexpr (spec == Fe53) { - return 458.386347_rt; + return 458.38633636399754_rt; } else if constexpr (spec == Fe54) { - return 471.76462799999996_rt; + return 471.76475446399854_rt; } else if constexpr (spec == Fe55) { - return 481.06272499999994_rt; + return 481.06287256399816_rt; } else if constexpr (spec == Fe56) { - return 492.2598239999999_rt; + return 492.2599506639962_rt; } else if constexpr (spec == Co55) { - return 476.82899_rt; + return 476.82912552799826_rt; } else if constexpr (spec == Co56) { - return 486.91081599999995_rt; + return 486.91094362799777_rt; } else if constexpr (spec == Co57) { - return 498.287274_rt; + return 498.28746172798856_rt; } else if constexpr (spec == Ni56) { - return 483.995624_rt; + return 483.9956965919919_rt; } else if constexpr (spec == Ni57) { - return 494.2431810000001_rt; + return 494.2434146919986_rt; } else if constexpr (spec == Ni58) { - return 506.45942199999996_rt; + return 506.4596327920008_rt; } else if constexpr (spec == Cu59) { - return 509.878_rt; + return 509.8782038560021_rt; } else if constexpr (spec == Zn60) { - return 514.983_rt; + return 514.9831749199948_rt; } diff --git a/networks/He-C-Fe-group/actual_network_data.cpp b/networks/He-C-Fe-group/actual_network_data.cpp index 380f5c6f99..d890520451 100644 --- a/networks/He-C-Fe-group/actual_network_data.cpp +++ b/networks/He-C-Fe-group/actual_network_data.cpp @@ -94,7 +94,7 @@ namespace NSE_INDEX -1, -1, 26, -1, -1, 22, 89, -1, -1, 27, -1, -1, 29, -1, -1, -1, 22, -1, -1, 26, -1, - -1, -1, 0, -1, -1, 1, -1, + -1, -1, 0, -1, -1, 1, 93, -1, -1, 31, -1, -1, 29, 84, -1, -1, 32, -1, -1, 30, 85, -1, -1, 1, -1, -1, 0, -1, diff --git a/networks/He-C-Fe-group/actual_rhs.H b/networks/He-C-Fe-group/actual_rhs.H index 1823252640..21aff67909 100644 --- a/networks/He-C-Fe-group/actual_rhs.H +++ b/networks/He-C-Fe-group/actual_rhs.H @@ -1468,12 +1468,10 @@ void get_ydot_weak(const burn_t& state, auto screened_rates = rate_eval.screened_rates; ydot_nuc(N) = - -screened_rates(k_n_to_p)*Y(N) + - screened_rates(k_p_to_n)*Y(H1); + (-screened_rates(k_n_to_p)*Y(N) + screened_rates(k_p_to_n)*Y(H1)); ydot_nuc(H1) = - screened_rates(k_n_to_p)*Y(N) + - -screened_rates(k_p_to_n)*Y(H1); + (screened_rates(k_n_to_p)*Y(N) + -screened_rates(k_p_to_n)*Y(H1)); ydot_nuc(He4) = 0.0_rt; @@ -1585,8 +1583,7 @@ void rhs_nuc(const burn_t& state, (-screened_rates(k_n_Ni58_to_He4_Fe55)*Y(Ni58)*Y(N)*state.rho + screened_rates(k_He4_Fe55_to_n_Ni58_derived)*Y(Fe55)*Y(He4)*state.rho) + (-screened_rates(k_n_Cu59_to_He4_Co56)*Y(Cu59)*Y(N)*state.rho + screened_rates(k_He4_Co56_to_n_Cu59_derived)*Y(Co56)*Y(He4)*state.rho) + (-screened_rates(k_n_Zn60_to_He4_Ni57)*Y(Zn60)*Y(N)*state.rho + screened_rates(k_He4_Ni57_to_n_Zn60_derived)*Y(He4)*Y(Ni57)*state.rho) + - -screened_rates(k_n_to_p)*Y(N) + - screened_rates(k_p_to_n)*Y(H1); + (-screened_rates(k_n_to_p)*Y(N) + screened_rates(k_p_to_n)*Y(H1)); ydot_nuc(H1) = (-screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + screened_rates(k_N13_to_p_C12_derived)*Y(N13)) + @@ -1624,8 +1621,7 @@ void rhs_nuc(const burn_t& state, (-screened_rates(k_p_Co57_to_He4_Fe54)*Y(Co57)*Y(H1)*state.rho + screened_rates(k_He4_Fe54_to_p_Co57_derived)*Y(Fe54)*Y(He4)*state.rho) + (screened_rates(k_n_Ni56_to_p_Co56)*Y(Ni56)*Y(N)*state.rho + -screened_rates(k_p_Co56_to_n_Ni56_derived)*Y(Co56)*Y(H1)*state.rho) + (screened_rates(k_n_Ni57_to_p_Co57)*Y(Ni57)*Y(N)*state.rho + -screened_rates(k_p_Co57_to_n_Ni57_derived)*Y(Co57)*Y(H1)*state.rho) + - screened_rates(k_n_to_p)*Y(N) + - -screened_rates(k_p_to_n)*Y(H1); + (screened_rates(k_n_to_p)*Y(N) + -screened_rates(k_p_to_n)*Y(H1)); ydot_nuc(He4) = (-screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + screened_rates(k_O16_to_He4_C12_derived)*Y(O16)) + diff --git a/networks/He-C-Fe-group/partition_functions.H b/networks/He-C-Fe-group/partition_functions.H index 9f8483441a..30e9e25575 100644 --- a/networks/He-C-Fe-group/partition_functions.H +++ b/networks/He-C-Fe-group/partition_functions.H @@ -17,724 +17,163 @@ namespace part_fun { // this is T9 - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real temp_array_1[npts_1] = { - 0.01, 0.15, 0.2, 0.3, 0.4, - 0.5, 0.6, 0.7, 0.8, 0.9, - 1.0, 1.5, 2.0, 2.5, 3.0, - 3.5, 4.0, 4.5, 5.0, 6.0, - 7.0, 8.0, 9.0, 10.0, 12.0, - 14.0, 16.0, 18.0, 20.0, 22.0, - 24.0, 26.0, 28.0, 30.0, 35.0, - 40.0, 45.0, 50.0, 55.0, 60.0, - 65.0, 70.0, 75.0, 80.0, 85.0, - 90.0, 95.0, 100.0, 105.0, 110.0, - 115.0, 120.0, 125.0, 130.0, 135.0, - 140.0, 145.0, 150.0, 155.0, 160.0, - 165.0, 170.0, 175.0, 180.0, 190.0, - 200.0, 210.0, 220.0, 230.0, 240.0, - 250.0, 275.0, - }; - + extern AMREX_GPU_MANAGED amrex::Array1D temp_array_1; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O16_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, - 0.03742649794062367, 0.07188200730612536, 0.1205739312058499, 0.1846914308175988, 0.26245108973042947, - 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, - 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, - 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.555094448578319, 3.845098040014257, - 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, - 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, - 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, - 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, - 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, - 12.856124444242301, 14.195899652409233, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O16_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real F18_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.008600171761917567, 0.02530586526477026, 0.04921802267018165, - 0.08635983067474821, 0.12385164096708583, 0.16731733474817606, 0.20682587603184974, 0.28330122870354957, - 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, - 0.756636108245848, 0.8419848045901139, 0.9232440186302765, 1.0043213737826426, 1.08278537031645, - 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, - 1.9405164849325671, 2.220108088040055, 2.505149978319906, 2.79309160017658, 3.0827853703164503, - 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, - 4.800029359244134, 5.086359830674748, 5.371067862271737, 5.657055852857104, 5.94299959336604, - 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, - 7.6674529528899535, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, - 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, - 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, - 14.096910013008056, 15.584331224367531, - }; + extern AMREX_GPU_MANAGED amrex::Array1D F18_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne20_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 6.948656121358244e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, - 0.00954097493969645, 0.01859524021829981, 0.03107544483336982, 0.04661767038571622, 0.0846241727916796, - 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, - 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, - 0.9532763366673044, 1.0644579892269186, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, - 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, - 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, - 5.830588668685144, 6.193124598354461, 6.556302500767288, 6.916980047320382, 7.276461804173244, - 7.6344772701607315, 7.991669007379948, 8.34830486304816, 8.703291378118662, 9.056904851336473, - 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, - 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, - 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, - 17.096910013008056, 18.838849090737256, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne21_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 8.685880952436747e-07, 2.4754079983896385e-05, - 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.0040039218205739505, 0.007021925578680666, - 0.010986057727319889, 0.04118891376750491, 0.0777722105539352, 0.11230632139519969, 0.14260436993417835, - 0.16888829052162926, 0.19197861038694294, 0.2126999294489824, 0.23172922294680384, 0.2666728249346414, - 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899236, 0.46982201597816303, - 0.546542663478131, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, - 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, - 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, - 3.9656719712201065, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, - 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, - 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, - 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, - 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.84447717574568, - 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, - 17.123851640967086, 18.923244018630278, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na22_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003521, - 0.0002626687122755098, 0.0029928105843703536, 0.010836979076306525, 0.02428653620880802, 0.04242704733870039, - 0.06402310268617777, 0.08796765614200239, 0.11338308526345184, 0.13961150376071624, 0.19275584832811385, - 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, - 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423004, 0.9633155113861113, - 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, - 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, - 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, - 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, - 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, - 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, - 11.4345689040342, 11.80413943233535, 12.173186268412273, 12.544068044350276, 13.285557309007773, - 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, - 17.76492298464989, 19.64933485871214, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na23_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 1.7371744532199383e-06, - 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234136, 0.002232173197636284, - 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377771, 0.10525805048344757, - 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, - 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, - 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, - 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.5514499979728753, 1.9628426812012425, - 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, - 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, - 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, - 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, - 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, - 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, - 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, - 19.17609125905568, 21.173186268412273, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mg24_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 5.471765757979972e-05, 0.0007714899373308071, 0.0037633124724497633, 0.010764115210255056, - 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, - 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, - 0.5263392773898441, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, - 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, - 2.598790506763115, 3.089905111439398, 3.577491799837225, 4.05307844348342, 4.52244423350632, - 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, - 7.235528446907549, 7.6785183790401135, 8.12057393120585, 8.558708570533165, 8.99563519459755, - 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, - 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, - 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, - 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, - 20.96284268120124, 23.089905111439396, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Al27_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 8.685880952436747e-07, 3.4743419578801875e-06, - 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249925, 0.011239204769804155, - 0.01890428637893266, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, - 0.10530099179798431, 0.13774106877747655, 0.1734986149135784, 0.21278880583973628, 0.30319605742048883, - 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, - 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, - 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, - 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, - 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, - 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, - 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, - 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, - 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, - 22.915927211697117, 25.305351369446623, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Si28_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 2.1714669808675565e-06, 7.12184552784347e-05, 0.0005624812393818785, 0.002223099674110693, - 0.0059171580771474625, 0.012282407118825528, 0.02157709561709228, 0.03370716078346824, 0.06502557053071237, - 0.1027522772573885, 0.14387160800291654, 0.1866035043986153, 0.2302807913268337, 0.3222192947339193, - 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.041392685158225, - 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, - 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, - 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, - 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, - 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, - 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, - 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, - 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, - 24.958563883221967, 27.48572142648158, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real P31_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 4.820401221806151e-05, 0.0005624812393818785, 0.002468018295084159, 0.006670091319158333, - 0.013688955408210905, 0.023674199668938998, 0.03655105068012579, 0.05215275629691826, 0.09085986215557586, - 0.13887811232360858, 0.19608052467040618, 0.26289299085539924, 0.33982852740425823, 0.5237464668115644, - 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, - 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, - 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, - 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, - 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, - 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, - 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, - 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, - 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, - 26.75511226639507, 29.477121254719663, - }; + extern AMREX_GPU_MANAGED amrex::Array1D P31_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real S32_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, - 0.001336870159627728, 0.003378232401258555, 0.006963377556787149, 0.012456734172197398, 0.03011415790845077, - 0.057484285853877215, 0.0950053699501746, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, - 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, - 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, - 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, - 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, - 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, - 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, - 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, - 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, - 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, - 28.24551266781415, 31.08635983067475, - }; + extern AMREX_GPU_MANAGED amrex::Array1D S32_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cl35_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, - 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, - 0.09021853774459236, 0.13964204799692437, 0.20296975189964023, 0.28111453407611076, 0.48000694295715063, - 0.7234556720351858, 0.9934362304976116, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, - 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, - 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, - 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, - 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, - 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, - 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, - 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, - 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, - 30.71264970162721, 33.862131379313034, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ar36_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 4.342942647204277e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, - 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, - 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, - 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, - 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, - 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, - 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, - 11.437750562820387, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, - 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, - 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, - 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, - 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, - 32.17897694729317, 35.41329976408125, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real K39_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, - 0.00016282990201490303, 0.0005394928156396339, 0.0014074368520356395, 0.0031075244141559894, 0.010846721573671135, - 0.028297088943748088, 0.06095682921468604, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, - 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, - 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, - 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, - 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, - 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, - 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, - 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, - 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, - 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, - 34.25767857486918, 37.761927838420526, - }; + extern AMREX_GPU_MANAGED amrex::Array1D K39_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ca40_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, - 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138494, 0.005324252203746658, - 0.016451245325404363, 0.03938040551055626, 0.07909980819723089, 0.13972800117379408, 0.33041377334919086, - 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, - 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, - 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, - 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, - 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, - 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, - 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, - 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, - 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, - 36.15533603746506, 39.78816837114117, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Sc43_pf_array[npts_1] = { - 0.0, 1.7371744532199383e-06, 3.2136602621167924e-05, 0.0006088881229004689, 0.0026394223512168323, - 0.006348788305828209, 0.011375876688411647, 0.017242084547645732, 0.02355944464942603, 0.03006796257543875, - 0.03661053325876141, 0.06810122175372875, 0.09804672309111766, 0.12848424511267922, 0.16058766813472455, - 0.1946644458530261, 0.23055748142930874, 0.26792627543589265, 0.3064134462100847, 0.3856843680943845, - 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.732465412501299, 0.9380190974762103, - 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, - 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, - 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, - 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, - 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, - 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, - 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, - 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, - 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, - 37.68214507637383, 41.55870857053316, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ti44_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 4.342942647204277e-07, 1.7371744532199383e-06, - 7.382943437485089e-06, 0.0004987179011085028, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, - 0.05856115101668825, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, - 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, - 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, - 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, - 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, - 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, - 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, - 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, - 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, - 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, - 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, - 40.29666519026153, 44.33041377334919, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real V47_pf_array[npts_1] = { - 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759104, 0.05998274311239668, - 0.10280266491559079, 0.14672973694476377, 0.1885209834473098, 0.22688178294786615, 0.2615226538586488, - 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, - 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, - 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, - 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, - 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, - 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, - 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, - 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, - 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, - 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, - 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, - 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, - 42.096910013008056, 46.372912002970104, - }; + extern AMREX_GPU_MANAGED amrex::Array1D V47_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cr48_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 8.685880952436747e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, - 0.00035120219371925, 0.006401856055765157, 0.02685304570895992, 0.06215311825135839, 0.10696594975266842, - 0.15598699109465686, 0.205815844445829, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, - 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, - 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.577491799837225, 3.012837224705172, - 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, - 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, - 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, - 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, - 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, - 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, - 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, - 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, - 44.30102999566398, 48.727541257028555, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mn51_pf_array[npts_1] = { - 0.0, 0.0, 4.342942647204277e-07, 6.0362737871404116e-05, 0.0005954436481690331, - 0.002352703452491265, 0.0058636025937444025, 0.011219737158250306, 0.018191443590229183, 0.026405776501228783, - 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.16267998396542166, 0.19356340377635362, - 0.22185561141496238, 0.2491212785730439, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, - 0.4326074417788097, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877782, - 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, - 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, - 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, - 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, - 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, - 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, - 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, - 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, - 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, - 46.392696953259666, 51.12057393120585, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mn55_pf_array[npts_1] = { - 4.342942647204277e-07, 3.387364853334388e-05, 0.00038895363056868775, 0.004419831370155497, 0.014756522503960728, - 0.030096733930175052, 0.04796879437078968, 0.06646457923244158, 0.08445866292767418, 0.10139372238408119, - 0.1170521039752435, 0.17736880968990507, 0.2173557426191723, 0.247461626286143, 0.27333907966395066, - 0.29784648633228855, 0.3224882671969808, 0.3481517618665124, 0.3754616886642864, 0.43708831382108987, - 0.5113111854322745, 0.6017866255084809, 0.7113195335442632, 0.8411244873729985, 1.1553360374650619, - 1.5289167002776547, 1.931457870689005, 2.3502480183341627, 2.7781512503836434, 3.2068258760318495, - 3.639486489268586, 4.071882007306125, 4.505149978319906, 4.937016107464814, 6.017033339298781, - 7.096910013008056, 8.176091259055681, 9.252853030979892, 10.324282455297693, 11.394451680826217, - 12.460897842756548, 13.523746466811565, 14.583198773968622, 15.638489256954637, 16.69108149212297, - 17.73878055848437, 18.783903579272735, 19.826074802700827, 20.864511081058392, 21.90091306773767, - 22.935003151453653, 23.966610986681935, 24.996073654485276, 26.02530586526477, 27.049218022670182, - 28.07554696139253, 29.096910013008056, 30.12057393120585, 31.139879086401237, 32.16136800223497, - 33.18184358794477, 34.20139712432045, 35.22010808804006, 36.238046103128795, 38.27415784926368, - 40.311753861055756, 42.34830486304816, 44.38560627359831, 46.426511261364574, 48.46686762035411, - 50.51054501020661, 55.632457292184725, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mn55_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe52_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 1.7371744532199383e-06, 9.554373504133797e-06, 3.778197643341552e-05, - 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991184, 0.040215337130588114, 0.07478865660777631, - 0.11488541698288196, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, - 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, - 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, - 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, - 6.944482672150168, 7.989894563718773, 9.02938377768521, 10.060697840353612, 11.086359830674748, - 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, - 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, - 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, - 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, - 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, - 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, - 48.20682587603185, 53.02938377768521, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe53_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 1.3028814913777444e-06, 6.080080186165502e-06, 2.0411360986187104e-05, - 5.384917717601842e-05, 0.00099773035779373, 0.004491618246634796, 0.011583129716232713, 0.02260939259680282, - 0.037536053829818145, 0.056184239286028684, 0.07836255359576534, 0.10393433162264984, 0.16508072986206487, - 0.2398955676994077, 0.3292351155694239, 0.43390673907557786, 0.5541592859186848, 0.8375884382355113, - 1.1702617153949575, 1.5314789170422551, 1.9148718175400503, 2.3096301674258988, 2.710963118995276, - 3.1172712956557644, 3.5276299008713385, 3.940516484932567, 4.3560258571931225, 5.396199347095736, - 6.440909082065217, 7.48572142648158, 8.52762990087134, 9.564666064252089, 10.597695185925513, - 11.626340367375043, 12.650307523131936, 13.669316880566113, 14.683947130751513, 15.69460519893357, - 16.700703717145018, 17.7041505168398, 18.70329137811866, 19.699837725867244, 20.693726948923647, - 21.684845361644413, 22.67394199863409, 23.65991620006985, 24.64542226934909, 25.62838893005031, - 26.60959440922522, 27.589949601325706, 28.569373909615045, 29.547774705387823, 30.525044807036846, - 31.50105926221775, 32.47712125471966, 33.45331834004704, 34.428134794028786, 36.37839790094814, - 38.32837960343874, 40.27875360095283, 42.230448921378276, 44.1846914308176, 46.13987908640124, - 48.096910013008056, 52.99956548822598, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe53_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe54_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 4.038750882690593e-05, 0.0006153933644858295, 0.0031795285189803882, 0.009608097244673557, - 0.021489478918632662, 0.039963481298721557, 0.06578505049986659, 0.09933285917375559, 0.18904568529064877, - 0.30450216050560097, 0.4386136969546961, 0.5858349639065905, 0.7435112541834851, 1.089905111439398, - 1.4727564493172123, 1.8864907251724818, 2.320146286111054, 2.760422483423212, 3.204119982655925, - 3.6503075231319366, 4.093421685162235, 4.539076098792776, 4.982271233039568, 6.089905111439398, - 7.190331698170292, 8.287801729930226, 9.378397900948137, 10.462397997898956, 11.539076098792776, - 12.61066016308988, 13.675778341674086, 14.734799829588846, 15.789580712164426, 16.838219221907625, - 17.88252453795488, 18.922206277439017, 19.957607287060096, 20.989449817666692, 22.01703333929878, - 23.041392685158225, 24.06445798922692, 25.08278537031645, 26.100370545117563, 27.113943352306837, - 28.127104798364808, 29.136720567156406, 30.146128035678238, 31.155336037465062, 32.16136800223497, - 33.164352855784436, 34.17026171539496, 35.17318626841227, 36.17609125905568, 38.17897694729317, - 40.18184358794477, 42.18184358794477, 44.18184358794477, 46.1846914308176, 48.1846914308176, - 50.18752072083646, 55.204119982655925, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe54_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe55_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 1.3028814913777444e-06, - 1.5634319932414176e-05, 7.599488497457784e-05, 0.0002370600756061832, 0.0005564089438241259, 0.0010813488014597976, - 0.0018431377713960377, 0.009434322601068017, 0.022947317188587973, 0.04207202183227031, 0.06669370834774807, - 0.09644559083435453, 0.13073538555922604, 0.1689268514992448, 0.210470482925873, 0.30216484315823844, - 0.40437472924396634, 0.5173772341350337, 0.6421575367181118, 0.7795497407641858, 1.089905111439398, - 1.4471580313422192, 1.8312296938670634, 2.2355284469075487, 2.649334858712142, 3.0718820073061255, - 3.496929648073215, 3.926856708949692, 4.359835482339888, 4.79309160017658, 5.8819549713396, - 6.973589623427257, 8.064457989226918, 9.14921911265538, 10.232996110392154, 11.307496037913213, - 12.378397900948137, 13.444044795918076, 14.503790683057181, 15.558708570533165, 16.608526033577196, - 17.65417654187796, 18.69635638873333, 19.73399928653839, 20.768638101247614, 21.800029359244135, - 22.82865989653532, 23.854913022307855, 24.878521795501207, 25.899820502427097, 26.91960102378411, - 27.937517892017347, 28.954242509439325, 29.96941591235398, 30.983626287124533, 31.99694924849538, - 33.00860017176192, 34.02118929906994, 35.03342375548695, 36.04532297878666, 38.064457989226916, - 40.086359830674745, 42.10720996964787, 44.127104798364805, 46.15228834438306, 48.17609125905568, - 50.20139712432045, 55.28103336724773, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe55_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe56_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 1.7371744532199383e-06, 9.988658214691801e-06, 3.951899976600419e-05, - 0.00011724368292883856, 0.0030902761496993327, 0.0156878675130911, 0.04089651650139037, 0.07635858866725904, - 0.11828391003740016, 0.16392102383975418, 0.21196213905930564, 0.2621108778253895, 0.36964919324674056, - 0.4887648498436591, 0.6206486780522652, 0.76578080127876, 0.924731337394998, 1.2855573090077739, - 1.6972293427597176, 2.143014800254095, 2.606381365110605, 3.0718820073061255, 3.5403294747908736, - 4.004321373782642, 4.468347330412158, 4.928395852256714, 5.38738982633873, 6.5276299008713385, - 7.660865478003869, 8.788168371141168, 9.909556029241175, 11.02530586526477, 12.136720567156408, - 13.2405492482826, 14.340444114840118, 15.432969290874405, 16.52244423350632, 17.606381365110604, - 18.686636269262294, 19.76192783842053, 20.833147111912787, 21.90036712865647, 22.96473092105363, - 24.02530586526477, 25.08278537031645, 26.139879086401237, 27.193124598354462, 28.243038048686294, - 29.292256071356476, 30.338456493604603, 31.383815365980432, 32.428134794028786, 33.46982201597816, - 34.51188336097887, 35.552668216112195, 36.59217675739587, 37.631443769013174, 39.70842090013471, - 41.78390357927273, 43.85913829729453, 45.93449845124357, 48.00860017176192, 50.086359830674745, - 52.164352855784436, 57.37106786227174, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe56_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Co55_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 8.685880952436747e-07, 1.4331481434642371e-05, 9.336327741651445e-05, - 0.00038114325769492564, 0.001151090732337307, 0.0028275866787247843, 0.0059861278100218065, 0.019727612600003865, - 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, - 0.9449759084120479, 1.3324384599156054, 1.7363965022766423, 2.1492191126553797, 2.56702636615906, - 2.991226075692495, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, - 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, - 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, - 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, - 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, - 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, - 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, - 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, - 49.954242509439325, 55.05690485133647, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Co56_pf_array[npts_1] = { - 0.0, 1.7371744532199383e-06, 3.4307908925770636e-05, 0.0007363730997827178, 0.003397192878964486, - 0.008467734331585224, 0.01550645173957485, 0.0238164702394971, 0.03279759856010612, 0.04203693696495622, - 0.05128645751287552, 0.09519865223967466, 0.13622861655702886, 0.176714169466867, 0.21729965897649603, - 0.2578772011708393, 0.2983265845453606, 0.3387098245578885, 0.3792523836931725, 0.46216521358362883, - 0.5500314690476197, 0.6456769741905006, 0.7513340033440492, 0.8684365267163909, 1.1367205671564067, - 1.4517864355242902, 1.7986506454452689, 2.1702617153949575, 2.5599066250361124, 2.9614210940664485, - 3.3729120029701067, 3.7902851640332416, 4.214843848047698, 4.6414741105041, 5.723455672035186, - 6.814913181275074, 7.9084850188786495, 9.0, 10.089905111439398, 11.173186268412275, - 12.250420002308894, 13.32633586092875, 14.394451680826217, 15.459392487759231, 16.521138083704038, - 17.577491799837226, 18.630427875025024, 19.680335513414562, 20.727541257028555, 21.77232170672292, - 22.81358098856819, 23.853089529851864, 24.890979596989688, 25.926856708949693, 26.960946195733833, - 27.99387691494121, 29.02530586526477, 30.056904851336473, 31.08635983067475, 32.11727129565576, - 33.14612803567824, 34.17318626841227, 35.20139712432045, 36.230448921378276, 38.28555730900777, - 40.3424226808222, 42.39967372148104, 44.45939248775923, 46.52113808370404, 48.5854607295085, - 50.651278013998144, 55.831229693867066, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Co56_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Co57_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 4.994099386680048e-05, 0.0005963110461953748, 0.0027783956198411766, 0.008035647971175024, - 0.017613403025029208, 0.03234391616743567, 0.05264970241280307, 0.07864673504318612, 0.14731854080928636, - 0.23700682147881122, 0.34629017327562855, 0.47392017252998775, 0.6185154181425263, 0.9503648543761231, - 1.3263358609287514, 1.7299742856995557, 2.1492191126553797, 2.57978359661681, 3.0170333392987803, - 3.456366033129043, 3.900913067737669, 4.348304863048161, 4.795880017344075, 5.922206277439017, - 7.05307844348342, 8.178976947293169, 9.30319605742049, 10.423245873936807, 11.537819095073274, - 12.64640372622307, 13.751279103983343, 14.850646235183067, 15.94546858513182, 17.037426497940622, - 18.12057393120585, 19.204119982655925, 20.28330122870355, 21.357934847000454, 22.431363764158988, - 23.50105926221775, 24.568201724066995, 25.632457292184725, 26.69635638873333, 27.757396028793025, - 28.81690383937566, 29.87563993700417, 30.93247376467715, 31.989004615698537, 33.04532297878666, - 34.10037054511756, 35.15228834438306, 36.20682587603185, 37.26007138798507, 39.3654879848909, - 41.47275644931721, 43.578639209968074, 45.686636269262294, 47.79657433321043, 49.90794852161227, - 52.02118929906994, 57.31806333496276, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Co57_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ni56_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 4.342942647204277e-07, 7.817230319428646e-06, 6.42708273977769e-05, - 0.0002904458650804842, 0.0009123622824012837, 0.0022498876258026487, 0.0046944487518873, 0.014735532704563181, - 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.22190042758492473, 0.5092025223311029, - 0.9132839017604184, 1.374748346010104, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, - 3.3031960574204886, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, - 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, - 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, - 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, - 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, - 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, - 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, - 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, - 52.230448921378276, 57.462397997898954, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ni57_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 4.342942647204277e-07, 1.7371744532199383e-06, 9.554373504133797e-06, 3.257086475060328e-05, - 8.771862606148251e-05, 0.0017410663385697559, 0.007809206274475302, 0.01921477477459369, 0.03493231633712192, - 0.05345799700199783, 0.07364137994668778, 0.0948950837519807, 0.11713833477999397, 0.16608656859343765, - 0.22565890312281184, 0.3025878355093501, 0.4025382106894563, 0.5279492540555757, 0.8463371121298052, - 1.2253092817258628, 1.631443769013172, 2.05307844348342, 2.484299839346786, 2.9237619608287004, - 3.369215857410143, 3.8188854145940097, 4.27415784926368, 4.731588765186738, 5.884795363948981, - 7.041392685158225, 8.195899652409233, 9.344392273685111, 10.482873583608754, 11.613841821876068, - 12.736396502276643, 13.851258348719075, 14.959041392321094, 16.060697840353612, 17.15836249209525, - 18.247973266361807, 19.332438459915604, 20.414973347970818, 21.492760389026838, 22.565847818673518, - 23.636487896353366, 24.7041505168398, 25.768638101247614, 26.831229693867062, 27.89209460269048, - 28.950851458888547, 30.008600171761916, 31.06445798922692, 32.11727129565576, 33.17026171539496, - 34.222716471147585, 35.27415784926368, 36.32633586092875, 37.376576957056514, 39.478566495593846, - 41.578639209968074, 43.67851837904011, 45.77959649125783, 47.88252453795488, 49.98721922990801, - 52.093421685162234, 57.372912002970104, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ni57_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ni58_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 2.822822391636452e-05, 0.0004722555358597003, 0.0025858928325085315, 0.008151594991554035, - 0.018820703394680185, 0.03585661791649524, 0.060127596252288286, 0.09212527438468374, 0.17939292292561174, - 0.29475734836761314, 0.43276876399762537, 0.5886922364625494, 0.7597527315231631, 1.1398790864012365, - 1.5670263661590604, 2.0211892990699383, 2.4913616938342726, 2.968015713993642, 3.4471580313422194, - 3.9253120914996495, 4.4048337166199385, 4.884795363948981, 5.363611979892144, 6.561101383649056, - 7.754348335711019, 8.94101424370557, 10.12057393120585, 11.290034611362518, 12.45178643552429, - 13.60530504614111, 14.752048447819439, 15.89209460269048, 17.02530586526477, 18.155336037465062, - 19.276461804173245, 20.394451680826215, 21.50650503240487, 22.6159500516564, 23.72098574415374, - 24.822168079368016, 25.920123326290724, 27.01703333929878, 28.10720996964787, 29.198657086954423, - 30.285557309007775, 31.371067862271737, 32.456366033129044, 33.539076098792776, 34.620136054973756, - 35.70070371714502, 36.78031731214015, 37.85853719756964, 38.936513742478894, 41.0899051114394, - 43.243038048686294, 45.39619934709574, 47.549003262025785, 49.70156798505593, 51.8561244442423, - 54.01283722470517, 59.41161970596323, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ni58_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cu59_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 2.605759074128604e-06, 1.650287675964334e-05, 6.340236609775624e-05, 0.00017585365720844043, 0.000390689249910088, - 0.0007428764320814314, 0.005397605476010478, 0.015802627271542913, 0.03197570643412326, 0.05338618387681151, - 0.07956831941607957, 0.11034623515591226, 0.1458282690543422, 0.18630242506533595, 0.2835775511211497, - 0.4040800579842662, 0.5475464254977157, 0.71148885462942, 0.8921585172262729, 1.2855573090077739, - 1.7075701760979363, 2.143014800254095, 2.5888317255942073, 3.037426497940624, 3.4913616938342726, - 3.9479236198317262, 4.4048337166199385, 4.865103974641128, 5.324282455297693, 6.480006942957151, - 7.6344772701607315, 8.788168371141168, 9.939019776448667, 11.086359830674748, 12.227886704613674, - 13.36735592102602, 14.501059262217751, 15.630427875025024, 16.75587485567249, 17.877946951629188, - 18.99563519459755, 20.110589710299248, 21.22271647114758, 22.33041377334919, 23.436162647040756, - 24.540329474790873, 25.6414741105041, 26.741151598851786, 27.838849090737256, 28.934498451243567, - 30.029383777685208, 31.123851640967086, 32.2148438480477, 33.30749603791321, 34.39967372148104, - 35.489958479424836, 36.58092497567562, 37.67117284271508, 38.76042248342321, 40.940516484932566, - 43.12057393120585, 45.303196057420486, 47.48572142648158, 49.67117284271508, 51.85913829729453, - 54.04921802267018, 59.54032947479087, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cu59_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Zn60_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 8.685880952436747e-07, 5.211502513843472e-06, - 1.8674261228107377e-05, 0.0009166960915506938, 0.006364623716448546, 0.020197147995473213, 0.043233346133400956, - 0.07391108301493142, 0.10997790066148228, 0.14954178751803532, 0.19143452549394308, 0.2810122204570727, - 0.3812506749896455, 0.4993433592273684, 0.6430235987933117, 0.8169781794613935, 1.2479732663618066, - 1.7512791039833422, 2.2764618041732443, 2.8055008581584002, 3.3283796034387376, 3.845098040014257, - 4.354108439147401, 4.859138297294531, 5.357934847000454, 5.854913022307856, 7.08278537031645, - 8.301029995663981, 9.509202522331103, 10.710117365111817, 11.90471554527868, 13.093421685162236, - 14.278753600952829, 15.457881896733992, 16.63144376901317, 17.800717078282386, 18.965671971220107, - 20.127104798364808, 21.28330122870355, 22.436162647040756, 23.5854607295085, 24.73158876518674, - 25.8750612633917, 27.01703333929878, 28.152288344383056, 29.29003461136252, 30.423245873936807, - 31.55509444857832, 32.68574173860226, 33.814913181275074, 34.94250410616808, 36.06818586174616, - 37.19589965240923, 38.320146286111054, 39.444044795918074, 40.568201724066995, 42.814913181275074, - 45.06069784035361, 47.30749603791321, 49.552668216112195, 51.80071707828238, 54.04921802267018, - 56.30102999566398, 61.93851972517649, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Zn60_pf_array; // interpolation routine - template + template AMREX_GPU_HOST_DEVICE AMREX_INLINE - void interpolate_pf(const amrex::Real t9, const amrex::Real (&temp_array)[npts], const amrex::Real (&pf_array)[npts], + void interpolate_pf(const amrex::Real t9, const T& temp_array, const T& pf_array, amrex::Real& pf, amrex::Real& dpf_dT) { - if (t9 >= temp_array[0] && t9 < temp_array[npts-1]) { + if (t9 >= temp_array.lo() && t9 < temp_array.hi()) { // find the largest temperature element <= t9 using a binary search - int left = 0; - int right = npts; + int left = temp_array.lo(); + int right = temp_array.hi(); while (left < right) { int mid = (left + right) / 2; - if (temp_array[mid] > t9) { + if (temp_array(mid) > t9) { right = mid; } else { left = mid + 1; @@ -747,11 +186,12 @@ namespace part_fun { // construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i) - amrex::Real slope = (pf_array[idx+1] - pf_array[idx]) / (temp_array[idx+1] - temp_array[idx]); + amrex::Real slope = (pf_array(idx+1) - pf_array(idx)) / + (temp_array(idx+1) - temp_array(idx)); // find the PF - amrex::Real log10_pf = pf_array[idx] + slope * (t9 - temp_array[idx]); + amrex::Real log10_pf = pf_array(idx) + slope * (t9 - temp_array(idx)); pf = std::pow(10.0_rt, log10_pf); // find the derivative (with respect to T, not T9) @@ -790,139 +230,139 @@ void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactor switch (inuc) { case O16: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); break; case F18: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); break; case Ne20: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); break; case Ne21: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); break; case Na22: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); break; case Na23: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); break; case Mg24: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); break; case Al27: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); break; case Si28: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); break; case P31: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); break; case S32: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); break; case Cl35: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); break; case Ar36: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); break; case K39: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); break; case Ca40: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); break; case Sc43: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); break; case Ti44: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); break; case V47: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); break; case Cr48: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); break; case Mn51: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); break; case Mn55: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn55_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn55_pf_array, pf, dpf_dT); break; case Fe52: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); break; case Fe53: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe53_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe53_pf_array, pf, dpf_dT); break; case Fe54: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe54_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe54_pf_array, pf, dpf_dT); break; case Fe55: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe55_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe55_pf_array, pf, dpf_dT); break; case Fe56: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe56_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe56_pf_array, pf, dpf_dT); break; case Co55: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); break; case Co56: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co56_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co56_pf_array, pf, dpf_dT); break; case Co57: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co57_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co57_pf_array, pf, dpf_dT); break; case Ni56: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); break; case Ni57: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni57_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni57_pf_array, pf, dpf_dT); break; case Ni58: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni58_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni58_pf_array, pf, dpf_dT); break; case Cu59: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cu59_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cu59_pf_array, pf, dpf_dT); break; case Zn60: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Zn60_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Zn60_pf_array, pf, dpf_dT); break; diff --git a/networks/He-C-Fe-group/partition_functions_data.cpp b/networks/He-C-Fe-group/partition_functions_data.cpp new file mode 100644 index 0000000000..b179e64b64 --- /dev/null +++ b/networks/He-C-Fe-group/partition_functions_data.cpp @@ -0,0 +1,715 @@ +#include +#include +#include +#include + +#include + +using namespace amrex; + +namespace part_fun { + + // this is T9 + + AMREX_GPU_MANAGED amrex::Array1D temp_array_1= { + 0.01, 0.15, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, + 1.0, 1.5, 2.0, 2.5, 3.0, + 3.5, 4.0, 4.5, 5.0, 6.0, + 7.0, 8.0, 9.0, 10.0, 12.0, + 14.0, 16.0, 18.0, 20.0, 22.0, + 24.0, 26.0, 28.0, 30.0, 35.0, + 40.0, 45.0, 50.0, 55.0, 60.0, + 65.0, 70.0, 75.0, 80.0, 85.0, + 90.0, 95.0, 100.0, 105.0, 110.0, + 115.0, 120.0, 125.0, 130.0, 135.0, + 140.0, 145.0, 150.0, 155.0, 160.0, + 165.0, 170.0, 175.0, 180.0, 190.0, + 200.0, 210.0, 220.0, 230.0, 240.0, + 250.0, 275.0, + }; + + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O16_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, + 0.037426497940623665, 0.07188200730612536, 0.12057393120584989, 0.1846914308175988, 0.26245108973042947, + 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, + 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, + 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, + 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, + 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, + 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, + 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, + 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, + 12.856124444242301, 14.195899652409233, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D F18_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.00860017176191757, 0.02530586526477026, 0.04921802267018165, + 0.08635983067474821, 0.12385164096708581, 0.1673173347481761, 0.20682587603184974, 0.28330122870354957, + 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, + 0.756636108245848, 0.8419848045901139, 0.9232440186302765, 1.0043213737826426, 1.08278537031645, + 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, + 1.9405164849325673, 2.220108088040055, 2.505149978319906, 2.79309160017658, 3.0827853703164503, + 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, + 4.800029359244134, 5.086359830674748, 5.371067862271736, 5.657055852857104, 5.94299959336604, + 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, + 7.6674529528899535, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, + 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, + 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, + 14.096910013008056, 15.584331224367531, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, + 0.00954097493969645, 0.01859524021829981, 0.031075444833369822, 0.04661767038571622, 0.0846241727916796, + 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, + 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, + 0.9532763366673044, 1.0644579892269184, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, + 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, + 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, + 5.830588668685144, 6.193124598354461, 6.556302500767287, 6.916980047320382, 7.276461804173244, + 7.6344772701607315, 7.991669007379948, 8.348304863048162, 8.703291378118662, 9.056904851336473, + 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, + 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, + 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, + 17.096910013008056, 18.838849090737256, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array = { + 0.0, 0.0, 0.0, 8.685880952436748e-07, 2.4754079983896385e-05, + 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.004003921820573951, 0.007021925578680665, + 0.010986057727319889, 0.04118891376750491, 0.0777722105539352, 0.11230632139519969, 0.14260436993417835, + 0.16888829052162926, 0.19197861038694294, 0.2126999294489824, 0.23172922294680387, 0.26667282493464145, + 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899235, 0.46982201597816303, + 0.5465426634781311, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, + 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, + 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, + 3.9656719712201065, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, + 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, + 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, + 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, + 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.84447717574568, + 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, + 17.123851640967086, 18.923244018630278, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003523, + 0.0002626687122755098, 0.0029928105843703536, 0.010836979076306525, 0.02428653620880802, 0.0424270473387004, + 0.06402310268617777, 0.08796765614200239, 0.11338308526345185, 0.13961150376071624, 0.19275584832811385, + 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, + 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423003, 0.9633155113861113, + 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, + 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, + 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, + 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, + 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, + 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, + 11.4345689040342, 11.80413943233535, 12.173186268412275, 12.544068044350276, 13.285557309007773, + 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, + 17.76492298464989, 19.64933485871214, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, + 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.0022321731976362837, + 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, + 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, + 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, + 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, + 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.551449997972875, 1.9628426812012425, + 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, + 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, + 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, + 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, + 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, + 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, + 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, + 19.17609125905568, 21.173186268412273, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255056, + 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, + 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, + 0.526339277389844, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, + 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, + 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, + 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, + 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, + 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, + 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, + 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, + 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, + 20.96284268120124, 23.089905111439396, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, + 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249926, 0.011239204769804155, + 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, + 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, + 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, + 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, + 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, + 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, + 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, + 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, + 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, + 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, + 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, + 22.915927211697117, 25.305351369446623, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, + 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, + 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.23028079132683374, 0.3222192947339193, + 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, + 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, + 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, + 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, + 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, + 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, + 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, + 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, + 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, + 24.958563883221967, 27.48572142648158, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D P31_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, + 0.013688955408210905, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557586, + 0.13887811232360858, 0.19608052467040618, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, + 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, + 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, + 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, + 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, + 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, + 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, + 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, + 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, + 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, + 26.75511226639507, 29.477121254719663, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D S32_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, + 0.001336870159627728, 0.0033782324012585556, 0.00696337755678715, 0.012456734172197396, 0.030114157908450765, + 0.05748428585387722, 0.09500536995017458, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, + 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, + 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, + 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, + 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, + 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, + 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, + 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, + 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, + 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, + 28.24551266781415, 31.08635983067475, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, + 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, + 0.09021853774459236, 0.13964204799692437, 0.20296975189964025, 0.28111453407611076, 0.48000694295715063, + 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, + 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, + 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, + 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, + 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, + 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, + 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, + 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, + 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, + 30.71264970162721, 33.862131379313034, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, + 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, + 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, + 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, + 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, + 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, + 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, + 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, + 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, + 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, + 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, + 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, + 32.17897694729317, 35.41329976408125, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D K39_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, + 0.00016282990201490303, 0.000539492815639634, 0.0014074368520356397, 0.0031075244141559894, 0.010846721573671133, + 0.028297088943748088, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, + 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, + 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, + 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, + 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, + 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, + 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, + 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, + 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, + 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, + 34.25767857486918, 37.761927838420526, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, + 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138496, 0.005324252203746658, + 0.016451245325404363, 0.039380405510556264, 0.07909980819723089, 0.1397280011737941, 0.33041377334919086, + 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, + 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, + 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, + 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, + 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, + 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, + 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, + 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, + 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, + 36.15533603746506, 39.78816837114117, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array = { + 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.0026394223512168323, + 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.030067962575438752, + 0.03661053325876141, 0.06810122175372875, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, + 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, + 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.7324654125012992, 0.9380190974762103, + 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, + 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, + 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, + 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, + 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, + 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, + 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, + 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, + 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, + 37.68214507637383, 41.55870857053316, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, + 7.382943437485088e-06, 0.0004987179011085027, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, + 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, + 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, + 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, + 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, + 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, + 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, + 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, + 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, + 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, + 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, + 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, + 40.29666519026153, 44.33041377334919, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D V47_pf_array = { + 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759108, 0.05998274311239668, + 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786618, 0.2615226538586488, + 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, + 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, + 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, + 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, + 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, + 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, + 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, + 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, + 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, + 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, + 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, + 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, + 42.096910013008056, 46.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, + 0.00035120219371925006, 0.006401856055765157, 0.02685304570895992, 0.0621531182513584, 0.10696594975266842, + 0.15598699109465686, 0.20581584444582904, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, + 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, + 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, + 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, + 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, + 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, + 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, + 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, + 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, + 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, + 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, + 44.30102999566398, 48.727541257028555, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array = { + 0.0, 0.0, 4.3429426472042774e-07, 6.0362737871404116e-05, 0.0005954436481690332, + 0.0023527034524912656, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.026405776501228783, + 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635364, + 0.22185561141496238, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, + 0.4326074417788098, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, + 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, + 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, + 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, + 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, + 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, + 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, + 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, + 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, + 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, + 46.392696953259666, 51.12057393120585, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mn55_pf_array = { + 4.3429426472042774e-07, 3.387364853334388e-05, 0.00038895363056868775, 0.004419831370155498, 0.014756522503960728, + 0.030096733930175056, 0.047968794370789686, 0.06646457923244158, 0.08445866292767418, 0.10139372238408119, + 0.1170521039752435, 0.17736880968990507, 0.21735574261917232, 0.24746162628614302, 0.27333907966395066, + 0.29784648633228855, 0.3224882671969808, 0.3481517618665124, 0.3754616886642865, 0.43708831382108987, + 0.5113111854322745, 0.6017866255084809, 0.7113195335442632, 0.8411244873729985, 1.1553360374650619, + 1.5289167002776547, 1.931457870689005, 2.3502480183341627, 2.7781512503836434, 3.2068258760318495, + 3.639486489268586, 4.071882007306125, 4.505149978319906, 4.937016107464814, 6.017033339298781, + 7.096910013008056, 8.176091259055681, 9.252853030979892, 10.324282455297693, 11.394451680826217, + 12.460897842756548, 13.523746466811565, 14.583198773968622, 15.638489256954637, 16.69108149212297, + 17.73878055848437, 18.783903579272735, 19.826074802700827, 20.864511081058392, 21.90091306773767, + 22.935003151453653, 23.966610986681935, 24.996073654485276, 26.02530586526477, 27.049218022670182, + 28.07554696139253, 29.096910013008056, 30.12057393120585, 31.139879086401237, 32.16136800223497, + 33.18184358794477, 34.20139712432045, 35.22010808804006, 36.238046103128795, 38.27415784926368, + 40.311753861055756, 42.34830486304816, 44.38560627359831, 46.426511261364574, 48.46686762035411, + 50.51054501020661, 55.632457292184725, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, + 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777631, + 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, + 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, + 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, + 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, + 6.944482672150168, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, + 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, + 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, + 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, + 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, + 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, + 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, + 48.20682587603185, 53.02938377768521, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe53_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.3028814913777444e-06, 6.080080186165502e-06, 2.0411360986187108e-05, + 5.384917717601842e-05, 0.00099773035779373, 0.004491618246634796, 0.011583129716232713, 0.02260939259680282, + 0.037536053829818145, 0.056184239286028684, 0.07836255359576534, 0.10393433162264984, 0.16508072986206487, + 0.2398955676994077, 0.3292351155694239, 0.4339067390755778, 0.5541592859186848, 0.8375884382355113, + 1.1702617153949575, 1.5314789170422551, 1.9148718175400503, 2.3096301674258988, 2.710963118995276, + 3.1172712956557644, 3.5276299008713385, 3.940516484932567, 4.3560258571931225, 5.396199347095736, + 6.440909082065217, 7.48572142648158, 8.52762990087134, 9.564666064252089, 10.597695185925513, + 11.626340367375043, 12.650307523131936, 13.669316880566113, 14.683947130751513, 15.69460519893357, + 16.700703717145018, 17.7041505168398, 18.70329137811866, 19.699837725867244, 20.693726948923647, + 21.684845361644413, 22.67394199863409, 23.65991620006985, 24.64542226934909, 25.62838893005031, + 26.60959440922522, 27.589949601325706, 28.569373909615045, 29.547774705387823, 30.525044807036846, + 31.50105926221775, 32.47712125471966, 33.45331834004704, 34.428134794028786, 36.37839790094814, + 38.32837960343874, 40.27875360095283, 42.230448921378276, 44.1846914308176, 46.13987908640124, + 48.096910013008056, 52.99956548822598, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe54_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.038750882690593e-05, 0.0006153933644858296, 0.0031795285189803882, 0.009608097244673555, + 0.021489478918632662, 0.039963481298721557, 0.06578505049986659, 0.09933285917375559, 0.1890456852906488, + 0.30450216050560097, 0.4386136969546961, 0.5858349639065905, 0.7435112541834851, 1.089905111439398, + 1.4727564493172123, 1.8864907251724818, 2.3201462861110542, 2.760422483423212, 3.2041199826559246, + 3.6503075231319366, 4.093421685162235, 4.539076098792776, 4.982271233039568, 6.089905111439398, + 7.190331698170292, 8.287801729930226, 9.378397900948137, 10.462397997898956, 11.539076098792776, + 12.61066016308988, 13.675778341674086, 14.734799829588846, 15.789580712164426, 16.838219221907625, + 17.88252453795488, 18.922206277439017, 19.957607287060096, 20.989449817666692, 22.01703333929878, + 23.041392685158225, 24.06445798922692, 25.08278537031645, 26.100370545117563, 27.113943352306837, + 28.127104798364808, 29.136720567156406, 30.146128035678238, 31.155336037465062, 32.16136800223497, + 33.164352855784436, 34.17026171539496, 35.17318626841227, 36.17609125905568, 38.17897694729317, + 40.18184358794477, 42.18184358794477, 44.18184358794477, 46.1846914308176, 48.1846914308176, + 50.18752072083646, 55.204119982655925, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.3028814913777444e-06, + 1.563431993241418e-05, 7.599488497457784e-05, 0.00023706007560618322, 0.0005564089438241259, 0.0010813488014597978, + 0.0018431377713960377, 0.009434322601068017, 0.022947317188587977, 0.04207202183227031, 0.06669370834774807, + 0.09644559083435453, 0.13073538555922604, 0.1689268514992448, 0.210470482925873, 0.30216484315823844, + 0.40437472924396634, 0.5173772341350337, 0.6421575367181118, 0.7795497407641858, 1.089905111439398, + 1.4471580313422192, 1.8312296938670634, 2.2355284469075487, 2.649334858712142, 3.0718820073061255, + 3.496929648073215, 3.926856708949692, 4.359835482339888, 4.79309160017658, 5.8819549713396, + 6.973589623427257, 8.064457989226918, 9.14921911265538, 10.232996110392154, 11.307496037913213, + 12.378397900948137, 13.444044795918076, 14.503790683057181, 15.558708570533165, 16.608526033577196, + 17.65417654187796, 18.69635638873333, 19.73399928653839, 20.768638101247614, 21.800029359244135, + 22.82865989653532, 23.854913022307855, 24.878521795501207, 25.899820502427097, 26.91960102378411, + 27.937517892017347, 28.954242509439325, 29.96941591235398, 30.983626287124533, 31.99694924849538, + 33.00860017176192, 34.02118929906994, 35.03342375548695, 36.04532297878666, 38.064457989226916, + 40.086359830674745, 42.10720996964787, 44.127104798364805, 46.15228834438306, 48.17609125905568, + 50.20139712432045, 55.28103336724773, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.988658214691803e-06, 3.951899976600419e-05, + 0.00011724368292883856, 0.0030902761496993327, 0.0156878675130911, 0.04089651650139036, 0.07635858866725904, + 0.11828391003740014, 0.16392102383975418, 0.21196213905930564, 0.2621108778253895, 0.36964919324674056, + 0.4887648498436591, 0.6206486780522652, 0.76578080127876, 0.924731337394998, 1.2855573090077739, + 1.6972293427597176, 2.143014800254095, 2.606381365110605, 3.0718820073061255, 3.5403294747908736, + 4.004321373782642, 4.468347330412158, 4.928395852256714, 5.38738982633873, 6.5276299008713385, + 7.66086547800387, 8.788168371141168, 9.909556029241175, 11.02530586526477, 12.136720567156408, + 13.2405492482826, 14.340444114840118, 15.432969290874405, 16.52244423350632, 17.606381365110604, + 18.686636269262294, 19.76192783842053, 20.833147111912787, 21.90036712865647, 22.96473092105363, + 24.02530586526477, 25.08278537031645, 26.139879086401237, 27.193124598354462, 28.243038048686294, + 29.292256071356476, 30.338456493604603, 31.383815365980432, 32.428134794028786, 33.46982201597816, + 34.51188336097887, 35.552668216112195, 36.59217675739587, 37.631443769013174, 39.70842090013471, + 41.78390357927273, 43.85913829729453, 45.93449845124357, 48.00860017176192, 50.086359830674745, + 52.164352855784436, 57.37106786227174, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 8.685880952436748e-07, 1.433148143464237e-05, 9.336327741651445e-05, + 0.00038114325769492564, 0.0011510907323373071, 0.0028275866787247843, 0.005986127810021806, 0.019727612600003868, + 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, + 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.1492191126553797, 2.56702636615906, + 2.9912260756924947, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, + 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, + 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, + 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, + 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, + 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, + 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, + 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, + 49.954242509439325, 55.05690485133647, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co56_pf_array = { + 0.0, 1.737174453219938e-06, 3.4307908925770636e-05, 0.0007363730997827178, 0.003397192878964486, + 0.008467734331585224, 0.015506451739574849, 0.0238164702394971, 0.03279759856010612, 0.04203693696495622, + 0.05128645751287553, 0.09519865223967468, 0.13622861655702886, 0.17671416946686702, 0.21729965897649603, + 0.2578772011708393, 0.2983265845453606, 0.3387098245578885, 0.3792523836931725, 0.4621652135836289, + 0.5500314690476197, 0.6456769741905006, 0.7513340033440492, 0.8684365267163909, 1.1367205671564067, + 1.4517864355242902, 1.7986506454452689, 2.1702617153949575, 2.5599066250361124, 2.9614210940664485, + 3.3729120029701067, 3.7902851640332416, 4.214843848047698, 4.6414741105041, 5.723455672035186, + 6.814913181275074, 7.9084850188786495, 9.0, 10.089905111439398, 11.173186268412275, + 12.250420002308894, 13.32633586092875, 14.394451680826217, 15.459392487759231, 16.521138083704038, + 17.577491799837226, 18.630427875025024, 19.680335513414562, 20.727541257028555, 21.77232170672292, + 22.81358098856819, 23.853089529851864, 24.890979596989688, 25.926856708949693, 26.960946195733833, + 27.99387691494121, 29.02530586526477, 30.056904851336473, 31.08635983067475, 32.11727129565576, + 33.14612803567824, 34.17318626841227, 35.20139712432045, 36.230448921378276, 38.28555730900777, + 40.3424226808222, 42.39967372148104, 44.45939248775923, 46.52113808370404, 48.5854607295085, + 50.651278013998144, 55.831229693867066, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co57_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.994099386680048e-05, 0.0005963110461953748, 0.0027783956198411766, 0.008035647971175024, + 0.017613403025029208, 0.03234391616743566, 0.05264970241280307, 0.07864673504318612, 0.14731854080928636, + 0.23700682147881122, 0.34629017327562855, 0.4739201725299878, 0.6185154181425263, 0.9503648543761231, + 1.3263358609287514, 1.7299742856995557, 2.1492191126553797, 2.57978359661681, 3.0170333392987803, + 3.456366033129043, 3.900913067737669, 4.348304863048161, 4.795880017344075, 5.922206277439017, + 7.05307844348342, 8.178976947293169, 9.30319605742049, 10.423245873936807, 11.537819095073274, + 12.64640372622307, 13.751279103983343, 14.850646235183067, 15.94546858513182, 17.037426497940622, + 18.12057393120585, 19.204119982655925, 20.28330122870355, 21.357934847000454, 22.431363764158988, + 23.50105926221775, 24.568201724066995, 25.632457292184725, 26.69635638873333, 27.757396028793025, + 28.81690383937566, 29.87563993700417, 30.93247376467715, 31.989004615698537, 33.04532297878666, + 34.10037054511756, 35.15228834438306, 36.20682587603185, 37.26007138798507, 39.3654879848909, + 41.47275644931721, 43.578639209968074, 45.686636269262294, 47.79657433321043, 49.90794852161227, + 52.02118929906994, 57.31806333496276, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 4.3429426472042774e-07, 7.817230319428648e-06, 6.42708273977769e-05, + 0.0002904458650804842, 0.0009123622824012838, 0.0022498876258026487, 0.004694448751887299, 0.014735532704563181, + 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.2219004275849247, 0.5092025223311029, + 0.9132839017604184, 1.3747483460101038, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, + 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, + 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, + 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, + 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, + 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, + 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, + 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, + 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, + 52.230448921378276, 57.462397997898954, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni57_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, 9.554373504133797e-06, 3.257086475060328e-05, + 8.771862606148251e-05, 0.0017410663385697559, 0.007809206274475302, 0.019214774774593695, 0.03493231633712191, + 0.05345799700199784, 0.07364137994668778, 0.0948950837519807, 0.11713833477999397, 0.16608656859343762, + 0.22565890312281187, 0.3025878355093501, 0.4025382106894563, 0.5279492540555756, 0.8463371121298052, + 1.2253092817258628, 1.631443769013172, 2.0530784434834195, 2.484299839346786, 2.9237619608287004, + 3.369215857410143, 3.8188854145940097, 4.27415784926368, 4.731588765186738, 5.884795363948981, + 7.041392685158225, 8.195899652409233, 9.344392273685111, 10.482873583608754, 11.613841821876068, + 12.736396502276643, 13.851258348719075, 14.959041392321094, 16.060697840353612, 17.15836249209525, + 18.247973266361807, 19.332438459915604, 20.414973347970818, 21.492760389026838, 22.565847818673518, + 23.636487896353366, 24.7041505168398, 25.768638101247614, 26.831229693867062, 27.89209460269048, + 28.950851458888547, 30.008600171761916, 31.06445798922692, 32.11727129565576, 33.17026171539496, + 34.222716471147585, 35.27415784926368, 36.32633586092875, 37.376576957056514, 39.478566495593846, + 41.578639209968074, 43.67851837904011, 45.77959649125783, 47.88252453795488, 49.98721922990801, + 52.093421685162234, 57.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni58_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.822822391636452e-05, 0.00047225553585970024, 0.0025858928325085315, 0.008151594991554035, + 0.018820703394680185, 0.03585661791649524, 0.0601275962522883, 0.09212527438468374, 0.17939292292561174, + 0.29475734836761314, 0.43276876399762537, 0.5886922364625494, 0.7597527315231631, 1.1398790864012365, + 1.5670263661590604, 2.0211892990699383, 2.4913616938342726, 2.968015713993642, 3.4471580313422194, + 3.9253120914996495, 4.4048337166199385, 4.884795363948981, 5.363611979892144, 6.561101383649056, + 7.754348335711019, 8.94101424370557, 10.12057393120585, 11.290034611362518, 12.45178643552429, + 13.60530504614111, 14.752048447819439, 15.89209460269048, 17.02530586526477, 18.155336037465062, + 19.276461804173245, 20.394451680826215, 21.50650503240487, 22.6159500516564, 23.72098574415374, + 24.822168079368016, 25.920123326290724, 27.01703333929878, 28.10720996964787, 29.198657086954423, + 30.285557309007775, 31.371067862271737, 32.456366033129044, 33.539076098792776, 34.620136054973756, + 35.70070371714502, 36.78031731214015, 37.85853719756964, 38.936513742478894, 41.0899051114394, + 43.243038048686294, 45.39619934709574, 47.549003262025785, 49.70156798505593, 51.8561244442423, + 54.01283722470517, 59.41161970596323, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cu59_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 2.605759074128604e-06, 1.650287675964334e-05, 6.340236609775624e-05, 0.00017585365720844043, 0.000390689249910088, + 0.0007428764320814314, 0.005397605476010478, 0.015802627271542913, 0.03197570643412326, 0.053386183876811516, + 0.07956831941607957, 0.11034623515591227, 0.14582826905434224, 0.18630242506533595, 0.2835775511211497, + 0.4040800579842662, 0.5475464254977157, 0.71148885462942, 0.8921585172262729, 1.2855573090077739, + 1.7075701760979363, 2.143014800254095, 2.5888317255942073, 3.037426497940624, 3.4913616938342726, + 3.9479236198317262, 4.4048337166199385, 4.865103974641128, 5.324282455297693, 6.480006942957151, + 7.6344772701607315, 8.788168371141168, 9.939019776448667, 11.086359830674748, 12.227886704613674, + 13.36735592102602, 14.501059262217751, 15.630427875025024, 16.75587485567249, 17.877946951629188, + 18.99563519459755, 20.110589710299248, 21.22271647114758, 22.33041377334919, 23.436162647040756, + 24.540329474790873, 25.6414741105041, 26.741151598851786, 27.838849090737256, 28.934498451243567, + 30.029383777685208, 31.123851640967086, 32.2148438480477, 33.30749603791321, 34.39967372148104, + 35.489958479424836, 36.58092497567562, 37.67117284271508, 38.76042248342321, 40.940516484932566, + 43.12057393120585, 45.303196057420486, 47.48572142648158, 49.67117284271508, 51.85913829729453, + 54.04921802267018, 59.54032947479087, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Zn60_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 8.685880952436748e-07, 5.211502513843472e-06, + 1.8674261228107377e-05, 0.0009166960915506938, 0.006364623716448546, 0.020197147995473213, 0.043233346133400956, + 0.07391108301493143, 0.10997790066148228, 0.14954178751803535, 0.19143452549394308, 0.2810122204570727, + 0.3812506749896455, 0.4993433592273684, 0.6430235987933117, 0.8169781794613935, 1.2479732663618066, + 1.7512791039833422, 2.2764618041732443, 2.8055008581584002, 3.3283796034387376, 3.845098040014257, + 4.354108439147401, 4.859138297294531, 5.357934847000454, 5.854913022307856, 7.08278537031645, + 8.301029995663981, 9.509202522331103, 10.710117365111817, 11.90471554527868, 13.093421685162236, + 14.278753600952829, 15.457881896733992, 16.63144376901317, 17.800717078282386, 18.965671971220107, + 20.127104798364808, 21.28330122870355, 22.436162647040756, 23.5854607295085, 24.73158876518674, + 25.8750612633917, 27.01703333929878, 28.152288344383056, 29.29003461136252, 30.423245873936807, + 31.55509444857832, 32.68574173860226, 33.814913181275074, 34.94250410616808, 36.06818586174616, + 37.19589965240923, 38.320146286111054, 39.444044795918074, 40.568201724066995, 42.814913181275074, + 45.06069784035361, 47.30749603791321, 49.552668216112195, 51.80071707828238, 54.04921802267018, + 56.30102999566398, 61.93851972517649, + }; + + +} + diff --git a/networks/aprox13/actual_network.H b/networks/aprox13/actual_network.H index 937585dd88..f678123274 100644 --- a/networks/aprox13/actual_network.H +++ b/networks/aprox13/actual_network.H @@ -134,7 +134,7 @@ namespace NSE_INDEX #endif namespace Rates { - enum NetworkRates { + enum NetworkRates: std::uint8_t { He4_He4_He4_to_C12 = 1, C12_He4_to_O16, C12_C12_to_Ne20_He4, diff --git a/networks/aprox21/actual_network.H b/networks/aprox21/actual_network.H index dcade97f08..9fca91944a 100644 --- a/networks/aprox21/actual_network.H +++ b/networks/aprox21/actual_network.H @@ -152,7 +152,7 @@ namespace NSE_INDEX #endif namespace Rates { - enum NetworkRates { + enum NetworkRates : std::uint8_t { H1_H1_to_He3 = 1, H1_H1_H1_to_He3, P_to_N, diff --git a/networks/iso7/actual_network.H b/networks/iso7/actual_network.H index ea60bd0351..82f81313cc 100644 --- a/networks/iso7/actual_network.H +++ b/networks/iso7/actual_network.H @@ -114,7 +114,7 @@ namespace NSE_INDEX #endif namespace Rates { - enum NetworkRates { + enum NetworkRates : std::uint8_t { C12_He4_to_O16 = 1, He4_He4_He4_to_C12, C12_C12_to_Ne20_He4, diff --git a/networks/rprox/actual_network.H b/networks/rprox/actual_network.H index c16d12dc61..4afd4fc8bb 100644 --- a/networks/rprox/actual_network.H +++ b/networks/rprox/actual_network.H @@ -112,7 +112,7 @@ namespace network namespace Rates { - enum NetworkRates + enum NetworkRates : std::uint8_t { He4_He4_He4_to_C12 = 1, C12_H1_to_N13, diff --git a/networks/subch_base/Make.package b/networks/subch_base/Make.package index 39c65eca7b..3c406e47f1 100644 --- a/networks/subch_base/Make.package +++ b/networks/subch_base/Make.package @@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE) CEXE_headers += actual_network.H CEXE_headers += tfactors.H CEXE_headers += partition_functions.H + CEXE_sources += partition_functions_data.cpp CEXE_headers += actual_rhs.H CEXE_headers += reaclib_rates.H CEXE_headers += table_rates.H diff --git a/networks/subch_base/actual_network.H b/networks/subch_base/actual_network.H index e1792b6c83..287d024b2e 100644 --- a/networks/subch_base/actual_network.H +++ b/networks/subch_base/actual_network.H @@ -30,55 +30,55 @@ namespace network return 0.0_rt; } else if constexpr (spec == He4) { - return 28.29566_rt; + return 28.295662457999697_rt; } else if constexpr (spec == C12) { - return 92.16172800000001_rt; + return 92.16173498399803_rt; } else if constexpr (spec == N13) { - return 94.105219_rt; + return 94.10522604799917_rt; } else if constexpr (spec == O16) { - return 127.619296_rt; + return 127.6193154119992_rt; } else if constexpr (spec == Ne20) { - return 160.6448_rt; + return 160.64482384000075_rt; } else if constexpr (spec == Na23) { - return 186.56433900000002_rt; + return 186.56435240400242_rt; } else if constexpr (spec == Mg24) { - return 198.25701600000002_rt; + return 198.2570479679962_rt; } else if constexpr (spec == Al27) { - return 224.951931_rt; + return 224.95193723199915_rt; } else if constexpr (spec == Si28) { - return 236.536832_rt; + return 236.53684539599638_rt; } else if constexpr (spec == P31) { - return 262.91617699999995_rt; + return 262.9161999600037_rt; } else if constexpr (spec == S32) { - return 271.78012800000005_rt; + return 271.78016372399725_rt; } else if constexpr (spec == Ar36) { - return 306.716724_rt; + return 306.7167469519991_rt; } else if constexpr (spec == Ca40) { - return 342.05212000000006_rt; + return 342.05218528000114_rt; } else if constexpr (spec == Ti44) { - return 375.47488000000004_rt; + return 375.47496160800074_rt; } else if constexpr (spec == Cr48) { - return 411.46891200000005_rt; + return 411.4679399359957_rt; } else if constexpr (spec == Fe52) { - return 447.697848_rt; + return 447.6996182639923_rt; } else if constexpr (spec == Ni56) { - return 483.995624_rt; + return 483.9956965919919_rt; } diff --git a/networks/subch_base/partition_functions.H b/networks/subch_base/partition_functions.H index 6ce164ed2b..99657ea32c 100644 --- a/networks/subch_base/partition_functions.H +++ b/networks/subch_base/partition_functions.H @@ -17,444 +17,107 @@ namespace part_fun { // this is T9 - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real temp_array_1[npts_1] = { - 0.01, 0.15, 0.2, 0.3, 0.4, - 0.5, 0.6, 0.7, 0.8, 0.9, - 1.0, 1.5, 2.0, 2.5, 3.0, - 3.5, 4.0, 4.5, 5.0, 6.0, - 7.0, 8.0, 9.0, 10.0, 12.0, - 14.0, 16.0, 18.0, 20.0, 22.0, - 24.0, 26.0, 28.0, 30.0, 35.0, - 40.0, 45.0, 50.0, 55.0, 60.0, - 65.0, 70.0, 75.0, 80.0, 85.0, - 90.0, 95.0, 100.0, 105.0, 110.0, - 115.0, 120.0, 125.0, 130.0, 135.0, - 140.0, 145.0, 150.0, 155.0, 160.0, - 165.0, 170.0, 175.0, 180.0, 190.0, - 200.0, 210.0, 220.0, 230.0, 240.0, - 250.0, 275.0, - }; - + extern AMREX_GPU_MANAGED amrex::Array1D temp_array_1; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O16_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, - 0.03742649794062367, 0.07188200730612536, 0.1205739312058499, 0.1846914308175988, 0.26245108973042947, - 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, - 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, - 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.555094448578319, 3.845098040014257, - 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, - 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, - 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, - 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, - 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, - 12.856124444242301, 14.195899652409233, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O16_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne20_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 6.948656121358244e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, - 0.00954097493969645, 0.01859524021829981, 0.03107544483336982, 0.04661767038571622, 0.0846241727916796, - 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, - 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, - 0.9532763366673044, 1.0644579892269186, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, - 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, - 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, - 5.830588668685144, 6.193124598354461, 6.556302500767288, 6.916980047320382, 7.276461804173244, - 7.6344772701607315, 7.991669007379948, 8.34830486304816, 8.703291378118662, 9.056904851336473, - 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, - 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, - 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, - 17.096910013008056, 18.838849090737256, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na23_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 1.7371744532199383e-06, - 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234136, 0.002232173197636284, - 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377771, 0.10525805048344757, - 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, - 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, - 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, - 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.5514499979728753, 1.9628426812012425, - 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, - 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, - 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, - 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, - 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, - 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, - 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, - 19.17609125905568, 21.173186268412273, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mg24_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 5.471765757979972e-05, 0.0007714899373308071, 0.0037633124724497633, 0.010764115210255056, - 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, - 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, - 0.5263392773898441, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, - 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, - 2.598790506763115, 3.089905111439398, 3.577491799837225, 4.05307844348342, 4.52244423350632, - 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, - 7.235528446907549, 7.6785183790401135, 8.12057393120585, 8.558708570533165, 8.99563519459755, - 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, - 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, - 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, - 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, - 20.96284268120124, 23.089905111439396, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Al27_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 8.685880952436747e-07, 3.4743419578801875e-06, - 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249925, 0.011239204769804155, - 0.01890428637893266, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, - 0.10530099179798431, 0.13774106877747655, 0.1734986149135784, 0.21278880583973628, 0.30319605742048883, - 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, - 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, - 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, - 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, - 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, - 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, - 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, - 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, - 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, - 22.915927211697117, 25.305351369446623, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Si28_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 2.1714669808675565e-06, 7.12184552784347e-05, 0.0005624812393818785, 0.002223099674110693, - 0.0059171580771474625, 0.012282407118825528, 0.02157709561709228, 0.03370716078346824, 0.06502557053071237, - 0.1027522772573885, 0.14387160800291654, 0.1866035043986153, 0.2302807913268337, 0.3222192947339193, - 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.041392685158225, - 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, - 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, - 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, - 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, - 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, - 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, - 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, - 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, - 24.958563883221967, 27.48572142648158, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real P31_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 4.820401221806151e-05, 0.0005624812393818785, 0.002468018295084159, 0.006670091319158333, - 0.013688955408210905, 0.023674199668938998, 0.03655105068012579, 0.05215275629691826, 0.09085986215557586, - 0.13887811232360858, 0.19608052467040618, 0.26289299085539924, 0.33982852740425823, 0.5237464668115644, - 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, - 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, - 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, - 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, - 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, - 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, - 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, - 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, - 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, - 26.75511226639507, 29.477121254719663, - }; + extern AMREX_GPU_MANAGED amrex::Array1D P31_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real S32_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, - 0.001336870159627728, 0.003378232401258555, 0.006963377556787149, 0.012456734172197398, 0.03011415790845077, - 0.057484285853877215, 0.0950053699501746, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, - 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, - 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, - 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, - 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, - 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, - 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, - 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, - 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, - 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, - 28.24551266781415, 31.08635983067475, - }; + extern AMREX_GPU_MANAGED amrex::Array1D S32_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cl35_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, - 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, - 0.09021853774459236, 0.13964204799692437, 0.20296975189964023, 0.28111453407611076, 0.48000694295715063, - 0.7234556720351858, 0.9934362304976116, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, - 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, - 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, - 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, - 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, - 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, - 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, - 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, - 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, - 30.71264970162721, 33.862131379313034, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ar36_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 4.342942647204277e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, - 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, - 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, - 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, - 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, - 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, - 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, - 11.437750562820387, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, - 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, - 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, - 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, - 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, - 32.17897694729317, 35.41329976408125, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real K39_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, - 0.00016282990201490303, 0.0005394928156396339, 0.0014074368520356395, 0.0031075244141559894, 0.010846721573671135, - 0.028297088943748088, 0.06095682921468604, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, - 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, - 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, - 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, - 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, - 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, - 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, - 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, - 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, - 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, - 34.25767857486918, 37.761927838420526, - }; + extern AMREX_GPU_MANAGED amrex::Array1D K39_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ca40_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, - 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138494, 0.005324252203746658, - 0.016451245325404363, 0.03938040551055626, 0.07909980819723089, 0.13972800117379408, 0.33041377334919086, - 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, - 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, - 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, - 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, - 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, - 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, - 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, - 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, - 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, - 36.15533603746506, 39.78816837114117, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Sc43_pf_array[npts_1] = { - 0.0, 1.7371744532199383e-06, 3.2136602621167924e-05, 0.0006088881229004689, 0.0026394223512168323, - 0.006348788305828209, 0.011375876688411647, 0.017242084547645732, 0.02355944464942603, 0.03006796257543875, - 0.03661053325876141, 0.06810122175372875, 0.09804672309111766, 0.12848424511267922, 0.16058766813472455, - 0.1946644458530261, 0.23055748142930874, 0.26792627543589265, 0.3064134462100847, 0.3856843680943845, - 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.732465412501299, 0.9380190974762103, - 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, - 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, - 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, - 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, - 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, - 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, - 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, - 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, - 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, - 37.68214507637383, 41.55870857053316, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ti44_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 4.342942647204277e-07, 1.7371744532199383e-06, - 7.382943437485089e-06, 0.0004987179011085028, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, - 0.05856115101668825, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, - 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, - 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, - 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, - 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, - 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, - 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, - 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, - 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, - 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, - 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, - 40.29666519026153, 44.33041377334919, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real V47_pf_array[npts_1] = { - 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759104, 0.05998274311239668, - 0.10280266491559079, 0.14672973694476377, 0.1885209834473098, 0.22688178294786615, 0.2615226538586488, - 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, - 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, - 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, - 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, - 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, - 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, - 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, - 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, - 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, - 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, - 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, - 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, - 42.096910013008056, 46.372912002970104, - }; + extern AMREX_GPU_MANAGED amrex::Array1D V47_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cr48_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 8.685880952436747e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, - 0.00035120219371925, 0.006401856055765157, 0.02685304570895992, 0.06215311825135839, 0.10696594975266842, - 0.15598699109465686, 0.205815844445829, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, - 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, - 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.577491799837225, 3.012837224705172, - 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, - 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, - 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, - 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, - 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, - 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, - 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, - 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, - 44.30102999566398, 48.727541257028555, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mn51_pf_array[npts_1] = { - 0.0, 0.0, 4.342942647204277e-07, 6.0362737871404116e-05, 0.0005954436481690331, - 0.002352703452491265, 0.0058636025937444025, 0.011219737158250306, 0.018191443590229183, 0.026405776501228783, - 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.16267998396542166, 0.19356340377635362, - 0.22185561141496238, 0.2491212785730439, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, - 0.4326074417788097, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877782, - 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, - 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, - 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, - 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, - 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, - 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, - 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, - 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, - 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, - 46.392696953259666, 51.12057393120585, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe52_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 1.7371744532199383e-06, 9.554373504133797e-06, 3.778197643341552e-05, - 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991184, 0.040215337130588114, 0.07478865660777631, - 0.11488541698288196, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, - 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, - 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, - 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, - 6.944482672150168, 7.989894563718773, 9.02938377768521, 10.060697840353612, 11.086359830674748, - 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, - 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, - 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, - 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, - 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, - 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, - 48.20682587603185, 53.02938377768521, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Co55_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 8.685880952436747e-07, 1.4331481434642371e-05, 9.336327741651445e-05, - 0.00038114325769492564, 0.001151090732337307, 0.0028275866787247843, 0.0059861278100218065, 0.019727612600003865, - 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, - 0.9449759084120479, 1.3324384599156054, 1.7363965022766423, 2.1492191126553797, 2.56702636615906, - 2.991226075692495, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, - 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, - 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, - 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, - 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, - 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, - 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, - 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, - 49.954242509439325, 55.05690485133647, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ni56_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 4.342942647204277e-07, 7.817230319428646e-06, 6.42708273977769e-05, - 0.0002904458650804842, 0.0009123622824012837, 0.0022498876258026487, 0.0046944487518873, 0.014735532704563181, - 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.22190042758492473, 0.5092025223311029, - 0.9132839017604184, 1.374748346010104, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, - 3.3031960574204886, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, - 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, - 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, - 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, - 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, - 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, - 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, - 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, - 52.230448921378276, 57.462397997898954, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array; // interpolation routine - template + template AMREX_GPU_HOST_DEVICE AMREX_INLINE - void interpolate_pf(const amrex::Real t9, const amrex::Real (&temp_array)[npts], const amrex::Real (&pf_array)[npts], + void interpolate_pf(const amrex::Real t9, const T& temp_array, const T& pf_array, amrex::Real& pf, amrex::Real& dpf_dT) { - if (t9 >= temp_array[0] && t9 < temp_array[npts-1]) { + if (t9 >= temp_array.lo() && t9 < temp_array.hi()) { // find the largest temperature element <= t9 using a binary search - int left = 0; - int right = npts; + int left = temp_array.lo(); + int right = temp_array.hi(); while (left < right) { int mid = (left + right) / 2; - if (temp_array[mid] > t9) { + if (temp_array(mid) > t9) { right = mid; } else { left = mid + 1; @@ -467,11 +130,12 @@ namespace part_fun { // construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i) - amrex::Real slope = (pf_array[idx+1] - pf_array[idx]) / (temp_array[idx+1] - temp_array[idx]); + amrex::Real slope = (pf_array(idx+1) - pf_array(idx)) / + (temp_array(idx+1) - temp_array(idx)); // find the PF - amrex::Real log10_pf = pf_array[idx] + slope * (t9 - temp_array[idx]); + amrex::Real log10_pf = pf_array(idx) + slope * (t9 - temp_array(idx)); pf = std::pow(10.0_rt, log10_pf); // find the derivative (with respect to T, not T9) @@ -510,83 +174,83 @@ void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactor switch (inuc) { case O16: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); break; case Ne20: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); break; case Na23: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); break; case Mg24: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); break; case Al27: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); break; case Si28: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); break; case P31: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); break; case S32: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); break; case Cl35: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); break; case Ar36: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); break; case K39: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); break; case Ca40: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); break; case Sc43: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); break; case Ti44: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); break; case V47: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); break; case Cr48: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); break; case Mn51: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); break; case Fe52: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); break; case Co55: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); break; case Ni56: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); break; diff --git a/networks/subch_base/partition_functions_data.cpp b/networks/subch_base/partition_functions_data.cpp new file mode 100644 index 0000000000..839756aaad --- /dev/null +++ b/networks/subch_base/partition_functions_data.cpp @@ -0,0 +1,435 @@ +#include +#include +#include +#include + +#include + +using namespace amrex; + +namespace part_fun { + + // this is T9 + + AMREX_GPU_MANAGED amrex::Array1D temp_array_1= { + 0.01, 0.15, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, + 1.0, 1.5, 2.0, 2.5, 3.0, + 3.5, 4.0, 4.5, 5.0, 6.0, + 7.0, 8.0, 9.0, 10.0, 12.0, + 14.0, 16.0, 18.0, 20.0, 22.0, + 24.0, 26.0, 28.0, 30.0, 35.0, + 40.0, 45.0, 50.0, 55.0, 60.0, + 65.0, 70.0, 75.0, 80.0, 85.0, + 90.0, 95.0, 100.0, 105.0, 110.0, + 115.0, 120.0, 125.0, 130.0, 135.0, + 140.0, 145.0, 150.0, 155.0, 160.0, + 165.0, 170.0, 175.0, 180.0, 190.0, + 200.0, 210.0, 220.0, 230.0, 240.0, + 250.0, 275.0, + }; + + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O16_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, + 0.037426497940623665, 0.07188200730612536, 0.12057393120584989, 0.1846914308175988, 0.26245108973042947, + 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, + 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, + 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, + 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, + 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, + 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, + 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, + 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, + 12.856124444242301, 14.195899652409233, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, + 0.00954097493969645, 0.01859524021829981, 0.031075444833369822, 0.04661767038571622, 0.0846241727916796, + 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, + 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, + 0.9532763366673044, 1.0644579892269184, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, + 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, + 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, + 5.830588668685144, 6.193124598354461, 6.556302500767287, 6.916980047320382, 7.276461804173244, + 7.6344772701607315, 7.991669007379948, 8.348304863048162, 8.703291378118662, 9.056904851336473, + 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, + 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, + 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, + 17.096910013008056, 18.838849090737256, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, + 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.0022321731976362837, + 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, + 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, + 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, + 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, + 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.551449997972875, 1.9628426812012425, + 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, + 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, + 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, + 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, + 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, + 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, + 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, + 19.17609125905568, 21.173186268412273, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255056, + 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, + 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, + 0.526339277389844, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, + 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, + 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, + 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, + 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, + 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, + 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, + 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, + 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, + 20.96284268120124, 23.089905111439396, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, + 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249926, 0.011239204769804155, + 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, + 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, + 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, + 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, + 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, + 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, + 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, + 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, + 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, + 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, + 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, + 22.915927211697117, 25.305351369446623, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, + 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, + 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.23028079132683374, 0.3222192947339193, + 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, + 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, + 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, + 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, + 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, + 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, + 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, + 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, + 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, + 24.958563883221967, 27.48572142648158, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D P31_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, + 0.013688955408210905, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557586, + 0.13887811232360858, 0.19608052467040618, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, + 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, + 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, + 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, + 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, + 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, + 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, + 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, + 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, + 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, + 26.75511226639507, 29.477121254719663, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D S32_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, + 0.001336870159627728, 0.0033782324012585556, 0.00696337755678715, 0.012456734172197396, 0.030114157908450765, + 0.05748428585387722, 0.09500536995017458, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, + 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, + 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, + 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, + 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, + 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, + 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, + 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, + 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, + 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, + 28.24551266781415, 31.08635983067475, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, + 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, + 0.09021853774459236, 0.13964204799692437, 0.20296975189964025, 0.28111453407611076, 0.48000694295715063, + 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, + 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, + 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, + 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, + 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, + 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, + 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, + 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, + 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, + 30.71264970162721, 33.862131379313034, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, + 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, + 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, + 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, + 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, + 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, + 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, + 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, + 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, + 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, + 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, + 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, + 32.17897694729317, 35.41329976408125, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D K39_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, + 0.00016282990201490303, 0.000539492815639634, 0.0014074368520356397, 0.0031075244141559894, 0.010846721573671133, + 0.028297088943748088, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, + 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, + 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, + 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, + 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, + 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, + 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, + 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, + 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, + 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, + 34.25767857486918, 37.761927838420526, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, + 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138496, 0.005324252203746658, + 0.016451245325404363, 0.039380405510556264, 0.07909980819723089, 0.1397280011737941, 0.33041377334919086, + 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, + 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, + 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, + 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, + 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, + 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, + 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, + 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, + 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, + 36.15533603746506, 39.78816837114117, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array = { + 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.0026394223512168323, + 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.030067962575438752, + 0.03661053325876141, 0.06810122175372875, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, + 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, + 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.7324654125012992, 0.9380190974762103, + 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, + 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, + 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, + 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, + 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, + 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, + 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, + 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, + 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, + 37.68214507637383, 41.55870857053316, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, + 7.382943437485088e-06, 0.0004987179011085027, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, + 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, + 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, + 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, + 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, + 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, + 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, + 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, + 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, + 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, + 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, + 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, + 40.29666519026153, 44.33041377334919, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D V47_pf_array = { + 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759108, 0.05998274311239668, + 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786618, 0.2615226538586488, + 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, + 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, + 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, + 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, + 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, + 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, + 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, + 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, + 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, + 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, + 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, + 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, + 42.096910013008056, 46.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, + 0.00035120219371925006, 0.006401856055765157, 0.02685304570895992, 0.0621531182513584, 0.10696594975266842, + 0.15598699109465686, 0.20581584444582904, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, + 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, + 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, + 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, + 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, + 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, + 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, + 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, + 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, + 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, + 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, + 44.30102999566398, 48.727541257028555, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array = { + 0.0, 0.0, 4.3429426472042774e-07, 6.0362737871404116e-05, 0.0005954436481690332, + 0.0023527034524912656, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.026405776501228783, + 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635364, + 0.22185561141496238, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, + 0.4326074417788098, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, + 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, + 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, + 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, + 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, + 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, + 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, + 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, + 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, + 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, + 46.392696953259666, 51.12057393120585, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, + 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777631, + 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, + 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, + 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, + 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, + 6.944482672150168, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, + 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, + 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, + 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, + 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, + 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, + 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, + 48.20682587603185, 53.02938377768521, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 8.685880952436748e-07, 1.433148143464237e-05, 9.336327741651445e-05, + 0.00038114325769492564, 0.0011510907323373071, 0.0028275866787247843, 0.005986127810021806, 0.019727612600003868, + 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, + 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.1492191126553797, 2.56702636615906, + 2.9912260756924947, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, + 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, + 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, + 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, + 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, + 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, + 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, + 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, + 49.954242509439325, 55.05690485133647, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 4.3429426472042774e-07, 7.817230319428648e-06, 6.42708273977769e-05, + 0.0002904458650804842, 0.0009123622824012838, 0.0022498876258026487, 0.004694448751887299, 0.014735532704563181, + 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.2219004275849247, 0.5092025223311029, + 0.9132839017604184, 1.3747483460101038, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, + 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, + 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, + 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, + 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, + 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, + 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, + 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, + 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, + 52.230448921378276, 57.462397997898954, + }; + + +} + diff --git a/networks/subch_base/subch_base.png b/networks/subch_base/subch_base.png index ea6ab93d7d..9ab7943f23 100644 Binary files a/networks/subch_base/subch_base.png and b/networks/subch_base/subch_base.png differ diff --git a/networks/subch_base/subch_base.py b/networks/subch_base/subch_base.py index b191b33217..af388f856b 100644 --- a/networks/subch_base/subch_base.py +++ b/networks/subch_base/subch_base.py @@ -94,9 +94,6 @@ def doit(): net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) - # finally, the aprox nets don't include the reverse rates for - # C12+C12, C12+O16, and O16+O16, so remove those - print(f"number of nuclei: {len(net.unique_nuclei)}") print(f"number of rates: {len(net.rates)}") diff --git a/networks/subch_simple/Make.package b/networks/subch_simple/Make.package index 39c65eca7b..3c406e47f1 100644 --- a/networks/subch_simple/Make.package +++ b/networks/subch_simple/Make.package @@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE) CEXE_headers += actual_network.H CEXE_headers += tfactors.H CEXE_headers += partition_functions.H + CEXE_sources += partition_functions_data.cpp CEXE_headers += actual_rhs.H CEXE_headers += reaclib_rates.H CEXE_headers += table_rates.H diff --git a/networks/subch_simple/actual_rhs.H b/networks/subch_simple/actual_rhs.H index e86231b182..53890e8bc3 100644 --- a/networks/subch_simple/actual_rhs.H +++ b/networks/subch_simple/actual_rhs.H @@ -1032,7 +1032,7 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { // Fill approximate rates - fill_approx_rates(tfactors, rate_eval); + fill_approx_rates(tfactors, state.rho, Y, rate_eval); // Calculate tabular rates diff --git a/networks/subch_simple/partition_functions.H b/networks/subch_simple/partition_functions.H index b5646c765f..1b1f979d40 100644 --- a/networks/subch_simple/partition_functions.H +++ b/networks/subch_simple/partition_functions.H @@ -17,504 +17,119 @@ namespace part_fun { // this is T9 - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real temp_array_1[npts_1] = { - 0.01, 0.15, 0.2, 0.3, 0.4, - 0.5, 0.6, 0.7, 0.8, 0.9, - 1.0, 1.5, 2.0, 2.5, 3.0, - 3.5, 4.0, 4.5, 5.0, 6.0, - 7.0, 8.0, 9.0, 10.0, 12.0, - 14.0, 16.0, 18.0, 20.0, 22.0, - 24.0, 26.0, 28.0, 30.0, 35.0, - 40.0, 45.0, 50.0, 55.0, 60.0, - 65.0, 70.0, 75.0, 80.0, 85.0, - 90.0, 95.0, 100.0, 105.0, 110.0, - 115.0, 120.0, 125.0, 130.0, 135.0, - 140.0, 145.0, 150.0, 155.0, 160.0, - 165.0, 170.0, 175.0, 180.0, 190.0, - 200.0, 210.0, 220.0, 230.0, 240.0, - 250.0, 275.0, - }; - + extern AMREX_GPU_MANAGED amrex::Array1D temp_array_1; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real O16_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, - 0.037426497940623665, 0.07188200730612537, 0.12057393120584989, 0.1846914308175988, 0.2624510897304295, - 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, - 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, - 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, - 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, - 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, - 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, - 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, - 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, - 12.856124444242301, 14.195899652409233, - }; + extern AMREX_GPU_MANAGED amrex::Array1D O16_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real F18_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.00860017176191757, 0.02530586526477026, 0.04921802267018165, - 0.08635983067474823, 0.12385164096708581, 0.1673173347481761, 0.20682587603184974, 0.28330122870354957, - 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, - 0.756636108245848, 0.8419848045901139, 0.9232440186302766, 1.0043213737826426, 1.08278537031645, - 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, - 1.9405164849325673, 2.220108088040055, 2.505149978319906, 2.7930916001765804, 3.0827853703164503, - 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, - 4.800029359244134, 5.086359830674748, 5.371067862271737, 5.657055852857104, 5.94299959336604, - 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, - 7.667452952889954, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, - 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, - 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, - 14.096910013008056, 15.584331224367531, - }; + extern AMREX_GPU_MANAGED amrex::Array1D F18_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne20_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, - 0.009540974939696452, 0.018595240218299815, 0.03107544483336982, 0.04661767038571622, 0.0846241727916796, - 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, - 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, - 0.9532763366673044, 1.0644579892269186, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, - 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, - 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, - 5.830588668685144, 6.193124598354462, 6.556302500767288, 6.916980047320382, 7.276461804173244, - 7.6344772701607315, 7.991669007379949, 8.348304863048162, 8.703291378118662, 9.056904851336473, - 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, - 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, - 13.61384182187607, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, - 17.096910013008056, 18.838849090737256, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ne21_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 8.685880952436748e-07, 2.4754079983896385e-05, - 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.0040039218205739505, 0.007021925578680666, - 0.010986057727319889, 0.04118891376750491, 0.07777221055393521, 0.11230632139519969, 0.14260436993417835, - 0.16888829052162924, 0.19197861038694297, 0.21269992944898236, 0.23172922294680387, 0.26667282493464145, - 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899236, 0.46982201597816303, - 0.5465426634781311, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, - 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, - 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, - 3.965671971220107, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, - 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, - 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, - 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, - 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.844477175745682, - 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, - 17.123851640967086, 18.923244018630278, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na22_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003523, - 0.0002626687122755098, 0.002992810584370353, 0.010836979076306525, 0.02428653620880802, 0.04242704733870039, - 0.06402310268617777, 0.0879676561420024, 0.11338308526345185, 0.13961150376071624, 0.19275584832811388, - 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, - 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423004, 0.9633155113861113, - 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, - 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, - 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, - 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, - 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, - 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, - 11.4345689040342, 11.80413943233535, 12.173186268412275, 12.544068044350276, 13.285557309007775, - 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, - 17.76492298464989, 19.64933485871214, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Na23_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, - 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.002232173197636284, - 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, - 0.13079227003361293, 0.15390201926318714, 0.17503899265296466, 0.1947232524871551, 0.23147162936712468, - 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, - 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210936, - 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.5514499979728753, 1.9628426812012425, - 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, - 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, - 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, - 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, - 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, - 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, - 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, - 19.17609125905568, 21.173186268412273, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mg24_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255058, - 0.022625058328435314, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, - 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, - 0.5263392773898441, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.974971994298069, - 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, - 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, - 4.984527313343793, 5.440909082065218, 5.894869656745253, 6.344392273685111, 6.791690649020118, - 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, - 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784438, - 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, - 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, - 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, - 20.96284268120124, 23.0899051114394, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Al27_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, - 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249925, 0.011239204769804157, - 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340023, - 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, - 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, - 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, - 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, - 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, - 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, - 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, - 12.472756449317213, 12.947923619831727, 13.423245873936809, 13.89707700320942, 14.371067862271737, - 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.2148438480477, - 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, - 22.915927211697117, 25.305351369446623, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Si28_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, - 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, - 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.2302807913268337, 0.3222192947339193, - 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, - 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.5314789170422554, - 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, - 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, - 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, - 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, - 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.859138297294532, - 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, - 19.911157608739977, 20.92116605063774, 21.9304395947667, 22.93951925261862, 23.948901760970212, - 24.958563883221967, 27.48572142648158, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real P31_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 4.342942647204277e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, - 0.013688955408210907, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557587, - 0.13887811232360858, 0.19608052467040615, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, - 0.7419390777291989, 0.9827233876685454, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, - 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, - 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, - 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, - 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, - 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, - 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.02938377768521, - 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, - 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, - 26.75511226639507, 29.477121254719663, - }; + extern AMREX_GPU_MANAGED amrex::Array1D P31_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real S32_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 5.211502513843472e-06, 6.948155872801058e-05, 0.0003893875360542875, - 0.001336870159627728, 0.003378232401258555, 0.00696337755678715, 0.012456734172197398, 0.030114157908450765, - 0.05748428585387722, 0.0950053699501746, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, - 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, - 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, - 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, - 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682894, 9.469822015978163, - 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, - 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, - 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, - 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, - 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, - 28.24551266781415, 31.08635983067475, - }; + extern AMREX_GPU_MANAGED amrex::Array1D S32_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cl35_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, - 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.02725376696259042, 0.0532486689285615, - 0.09021853774459236, 0.13964204799692437, 0.20296975189964023, 0.28111453407611076, 0.48000694295715063, - 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, - 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, - 4.2878017299302265, 4.942008053022313, 5.588831725594208, 6.230448921378274, 6.870988813760575, - 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, - 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, - 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, - 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, - 20.08278537031645, 20.705863712283918, 21.330413773349193, 21.95375969173323, 23.20139712432045, - 24.450249108319362, 25.699837725867248, 26.950364854376122, 28.20139712432045, 29.456366033129044, - 30.71264970162721, 33.862131379313034, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ar36_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 4.342942647204277e-07, 2.3451268844214655e-05, 0.00023141729162330256, 0.0010622869460975197, - 0.0031540913067783544, 0.007135153007315867, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, - 0.08643600351808535, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, - 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, - 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, - 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, - 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, - 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, - 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, - 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.925827574624744, 20.57170883180869, - 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, - 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, - 32.17897694729317, 35.41329976408125, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real K39_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, - 0.000162829902014903, 0.0005394928156396339, 0.0014074368520356395, 0.0031075244141559894, 0.010846721573671135, - 0.028297088943748085, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, - 0.7015679850559274, 1.0170333392987805, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, - 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, - 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626743, - 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, - 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, - 15.437750562820389, 16.139879086401237, 16.8394780473742, 17.539076098792776, 18.238046103128795, - 18.936513742478894, 19.633468455579585, 20.330413773349193, 21.02530586526477, 21.723455672035186, - 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, - 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, - 34.25767857486918, 37.761927838420526, - }; + extern AMREX_GPU_MANAGED amrex::Array1D K39_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ca40_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, - 2.605688721537332e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138494, 0.005324252203746658, - 0.016451245325404366, 0.03938040551055626, 0.0790998081972309, 0.13972800117379408, 0.33041377334919086, - 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, - 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, - 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, - 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, - 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, - 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, - 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, - 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, - 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, - 36.15533603746506, 39.78816837114117, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Sc43_pf_array[npts_1] = { - 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.002639422351216832, - 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.03006796257543875, - 0.03661053325876141, 0.06810122175372876, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, - 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, - 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.732465412501299, 0.9380190974762103, - 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, - 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, - 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, - 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, - 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, - 16.916453948549925, 17.687528961214635, 18.457881896733994, 19.227886704613674, 19.99694924849538, - 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, - 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, - 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, - 37.682145076373835, 41.55870857053316, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ti44_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 4.342942647204277e-07, 1.737174453219938e-06, - 7.382943437485088e-06, 0.0004987179011085028, 0.004043078170724821, 0.014135215027787822, 0.032426549056877405, - 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, - 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, - 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830567, 2.5415792439465807, - 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, - 5.885361220031512, 6.757396028793024, 7.619093330626743, 8.472756449317213, 9.32221929473392, - 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, - 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, - 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, - 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, - 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, - 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, - 40.29666519026153, 44.33041377334919, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real V47_pf_array[npts_1] = { - 2.518834949526704e-05, 0.0007584840322833456, 0.004226764680268442, 0.024475815916759104, 0.05998274311239668, - 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786615, 0.2615226538586488, - 0.29260868165003595, 0.40714096450521564, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, - 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, - 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, - 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, - 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, - 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, - 10.557507201905658, 11.421603926869832, 12.285557309007775, 13.146128035678238, 14.008600171761918, - 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, - 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, - 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, - 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, - 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, - 42.096910013008056, 46.372912002970104, - }; + extern AMREX_GPU_MANAGED amrex::Array1D V47_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Cr48_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, - 0.00035120219371925006, 0.006401856055765156, 0.02685304570895992, 0.0621531182513584, 0.10696594975266843, - 0.15598699109465683, 0.205815844445829, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, - 0.4764059620390526, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, - 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, - 3.437750562820388, 3.854913022307856, 4.264817823009537, 4.666517980554881, 5.648360010980932, - 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, - 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, - 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, - 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, - 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, - 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, - 35.46834733041216, 37.23299611039216, 38.99913054128737, 40.764922984649886, 42.5327543789925, - 44.30102999566398, 48.727541257028555, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Mn51_pf_array[npts_1] = { - 0.0, 0.0, 4.342942647204277e-07, 6.0362737871404116e-05, 0.0005954436481690332, - 0.002352703452491265, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.02640577650122878, - 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635362, - 0.22185561141496235, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, - 0.4326074417788097, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, - 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, - 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, - 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, - 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, - 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.02938377768521, 19.985426474083003, - 20.93851972517649, 21.88986172125819, 22.8394780473742, 23.787460474518415, 24.73399928653839, - 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.509202522331105, 29.45178643552429, - 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, - 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, - 46.392696953259666, 51.12057393120585, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Fe52_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, - 0.00011333607006293107, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777632, - 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, - 0.39933965344635436, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, - 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, - 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, - 6.944482672150169, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, - 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, - 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, - 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, - 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, - 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, - 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, - 48.20682587603185, 53.02938377768521, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Co55_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 8.685880952436748e-07, 1.4331481434642371e-05, 9.336327741651444e-05, - 0.0003811432576949256, 0.0011510907323373071, 0.0028275866787247843, 0.0059861278100218065, 0.019727612600003868, - 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, - 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.14921911265538, 2.56702636615906, - 2.991226075692495, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, - 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, - 11.927370363039024, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, - 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, - 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, - 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, - 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.755874855672495, - 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, - 49.954242509439325, 55.056904851336476, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array; // this is log10(partition function) - MICROPHYSICS_UNUSED HIP_CONSTEXPR static AMREX_GPU_MANAGED amrex::Real Ni56_pf_array[npts_1] = { - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 4.342942647204277e-07, 7.817230319428648e-06, 6.42708273977769e-05, - 0.0002904458650804842, 0.0009123622824012838, 0.002249887625802649, 0.004694448751887299, 0.014735532704563183, - 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.22190042758492473, 0.5092025223311029, - 0.9132839017604184, 1.374748346010104, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, - 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, - 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, - 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, - 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, - 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.05307844348342, 28.113943352306837, - 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, - 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, - 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, - 52.230448921378276, 57.462397997898954, - }; + extern AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array; // interpolation routine - template + template AMREX_GPU_HOST_DEVICE AMREX_INLINE - void interpolate_pf(const amrex::Real t9, const amrex::Real (&temp_array)[npts], const amrex::Real (&pf_array)[npts], + void interpolate_pf(const amrex::Real t9, const T& temp_array, const T& pf_array, amrex::Real& pf, amrex::Real& dpf_dT) { - if (t9 >= temp_array[0] && t9 < temp_array[npts-1]) { + if (t9 >= temp_array.lo() && t9 < temp_array.hi()) { // find the largest temperature element <= t9 using a binary search - int left = 0; - int right = npts; + int left = temp_array.lo(); + int right = temp_array.hi(); while (left < right) { int mid = (left + right) / 2; - if (temp_array[mid] > t9) { + if (temp_array(mid) > t9) { right = mid; } else { left = mid + 1; @@ -527,11 +142,12 @@ namespace part_fun { // construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i) - amrex::Real slope = (pf_array[idx+1] - pf_array[idx]) / (temp_array[idx+1] - temp_array[idx]); + amrex::Real slope = (pf_array(idx+1) - pf_array(idx)) / + (temp_array(idx+1) - temp_array(idx)); // find the PF - amrex::Real log10_pf = pf_array[idx] + slope * (t9 - temp_array[idx]); + amrex::Real log10_pf = pf_array(idx) + slope * (t9 - temp_array(idx)); pf = std::pow(10.0_rt, log10_pf); // find the derivative (with respect to T, not T9) @@ -570,95 +186,95 @@ void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactor switch (inuc) { case O16: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); break; case F18: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); break; case Ne20: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); break; case Ne21: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); break; case Na22: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); break; case Na23: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); break; case Mg24: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); break; case Al27: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); break; case Si28: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); break; case P31: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); break; case S32: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); break; case Cl35: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); break; case Ar36: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); break; case K39: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); break; case Ca40: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); break; case Sc43: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); break; case Ti44: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); break; case V47: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); break; case Cr48: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); break; case Mn51: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); break; case Fe52: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); break; case Co55: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); break; case Ni56: - part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); break; diff --git a/networks/subch_simple/partition_functions_data.cpp b/networks/subch_simple/partition_functions_data.cpp new file mode 100644 index 0000000000..68c599dd5f --- /dev/null +++ b/networks/subch_simple/partition_functions_data.cpp @@ -0,0 +1,495 @@ +#include +#include +#include +#include + +#include + +using namespace amrex; + +namespace part_fun { + + // this is T9 + + AMREX_GPU_MANAGED amrex::Array1D temp_array_1= { + 0.01, 0.15, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, + 1.0, 1.5, 2.0, 2.5, 3.0, + 3.5, 4.0, 4.5, 5.0, 6.0, + 7.0, 8.0, 9.0, 10.0, 12.0, + 14.0, 16.0, 18.0, 20.0, 22.0, + 24.0, 26.0, 28.0, 30.0, 35.0, + 40.0, 45.0, 50.0, 55.0, 60.0, + 65.0, 70.0, 75.0, 80.0, 85.0, + 90.0, 95.0, 100.0, 105.0, 110.0, + 115.0, 120.0, 125.0, 130.0, 135.0, + 140.0, 145.0, 150.0, 155.0, 160.0, + 165.0, 170.0, 175.0, 180.0, 190.0, + 200.0, 210.0, 220.0, 230.0, 240.0, + 250.0, 275.0, + }; + + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O16_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, + 0.037426497940623665, 0.07188200730612536, 0.12057393120584989, 0.1846914308175988, 0.26245108973042947, + 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, + 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, + 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, + 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, + 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, + 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, + 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, + 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, + 12.856124444242301, 14.195899652409233, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D F18_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.00860017176191757, 0.02530586526477026, 0.04921802267018165, + 0.08635983067474821, 0.12385164096708581, 0.1673173347481761, 0.20682587603184974, 0.28330122870354957, + 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, + 0.756636108245848, 0.8419848045901139, 0.9232440186302765, 1.0043213737826426, 1.08278537031645, + 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, + 1.9405164849325673, 2.220108088040055, 2.505149978319906, 2.79309160017658, 3.0827853703164503, + 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, + 4.800029359244134, 5.086359830674748, 5.371067862271736, 5.657055852857104, 5.94299959336604, + 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, + 7.6674529528899535, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, + 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, + 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, + 14.096910013008056, 15.584331224367531, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, + 0.00954097493969645, 0.01859524021829981, 0.031075444833369822, 0.04661767038571622, 0.0846241727916796, + 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, + 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, + 0.9532763366673044, 1.0644579892269184, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, + 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, + 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, + 5.830588668685144, 6.193124598354461, 6.556302500767287, 6.916980047320382, 7.276461804173244, + 7.6344772701607315, 7.991669007379948, 8.348304863048162, 8.703291378118662, 9.056904851336473, + 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, + 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, + 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, + 17.096910013008056, 18.838849090737256, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array = { + 0.0, 0.0, 0.0, 8.685880952436748e-07, 2.4754079983896385e-05, + 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.004003921820573951, 0.007021925578680665, + 0.010986057727319889, 0.04118891376750491, 0.0777722105539352, 0.11230632139519969, 0.14260436993417835, + 0.16888829052162926, 0.19197861038694294, 0.2126999294489824, 0.23172922294680387, 0.26667282493464145, + 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899235, 0.46982201597816303, + 0.5465426634781311, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, + 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, + 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, + 3.9656719712201065, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, + 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, + 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, + 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, + 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.84447717574568, + 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, + 17.123851640967086, 18.923244018630278, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003523, + 0.0002626687122755098, 0.0029928105843703536, 0.010836979076306525, 0.02428653620880802, 0.0424270473387004, + 0.06402310268617777, 0.08796765614200239, 0.11338308526345185, 0.13961150376071624, 0.19275584832811385, + 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, + 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423003, 0.9633155113861113, + 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, + 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, + 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, + 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, + 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, + 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, + 11.4345689040342, 11.80413943233535, 12.173186268412275, 12.544068044350276, 13.285557309007773, + 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, + 17.76492298464989, 19.64933485871214, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, + 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.0022321731976362837, + 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, + 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, + 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, + 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, + 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.551449997972875, 1.9628426812012425, + 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, + 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, + 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, + 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, + 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, + 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, + 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, + 19.17609125905568, 21.173186268412273, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255056, + 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, + 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, + 0.526339277389844, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, + 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, + 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, + 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, + 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, + 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, + 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, + 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, + 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, + 20.96284268120124, 23.089905111439396, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, + 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249926, 0.011239204769804155, + 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, + 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, + 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, + 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, + 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, + 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, + 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, + 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, + 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, + 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, + 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, + 22.915927211697117, 25.305351369446623, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, + 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, + 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.23028079132683374, 0.3222192947339193, + 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, + 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, + 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, + 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, + 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, + 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, + 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, + 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, + 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, + 24.958563883221967, 27.48572142648158, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D P31_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, + 0.013688955408210905, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557586, + 0.13887811232360858, 0.19608052467040618, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, + 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, + 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, + 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, + 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, + 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, + 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, + 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, + 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, + 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, + 26.75511226639507, 29.477121254719663, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D S32_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, + 0.001336870159627728, 0.0033782324012585556, 0.00696337755678715, 0.012456734172197396, 0.030114157908450765, + 0.05748428585387722, 0.09500536995017458, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, + 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, + 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, + 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, + 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, + 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, + 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, + 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, + 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, + 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, + 28.24551266781415, 31.08635983067475, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, + 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, + 0.09021853774459236, 0.13964204799692437, 0.20296975189964025, 0.28111453407611076, 0.48000694295715063, + 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, + 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, + 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, + 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, + 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, + 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, + 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, + 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, + 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, + 30.71264970162721, 33.862131379313034, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, + 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, + 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, + 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, + 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, + 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, + 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, + 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, + 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, + 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, + 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, + 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, + 32.17897694729317, 35.41329976408125, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D K39_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, + 0.00016282990201490303, 0.000539492815639634, 0.0014074368520356397, 0.0031075244141559894, 0.010846721573671133, + 0.028297088943748088, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, + 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, + 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, + 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, + 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, + 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, + 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, + 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, + 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, + 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, + 34.25767857486918, 37.761927838420526, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, + 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138496, 0.005324252203746658, + 0.016451245325404363, 0.039380405510556264, 0.07909980819723089, 0.1397280011737941, 0.33041377334919086, + 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, + 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, + 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, + 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, + 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, + 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, + 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, + 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, + 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, + 36.15533603746506, 39.78816837114117, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array = { + 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.0026394223512168323, + 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.030067962575438752, + 0.03661053325876141, 0.06810122175372875, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, + 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, + 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.7324654125012992, 0.9380190974762103, + 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, + 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, + 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, + 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, + 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, + 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, + 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, + 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, + 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, + 37.68214507637383, 41.55870857053316, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, + 7.382943437485088e-06, 0.0004987179011085027, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, + 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, + 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, + 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, + 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, + 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, + 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, + 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, + 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, + 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, + 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, + 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, + 40.29666519026153, 44.33041377334919, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D V47_pf_array = { + 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759108, 0.05998274311239668, + 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786618, 0.2615226538586488, + 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, + 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, + 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, + 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, + 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, + 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, + 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, + 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, + 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, + 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, + 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, + 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, + 42.096910013008056, 46.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, + 0.00035120219371925006, 0.006401856055765157, 0.02685304570895992, 0.0621531182513584, 0.10696594975266842, + 0.15598699109465686, 0.20581584444582904, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, + 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, + 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, + 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, + 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, + 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, + 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, + 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, + 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, + 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, + 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, + 44.30102999566398, 48.727541257028555, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array = { + 0.0, 0.0, 4.3429426472042774e-07, 6.0362737871404116e-05, 0.0005954436481690332, + 0.0023527034524912656, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.026405776501228783, + 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635364, + 0.22185561141496238, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, + 0.4326074417788098, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, + 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, + 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, + 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, + 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, + 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, + 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, + 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, + 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, + 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, + 46.392696953259666, 51.12057393120585, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, + 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777631, + 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, + 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, + 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, + 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, + 6.944482672150168, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, + 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, + 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, + 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, + 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, + 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, + 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, + 48.20682587603185, 53.02938377768521, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 8.685880952436748e-07, 1.433148143464237e-05, 9.336327741651445e-05, + 0.00038114325769492564, 0.0011510907323373071, 0.0028275866787247843, 0.005986127810021806, 0.019727612600003868, + 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, + 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.1492191126553797, 2.56702636615906, + 2.9912260756924947, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, + 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, + 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, + 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, + 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, + 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, + 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, + 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, + 49.954242509439325, 55.05690485133647, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 4.3429426472042774e-07, 7.817230319428648e-06, 6.42708273977769e-05, + 0.0002904458650804842, 0.0009123622824012838, 0.0022498876258026487, 0.004694448751887299, 0.014735532704563181, + 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.2219004275849247, 0.5092025223311029, + 0.9132839017604184, 1.3747483460101038, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, + 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, + 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, + 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, + 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, + 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, + 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, + 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, + 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, + 52.230448921378276, 57.462397997898954, + }; + + +} + diff --git a/networks/subch_simple/reaclib_rates.H b/networks/subch_simple/reaclib_rates.H index ba47fa938f..91762e566c 100644 --- a/networks/subch_simple/reaclib_rates.H +++ b/networks/subch_simple/reaclib_rates.H @@ -2123,11 +2123,11 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // ls09c - ln_set_rate = 40.04074558314484 + -22.547578710551672 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + ln_set_rate = 40.040745581311285 + -22.547578710171805 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.547578710551672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + dln_set_rate_dT9 = 22.547578710171805 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2140,11 +2140,11 @@ void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // ls09c - ln_set_rate = 40.43534558314484 + -26.326068710551674 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + ln_set_rate = 40.43534558131128 + -26.326068710171807 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + 0.148883 * tfactors.T9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 26.326068710551674 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + dln_set_rate_dT9 = 26.326068710171807 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + 0.148883; } @@ -2199,11 +2199,11 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // nac2 - ln_set_rate = 279.2945280776573 + -84.95160042649215 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + ln_set_rate = 279.29452807582373 + -84.95160042509195 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.95160042649215 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + dln_set_rate_dT9 = 84.95160042509195 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; } @@ -2216,11 +2216,11 @@ void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // nac2 - ln_set_rate = 94.31312807765731 + -84.50317042649215 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + ln_set_rate = 94.31312807582376 + -84.50317042509195 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.50317042649215 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + dln_set_rate_dT9 = 84.50317042509195 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; } @@ -2274,11 +2274,11 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 46.248979543913606 + -51.22930570025806 * tfactors.T9i + -36.2504 * tfactors.T913i + ln_set_rate = 46.24897954208005 + -51.229305699394985 * tfactors.T9i + -36.2504 * tfactors.T913i + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 51.22930570025806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + dln_set_rate_dT9 = 51.229305699394985 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2291,10 +2291,10 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 38.61457954391361 + -62.19490570025806 * tfactors.T9i + -5.6227 * tfactors.T913i; + ln_set_rate = 38.61457954208005 + -62.19490569939499 * tfactors.T9i + -5.6227 * tfactors.T913i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 62.19490570025806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; + dln_set_rate_dT9 = 62.19490569939499 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2306,10 +2306,10 @@ void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 24.91191754391361 + -56.38964570025806 * tfactors.T9i; + ln_set_rate = 24.911917542080054 + -56.38964569939498 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 56.38964570025806 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 56.38964569939498 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2362,11 +2362,11 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // co10c - ln_set_rate = 34.26581585936365 + -67.65193003813836 * tfactors.T9i + -3.65925 * tfactors.T913 + ln_set_rate = 34.26581585753009 + -67.65193003721365 * tfactors.T9i + -3.65925 * tfactors.T913 + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 67.65193003813836 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + dln_set_rate_dT9 = 67.65193003721365 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; } @@ -2379,10 +2379,10 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // co10c - ln_set_rate = 28.64304585936365 + -65.24613003813835 * tfactors.T9i; + ln_set_rate = 28.643045857530094 + -65.24613003721365 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 65.24613003813835 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 65.24613003721365 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2394,11 +2394,11 @@ void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex } // co10c - ln_set_rate = 48.66033585936365 + -54.887630038138354 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + ln_set_rate = 48.66033585753009 + -54.88763003721364 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 54.887630038138354 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + dln_set_rate_dT9 = 54.88763003721364 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2451,10 +2451,10 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -24.579038986172677 + -78.40599033331655 * tfactors.T9i; + ln_set_rate = -24.579038988006232 + -78.40599033199892 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 78.40599033331655 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 78.40599033199892 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2466,11 +2466,11 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 42.145961013827325 + -78.20981033331655 * tfactors.T9i + -19.2096 * tfactors.T913i + ln_set_rate = 42.14596101199377 + -78.20981033199892 * tfactors.T9i + -19.2096 * tfactors.T913i + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 78.20981033331655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + dln_set_rate_dT9 = 78.20981033199892 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2483,11 +2483,11 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = -16.409838986172673 + -82.42366033331655 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + ln_set_rate = -16.40983898800623 + -82.42366033199892 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 82.42366033331655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + dln_set_rate_dT9 = 82.42366033199892 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; } @@ -2500,10 +2500,10 @@ void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 24.833401013827324 + -79.60938033331655 * tfactors.T9i; + ln_set_rate = 24.833401011993768 + -79.60938033199892 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 79.60938033331655 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 79.60938033199892 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2555,11 +2555,11 @@ void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // rpsmr - ln_set_rate = 59.32234728275454 + -100.23588367240258 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + ln_set_rate = 59.32234728092099 + -100.23588367074468 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.23588367240258 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + dln_set_rate_dT9 = 100.23588367074468 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; } @@ -2612,11 +2612,11 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 43.93571176470678 + -135.6881490421346 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + ln_set_rate = 43.935711762873225 + -135.6881490398486 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 135.6881490421346 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + dln_set_rate_dT9 = 135.6881490398486 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2629,11 +2629,11 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 34.08761176470678 + -138.9684390421346 * tfactors.T9i + -0.360588 * tfactors.T913 + ln_set_rate = 34.08761176287322 + -138.96843903984862 * tfactors.T9i + -0.360588 * tfactors.T913 + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 138.9684390421346 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + dln_set_rate_dT9 = 138.96843903984862 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; } @@ -2646,10 +2646,10 @@ void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 20.002361764706784 + -137.3003390421346 * tfactors.T9i; + ln_set_rate = 20.002361762873228 + -137.3003390398486 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 137.3003390421346 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 137.3003390398486 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2701,10 +2701,10 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -13.886931148855957 + -110.62012330714883 * tfactors.T9i; + ln_set_rate = -13.886931150689513 + -110.62012330532738 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 110.62012330714883 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 110.62012330532738 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2716,11 +2716,11 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 49.324368851144044 + -108.11407330714883 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + ln_set_rate = 49.32436884931049 + -108.11407330532738 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 108.11407330714883 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + dln_set_rate_dT9 = 108.11407330532738 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2733,11 +2733,11 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 16.02029885114404 + -120.89497330714883 * tfactors.T9i + 16.9229 * tfactors.T913 + ln_set_rate = 16.020298849310485 + -120.89497330532738 * tfactors.T9i + 16.9229 * tfactors.T913 + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 120.89497330714883 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + dln_set_rate_dT9 = 120.89497330532738 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; } @@ -2750,10 +2750,10 @@ void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amre } // il10c - ln_set_rate = 26.801638851144045 + -117.33433330714882 * tfactors.T9i; + ln_set_rate = 26.80163884931049 + -117.33433330532738 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 117.33433330714882 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 117.33433330532738 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2805,11 +2805,11 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 11.776564828186824 + -136.3434628922348 * tfactors.T9i + 23.8634 * tfactors.T913 + ln_set_rate = 11.776564826353269 + -136.34346288996986 * tfactors.T9i + 23.8634 * tfactors.T913 + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 136.3434628922348 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + dln_set_rate_dT9 = 136.34346288996986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; } @@ -2822,11 +2822,11 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 111.46636482818681 + -134.8268158922348 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + ln_set_rate = 111.46636482635327 + -134.82681588996985 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 134.8268158922348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + dln_set_rate_dT9 = 134.82681588996985 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; } @@ -2839,11 +2839,11 @@ void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex: } // il10c - ln_set_rate = 46.54946482818683 + -134.4395028922348 * tfactors.T9i + -23.2205 * tfactors.T913i + ln_set_rate = 46.54946482635327 + -134.43950288996984 * tfactors.T9i + -23.2205 * tfactors.T913i + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 134.4395028922348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + dln_set_rate_dT9 = 134.43950288996984 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -2896,11 +2896,11 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // st08r - ln_set_rate = -25.688574833405916 + -128.69270892750794 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + ln_set_rate = -25.68857483523947 + -128.692708925556 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 128.69270892750794 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + dln_set_rate_dT9 = 128.692708925556 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; } @@ -2913,10 +2913,10 @@ void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amre } // st08r - ln_set_rate = 32.90059516659409 + -131.48850892750792 * tfactors.T9i; + ln_set_rate = 32.90059516476053 + -131.48850892555598 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 131.48850892750792 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 131.48850892555598 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -2968,11 +2968,11 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 25.172836958303158 + -106.63693563716609 * tfactors.T9i + 8.09341 * tfactors.T913 + ln_set_rate = 25.172836956469602 + -106.63693563543316 * tfactors.T9i + 8.09341 * tfactors.T913 + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 106.63693563716609 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + dln_set_rate_dT9 = 106.63693563543316 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; } @@ -2985,10 +2985,10 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 21.682890958303158 + -105.11947563716609 * tfactors.T9i; + ln_set_rate = 21.682890956469603 + -105.11947563543316 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 105.11947563716609 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 105.11947563543316 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3000,11 +3000,11 @@ void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::R } // il10c - ln_set_rate = 43.610880958303156 + -102.85989563716609 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + ln_set_rate = 43.6108809564696 + -102.85989563543316 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 102.85989563716609 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + dln_set_rate_dT9 = 102.85989563543316 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -3057,11 +3057,11 @@ void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 72.81295409739818 + -80.62610309662641 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + ln_set_rate = 72.81295409556463 + -80.62610309526808 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 80.62610309662641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + dln_set_rate_dT9 = 80.62610309526808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -3114,11 +3114,11 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // fy05c - ln_set_rate = 22.39392447043974 + -88.54942933569913 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + ln_set_rate = 22.393924466772628 + -88.54942933427682 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 88.54942933569913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + dln_set_rate_dT9 = 88.54942933427682 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; } @@ -3131,11 +3131,11 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am } // fy05c - ln_set_rate = 34.95602447043974 + -85.44732933569914 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + ln_set_rate = 34.95602446677263 + -85.44732933427683 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 85.44732933569914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + dln_set_rate_dT9 = 85.44732933427683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; } @@ -3148,11 +3148,11 @@ void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, am } // fy05c - ln_set_rate = 45.77337247043974 + -84.42286933569913 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + ln_set_rate = 45.77337246677263 + -84.42286933427683 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 84.42286933569913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + dln_set_rate_dT9 = 84.42286933427683 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; } @@ -3202,11 +3202,11 @@ void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amre amrex::Real set_rate{0.0}; // cf88n - ln_set_rate = 42.232382494512464 + -60.55237555926846 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + ln_set_rate = 42.232382494512464 + -60.552375558248315 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 60.55237555926846 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + dln_set_rate_dT9 = 60.552375558248315 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -3265,11 +3265,11 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -6.377717086437262 + -29.88961364462334 * tfactors.T9i + 19.7297 * tfactors.T913 + ln_set_rate = -6.377717086437262 + -29.88961364415879 * tfactors.T9i + 19.7297 * tfactors.T913 + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 29.88961364462334 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + dln_set_rate_dT9 = 29.88961364415879 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -3282,11 +3282,11 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = 0.227472413562738 + -29.434873644623337 * tfactors.T9i + ln_set_rate = 0.227472413562738 + -29.434873644158788 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 29.434873644623337 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 29.434873644158788 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -3299,11 +3299,11 @@ void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = 19.18524291356274 + -27.573843644623338 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + ln_set_rate = 19.18524291356274 + -27.57384364415879 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 27.573843644623338 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + dln_set_rate_dT9 = 27.57384364415879 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -3361,11 +3361,11 @@ void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amr amrex::Real set_rate{0.0}; // rpsmr - ln_set_rate = 50.65368626892722 + -22.049056049959066 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + ln_set_rate = 50.65368626892722 + -22.04905604961869 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.049056049959066 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + dln_set_rate_dT9 = 22.04905604961869 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; } @@ -3423,11 +3423,11 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -6.445750338407261 + -22.82086933218981 * tfactors.T9i + 18.0416 * tfactors.T913 + ln_set_rate = -6.445750338407262 + -22.820869331876814 * tfactors.T9i + 18.0416 * tfactors.T913 + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.82086933218981 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + dln_set_rate_dT9 = 22.820869331876814 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -3440,11 +3440,11 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = -26.286160338407264 + -19.54138133218981 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + ln_set_rate = -26.286160338407264 + -19.541381331876813 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 19.54138133218981 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + dln_set_rate_dT9 = 19.541381331876813 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -3457,11 +3457,11 @@ void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, am } // il10c - ln_set_rate = 30.03973966159274 + -18.578369332189812 * tfactors.T9i + -26.4162 * tfactors.T913i + ln_set_rate = 30.039739661592737 + -18.578369331876814 * tfactors.T9i + -26.4162 * tfactors.T913i + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 18.578369332189812 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + dln_set_rate_dT9 = 18.578369331876814 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -3519,11 +3519,11 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr amrex::Real set_rate{0.0}; // il10c - ln_set_rate = -11.433473139095032 + -25.65965858572089 * tfactors.T9i + 21.521 * tfactors.T913 + ln_set_rate = -11.433473139095032 + -25.659658585346307 * tfactors.T9i + 21.521 * tfactors.T913 + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 25.65965858572089 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + dln_set_rate_dT9 = 25.659658585346307 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -3536,11 +3536,11 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr } // il10c - ln_set_rate = -13.459473139095032 + -24.11106858572089 * tfactors.T9i + ln_set_rate = -13.459473139095032 + -24.111068585346306 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 24.11106858572089 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 24.111068585346306 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -3553,11 +3553,11 @@ void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amr } // il10c - ln_set_rate = 60.342426860904965 + -22.23390858572089 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + ln_set_rate = 60.342426860904965 + -22.233908585346306 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.23390858572089 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + dln_set_rate_dT9 = 22.233908585346306 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -3615,11 +3615,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 2.425628238034531 + -27.66622776398283 * tfactors.T9i + 5.33756 * tfactors.T913 + ln_set_rate = 2.425628238034531 + -27.66622776361797 * tfactors.T9i + 5.33756 * tfactors.T913 + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 27.66622776398283 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + dln_set_rate_dT9 = 27.66622776361797 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -3632,11 +3632,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r } // il10c - ln_set_rate = -0.877601761965469 + -25.59141776398283 * tfactors.T9i + ln_set_rate = -0.877601761965469 + -25.591417763617972 * tfactors.T9i + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 25.59141776398283 * tfactors.T9i * tfactors.T9i + dln_set_rate_dT9 = 25.591417763617972 * tfactors.T9i * tfactors.T9i + -1.5 * tfactors.T9i; } @@ -3649,11 +3649,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r } // il10c - ln_set_rate = -57.39498176196547 + -22.18939876398283 * tfactors.T9i + 25.5338 * tfactors.T913 + ln_set_rate = -57.39498176196547 + -22.189398763617973 * tfactors.T9i + 25.5338 * tfactors.T913 + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 22.18939876398283 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + dln_set_rate_dT9 = 22.189398763617973 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -3666,11 +3666,11 @@ void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& r } // il10c - ln_set_rate = 32.25441823803453 + -21.65646776398283 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + ln_set_rate = 32.25441823803453 + -21.65646776361797 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 21.65646776398283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + dln_set_rate_dT9 = 21.65646776361797 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -3728,11 +3728,11 @@ void rate_Ar36_to_He4_S32_derived_removed(const tf_t& tfactors, amrex::Real& rat amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 73.81637663285039 + -77.06281976216322 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + ln_set_rate = 73.81637663101685 + -77.06281976086491 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 77.06281976216322 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + dln_set_rate_dT9 = 77.06281976086491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -3785,10 +3785,10 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // il10c - ln_set_rate = 16.01685487088493 + -100.72924752614605 * tfactors.T9i; + ln_set_rate = 16.016854869051375 + -100.7292475244829 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.72924752614605 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 100.7292475244829 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3800,10 +3800,10 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate } // il10c - ln_set_rate = -17.47510512911507 + -99.28393852614604 * tfactors.T9i; + ln_set_rate = -17.475105130948627 + -99.28393852448289 * tfactors.T9i; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 99.28393852614604 * tfactors.T9i * tfactors.T9i; + dln_set_rate_dT9 = 99.28393852448289 * tfactors.T9i * tfactors.T9i; } // avoid underflows by zeroing rates in [0.0, 1.e-100] @@ -3815,11 +3815,11 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate } // il10c - ln_set_rate = 60.73659487088493 + -98.71928752614605 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + ln_set_rate = 60.73659486905137 + -98.7192875244829 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 98.71928752614605 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + dln_set_rate_dT9 = 98.7192875244829 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -3832,11 +3832,11 @@ void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate } // il10c - ln_set_rate = 17.202804870884933 + -102.37020752614605 * tfactors.T9i + 18.0179 * tfactors.T913 + ln_set_rate = 17.202804869051377 + -102.3702075244829 * tfactors.T9i + 18.0179 * tfactors.T913 + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 102.37020752614605 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + dln_set_rate_dT9 = 102.3702075244829 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; } @@ -3889,11 +3889,11 @@ void rate_He4_Ar36_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& r amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 20.636664061510302 + -14.953349961318928 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + ln_set_rate = 20.636664061510302 + -14.953349961067001 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 14.953349961318928 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + dln_set_rate_dT9 = 14.953349961067001 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -3951,11 +3951,11 @@ void rate_Ca40_to_He4_Ar36_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 77.28261041284823 + -81.69174599574632 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + ln_set_rate = 77.28261041101467 + -81.69174599437001 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 81.69174599574632 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + dln_set_rate_dT9 = 81.69174599437001 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4008,11 +4008,11 @@ void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real set_rate{0.0}; // lo18r - ln_set_rate = 2786.4340744743586 + -101.86662364079672 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + ln_set_rate = 2786.434074472525 + -101.86662363916852 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + 1137.69 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 101.86662364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + dln_set_rate_dT9 = 101.86662363916852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + 1137.69 * tfactors.T9i; } @@ -4025,11 +4025,11 @@ void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // lo18r - ln_set_rate = 613.1530744743586 + -109.20898364079672 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + ln_set_rate = 613.1530744725251 + -109.20898363916852 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + 566.426 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 109.20898364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + dln_set_rate_dT9 = 109.20898363916852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + 566.426 * tfactors.T9i; } @@ -4042,11 +4042,11 @@ void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // lo18r - ln_set_rate = 127.30607447435852 + -98.30936364079672 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + ln_set_rate = 127.30607447252498 + -98.30936363916852 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 98.30936364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + dln_set_rate_dT9 = 98.30936363916852 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; } @@ -4099,11 +4099,11 @@ void rate_He4_Ca40_to_p_Sc43_derived_removed(const tf_t& tfactors, amrex::Real& amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 35.65752817292938 + -40.87575463203665 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + ln_set_rate = 35.65752817292938 + -40.875754631348 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 40.87575463203665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + dln_set_rate_dT9 = 40.875754631348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -4161,11 +4161,11 @@ void rate_Ti44_to_He4_Ca40_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // chw0 - ln_set_rate = 78.69908591662849 + -59.4975248620018 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + ln_set_rate = 78.69908591479492 + -59.49752486099942 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 59.4975248620018 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + dln_set_rate_dT9 = 59.49752486099942 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4218,11 +4218,11 @@ void rate_Ti44_to_p_Sc43_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 62.59391408955788 + -100.37327949403844 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + ln_set_rate = 62.59391408772432 + -100.37327949234741 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.37327949403844 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + dln_set_rate_dT9 = 100.37327949234741 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4275,11 +4275,11 @@ void rate_Cr48_to_He4_Ti44_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 89.75733412085052 + -89.3041938384302 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + ln_set_rate = 89.75733411901697 + -89.30419383692565 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 89.3041938384302 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + dln_set_rate_dT9 = 89.30419383692565 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4332,11 +4332,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real set_rate{0.0}; // nfisn - ln_set_rate = 67.74027107253823 + -100.12633621113824 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + ln_set_rate = 67.74027107070467 + -100.12633620955347 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 100.12633621113824 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + dln_set_rate_dT9 = 100.12633620955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; } @@ -4349,11 +4349,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // nfisn - ln_set_rate = 536.5234710725382 + -99.36194621113825 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + ln_set_rate = 536.5234710707047 + -99.36194620955347 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 99.36194621113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + dln_set_rate_dT9 = 99.36194620955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; } @@ -4366,11 +4366,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // nfisn - ln_set_rate = 48.891971072538226 + -93.82037121113825 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + ln_set_rate = 48.89197107070467 + -93.82037120955347 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 93.82037121113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + dln_set_rate_dT9 = 93.82037120955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; } @@ -4383,11 +4383,11 @@ void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, } // nfisn - ln_set_rate = 65.62307107253824 + -94.58145021113825 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + ln_set_rate = 65.62307107070467 + -94.58145020955347 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 94.58145021113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + dln_set_rate_dT9 = 94.58145020955347 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; } @@ -4440,11 +4440,11 @@ void rate_p_V47_to_He4_Ti44_derived_removed(const tf_t& tfactors, amrex::Real& r amrex::Real set_rate{0.0}; // chw0r - ln_set_rate = -76.61433695168769 + -6.029445311023438 * tfactors.T9i + 70.2835 * tfactors.T913 + ln_set_rate = -76.61433695168769 + -6.029445311103694 * tfactors.T9i + 70.2835 * tfactors.T913 + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 6.029445311023438 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + dln_set_rate_dT9 = 6.029445311103694 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; } @@ -4502,11 +4502,11 @@ void rate_Fe52_to_He4_Cr48_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 90.14738712482466 + -92.10912191363732 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + ln_set_rate = 90.1473871229911 + -92.10912191208553 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 92.10912191363732 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + dln_set_rate_dT9 = 92.10912191208553 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4559,11 +4559,11 @@ void rate_Fe52_to_p_Mn51_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 61.72798916565748 + -85.6326403498911 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + ln_set_rate = 61.72798916382393 + -85.63264034844842 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 85.6326403498911 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + dln_set_rate_dT9 = 85.63264034844842 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4616,11 +4616,11 @@ void rate_p_Mn51_to_He4_Cr48_derived_removed(const tf_t& tfactors, amrex::Real& amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 58.73119795916718 + -6.476551190854941 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + ln_set_rate = 58.73119795916719 + -6.476551190745829 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 6.476551190854941 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + dln_set_rate_dT9 = 6.476551190745829 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -4678,11 +4678,11 @@ void rate_Ni56_to_He4_Fe52_derived_removed(const tf_t& tfactors, amrex::Real& ra amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 91.62258922810439 + -92.801099329237 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + ln_set_rate = 91.62258922627083 + -92.80109932767355 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 92.801099329237 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + dln_set_rate_dT9 = 92.80109932767355 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4735,11 +4735,11 @@ void rate_Ni56_to_p_Co55_derived_removed(const tf_t& tfactors, amrex::Real& rate amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 63.131770608640906 + -83.14741674893808 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + ln_set_rate = 63.13177060680735 + -83.14741674753726 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 83.14741674893808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + dln_set_rate_dT9 = 83.14741674753726 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; } @@ -4792,11 +4792,11 @@ void rate_p_Co55_to_He4_Fe52_derived_removed(const tf_t& tfactors, amrex::Real& amrex::Real set_rate{0.0}; // ths8r - ln_set_rate = 61.443418619463486 + -9.65364776674457 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + ln_set_rate = 61.443418619463486 + -9.653647766581932 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; if constexpr (do_T_derivatives) { - dln_set_rate_dT9 = 9.65364776674457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + dln_set_rate_dT9 = 9.653647766581932 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; } @@ -5573,7 +5573,10 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) template AMREX_GPU_HOST_DEVICE AMREX_INLINE void -fill_approx_rates([[maybe_unused]] const tf_t& tfactors, [[maybe_unused]] T& rate_eval) +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, + [[maybe_unused]] const amrex::Real rho, + [[maybe_unused]] const amrex::Array1D& Y, + [[maybe_unused]] T& rate_eval) { [[maybe_unused]] amrex::Real rate{}; diff --git a/networks/subch_simple/subch_simple.png b/networks/subch_simple/subch_simple.png index 34a263ae84..e54a8584cb 100644 Binary files a/networks/subch_simple/subch_simple.png and b/networks/subch_simple/subch_simple.png differ diff --git a/networks/subch_simple/subch_simple.py b/networks/subch_simple/subch_simple.py index 7a7b684347..43702a00df 100644 --- a/networks/subch_simple/subch_simple.py +++ b/networks/subch_simple/subch_simple.py @@ -91,9 +91,6 @@ def doit(): net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) - # finally, the aprox nets don't include the reverse rates for - # C12+C12, C12+O16, and O16+O16, so remove those - print(f"number of nuclei: {len(net.unique_nuclei)}") print(f"number of rates: {len(net.rates)}") diff --git a/nse_tabular/nse_eos.H b/nse_tabular/nse_eos.H index 425e0d70df..1006889325 100644 --- a/nse_tabular/nse_eos.H +++ b/nse_tabular/nse_eos.H @@ -65,7 +65,7 @@ nse_T_abar_from_e(const amrex::Real rho, const amrex::Real e_in, const amrex::Re amrex::Real abar_old = nse_state.abar; // call the EOS with the initial guess for T - eos_extra_t eos_state; + eos_re_extra_t eos_state; eos_state.rho = rho; eos_state.T = T; eos_state.aux[iye] = Ye; @@ -156,7 +156,7 @@ nse_rho_abar_from_e(const amrex::Real T, const amrex::Real e_in, const amrex::Re amrex::Real abar_old = nse_state.abar; // call the EOS with the initial guess for rho - eos_extra_t eos_state; + eos_re_extra_t eos_state; eos_state.rho = rho; eos_state.T = T; eos_state.aux[iye] = Ye; @@ -247,7 +247,7 @@ nse_T_abar_from_p(const amrex::Real rho, const amrex::Real p_in, const amrex::Re amrex::Real abar_old = nse_state.abar; // call the EOS with the initial guess for T - eos_extra_t eos_state; + eos_rep_extra_t eos_state; eos_state.rho = rho; eos_state.T = T; eos_state.aux[iye] = Ye; @@ -338,7 +338,7 @@ nse_rho_abar_from_p(const amrex::Real T, const amrex::Real p_in, const amrex::Re amrex::Real abar_old = nse_state.abar; // call the EOS with the initial guess for rho - eos_extra_t eos_state; + eos_rep_extra_t eos_state; eos_state.rho = rho; eos_state.T = T; eos_state.aux[iye] = Ye; diff --git a/sphinx_docs/source/index.rst b/sphinx_docs/source/index.rst deleted file mode 100644 index 7b48af3de1..0000000000 --- a/sphinx_docs/source/index.rst +++ /dev/null @@ -1,73 +0,0 @@ -.. Microphysics documentation main file. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -************************ -AMReX-Astro Microphysics -************************ - -A collection of microphysics routines (equations of state, -reaction networks, ...) and utilities (ODE integrators, NSE solvers) -for astrophysical simulation codes. - -.. toctree:: - :maxdepth: 1 - - preface - -.. toctree:: - :maxdepth: 1 - :caption: Microphysics overview - - getting_started - design - data_structures - autodiff - rp_intro - -.. toctree:: - :maxdepth: 1 - :caption: EOS and transport - - eos - transport - -.. toctree:: - :maxdepth: 1 - :caption: Reaction networks - - networks-overview - networks - templated_networks - screening - -.. toctree:: - :maxdepth: 1 - :caption: ODE integrators - - integrators - ode_integrators - nse - sdc - -.. toctree:: - :maxdepth: 1 - :caption: Unit tests - - unit_tests - comprehensive_tests - one_zone_tests - -.. toctree:: - :maxdepth: 1 - :caption: References - - zreferences - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/sphinx_docs/source/one_zone_tests.rst b/sphinx_docs/source/one_zone_tests.rst deleted file mode 100644 index ec9706a05e..0000000000 --- a/sphinx_docs/source/one_zone_tests.rst +++ /dev/null @@ -1,103 +0,0 @@ -************** -One Zone Tests -************** - -There are several tests that let you call the EOS or reaction network -on a single zone to inspect the output directly. - - -``burn_cell`` -============= - -``burn_cell`` is a simple one-zone burn that will evolve a state with -a network for a specified amount of time. This can be used to -understand the timescales involved in a reaction sequence or to -determine the needed ODE tolerances. - - -Getting Started ---------------- - -The ``burn_cell`` code are located in -``Microphysics/unit_test/burn_cell``. To run a simulation, ensure that -both an input file and an initial conditions file have been created -and are in the same directory as the executable. - -Input File ----------- - -These files are typically named as ``inputs_burn_network`` where network -is the network you wish to use for your testing. - -The structure of this file is is fairly self-explanatory. The run -prefix defined should be unique to the tests that will be run as they -will be used to identify all of the output files. Typically, the run -prefix involves the name of the network being tested. The ``atol`` -variables define absolute tolerances of the ordinary differential -equations and the ``rtol`` variables define the relative tolerances. The -second section of the input file collects the inputs that ``main.f90`` -asks for so that the user does not have to input all 5+ -parameters that are required every time the test is run. Each input -required is defined and initialized on the lines following -``&cellparams``. The use of the parameters is show below: - -.. table:: The definition of parameters used in the burn_cell unit tests and specified in the second half of each inputs file. - - +-----------------------+----------------------------------------+ - | ``tmax`` | Maximum Time (s) | - +-----------------------+----------------------------------------+ - | ``nsteps`` | Number of time subdivisions | - +-----------------------+----------------------------------------+ - | ``density`` | State Density (:math:`\frac{g}{cm^3}`) | - +-----------------------+----------------------------------------+ - | ``temperature`` | State Temperature (K) | - +-----------------------+----------------------------------------+ - | ``massfractions(i)`` | Mass Fraction for element i | - +-----------------------+----------------------------------------+ - -Running the Code ----------------- - -To run the code, enter the burn_cell directory and run:: - - ./main3d.gnu.ex inputs - -where ``inputs`` is the name of your inputs file. - -For each of the ``numsteps`` steps defined in the inputs -file, the code will output a files into a new directory titled -``run_prefix_output`` where ``run_prefix`` is the run prefix defined in the -inputs file. Each output file will be named using the run prefix -defined in the inputs file and the corresponding timestep. - -Next, run ``burn_cell.py`` using python 3.x, giving the defined run prefix as an argument. -For example:: - - python3 burn_cell.py react_aprox13 - -The ``burn_cell.py`` code will gather information from all of the -output files and compile them into three graphs explained below. - -Graphs Output by ``burn_cell.py`` ---------------------------------- - -The file ``run-prefix_logX.png`` and ``run-prefix_logX.eps`` will display a -graph of the chemical abundances as a function of the time, both on -logarithmic scales, for all species involved in the simulation. An -example of this graph is shown below. - -.. figure:: react_aprox13_logX.png - :alt: An example of a plot output by the burn_cell unit test. This is the logX output corresponding to the network aprox13. - :width: 4.5in - - An example of a plot output by the burn_cell unit test. This is the - logX output corresponding to the network aprox13. - - - -The file ``run-prefix_ydot.png`` and ``run-prefix_ydot.eps`` will display the -molar fraction (mass fraction / atomic weight) as a function of time, -both on logarithmic scales, for all species involved in the code. - -The file ``run-prefix_T-edot.png`` and ``run-prefix_T-edot.eps`` will display -the temperature and the energy generation rate as a function of time. diff --git a/sphinx_docs/source/preface.rst b/sphinx_docs/source/preface.rst deleted file mode 100644 index efb680fb48..0000000000 --- a/sphinx_docs/source/preface.rst +++ /dev/null @@ -1,30 +0,0 @@ -******* -Preface -******* - -Welcome to the AMReX-Astro Microphysics! - -In this User’s Guide we describe the microphysics modules designed to -enable simulations of stellar explosions. - -The original design was to support the AMReX codes CASTRO and -MAESTRO. These all have a consistent interface and are designed to -provide the users of those codes an easy experience in moving from the -barebones microphysics modules provided in those codes. For the -purposes of this user’s guide, the microphysical components we -currently deal with are the equation of state (EOS) and the nuclear -burning network. - -Microphysics is not a stand-alone code. It is intended to be used in -conjunction with a simulation code. At the moment, the interfaces and -build stubs are compatible with the AMReX codes. In many cases we -will provide test modules that demonstrate a minimal working example -for how to run the modules (leveraging the AMReX build system). The -goal is to make the support more general, and extend to other codes -in the future. - -A number of the routines contained here we authored by other people. -We bundle them here with permission, usually changing the interfaces -to be compatible with our standardized interface. We in particular -thank Frank Timmes for numerous reaction networks and his equation -of state routines. diff --git a/sphinx_docs/source/transport.rst b/sphinx_docs/source/transport.rst deleted file mode 100644 index 1ff0dab5c7..0000000000 --- a/sphinx_docs/source/transport.rst +++ /dev/null @@ -1,19 +0,0 @@ -********************** -Transport Coefficients -********************** - -Thermal Conductivity -==================== - -Thermal conductivities are provided by the conductivity/ -directory. At the moment, there is a single version, -stellar [1]_ that is useful -for stellar interiors. - -**Important: it is assumed that the state is thermodynamically consistent -before calling the conductivity routine.** It may be necessary to do an EOS -call first, to enforce the consistency. - -.. [1] - this code comes from Frank Timmes’ website, - https://cococubed.com/code_pages/kap.shtml diff --git a/unit_test/burn_cell/GNUmakefile b/unit_test/burn_cell/GNUmakefile index 8372650ebb..3940100208 100644 --- a/unit_test/burn_cell/GNUmakefile +++ b/unit_test/burn_cell/GNUmakefile @@ -24,7 +24,7 @@ EOS_DIR := helmholtz # This sets the network directory NETWORK_DIR := aprox13 - +SCREEN_METHOD := screen5 CONDUCTIVITY_DIR := stellar INTEGRATOR_DIR = VODE diff --git a/unit_test/burn_cell/_parameters b/unit_test/burn_cell/_parameters index 9047a84f8e..4ad72846d0 100644 --- a/unit_test/burn_cell/_parameters +++ b/unit_test/burn_cell/_parameters @@ -1,7 +1,5 @@ @namespace: unit_test -run_prefix string "" - small_temp real 1.e5 small_dens real 1.e5 @@ -19,3 +17,5 @@ density real 1.e7 temperature real 3.e9 skip_initial_normalization bool 0 + +init_species_all_equal bool 0 diff --git a/unit_test/burn_cell/burn_cell.H b/unit_test/burn_cell/burn_cell.H index 71f379471e..43496f1a67 100644 --- a/unit_test/burn_cell/burn_cell.H +++ b/unit_test/burn_cell/burn_cell.H @@ -21,12 +21,15 @@ void burn_cell_c() // Make sure user set all the mass fractions to values in the interval [0, 1] for (int n = 1; n <= NumSpec; ++n) { - massfractions[n-1] = get_xn(n); + if (unit_test_rp::init_species_all_equal) { + massfractions[n-1] = 1.0_rt / static_cast(NumSpec); + } else { + massfractions[n-1] = get_xn(n); - if (massfractions[n-1] < 0 || massfractions[n-1] > 1) { - amrex::Error("mass fraction for " + short_spec_names_cxx[n-1] + " not initialized in the interval [0,1]!"); + if (massfractions[n-1] < 0 || massfractions[n-1] > 1) { + amrex::Error("mass fraction for " + short_spec_names_cxx[n-1] + " not initialized in the interval [0,1]!"); + } } - } // Echo initial conditions at burn and fill burn state input diff --git a/unit_test/burn_cell/ci-benchmarks/subch_simple_BE_unit_test.out b/unit_test/burn_cell/ci-benchmarks/subch_simple_BE_unit_test.out index 3f98938eac..f81d63f2e8 100644 --- a/unit_test/burn_cell/ci-benchmarks/subch_simple_BE_unit_test.out +++ b/unit_test/burn_cell/ci-benchmarks/subch_simple_BE_unit_test.out @@ -1,5 +1,5 @@ -Initializing AMReX (23.05-278-g75571e2dcbf2)... -AMReX (23.05-278-g75571e2dcbf2) initialized +Initializing AMReX (24.10-20-gb9d549bcf4a6)... +AMReX (24.10-20-gb9d549bcf4a6) initialized starting the single zone burn... reading in network electron-capture / beta-decay tables... Maximum Time (s): 1e-05 @@ -52,59 +52,59 @@ RHS at t = 0 Ni56 2.574225196e-29 ------------------------------------ successful? 1 - - Hnuc = 7.242762592e+22 - - added e = 7.242762592e+17 - - final T = 3332749379 + - Hnuc = 7.242722161e+22 + - added e = 7.242722161e+17 + - final T = 3332747822 ------------------------------------ e initial = 1.396711859e+18 -e final = 2.120988119e+18 +e final = 2.120984075e+18 ------------------------------------ new mass fractions: H1 0.1076931362 -He4 0.08267243811 -C12 1.785210377e-05 -N13 3.393522391e-08 -N14 3.304012886e-07 -O16 0.1086073173 -F18 1.418015033e-07 -Ne20 0.007002161113 -Ne21 5.733665755e-06 -Na22 0.1571361579 -Na23 4.819771035e-07 -Mg24 0.004454973909 -Al27 6.193893757e-06 -Si28 0.06146916146 -P31 9.539219597e-06 -S32 0.1152095285 -Ar36 0.0990283209 -Ca40 0.2507532874 -Ti44 0.005256011544 -Cr48 0.0006643128713 -Fe52 1.283889413e-05 -Ni56 4.683571242e-08 +He4 0.08267440359 +C12 1.785165175e-05 +N13 3.39344959e-08 +N14 3.303771022e-07 +O16 0.1086084686 +F18 1.41796077e-07 +Ne20 0.007002255133 +Ne21 5.733598864e-06 +Na22 0.157136158 +Na23 4.819931671e-07 +Mg24 0.004455038438 +Al27 6.194114228e-06 +Si28 0.061469832 +P31 9.539520569e-06 +S32 0.1152093538 +Ar36 0.09902713352 +Ca40 0.250750628 +Ti44 0.005256054521 +Cr48 0.0006643440612 +Fe52 1.284023015e-05 +Ni56 4.684404848e-08 ------------------------------------ species creation rates: -omegadot(H1): 769.3136189 -omegadot(He4): -41732.75619 -omegadot(C12): -9998.21479 -omegadot(N13): -9999.996606 -omegadot(N14): -9999.96696 -omegadot(O16): 860.7317327 -omegadot(F18): 0.01418015033 -omegadot(Ne20): 700.2161113 -omegadot(Ne21): 0.5733665755 -omegadot(Na22): 15713.61579 -omegadot(Na23): 0.04819771035 -omegadot(Mg24): 445.4973909 -omegadot(Al27): 0.6193893757 -omegadot(Si28): 6146.916146 -omegadot(P31): 0.9539219597 -omegadot(S32): 11520.95285 -omegadot(Ar36): 9902.83209 -omegadot(Ca40): 25075.32874 -omegadot(Ti44): 525.6011544 -omegadot(Cr48): 66.43128713 -omegadot(Fe52): 1.283889413 -omegadot(Ni56): 0.004683571242 -number of steps taken: 9520 -AMReX (23.05-278-g75571e2dcbf2) finalized +omegadot(H1): 769.3136205 +omegadot(He4): -41732.55964 +omegadot(C12): -9998.214835 +omegadot(N13): -9999.996607 +omegadot(N14): -9999.966962 +omegadot(O16): 860.8468635 +omegadot(F18): 0.0141796077 +omegadot(Ne20): 700.2255133 +omegadot(Ne21): 0.5733598864 +omegadot(Na22): 15713.6158 +omegadot(Na23): 0.04819931671 +omegadot(Mg24): 445.5038438 +omegadot(Al27): 0.6194114228 +omegadot(Si28): 6146.9832 +omegadot(P31): 0.9539520569 +omegadot(S32): 11520.93538 +omegadot(Ar36): 9902.713352 +omegadot(Ca40): 25075.0628 +omegadot(Ti44): 525.6054521 +omegadot(Cr48): 66.43440612 +omegadot(Fe52): 1.284023015 +omegadot(Ni56): 0.004684404848 +number of steps taken: 9552 +AMReX (24.10-20-gb9d549bcf4a6) finalized diff --git a/unit_test/burn_cell/ci-benchmarks/subch_simple_unit_test.out b/unit_test/burn_cell/ci-benchmarks/subch_simple_unit_test.out index 86a3ccebbf..7417850737 100644 --- a/unit_test/burn_cell/ci-benchmarks/subch_simple_unit_test.out +++ b/unit_test/burn_cell/ci-benchmarks/subch_simple_unit_test.out @@ -1,5 +1,5 @@ -Initializing AMReX (23.05-278-g75571e2dcbf2)... -AMReX (23.05-278-g75571e2dcbf2) initialized +Initializing AMReX (24.10-20-gb9d549bcf4a6)... +AMReX (24.10-20-gb9d549bcf4a6) initialized starting the single zone burn... reading in network electron-capture / beta-decay tables... Maximum Time (s): 1e-05 @@ -52,59 +52,59 @@ RHS at t = 0 Ni56 2.574225196e-29 ------------------------------------ successful? 1 - - Hnuc = 7.242318176e+22 - - added e = 7.242318176e+17 - - final T = 3332730886 + - Hnuc = 7.241796955e+22 + - added e = 7.241796955e+17 + - final T = 3332712347 ------------------------------------ e initial = 1.396711859e+18 -e final = 2.120943677e+18 +e final = 2.120891555e+18 ------------------------------------ new mass fractions: -H1 0.1076931403 -He4 0.08272988242 -C12 1.784404786e-05 -N13 3.392149365e-08 -N14 3.297834731e-07 -O16 0.1086527087 -F18 1.416772679e-07 -Ne20 0.007005446976 -Ne21 5.732881792e-06 -Na22 0.1571361554 -Na23 4.825196202e-07 -Mg24 0.004457086351 -Al27 6.201007547e-06 -Si28 0.0614825565 -P31 9.547649909e-06 -S32 0.1151640206 -Ar36 0.09895131794 -Ca40 0.2507436832 -Ti44 0.005263770663 -Cr48 0.0006669375925 -Fe52 1.293243909e-05 -Ni56 4.737410204e-08 +H1 0.1076931293 +He4 0.08271515334 +C12 1.784227067e-05 +N13 3.391967633e-08 +N14 3.298055329e-07 +O16 0.1086399603 +F18 1.416783115e-07 +Ne20 0.007004688063 +Ne21 5.732083096e-06 +Na22 0.1571361384 +Na23 4.823584771e-07 +Mg24 0.004456669669 +Al27 6.199112576e-06 +Si28 0.06147978562 +P31 9.545147785e-06 +S32 0.1151792002 +Ar36 0.09897516874 +Ca40 0.2507395336 +Ti44 0.005261227135 +Cr48 0.0006660893333 +Fe52 1.290260885e-05 +Ni56 4.720489636e-08 ------------------------------------ species creation rates: -omegadot(H1): 769.3140339 -omegadot(He4): -41727.01176 -omegadot(C12): -9998.215595 +omegadot(H1): 769.3129335 +omegadot(He4): -41728.48467 +omegadot(C12): -9998.215773 omegadot(N13): -9999.996608 -omegadot(N14): -9999.967022 -omegadot(O16): 865.2708688 -omegadot(F18): 0.01416772679 -omegadot(Ne20): 700.5446976 -omegadot(Ne21): 0.5732881792 -omegadot(Na22): 15713.61554 -omegadot(Na23): 0.04825196202 -omegadot(Mg24): 445.7086351 -omegadot(Al27): 0.6201007547 -omegadot(Si28): 6148.25565 -omegadot(P31): 0.9547649909 -omegadot(S32): 11516.40206 -omegadot(Ar36): 9895.131794 -omegadot(Ca40): 25074.36832 -omegadot(Ti44): 526.3770663 -omegadot(Cr48): 66.69375925 -omegadot(Fe52): 1.293243909 -omegadot(Ni56): 0.004737410204 -number of steps taken: 511 -AMReX (23.05-278-g75571e2dcbf2) finalized +omegadot(N14): -9999.967019 +omegadot(O16): 863.9960253 +omegadot(F18): 0.01416783115 +omegadot(Ne20): 700.4688063 +omegadot(Ne21): 0.5732083096 +omegadot(Na22): 15713.61384 +omegadot(Na23): 0.04823584771 +omegadot(Mg24): 445.6669669 +omegadot(Al27): 0.6199112576 +omegadot(Si28): 6147.978562 +omegadot(P31): 0.9545147785 +omegadot(S32): 11517.92002 +omegadot(Ar36): 9897.516874 +omegadot(Ca40): 25073.95336 +omegadot(Ti44): 526.1227135 +omegadot(Cr48): 66.60893333 +omegadot(Fe52): 1.290260885 +omegadot(Ni56): 0.004720489636 +number of steps taken: 564 +AMReX (24.10-20-gb9d549bcf4a6) finalized diff --git a/unit_test/burn_cell/inputs_aprox13 b/unit_test/burn_cell/inputs_aprox13 index 5e138fc92d..a14701d3d9 100644 --- a/unit_test/burn_cell/inputs_aprox13 +++ b/unit_test/burn_cell/inputs_aprox13 @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox13_" - unit_test.small_temp = 1.e5 unit_test.small_dens = 1.e5 diff --git a/unit_test/burn_cell/inputs_aprox13_mott b/unit_test/burn_cell/inputs_aprox13_mott index 0d2b2bf2c5..dbfdd16481 100644 --- a/unit_test/burn_cell/inputs_aprox13_mott +++ b/unit_test/burn_cell/inputs_aprox13_mott @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox13_mott_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_aprox19 b/unit_test/burn_cell/inputs_aprox19 index 8456d9313d..500387dd56 100644 --- a/unit_test/burn_cell/inputs_aprox19 +++ b/unit_test/burn_cell/inputs_aprox19 @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox19_" - unit_test.small_temp = 1.e5 unit_test.small_dens = 1.e5 diff --git a/unit_test/burn_cell/inputs_aprox19.nse b/unit_test/burn_cell/inputs_aprox19.nse index 81fb02f511..9e0c071f86 100644 --- a/unit_test/burn_cell/inputs_aprox19.nse +++ b/unit_test/burn_cell/inputs_aprox19.nse @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox19_nse_" - unit_test.small_temp = 1.e5 unit_test.small_dens = 1.e5 diff --git a/unit_test/burn_cell/inputs_aprox21 b/unit_test/burn_cell/inputs_aprox21 index ff7775f0f4..fab1e94c4f 100644 --- a/unit_test/burn_cell/inputs_aprox21 +++ b/unit_test/burn_cell/inputs_aprox21 @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox21_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_aprox21_rot1 b/unit_test/burn_cell/inputs_aprox21_rot1 index c7fd47880e..362960fe8c 100644 --- a/unit_test/burn_cell/inputs_aprox21_rot1 +++ b/unit_test/burn_cell/inputs_aprox21_rot1 @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox21_rot1_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_aprox21_rot2 b/unit_test/burn_cell/inputs_aprox21_rot2 index e870ba2e41..201a37f472 100644 --- a/unit_test/burn_cell/inputs_aprox21_rot2 +++ b/unit_test/burn_cell/inputs_aprox21_rot2 @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_aprox21_rot2_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_ecsn b/unit_test/burn_cell/inputs_ecsn index 1478a464e3..da5ac5d34e 100644 --- a/unit_test/burn_cell/inputs_ecsn +++ b/unit_test/burn_cell/inputs_ecsn @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_ecsn_" - unit_test.small_temp = 1.e5 unit_test.small_dens = 1.e5 diff --git a/unit_test/burn_cell/inputs_ignition b/unit_test/burn_cell/inputs_ignition index 4d8a27a0ba..fe7f44e1ae 100644 --- a/unit_test/burn_cell/inputs_ignition +++ b/unit_test/burn_cell/inputs_ignition @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_ignition_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_ignition_chamulak b/unit_test/burn_cell/inputs_ignition_chamulak index 43e08a0a50..8438420946 100644 --- a/unit_test/burn_cell/inputs_ignition_chamulak +++ b/unit_test/burn_cell/inputs_ignition_chamulak @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_ignition_chamulak_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_iso7 b/unit_test/burn_cell/inputs_iso7 index 6d64432479..72cf73d517 100644 --- a/unit_test/burn_cell/inputs_iso7 +++ b/unit_test/burn_cell/inputs_iso7 @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_iso7_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_rprox b/unit_test/burn_cell/inputs_rprox index 7052ced776..9617c534fa 100644 --- a/unit_test/burn_cell/inputs_rprox +++ b/unit_test/burn_cell/inputs_rprox @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_rprox_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_subch_simple b/unit_test/burn_cell/inputs_subch_simple index 45fe23eb46..145fe900b6 100644 --- a/unit_test/burn_cell/inputs_subch_simple +++ b/unit_test/burn_cell/inputs_subch_simple @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_subch_simple_" - unit_test.small_temp = 1.e5 unit_test.small_dens = 1.e5 diff --git a/unit_test/burn_cell/inputs_triple b/unit_test/burn_cell/inputs_triple index a7bdd27c56..fef70305ca 100644 --- a/unit_test/burn_cell/inputs_triple +++ b/unit_test/burn_cell/inputs_triple @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_triple_" - unit_test.small_temp = 1e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/inputs_vode_example b/unit_test/burn_cell/inputs_vode_example index 8aada68e14..d4c895b080 100644 --- a/unit_test/burn_cell/inputs_vode_example +++ b/unit_test/burn_cell/inputs_vode_example @@ -1,5 +1,3 @@ -unit_test.run_prefix = "react_vode_example_" - unit_test.small_temp = 1.e5 unit_test.small_dens = 1e5 diff --git a/unit_test/burn_cell/matplotlibrc b/unit_test/burn_cell/matplotlibrc deleted file mode 100644 index 49382d5bb2..0000000000 --- a/unit_test/burn_cell/matplotlibrc +++ /dev/null @@ -1,7 +0,0 @@ -font.family : serif -font.serif : Computer Modern Roman, Times, Palatino, New Century Schoolbook, Bookman -font.sans-serif : Computer Modern Sans serif, Helvetica, Avant Garde -font.cursive : Zapf Chancery -font.monospace : Computer Modern Typewriter, Courier -font.size : 20 -text.usetex : true diff --git a/unit_test/burn_cell/plot_burn_cell.py b/unit_test/burn_cell/plot_burn_cell.py new file mode 100644 index 0000000000..b2e8940b85 --- /dev/null +++ b/unit_test/burn_cell/plot_burn_cell.py @@ -0,0 +1,69 @@ +import argparse + +import matplotlib.pyplot as plt +from matplotlib import ticker +import numpy as np + + +def doit(state_file, xmin, n_plot, outfile): + + data = np.genfromtxt(state_file, names=True) + + # find the keys of the most abundant species + maxX = {} + for k in data.dtype.names: + if k in ["Time", "Temperature"]: + continue + maxX[k] = data[k].max() + + abundant = [k for k, v in sorted(maxX.items(), key=lambda item: item[1])][::-1] + + fig , (ax1, ax2) = plt.subplots(2, 1, sharex=True) + + ax1.plot(data["Time"], data["Temperature"]) + + # the first time point is t = 0, which doesn't work well + # on a logscale for x, so we use symlog to transition + # to log at the second time point + ax1.set_xscale("symlog", linthresh=data["Time"][1]) + ax1.grid(ls=":") + + ax1.set_ylabel("temperature [K]") + ax1.yaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True)) + + # now the species + for n in range(n_plot): + ax2.plot(data["Time"], data[abundant[n]], label=abundant[n]) + + ax2.set_xscale("symlog", linthresh=data["Time"][1]) + ax2.set_yscale("log") + ax2.set_ylim(xmin, 1.5) + ax2.grid(ls=":") + + ax2.set_xlabel("time (s)") + ax2.set_ylabel("mass fraction") + + ax2.legend(fontsize="small") + + fig.tight_layout() + + fig.set_size_inches(6, 7) + + fig.savefig(outfile) + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("--xmin", type=float, default=1.e-10, + help="cutoff value for mass fractions") + parser.add_argument("-n", type=int, default=5, + help="number of species to plot (most abundant shown)") + parser.add_argument("-o", type=str, default="state.png", + help="name of plot output file") + parser.add_argument("state_file", type=str, nargs=1, + help="burn cell state history file") + + args = parser.parse_args() + + doit(args.state_file[0], args.xmin, args.n, args.o) diff --git a/unit_test/test_part_func/ci-benchmarks/part_func.out b/unit_test/test_part_func/ci-benchmarks/part_func.out new file mode 100644 index 0000000000..6bb827da07 --- /dev/null +++ b/unit_test/test_part_func/ci-benchmarks/part_func.out @@ -0,0 +1,9 @@ +Initializing AMReX (24.10-20-gb9d549bcf4a6)... +AMReX (24.10-20-gb9d549bcf4a6) initialized +starting the single zone burn... +reading in network electron-capture / beta-decay tables... +temperature = 5000000000 +Ni56: 1.010868 2.337172328e-11 +Fe52: 1.743116 3.226066771e-10 +spins: 2 1 1 8 1 +AMReX (24.10-20-gb9d549bcf4a6) finalized diff --git a/util/doxygen/Doxyfile b/util/doxygen/Doxyfile deleted file mode 100644 index 9a2e25992f..0000000000 --- a/util/doxygen/Doxyfile +++ /dev/null @@ -1,2392 +0,0 @@ -# Doxyfile 1.8.10 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = "Microphysics" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:\n" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = YES - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. -# The default value is: NO. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, -# *.vhdl, *.ucf, *.qsf, *.as and *.js. - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = YES - -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /