Skip to content

Commit 142d9de

Browse files
committed
convert initialize_dust_yields.c to C++
1 parent 9c99bf9 commit 142d9de

File tree

6 files changed

+97
-78
lines changed

6 files changed

+97
-78
lines changed

.clang-format-ignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ src/clib/index_helper.h
3636
src/clib/initialize_UVbackground_data.c
3737
src/clib/initialize_chemistry_data.cpp
3838
src/clib/initialize_cloudy_data.c
39-
src/clib/initialize_dust_yields.c
39+
src/clib/initialize_dust_yields.cpp
4040
src/clib/initialize_metal_chemistry_rates.cpp
4141
src/clib/initialize_rates.cpp
4242
src/clib/internal_types.hpp

src/clib/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ add_library(Grackle_Grackle
9797
solve_chemistry.c
9898
status_reporting.c status_reporting.h
9999
update_UVbackground_rates.c
100-
initialize_dust_yields.c initialize_dust_yields.h
101100
rate_utils.c
102101
utils.c
103102

@@ -109,6 +108,7 @@ add_library(Grackle_Grackle
109108
# C++ Source (and Private Header Files)
110109
cool_multi_time_g-cpp.C cool_multi_time_g-cpp.h
111110
initialize_chemistry_data.cpp
111+
initialize_dust_yields.cpp initialize_dust_yields.hpp
112112
initialize_rates.cpp initialize_rates.hpp
113113
initialize_metal_chemistry_rates.cpp initialize_metal_chemistry_rates.hpp
114114
internal_types.C internal_types.hpp

src/clib/initialize_chemistry_data.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include "auto_general.h"
2222
#include "interp_table_utils.h" // free_interp_grid_
2323
#include "initialize_cloudy_data.h"
24-
#include "initialize_dust_yields.h"
24+
#include "initialize_dust_yields.hpp" // free_dust_yields
2525
#include "initialize_metal_chemistry_rates.hpp" // free_metal_chemistry_rates
2626
#include "initialize_rates.hpp"
2727
#include "initialize_UVbackground_data.h"
@@ -728,7 +728,7 @@ extern "C" int local_free_chemistry_data(chemistry_data *my_chemistry,
728728
return FAIL;
729729
}
730730

731-
if (local_free_dust_yields(my_chemistry, my_rates) == FAIL) {
731+
if (grackle::impl::free_dust_yields(my_chemistry, my_rates) == FAIL) {
732732
fprintf(stderr, "Error in local_free_dust_yields.\n");
733733
return FAIL;
734734
}

src/clib/initialize_dust_yields.c renamed to src/clib/initialize_dust_yields.cpp

Lines changed: 84 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// See the LICENSE file for license and copyright information
4+
// SPDX-License-Identifier: NCSA AND BSD-3-Clause
5+
//
6+
//===----------------------------------------------------------------------===//
7+
///
8+
/// @file
9+
/// Implements the functions to initialize the dust yields
10+
///
11+
//===----------------------------------------------------------------------===//
12+
113
#include <stdlib.h>
214
#include <stdio.h>
315
#include <math.h>
416
#include "grackle_macros.h"
517
#include "grackle_chemistry_data.h"
18+
#include "initialize_dust_yields.hpp" // forward declarations
19+
20+
// forward declare some functions
21+
22+
namespace { // stuff inside an anonymous namespace is local to this file
623

724
int calc_rates_dust_loc(int iSN, chemistry_data *my_chemistry, chemistry_data_storage *my_rates);
825
int calc_rates_dust_C13(int iSN, chemistry_data *my_chemistry, chemistry_data_storage *my_rates);
@@ -17,11 +34,13 @@ int calc_rates_dust_P170(int iSN, chemistry_data *my_chemistry, chemistry_data_s
1734
int calc_rates_dust_P200(int iSN, chemistry_data *my_chemistry, chemistry_data_storage *my_rates);
1835
int calc_rates_dust_Y19(int iSN, chemistry_data *my_chemistry, chemistry_data_storage *my_rates);
1936

37+
} // anonymous namespace
38+
2039
typedef int calc_yield_rate_fn(int, chemistry_data*, chemistry_data_storage*);
2140

22-
int initialize_dust_yields(chemistry_data *my_chemistry,
23-
chemistry_data_storage *my_rates,
24-
code_units *my_units)
41+
int grackle::impl::initialize_dust_yields(chemistry_data *my_chemistry,
42+
chemistry_data_storage *my_rates,
43+
code_units *my_units)
2544
{
2645

2746
if (my_chemistry->metal_chemistry == 0)
@@ -50,35 +69,35 @@ int initialize_dust_yields(chemistry_data *my_chemistry,
5069
NSN = 12;
5170
my_rates->SN0_N = NSN;
5271

53-
my_rates->SN0_XC = malloc(NSN * sizeof(double));
54-
my_rates->SN0_XO = malloc(NSN * sizeof(double));
55-
my_rates->SN0_XMg = malloc(NSN * sizeof(double));
56-
my_rates->SN0_XAl = malloc(NSN * sizeof(double));
57-
my_rates->SN0_XSi = malloc(NSN * sizeof(double));
58-
my_rates->SN0_XS = malloc(NSN * sizeof(double));
59-
my_rates->SN0_XFe = malloc(NSN * sizeof(double));
60-
61-
my_rates->SN0_fC = malloc(NSN * sizeof(double));
62-
my_rates->SN0_fO = malloc(NSN * sizeof(double));
63-
my_rates->SN0_fMg = malloc(NSN * sizeof(double));
64-
my_rates->SN0_fAl = malloc(NSN * sizeof(double));
65-
my_rates->SN0_fSi = malloc(NSN * sizeof(double));
66-
my_rates->SN0_fS = malloc(NSN * sizeof(double));
67-
my_rates->SN0_fFe = malloc(NSN * sizeof(double));
68-
69-
my_rates->SN0_fSiM = malloc(NSN * sizeof(double));
70-
my_rates->SN0_fFeM = malloc(NSN * sizeof(double));
71-
my_rates->SN0_fMg2SiO4 = malloc(NSN * sizeof(double));
72-
my_rates->SN0_fMgSiO3 = malloc(NSN * sizeof(double));
73-
my_rates->SN0_fFe3O4 = malloc(NSN * sizeof(double));
74-
my_rates->SN0_fAC = malloc(NSN * sizeof(double));
75-
my_rates->SN0_fSiO2D = malloc(NSN * sizeof(double));
76-
my_rates->SN0_fMgO = malloc(NSN * sizeof(double));
77-
my_rates->SN0_fFeS = malloc(NSN * sizeof(double));
78-
my_rates->SN0_fAl2O3 = malloc(NSN * sizeof(double));
79-
my_rates->SN0_freforg = malloc(NSN * sizeof(double));
80-
my_rates->SN0_fvolorg = malloc(NSN * sizeof(double));
81-
my_rates->SN0_fH2Oice = malloc(NSN * sizeof(double));
72+
my_rates->SN0_XC = (double*)(NSN * sizeof(double));
73+
my_rates->SN0_XO = (double*)(NSN * sizeof(double));
74+
my_rates->SN0_XMg = (double*)(NSN * sizeof(double));
75+
my_rates->SN0_XAl = (double*)(NSN * sizeof(double));
76+
my_rates->SN0_XSi = (double*)(NSN * sizeof(double));
77+
my_rates->SN0_XS = (double*)(NSN * sizeof(double));
78+
my_rates->SN0_XFe = (double*)(NSN * sizeof(double));
79+
80+
my_rates->SN0_fC = (double*)(NSN * sizeof(double));
81+
my_rates->SN0_fO = (double*)(NSN * sizeof(double));
82+
my_rates->SN0_fMg = (double*)(NSN * sizeof(double));
83+
my_rates->SN0_fAl = (double*)(NSN * sizeof(double));
84+
my_rates->SN0_fSi = (double*)(NSN * sizeof(double));
85+
my_rates->SN0_fS = (double*)(NSN * sizeof(double));
86+
my_rates->SN0_fFe = (double*)(NSN * sizeof(double));
87+
88+
my_rates->SN0_fSiM = (double*)(NSN * sizeof(double));
89+
my_rates->SN0_fFeM = (double*)(NSN * sizeof(double));
90+
my_rates->SN0_fMg2SiO4 = (double*)(NSN * sizeof(double));
91+
my_rates->SN0_fMgSiO3 = (double*)(NSN * sizeof(double));
92+
my_rates->SN0_fFe3O4 = (double*)(NSN * sizeof(double));
93+
my_rates->SN0_fAC = (double*)(NSN * sizeof(double));
94+
my_rates->SN0_fSiO2D = (double*)(NSN * sizeof(double));
95+
my_rates->SN0_fMgO = (double*)(NSN * sizeof(double));
96+
my_rates->SN0_fFeS = (double*)(NSN * sizeof(double));
97+
my_rates->SN0_fAl2O3 = (double*)(NSN * sizeof(double));
98+
my_rates->SN0_freforg = (double*)(NSN * sizeof(double));
99+
my_rates->SN0_fvolorg = (double*)(NSN * sizeof(double));
100+
my_rates->SN0_fH2Oice = (double*)(NSN * sizeof(double));
82101

83102
for(iSN = 0; iSN < NSN; iSN++) {
84103
my_rates->SN0_XC [iSN] = 0.0;
@@ -112,19 +131,19 @@ int initialize_dust_yields(chemistry_data *my_chemistry,
112131
my_rates->SN0_fH2Oice [iSN] = 0.0;
113132
}
114133

115-
my_rates->SN0_r0SiM = malloc(NSN * 3 * sizeof(double));
116-
my_rates->SN0_r0FeM = malloc(NSN * 3 * sizeof(double));
117-
my_rates->SN0_r0Mg2SiO4 = malloc(NSN * 3 * sizeof(double));
118-
my_rates->SN0_r0MgSiO3 = malloc(NSN * 3 * sizeof(double));
119-
my_rates->SN0_r0Fe3O4 = malloc(NSN * 3 * sizeof(double));
120-
my_rates->SN0_r0AC = malloc(NSN * 3 * sizeof(double));
121-
my_rates->SN0_r0SiO2D = malloc(NSN * 3 * sizeof(double));
122-
my_rates->SN0_r0MgO = malloc(NSN * 3 * sizeof(double));
123-
my_rates->SN0_r0FeS = malloc(NSN * 3 * sizeof(double));
124-
my_rates->SN0_r0Al2O3 = malloc(NSN * 3 * sizeof(double));
125-
my_rates->SN0_r0reforg = malloc(NSN * 3 * sizeof(double));
126-
my_rates->SN0_r0volorg = malloc(NSN * 3 * sizeof(double));
127-
my_rates->SN0_r0H2Oice = malloc(NSN * 3 * sizeof(double));
134+
my_rates->SN0_r0SiM = (double*)(NSN * 3 * sizeof(double));
135+
my_rates->SN0_r0FeM = (double*)(NSN * 3 * sizeof(double));
136+
my_rates->SN0_r0Mg2SiO4 = (double*)(NSN * 3 * sizeof(double));
137+
my_rates->SN0_r0MgSiO3 = (double*)(NSN * 3 * sizeof(double));
138+
my_rates->SN0_r0Fe3O4 = (double*)(NSN * 3 * sizeof(double));
139+
my_rates->SN0_r0AC = (double*)(NSN * 3 * sizeof(double));
140+
my_rates->SN0_r0SiO2D = (double*)(NSN * 3 * sizeof(double));
141+
my_rates->SN0_r0MgO = (double*)(NSN * 3 * sizeof(double));
142+
my_rates->SN0_r0FeS = (double*)(NSN * 3 * sizeof(double));
143+
my_rates->SN0_r0Al2O3 = (double*)(NSN * 3 * sizeof(double));
144+
my_rates->SN0_r0reforg = (double*)(NSN * 3 * sizeof(double));
145+
my_rates->SN0_r0volorg = (double*)(NSN * 3 * sizeof(double));
146+
my_rates->SN0_r0H2Oice = (double*)(NSN * 3 * sizeof(double));
128147

129148
itab = 0;
130149
for(iSN = 0; iSN < NSN; iSN++) {
@@ -151,27 +170,27 @@ int initialize_dust_yields(chemistry_data *my_chemistry,
151170
dTd = 0.1000000;
152171
Nmom = 4;
153172

154-
my_rates->gr_Td = malloc(NTd * Nmom * sizeof(double));
173+
my_rates->gr_Td = (double*)(NTd * Nmom * sizeof(double));
155174
my_rates->gr_Size = NTd * Nmom;
156175
my_rates->gr_N[0] = Nmom;
157176
my_rates->gr_N[1] = NTd;
158177
my_rates->gr_dT = dTd;
159178
for(iTd = 0; iTd < NTd; iTd++)
160179
my_rates->gr_Td[iTd] = Td0 + (double)iTd * dTd;
161180

162-
my_rates->SN0_kpSiM = malloc(NSN * Nmom * NTd * sizeof(double));
163-
my_rates->SN0_kpFeM = malloc(NSN * Nmom * NTd * sizeof(double));
164-
my_rates->SN0_kpMg2SiO4 = malloc(NSN * Nmom * NTd * sizeof(double));
165-
my_rates->SN0_kpMgSiO3 = malloc(NSN * Nmom * NTd * sizeof(double));
166-
my_rates->SN0_kpFe3O4 = malloc(NSN * Nmom * NTd * sizeof(double));
167-
my_rates->SN0_kpAC = malloc(NSN * Nmom * NTd * sizeof(double));
168-
my_rates->SN0_kpSiO2D = malloc(NSN * Nmom * NTd * sizeof(double));
169-
my_rates->SN0_kpMgO = malloc(NSN * Nmom * NTd * sizeof(double));
170-
my_rates->SN0_kpFeS = malloc(NSN * Nmom * NTd * sizeof(double));
171-
my_rates->SN0_kpAl2O3 = malloc(NSN * Nmom * NTd * sizeof(double));
172-
my_rates->SN0_kpreforg = malloc(NSN * Nmom * NTd * sizeof(double));
173-
my_rates->SN0_kpvolorg = malloc(NSN * Nmom * NTd * sizeof(double));
174-
my_rates->SN0_kpH2Oice = malloc(NSN * Nmom * NTd * sizeof(double));
181+
my_rates->SN0_kpSiM = (double*)(NSN * Nmom * NTd * sizeof(double));
182+
my_rates->SN0_kpFeM = (double*)(NSN * Nmom * NTd * sizeof(double));
183+
my_rates->SN0_kpMg2SiO4 = (double*)(NSN * Nmom * NTd * sizeof(double));
184+
my_rates->SN0_kpMgSiO3 = (double*)(NSN * Nmom * NTd * sizeof(double));
185+
my_rates->SN0_kpFe3O4 = (double*)(NSN * Nmom * NTd * sizeof(double));
186+
my_rates->SN0_kpAC = (double*)(NSN * Nmom * NTd * sizeof(double));
187+
my_rates->SN0_kpSiO2D = (double*)(NSN * Nmom * NTd * sizeof(double));
188+
my_rates->SN0_kpMgO = (double*)(NSN * Nmom * NTd * sizeof(double));
189+
my_rates->SN0_kpFeS = (double*)(NSN * Nmom * NTd * sizeof(double));
190+
my_rates->SN0_kpAl2O3 = (double*)(NSN * Nmom * NTd * sizeof(double));
191+
my_rates->SN0_kpreforg = (double*)(NSN * Nmom * NTd * sizeof(double));
192+
my_rates->SN0_kpvolorg = (double*)(NSN * Nmom * NTd * sizeof(double));
193+
my_rates->SN0_kpH2Oice = (double*)(NSN * Nmom * NTd * sizeof(double));
175194

176195
itab = 0;
177196
for(iSN = 0; iSN < NSN; iSN++) {
@@ -212,8 +231,8 @@ int initialize_dust_yields(chemistry_data *my_chemistry,
212231
return SUCCESS;
213232
}
214233

215-
int local_free_dust_yields(chemistry_data *my_chemistry,
216-
chemistry_data_storage *my_rates)
234+
int grackle::impl::free_dust_yields(chemistry_data *my_chemistry,
235+
chemistry_data_storage *my_rates)
217236
{
218237

219238
if (my_chemistry->metal_chemistry == 0)
@@ -282,6 +301,8 @@ int local_free_dust_yields(chemistry_data *my_chemistry,
282301
return SUCCESS;
283302
}
284303

304+
namespace { // stuff inside an anonymous namespace is local to this file
305+
285306
int calc_rates_dust_loc(int iSN, chemistry_data *my_chemistry, chemistry_data_storage *my_rates)
286307
{
287308

@@ -4367,3 +4388,5 @@ int calc_rates_dust_Y19(int iSN, chemistry_data *my_chemistry, chemistry_data_st
43674388

43684389
return SUCCESS;
43694390
}
4391+
4392+
} // anonymous namespace

src/clib/initialize_dust_yields.h renamed to src/clib/initialize_dust_yields.hpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,20 @@
1010
///
1111
//===----------------------------------------------------------------------===//
1212

13-
#ifndef INITIALIZE_DUST_YIELDS_H
14-
#define INITIALIZE_DUST_YIELDS_H
13+
#ifndef INITIALIZE_DUST_YIELDS_HPP
14+
#define INITIALIZE_DUST_YIELDS_HPP
1515

1616
#include "grackle.h"
1717

18-
#ifdef __cplusplus
19-
extern "C" {
20-
#endif /* __cplusplus */
18+
namespace grackle::impl {
2119

2220
int initialize_dust_yields(chemistry_data* my_chemistry,
2321
chemistry_data_storage* my_rates,
2422
code_units* my_units);
2523

26-
int local_free_dust_yields(chemistry_data* my_chemistry,
27-
chemistry_data_storage* my_rates);
24+
int free_dust_yields(chemistry_data* my_chemistry,
25+
chemistry_data_storage* my_rates);
2826

29-
#ifdef __cplusplus
30-
} // extern "C"
31-
#endif /* __cplusplus */
27+
} // namespace grackle::impl
3228

33-
#endif /* INITIALIZE_DUST_YIELDS_H */
29+
#endif /* INITIALIZE_DUST_YIELDS_HPP */

src/clib/initialize_rates.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
#include "grackle.h"
8787
#include "grackle_macros.h"
8888
#include "grackle_rate_functions.h"
89-
#include "initialize_dust_yields.h"
89+
#include "initialize_dust_yields.hpp" // initialize_dust_yields
9090
#include "initialize_metal_chemistry_rates.hpp" // initialize_metal_chemistry_rates
9191
#include "initialize_rates.hpp"
9292
#include "phys_constants.h"
@@ -575,7 +575,7 @@ int grackle::impl::initialize_rates(
575575
return FAIL;
576576
}
577577
/* Dust rates */
578-
if (initialize_dust_yields(my_chemistry, my_rates, my_units) == FAIL) {
578+
if (grackle::impl::initialize_dust_yields(my_chemistry, my_rates, my_units) == FAIL) {
579579
fprintf(stderr, "Error in initialize_dust_yields.\n");
580580
return FAIL;
581581
}

0 commit comments

Comments
 (0)