mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-21 06:25:30 -04:00
Co-authored-by: John Tramm <jtramm@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Paul Romano <paul.k.romano@gmail.com> Co-authored-by: Copilot <copilot@github.com>
57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
#ifndef OPENMC_BANK_H
|
|
#define OPENMC_BANK_H
|
|
|
|
#include <cstdint>
|
|
|
|
#include "openmc/particle.h"
|
|
#include "openmc/position.h"
|
|
#include "openmc/shared_array.h"
|
|
#include "openmc/vector.h"
|
|
|
|
namespace openmc {
|
|
|
|
//==============================================================================
|
|
// Global variables
|
|
//==============================================================================
|
|
|
|
namespace simulation {
|
|
|
|
extern vector<SourceSite> source_bank;
|
|
|
|
extern SharedArray<SourceSite> surf_source_bank;
|
|
|
|
extern SharedArray<CollisionTrackSite> collision_track_bank;
|
|
|
|
extern SharedArray<SourceSite> fission_bank;
|
|
|
|
extern vector<vector<int>> ifp_source_delayed_group_bank;
|
|
|
|
extern vector<vector<double>> ifp_source_lifetime_bank;
|
|
|
|
extern vector<vector<int>> ifp_fission_delayed_group_bank;
|
|
|
|
extern vector<vector<double>> ifp_fission_lifetime_bank;
|
|
|
|
extern vector<int64_t> progeny_per_particle;
|
|
|
|
extern SharedArray<SourceSite> shared_secondary_bank_read;
|
|
extern SharedArray<SourceSite> shared_secondary_bank_write;
|
|
|
|
} // namespace simulation
|
|
|
|
//==============================================================================
|
|
// Non-member functions
|
|
//==============================================================================
|
|
|
|
void sort_bank(SharedArray<SourceSite>& bank, bool is_fission_bank);
|
|
|
|
void free_memory_bank();
|
|
|
|
void init_fission_bank(int64_t max);
|
|
|
|
int64_t synchronize_global_secondary_bank(
|
|
SharedArray<SourceSite>& shared_secondary_bank);
|
|
|
|
} // namespace openmc
|
|
|
|
#endif // OPENMC_BANK_H
|