mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Make data members of filter protected/private
This commit is contained in:
parent
c68052da6b
commit
6984b695c0
5 changed files with 34 additions and 26 deletions
|
|
@ -97,20 +97,28 @@ public:
|
|||
//----------------------------------------------------------------------------
|
||||
// Accessors
|
||||
|
||||
//! Get unique ID of filter
|
||||
//! \return Unique ID
|
||||
int32_t id() const { return id_; }
|
||||
|
||||
//! Assign a unique ID to the filter
|
||||
//! \param[in] Unique ID to assign. A value of -1 indicates that an ID should
|
||||
//! be automatically assigned
|
||||
void set_id(int32_t id);
|
||||
|
||||
//! Get number of bins
|
||||
//! \return Number of bins
|
||||
int n_bins() const { return n_bins_; }
|
||||
|
||||
gsl::index index() const { return index_; }
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Data members
|
||||
|
||||
int32_t id_ {-1};
|
||||
|
||||
protected:
|
||||
int n_bins_;
|
||||
private:
|
||||
int32_t id_ {-1};
|
||||
gsl::index index_;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -141,13 +141,13 @@ openmc_statepoint_write(const char* filename, bool* write_source)
|
|||
std::vector<int32_t> filter_ids;
|
||||
filter_ids.reserve(model::tally_filters.size());
|
||||
for (const auto& filt : model::tally_filters)
|
||||
filter_ids.push_back(filt->id_);
|
||||
filter_ids.push_back(filt->id());
|
||||
write_attribute(filters_group, "ids", filter_ids);
|
||||
|
||||
// Write info for each filter
|
||||
for (const auto& filt : model::tally_filters) {
|
||||
hid_t filter_group = create_group(filters_group,
|
||||
"filter " + std::to_string(filt->id_));
|
||||
"filter " + std::to_string(filt->id()));
|
||||
filt->to_statepoint(filter_group);
|
||||
close_group(filter_group);
|
||||
}
|
||||
|
|
@ -188,7 +188,7 @@ openmc_statepoint_write(const char* filename, bool* write_source)
|
|||
std::vector<int32_t> filter_ids;
|
||||
filter_ids.reserve(tally.filters().size());
|
||||
for (auto i_filt : tally.filters())
|
||||
filter_ids.push_back(model::tally_filters[i_filt]->id_);
|
||||
filter_ids.push_back(model::tally_filters[i_filt]->id());
|
||||
write_dataset(tally_group, "filters", filter_ids);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ openmc_filter_get_id(int32_t index, int32_t* id)
|
|||
{
|
||||
if (int err = verify_filter(index)) return err;
|
||||
|
||||
*id = model::tally_filters[index]->id_;
|
||||
*id = model::tally_filters[index]->id();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -233,7 +233,7 @@ openmc_get_filter_next_id(int32_t* id)
|
|||
{
|
||||
int32_t largest_filter_id = 0;
|
||||
for (const auto& t : model::tally_filters) {
|
||||
largest_filter_id = std::max(largest_filter_id, t->id_);
|
||||
largest_filter_id = std::max(largest_filter_id, t->id());
|
||||
}
|
||||
*id = largest_filter_id + 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -523,7 +523,7 @@ Tally::set_filters(gsl::span<Filter*> filters)
|
|||
for (int i = 0; i < n; ++i) {
|
||||
// Add index to vector of filters
|
||||
auto& f {filters[i]};
|
||||
filters_.push_back(model::filter_map.at(f->id_));
|
||||
filters_.push_back(model::filter_map.at(f->id()));
|
||||
|
||||
// Keep track of indices for special filters.
|
||||
if (dynamic_cast<const EnergyoutFilter*>(f)) {
|
||||
|
|
@ -540,7 +540,7 @@ Tally::set_filters(gsl::span<Filter*> filters)
|
|||
int stride = 1;
|
||||
for (int i = n-1; i >= 0; --i) {
|
||||
strides_[i] = stride;
|
||||
stride *= model::tally_filters[filters_[i]]->n_bins_;
|
||||
stride *= model::tally_filters[filters_[i]]->n_bins();
|
||||
}
|
||||
n_filter_bins_ = stride;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ FilterBinIter::FilterBinIter(const Tally& tally, bool end)
|
|||
if (!match.bins_present_) {
|
||||
match.bins_.clear();
|
||||
match.weights_.clear();
|
||||
for (auto i = 0; i < model::tally_filters[i_filt]->n_bins_; ++i) {
|
||||
for (auto i = 0; i < model::tally_filters[i_filt]->n_bins(); ++i) {
|
||||
match.bins_.push_back(i);
|
||||
match.weights_.push_back(1.0);
|
||||
}
|
||||
|
|
@ -216,7 +216,7 @@ score_fission_eout(const Particle* p, int i_tally, int i_score, int score_bin)
|
|||
|
||||
// modify the value so that g_out = 1 corresponds to the highest energy
|
||||
// bin
|
||||
g_out = eo_filt.n_bins_ - g_out;
|
||||
g_out = eo_filt.n_bins() - g_out;
|
||||
|
||||
// change outgoing energy bin
|
||||
simulation::filter_matches[i_eout_filt].bins_[i_bin] = g_out;
|
||||
|
|
@ -272,7 +272,7 @@ score_fission_eout(const Particle* p, int i_tally, int i_score, int score_bin)
|
|||
model::tally_filters[i_dg_filt].get())};
|
||||
|
||||
// Loop over delayed group bins until the corresponding bin is found
|
||||
for (auto d_bin = 0; d_bin < dg_filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < dg_filt.n_bins(); ++d_bin) {
|
||||
if (dg_filt.groups_[d_bin] == g) {
|
||||
// Find the filter index and weight for this filter combination
|
||||
double filter_weight = 1.;
|
||||
|
|
@ -632,7 +632,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
auto yield = data::nuclides[p->event_nuclide_]
|
||||
->nu(E, ReactionProduct::EmissionMode::delayed, d);
|
||||
|
|
@ -670,7 +670,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
score = simulation::keff * p->wgt_bank_ / p->n_bank_
|
||||
* p->n_delayed_bank_[d-1] * flux;
|
||||
|
|
@ -693,7 +693,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
auto yield = data::nuclides[i_nuclide]
|
||||
->nu(E, ReactionProduct::EmissionMode::delayed, d);
|
||||
|
|
@ -722,7 +722,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
auto j_nuclide = material.nuclide_[i];
|
||||
auto atom_density = material.atom_density_(i);
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
auto yield = data::nuclides[j_nuclide]
|
||||
->nu(E, ReactionProduct::EmissionMode::delayed, d);
|
||||
|
|
@ -770,7 +770,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
auto yield
|
||||
= nuc.nu(E, ReactionProduct::EmissionMode::delayed, d);
|
||||
|
|
@ -830,7 +830,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Find the corresponding filter bin and then score
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
if (d == g)
|
||||
score_fission_delayed_dg(i_tally, d_bin, score,
|
||||
|
|
@ -852,7 +852,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
auto yield
|
||||
= nuc.nu(E, ReactionProduct::EmissionMode::delayed, d);
|
||||
|
|
@ -892,7 +892,7 @@ score_general_ce(Particle* p, int i_tally, int start_index,
|
|||
if (nuc.fissionable_) {
|
||||
const auto& rxn {*nuc.fission_rx_[0]};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
auto yield
|
||||
= nuc.nu(E, ReactionProduct::EmissionMode::delayed, d);
|
||||
|
|
@ -1757,7 +1757,7 @@ score_general_mg(const Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
score = p->wgt_absorb_ * flux;
|
||||
if (i_nuclide >= 0) {
|
||||
|
|
@ -1807,7 +1807,7 @@ score_general_mg(const Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
score = simulation::keff * p->wgt_bank_ / p->n_bank_
|
||||
* p->n_delayed_bank_[d-1] * flux;
|
||||
|
|
@ -1839,7 +1839,7 @@ score_general_mg(const Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
if (i_nuclide >= 0) {
|
||||
score = flux * atom_density
|
||||
|
|
@ -1879,7 +1879,7 @@ score_general_mg(const Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
score = p->wgt_absorb_ * flux;
|
||||
if (i_nuclide >= 0) {
|
||||
|
|
@ -1959,7 +1959,7 @@ score_general_mg(const Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Find the corresponding filter bin and then score
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
if (d == g)
|
||||
score_fission_delayed_dg(i_tally, d_bin, score,
|
||||
|
|
@ -1978,7 +1978,7 @@ score_general_mg(const Particle* p, int i_tally, int start_index,
|
|||
{*dynamic_cast<DelayedGroupFilter*>(
|
||||
model::tally_filters[i_dg_filt].get())};
|
||||
// Tally each delayed group bin individually
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins_; ++d_bin) {
|
||||
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
|
||||
auto d = filt.groups_[d_bin];
|
||||
if (i_nuclide >= 0) {
|
||||
score += atom_density * flux
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue