Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1c95d74
Merge remote-tracking branch 'upstream/newchem-cpp' into newchem-cpp_…
ChristopherBignamini Oct 21, 2025
3ce5b12
Transcription of rate_timestep_g
ChristopherBignamini Oct 21, 2025
8b0ec0d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 21, 2025
2cb6e49
Unused variables removed
ChristopherBignamini Oct 21, 2025
74172b2
Merge branch 'newchem-cpp_transcribe_rate_timestep_g' of https://gith…
ChristopherBignamini Oct 21, 2025
4f1309f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 21, 2025
a78124e
Commented wrapper of rate_timestep_g removed
ChristopherBignamini Oct 23, 2025
ee8fe15
j/k indexing updated
ChristopherBignamini Oct 23, 2025
36660c7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 23, 2025
90d0b83
Change include guards to use .hpp extension
ChristopherBignamini Oct 31, 2025
c0396a6
Merge remote-tracking branch 'upstream/newchem-cpp' into newchem-cpp_…
ChristopherBignamini Dec 17, 2025
e3c912c
Code cleanup
ChristopherBignamini Dec 17, 2025
0c5769d
const condition added to signature
ChristopherBignamini Dec 17, 2025
08494c1
Unused namespace specification removed
ChristopherBignamini Dec 17, 2025
e5b8e3c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2025
511087e
Unused input parameter (uvb rates) removed and documentation added
ChristopherBignamini Dec 19, 2025
7618ac8
Merge branch 'newchem-cpp_transcribe_rate_timestep_g' of https://gith…
ChristopherBignamini Dec 19, 2025
b527280
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 19, 2025
e4df3f9
address compiler warning in chemistry_solver_funcs.hppp
mabruzzo Dec 19, 2025
e2ea0d9
address warning about uninitialized variables in solve_rate_cool_g-cp…
mabruzzo Dec 19, 2025
120c84a
introduce GRIMPL_NS
mabruzzo Jan 5, 2026
7ab41e9
illustrate a usage of GRIMPL_NS
mabruzzo Jan 5, 2026
f13f88c
Merge branch 'newchem-cpp' into ncc/address-compiler-warnings
mabruzzo Jan 13, 2026
72c8089
Merge branch 'newchem-cpp' into ncc/GRIMPL_NS
mabruzzo Jan 14, 2026
1da4413
Merge branch 'ncc/address-compiler-warnings' into ncc/GRIMPL_NS
mabruzzo Jan 15, 2026
5b40b3e
Merge branch 'newchem-cpp' into newchem-cpp_transcribe_rate_timestep_g
mabruzzo Jan 15, 2026
ed1928c
Merge branch 'newchem-cpp_transcribe_rate_timestep_g' into ncc/FullRx…
mabruzzo Jan 15, 2026
4ce92c8
create FullRxnRateBuf
mabruzzo Jan 15, 2026
8213d99
pass rxn_rate_buf to the step_rate_<...> functions
mabruzzo Jan 15, 2026
3a808ae
pass rxn_rate_buf to rate_timestep_g
mabruzzo Jan 15, 2026
9833154
pass rxn_rate_buf into lookup_cool_rates1d
mabruzzo Jan 15, 2026
61b5e3d
pass FullRxnRateBuf into `set_subcycle_dt_from_chemistry_scheme_`
mabruzzo Jan 15, 2026
4fa6add
shift to using rxn_rate_bufs for tracking collisional reaction rates
mabruzzo Jan 15, 2026
6e19dd9
shift to using rxn_rate_bufs for tracking grain growth rates
mabruzzo Jan 15, 2026
833dfcc
shift to using rxn_rate_bufs for tracking the self-shielding correcte…
mabruzzo Jan 15, 2026
7469407
shift to using rxn_rate_bufs for tracking h2dust
mabruzzo Jan 15, 2026
40e528a
adjust docstring: species_density_updates_gauss_seidel
mabruzzo Jan 15, 2026
c514cea
stop treating k27 as a special case
mabruzzo Jan 15, 2026
1dc0820
variable renaming: kshield_buf -> kph_buf
mabruzzo Jan 15, 2026
9f36c3e
Apply clang-format
mabruzzo Jan 15, 2026
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
3 changes: 3 additions & 0 deletions src/clib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ add_library(Grackle_Grackle
dust_props.hpp
dust/grain_species_info.cpp dust/grain_species_info.hpp
dust/lookup_dust_rates1d.hpp
full_rxn_rate_buf.hpp
init_misc_species_cool_rates.cpp init_misc_species_cool_rates.hpp
initialize_chemistry_data.cpp
initialize_dust_yields.cpp initialize_dust_yields.hpp
Expand All @@ -119,6 +120,7 @@ add_library(Grackle_Grackle
lookup_cool_rates1d.hpp
make_consistent.cpp make_consistent.hpp
opaque_storage.hpp
rate_timestep_g.cpp rate_timestep_g.hpp
rate_utils.cpp
solve_chemistry.cpp
scale_fields.cpp scale_fields.hpp
Expand All @@ -131,6 +133,7 @@ add_library(Grackle_Grackle
utils-cpp.cpp utils-cpp.hpp
utils-field.hpp
fortran_func_wrappers.hpp
support/config.hpp
visitor/common.hpp
visitor/copy.hpp
visitor/memory.hpp
Expand Down
1 change: 1 addition & 0 deletions src/clib/Make.config.objects
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ OBJS_CONFIG_LIB = \
initialize_rates.lo \
initialize_UVbackground_data.lo \
interpolators_g.lo \
rate_timestep_g.lo \
make_consistent.lo \
scale_fields.lo \
set_default_chemistry_parameters.lo \
Expand Down
116 changes: 60 additions & 56 deletions src/clib/ceiling_species.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,173 +16,177 @@
// This file was initially generated automatically during conversion of the
// ceiling_species_g function from FORTRAN to C++

#include "grackle.h" // my_chemistry, my_fields
#include "support/config.hpp"
#include <cmath> // std::fmax

#ifndef CEILING_SPECIES_HPP
#define CEILING_SPECIES_HPP

namespace grackle::impl {
namespace GRIMPL_NAMESPACE_DECL {

inline void ceiling_species(int imetal, chemistry_data* my_chemistry,
grackle_field_data* my_fields) {
grackle::impl::View<gr_float***> d(
GRIMPL_NS::View<gr_float***> d(
my_fields->density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> de(
GRIMPL_NS::View<gr_float***> de(
my_fields->e_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HI(
GRIMPL_NS::View<gr_float***> HI(
my_fields->HI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HII(
GRIMPL_NS::View<gr_float***> HII(
my_fields->HII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HeI(
GRIMPL_NS::View<gr_float***> HeI(
my_fields->HeI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HeII(
GRIMPL_NS::View<gr_float***> HeII(
my_fields->HeII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HeIII(
GRIMPL_NS::View<gr_float***> HeIII(
my_fields->HeIII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HM(
GRIMPL_NS::View<gr_float***> HM(
my_fields->HM_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> H2I(
GRIMPL_NS::View<gr_float***> H2I(
my_fields->H2I_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> H2II(
GRIMPL_NS::View<gr_float***> H2II(
my_fields->H2II_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> DI(
GRIMPL_NS::View<gr_float***> DI(
my_fields->DI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> DII(
GRIMPL_NS::View<gr_float***> DII(
my_fields->DII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HDI(
GRIMPL_NS::View<gr_float***> HDI(
my_fields->HDI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> metal(
GRIMPL_NS::View<gr_float***> metal(
my_fields->metal_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> dust(
GRIMPL_NS::View<gr_float***> dust(
my_fields->dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> DM(
GRIMPL_NS::View<gr_float***> DM(
my_fields->DM_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HDII(
GRIMPL_NS::View<gr_float***> HDII(
my_fields->HDII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> HeHII(
GRIMPL_NS::View<gr_float***> HeHII(
my_fields->HeHII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> CI(
GRIMPL_NS::View<gr_float***> CI(
my_fields->CI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> CII(
GRIMPL_NS::View<gr_float***> CII(
my_fields->CII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> CO(
GRIMPL_NS::View<gr_float***> CO(
my_fields->CO_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> CO2(
GRIMPL_NS::View<gr_float***> CO2(
my_fields->CO2_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> OI(
GRIMPL_NS::View<gr_float***> OI(
my_fields->OI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> OH(
GRIMPL_NS::View<gr_float***> OH(
my_fields->OH_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> H2O(
GRIMPL_NS::View<gr_float***> H2O(
my_fields->H2O_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> O2(
GRIMPL_NS::View<gr_float***> O2(
my_fields->O2_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> SiI(
GRIMPL_NS::View<gr_float***> SiI(
my_fields->SiI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> SiOI(
GRIMPL_NS::View<gr_float***> SiOI(
my_fields->SiOI_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> SiO2I(
GRIMPL_NS::View<gr_float***> SiO2I(
my_fields->SiO2I_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> CH(
GRIMPL_NS::View<gr_float***> CH(
my_fields->CH_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> CH2(
GRIMPL_NS::View<gr_float***> CH2(
my_fields->CH2_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> COII(
GRIMPL_NS::View<gr_float***> COII(
my_fields->COII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> OII(
GRIMPL_NS::View<gr_float***> OII(
my_fields->OII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> OHII(
GRIMPL_NS::View<gr_float***> OHII(
my_fields->OHII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> H2OII(
GRIMPL_NS::View<gr_float***> H2OII(
my_fields->H2OII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> H3OII(
GRIMPL_NS::View<gr_float***> H3OII(
my_fields->H3OII_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> O2II(
GRIMPL_NS::View<gr_float***> O2II(
my_fields->O2II_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> Mg(
GRIMPL_NS::View<gr_float***> Mg(
my_fields->Mg_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> Al(
GRIMPL_NS::View<gr_float***> Al(
my_fields->Al_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> S(
GRIMPL_NS::View<gr_float***> S(
my_fields->S_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> Fe(
GRIMPL_NS::View<gr_float***> Fe(
my_fields->Fe_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> SiM(
GRIMPL_NS::View<gr_float***> SiM(
my_fields->SiM_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> FeM(
GRIMPL_NS::View<gr_float***> FeM(
my_fields->FeM_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> Mg2SiO4(
GRIMPL_NS::View<gr_float***> Mg2SiO4(
my_fields->Mg2SiO4_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> MgSiO3(
GRIMPL_NS::View<gr_float***> MgSiO3(
my_fields->MgSiO3_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> Fe3O4(
GRIMPL_NS::View<gr_float***> Fe3O4(
my_fields->Fe3O4_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> AC(
GRIMPL_NS::View<gr_float***> AC(
my_fields->AC_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> SiO2D(
GRIMPL_NS::View<gr_float***> SiO2D(
my_fields->SiO2_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> MgO(
GRIMPL_NS::View<gr_float***> MgO(
my_fields->MgO_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> FeS(
GRIMPL_NS::View<gr_float***> FeS(
my_fields->FeS_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> Al2O3(
GRIMPL_NS::View<gr_float***> Al2O3(
my_fields->Al2O3_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> reforg(
GRIMPL_NS::View<gr_float***> reforg(
my_fields->ref_org_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> volorg(
GRIMPL_NS::View<gr_float***> volorg(
my_fields->vol_org_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);
grackle::impl::View<gr_float***> H2Oice(
GRIMPL_NS::View<gr_float***> H2Oice(
my_fields->H2O_ice_dust_density, my_fields->grid_dimension[0],
my_fields->grid_dimension[1], my_fields->grid_dimension[2]);

Expand Down Expand Up @@ -337,6 +341,6 @@ inline void ceiling_species(int imetal, chemistry_data* my_chemistry,
return;
}

} // namespace grackle::impl
} // namespace GRIMPL_NAMESPACE_DECL

#endif /* CEILING_SPECIES_CPP_H */
Loading