• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openmc-dev / openmc / 13344433530

15 Feb 2025 11:03AM UTC coverage: 84.938% (-0.03%) from 84.969%
13344433530

Pull #3305

github

web-flow
Merge 49da803a6 into 11587786e
Pull Request #3305: New Feature Development: Introduction of the CLSCell Class( #3286 )

4 of 26 new or added lines in 1 file covered. (15.38%)

218 existing lines in 6 files now uncovered.

50245 of 59155 relevant lines covered (84.94%)

35373994.5 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

99.29
/src/finalize.cpp
1
#include "openmc/finalize.h"
2

3
#include "openmc/bank.h"
4
#include "openmc/capi.h"
5
#include "openmc/cmfd_solver.h"
6
#include "openmc/constants.h"
7
#include "openmc/cross_sections.h"
8
#include "openmc/dagmc.h"
9
#include "openmc/eigenvalue.h"
10
#include "openmc/event.h"
11
#include "openmc/geometry.h"
12
#include "openmc/geometry_aux.h"
13
#include "openmc/material.h"
14
#include "openmc/mesh.h"
15
#include "openmc/message_passing.h"
16
#include "openmc/nuclide.h"
17
#include "openmc/photon.h"
18
#include "openmc/plot.h"
19
#include "openmc/random_lcg.h"
20
#include "openmc/settings.h"
21
#include "openmc/simulation.h"
22
#include "openmc/source.h"
23
#include "openmc/surface.h"
24
#include "openmc/tallies/tally.h"
25
#include "openmc/thermal.h"
26
#include "openmc/timer.h"
27
#include "openmc/volume_calc.h"
28
#include "openmc/weight_windows.h"
29

30
#include "xtensor/xview.hpp"
31

32
namespace openmc {
33

34
void free_memory()
6,990✔
35
{
36
  free_memory_geometry();
6,990✔
37
  free_memory_surfaces();
6,990✔
38
  free_memory_material();
6,990✔
39
  free_memory_volume();
6,990✔
40
  free_memory_simulation();
6,990✔
41
  free_memory_photon();
6,990✔
42
  free_memory_settings();
6,990✔
43
  free_memory_thermal();
6,990✔
44
  library_clear();
6,990✔
45
  nuclides_clear();
6,990✔
46
  free_memory_source();
6,990✔
47
  free_memory_mesh();
6,990✔
48
  free_memory_tally();
6,990✔
49
  free_memory_bank();
6,990✔
50
  free_memory_plot();
6,990✔
51
  free_memory_weight_windows();
6,990✔
52
  if (mpi::master) {
6,990✔
53
    free_memory_cmfd();
6,095✔
54
  }
55
  if (settings::event_based) {
6,990✔
UNCOV
56
    free_event_queues();
×
57
  }
58
}
6,990✔
59

60
} // namespace openmc
61

62
using namespace openmc;
63

64
int openmc_finalize()
6,990✔
65
{
66
  if (simulation::initialized)
6,990✔
67
    openmc_simulation_finalize();
3✔
68

69
  // Clear results
70
  openmc_reset();
6,990✔
71

72
  // Reset timers
73
  reset_timers();
6,990✔
74

75
  // Reset global variables
76
  settings::assume_separate = false;
6,990✔
77
  settings::check_overlaps = false;
6,990✔
78
  settings::confidence_intervals = false;
6,990✔
79
  settings::create_fission_neutrons = true;
6,990✔
80
  settings::create_delayed_neutrons = true;
6,990✔
81
  settings::electron_treatment = ElectronTreatment::LED;
6,990✔
82
  settings::delayed_photon_scaling = true;
6,990✔
83
  settings::energy_cutoff = {0.0, 1000.0, 0.0, 0.0};
6,990✔
84
  settings::time_cutoff = {INFTY, INFTY, INFTY, INFTY};
6,990✔
85
  settings::entropy_on = false;
6,990✔
86
  settings::event_based = false;
6,990✔
87
  settings::gen_per_batch = 1;
6,990✔
88
  settings::legendre_to_tabular = true;
6,990✔
89
  settings::legendre_to_tabular_points = -1;
6,990✔
90
  settings::material_cell_offsets = true;
6,990✔
91
  settings::max_lost_particles = 10;
6,990✔
92
  settings::max_order = 0;
6,990✔
93
  settings::max_particles_in_flight = 100000;
6,990✔
94
  settings::max_particle_events = 1'000'000;
6,990✔
95
  settings::max_history_splits = 10'000'000;
6,990✔
96
  settings::max_tracks = 1000;
6,990✔
97
  settings::max_write_lost_particles = -1;
6,990✔
98
  settings::n_log_bins = 8000;
6,990✔
99
  settings::n_inactive = 0;
6,990✔
100
  settings::n_particles = -1;
6,990✔
101
  settings::output_summary = true;
6,990✔
102
  settings::output_tallies = true;
6,990✔
103
  settings::particle_restart_run = false;
6,990✔
104
  settings::path_cross_sections.clear();
6,990✔
105
  settings::path_input.clear();
6,990✔
106
  settings::path_output.clear();
6,990✔
107
  settings::path_particle_restart.clear();
6,990✔
108
  settings::path_sourcepoint.clear();
6,990✔
109
  settings::path_statepoint.clear();
6,990✔
110
  settings::photon_transport = false;
6,990✔
111
  settings::reduce_tallies = true;
6,990✔
112
  settings::rel_max_lost_particles = 1.0e-6;
6,990✔
113
  settings::res_scat_on = false;
6,990✔
114
  settings::res_scat_method = ResScatMethod::rvs;
6,990✔
115
  settings::res_scat_energy_min = 0.01;
6,990✔
116
  settings::res_scat_energy_max = 1000.0;
6,990✔
117
  settings::restart_run = false;
6,990✔
118
  settings::run_CE = true;
6,990✔
119
  settings::run_mode = RunMode::UNSET;
6,990✔
120
  settings::source_latest = false;
6,990✔
121
  settings::source_separate = false;
6,990✔
122
  settings::source_write = true;
6,990✔
123
  settings::ssw_cell_id = C_NONE;
6,990✔
124
  settings::ssw_cell_type = SSWCellType::None;
6,990✔
125
  settings::ssw_max_particles = 0;
6,990✔
126
  settings::ssw_max_files = 1;
6,990✔
127
  settings::survival_biasing = false;
6,990✔
128
  settings::temperature_default = 293.6;
6,990✔
129
  settings::temperature_method = TemperatureMethod::NEAREST;
6,990✔
130
  settings::temperature_multipole = false;
6,990✔
131
  settings::temperature_range = {0.0, 0.0};
6,990✔
132
  settings::temperature_tolerance = 10.0;
6,990✔
133
  settings::trigger_on = false;
6,990✔
134
  settings::trigger_predict = false;
6,990✔
135
  settings::trigger_batch_interval = 1;
6,990✔
136
  settings::uniform_source_sampling = false;
6,990✔
137
  settings::ufs_on = false;
6,990✔
138
  settings::urr_ptables_on = true;
6,990✔
139
  settings::verbosity = 7;
6,990✔
140
  settings::weight_cutoff = 0.25;
6,990✔
141
  settings::weight_survive = 1.0;
6,990✔
142
  settings::weight_windows_file.clear();
6,990✔
143
  settings::weight_windows_on = false;
6,990✔
144
  settings::write_all_tracks = false;
6,990✔
145
  settings::write_initial_source = false;
6,990✔
146

147
  simulation::keff = 1.0;
6,990✔
148
  simulation::need_depletion_rx = false;
6,990✔
149
  simulation::ssw_current_file = 1;
6,990✔
150
  simulation::total_gen = 0;
6,990✔
151

152
  simulation::entropy_mesh = nullptr;
6,990✔
153
  simulation::ufs_mesh = nullptr;
6,990✔
154

155
  data::energy_max = {INFTY, INFTY};
6,990✔
156
  data::energy_min = {0.0, 0.0};
6,990✔
157
  data::temperature_min = 0.0;
6,990✔
158
  data::temperature_max = INFTY;
6,990✔
159
  model::root_universe = -1;
6,990✔
160
  model::plotter_seed = 1;
6,990✔
161
  openmc::openmc_set_seed(DEFAULT_SEED);
6,990✔
162

163
  // Deallocate arrays
164
  free_memory();
6,990✔
165

166
#ifdef LIBMESH
167
  settings::libmesh_init.reset();
1,244✔
168
#endif
169

170
  // Free all MPI types
171
#ifdef OPENMC_MPI
172
  if (mpi::source_site != MPI_DATATYPE_NULL)
3,646✔
173
    MPI_Type_free(&mpi::source_site);
3,562✔
174
#endif
175

176
  return 0;
6,990✔
177
}
178

179
int openmc_reset()
14,229✔
180
{
181

182
  model::universe_cell_counts.clear();
14,229✔
183
  model::universe_level_counts.clear();
14,229✔
184

185
  for (auto& t : model::tallies) {
70,134✔
186
    t->reset();
55,905✔
187
  }
188

189
  // Reset global tallies
190
  simulation::n_realizations = 0;
14,229✔
191
  xt::view(simulation::global_tallies, xt::all()) = 0.0;
14,229✔
192

193
  simulation::k_col_abs = 0.0;
14,229✔
194
  simulation::k_col_tra = 0.0;
14,229✔
195
  simulation::k_abs_tra = 0.0;
14,229✔
196
  simulation::k_sum = {0.0, 0.0};
14,229✔
197
  simulation::satisfy_triggers = false;
14,229✔
198

199
  settings::cmfd_run = false;
14,229✔
200

201
  simulation::n_lost_particles = 0;
14,229✔
202

203
  return 0;
14,229✔
204
}
205

206
int openmc_reset_timers()
243✔
207
{
208
  reset_timers();
243✔
209
  return 0;
243✔
210
}
211

212
int openmc_hard_reset()
204✔
213
{
214
  // Reset all tallies and timers
215
  openmc_reset();
204✔
216
  reset_timers();
204✔
217

218
  // Reset total generations and keff guess
219
  simulation::keff = 1.0;
204✔
220
  simulation::total_gen = 0;
204✔
221

222
  // Reset the random number generator state
223
  openmc::openmc_set_seed(DEFAULT_SEED);
204✔
224
  return 0;
204✔
225
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc