Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ function(setup_target_for_microphysics_compilation network_name output_dir)
execute_process(COMMAND python3 "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/util/build_scripts/write_probin.py" --pa "${EOSparamfile} ${networkparamfile}
${VODEparamfile} ${integrationparamfile}" --use_namespace WORKING_DIRECTORY ${output_dir}/)

set(gamma_law_sources ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/network_initialization.cpp
set(gamma_law_sources ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/eos_data.cpp
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/network_initialization.cpp
${output_dir}/extern_parameters.cpp PARENT_SCOPE)
execute_process(COMMAND python3 "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/networks/general_null/write_network.py" --header_template "${networkheadertemplatefile}" --header_output "${networkpropfile}" -s "${networkfile}" WORKING_DIRECTORY ${output_dir}/)

Expand Down Expand Up @@ -81,7 +82,8 @@ function(setup_target_for_microphysics_compilation network_name output_dir)
${networkparamfile} ${VODEparamfile} ${integrationparamfile} " --use_namespace WORKING_DIRECTORY ${output_dir}/)
endif()

set(primordial_chem_sources ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/network_initialization.cpp
set(primordial_chem_sources ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/eos_data.cpp
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/network_initialization.cpp
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/networks/primordial_chem/actual_network_data.cpp
${output_dir}/extern_parameters.cpp PARENT_SCOPE)

Expand Down Expand Up @@ -127,7 +129,8 @@ function(setup_target_for_microphysics_compilation network_name output_dir)
endif()

#unlike primordial chem, we also include actual_network_data.cpp here because it is in there that we read in the Semenov opacity table
set(metal_chem_sources ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/network_initialization.cpp
set(metal_chem_sources ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/eos_data.cpp
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/interfaces/network_initialization.cpp
${CMAKE_CURRENT_FUNCTION_LIST_DIR}/networks/metal_chem/actual_network_data.cpp
${output_dir}/extern_parameters.cpp PARENT_SCOPE)

Expand Down
2 changes: 2 additions & 0 deletions EOS/helmholtz/Make.package
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
CEXE_headers += actual_eos.H
CEXE_headers += actual_eos_data.H

CEXE_sources += actual_eos_data.cpp
38 changes: 19 additions & 19 deletions EOS/helmholtz/actual_eos_data.H
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ namespace helmholtz

using namespace amrex::literals;

inline AMREX_GPU_MANAGED int do_coulomb;
inline AMREX_GPU_MANAGED int input_is_constant;
extern AMREX_GPU_MANAGED int do_coulomb;
extern AMREX_GPU_MANAGED int input_is_constant;

// for the tables

Expand All @@ -26,34 +26,34 @@ namespace helmholtz
constexpr amrex::Real dstp = (dhi - dlo) / (static_cast<amrex::Real>(imax-1));
constexpr amrex::Real dstpi = 1.0e0_rt / dstp;

inline AMREX_GPU_MANAGED amrex::Real d[imax];
inline AMREX_GPU_MANAGED amrex::Real t[jmax];
extern AMREX_GPU_MANAGED amrex::Real d[imax];
extern AMREX_GPU_MANAGED amrex::Real t[jmax];

inline AMREX_GPU_MANAGED amrex::Real ttol;
inline AMREX_GPU_MANAGED amrex::Real dtol;
extern AMREX_GPU_MANAGED amrex::Real ttol;
extern AMREX_GPU_MANAGED amrex::Real dtol;

// for the helmholtz free energy tables
inline AMREX_GPU_MANAGED amrex::Real f[jmax][imax][9];
extern AMREX_GPU_MANAGED amrex::Real f[jmax][imax][9];

// for the pressure derivative with density tables
inline AMREX_GPU_MANAGED amrex::Real dpdf[jmax][imax][4];
extern AMREX_GPU_MANAGED amrex::Real dpdf[jmax][imax][4];

// for chemical potential tables
inline AMREX_GPU_MANAGED amrex::Real ef[jmax][imax][4];
extern AMREX_GPU_MANAGED amrex::Real ef[jmax][imax][4];

// for the number density tables
inline AMREX_GPU_MANAGED amrex::Real xf[jmax][imax][4];
extern AMREX_GPU_MANAGED amrex::Real xf[jmax][imax][4];

// for storing the differences
inline AMREX_GPU_MANAGED amrex::Real dt_sav[jmax];
inline AMREX_GPU_MANAGED amrex::Real dt2_sav[jmax];
inline AMREX_GPU_MANAGED amrex::Real dti_sav[jmax];
inline AMREX_GPU_MANAGED amrex::Real dt2i_sav[jmax];

inline AMREX_GPU_MANAGED amrex::Real dd_sav[imax];
inline AMREX_GPU_MANAGED amrex::Real dd2_sav[imax];
inline AMREX_GPU_MANAGED amrex::Real ddi_sav[imax];
inline AMREX_GPU_MANAGED amrex::Real dd2i_sav[imax];
extern AMREX_GPU_MANAGED amrex::Real dt_sav[jmax];
extern AMREX_GPU_MANAGED amrex::Real dt2_sav[jmax];
extern AMREX_GPU_MANAGED amrex::Real dti_sav[jmax];
extern AMREX_GPU_MANAGED amrex::Real dt2i_sav[jmax];

extern AMREX_GPU_MANAGED amrex::Real dd_sav[imax];
extern AMREX_GPU_MANAGED amrex::Real dd2_sav[imax];
extern AMREX_GPU_MANAGED amrex::Real ddi_sav[imax];
extern AMREX_GPU_MANAGED amrex::Real dd2i_sav[imax];

// 2006 CODATA physical constants
constexpr amrex::Real h = 6.6260689633e-27;
Expand Down
33 changes: 33 additions & 0 deletions EOS/helmholtz/actual_eos_data.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include <actual_eos_data.H>

AMREX_GPU_MANAGED int helmholtz::do_coulomb;
AMREX_GPU_MANAGED int helmholtz::input_is_constant;

AMREX_GPU_MANAGED amrex::Real helmholtz::d[imax];
AMREX_GPU_MANAGED amrex::Real helmholtz::t[jmax];

AMREX_GPU_MANAGED amrex::Real helmholtz::ttol;
AMREX_GPU_MANAGED amrex::Real helmholtz::dtol;

// for the helmholtz free energy tables
AMREX_GPU_MANAGED amrex::Real helmholtz::f[jmax][imax][9];

// for the pressure derivative with density tables
AMREX_GPU_MANAGED amrex::Real helmholtz::dpdf[jmax][imax][4];

// for chemical potential tables
AMREX_GPU_MANAGED amrex::Real helmholtz::ef[jmax][imax][4];

// for the number density tables
AMREX_GPU_MANAGED amrex::Real helmholtz::xf[jmax][imax][4];

// for storing the differences
AMREX_GPU_MANAGED amrex::Real helmholtz::dt_sav[jmax];
AMREX_GPU_MANAGED amrex::Real helmholtz::dt2_sav[jmax];
AMREX_GPU_MANAGED amrex::Real helmholtz::dti_sav[jmax];
AMREX_GPU_MANAGED amrex::Real helmholtz::dt2i_sav[jmax];

AMREX_GPU_MANAGED amrex::Real helmholtz::dd_sav[imax];
AMREX_GPU_MANAGED amrex::Real helmholtz::dd2_sav[imax];
AMREX_GPU_MANAGED amrex::Real helmholtz::ddi_sav[imax];
AMREX_GPU_MANAGED amrex::Real helmholtz::dd2i_sav[imax];
1 change: 1 addition & 0 deletions interfaces/Make.package
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ CEXE_headers += eos.H
CEXE_headers += eos_data.H
CEXE_headers += eos_type.H
CEXE_headers += eos_override.H
CEXE_sources += eos_data.cpp

CEXE_headers += network.H
CEXE_headers += rhs_type.H
Expand Down
33 changes: 17 additions & 16 deletions interfaces/eos_data.H
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,23 @@
namespace EOSData
{
inline bool initialized;
inline AMREX_GPU_MANAGED amrex::Real mintemp;
inline AMREX_GPU_MANAGED amrex::Real maxtemp;
inline AMREX_GPU_MANAGED amrex::Real mindens;
inline AMREX_GPU_MANAGED amrex::Real maxdens;
inline AMREX_GPU_MANAGED amrex::Real minx;
inline AMREX_GPU_MANAGED amrex::Real maxx;
inline AMREX_GPU_MANAGED amrex::Real minye;
inline AMREX_GPU_MANAGED amrex::Real maxye;
inline AMREX_GPU_MANAGED amrex::Real mine;
inline AMREX_GPU_MANAGED amrex::Real maxe;
inline AMREX_GPU_MANAGED amrex::Real minp;
inline AMREX_GPU_MANAGED amrex::Real maxp;
inline AMREX_GPU_MANAGED amrex::Real mins;
inline AMREX_GPU_MANAGED amrex::Real maxs;
inline AMREX_GPU_MANAGED amrex::Real minh;
inline AMREX_GPU_MANAGED amrex::Real maxh;

extern AMREX_GPU_MANAGED amrex::Real mintemp;
extern AMREX_GPU_MANAGED amrex::Real maxtemp;
extern AMREX_GPU_MANAGED amrex::Real mindens;
extern AMREX_GPU_MANAGED amrex::Real maxdens;
extern AMREX_GPU_MANAGED amrex::Real minx;
extern AMREX_GPU_MANAGED amrex::Real maxx;
extern AMREX_GPU_MANAGED amrex::Real minye;
extern AMREX_GPU_MANAGED amrex::Real maxye;
extern AMREX_GPU_MANAGED amrex::Real mine;
extern AMREX_GPU_MANAGED amrex::Real maxe;
extern AMREX_GPU_MANAGED amrex::Real minp;
extern AMREX_GPU_MANAGED amrex::Real maxp;
extern AMREX_GPU_MANAGED amrex::Real mins;
extern AMREX_GPU_MANAGED amrex::Real maxs;
extern AMREX_GPU_MANAGED amrex::Real minh;
extern AMREX_GPU_MANAGED amrex::Real maxh;
}

#endif
21 changes: 21 additions & 0 deletions interfaces/eos_data.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include <eos_data.H>

namespace EOSData
{
AMREX_GPU_MANAGED amrex::Real mintemp;
AMREX_GPU_MANAGED amrex::Real maxtemp;
AMREX_GPU_MANAGED amrex::Real mindens;
AMREX_GPU_MANAGED amrex::Real maxdens;
AMREX_GPU_MANAGED amrex::Real minx;
AMREX_GPU_MANAGED amrex::Real maxx;
AMREX_GPU_MANAGED amrex::Real minye;
AMREX_GPU_MANAGED amrex::Real maxye;
AMREX_GPU_MANAGED amrex::Real mine;
AMREX_GPU_MANAGED amrex::Real maxe;
AMREX_GPU_MANAGED amrex::Real minp;
AMREX_GPU_MANAGED amrex::Real maxp;
AMREX_GPU_MANAGED amrex::Real mins;
AMREX_GPU_MANAGED amrex::Real maxs;
AMREX_GPU_MANAGED amrex::Real minh;
AMREX_GPU_MANAGED amrex::Real maxh;
}
Loading