mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-25 20:45:35 -04:00
Use Position and Direction in Particle class
This commit is contained in:
parent
477309c917
commit
368f89697d
45 changed files with 423 additions and 487 deletions
|
|
@ -140,9 +140,9 @@ SourceDistribution::SourceDistribution(pugi::xml_node node)
|
|||
}
|
||||
|
||||
|
||||
Bank SourceDistribution::sample() const
|
||||
Particle::Bank SourceDistribution::sample() const
|
||||
{
|
||||
Bank site;
|
||||
Particle::Bank site;
|
||||
|
||||
// Set weight to one by default
|
||||
site.wgt = 1.0;
|
||||
|
|
@ -153,17 +153,14 @@ Bank SourceDistribution::sample() const
|
|||
static int n_accept = 0;
|
||||
while (!found) {
|
||||
// Set particle type
|
||||
site.particle = static_cast<int>(particle_);
|
||||
site.particle = particle_;
|
||||
|
||||
// Sample spatial distribution
|
||||
Position r = space_->sample();
|
||||
site.xyz[0] = r.x;
|
||||
site.xyz[1] = r.y;
|
||||
site.xyz[2] = r.z;
|
||||
site.r = space_->sample();
|
||||
|
||||
// Now search to see if location exists in geometry
|
||||
int32_t cell_index, instance;
|
||||
int err = openmc_find_cell(site.xyz, &cell_index, &instance);
|
||||
int err = openmc_find_cell(&site.r.x, &cell_index, &instance);
|
||||
found = (err != OPENMC_E_GEOMETRY);
|
||||
|
||||
// Check if spatial site is in fissionable material
|
||||
|
|
@ -200,10 +197,7 @@ Bank SourceDistribution::sample() const
|
|||
++n_accept;
|
||||
|
||||
// Sample angle
|
||||
Direction u = angle_->sample();
|
||||
site.uvw[0] = u.x;
|
||||
site.uvw[1] = u.y;
|
||||
site.uvw[2] = u.z;
|
||||
site.u = angle_->sample();
|
||||
|
||||
// Check for monoenergetic source above maximum particle energy
|
||||
auto p = static_cast<int>(particle_);
|
||||
|
|
@ -290,7 +284,7 @@ void initialize_source()
|
|||
}
|
||||
}
|
||||
|
||||
Bank sample_external_source()
|
||||
Particle::Bank sample_external_source()
|
||||
{
|
||||
// Set the random number generator to the source stream.
|
||||
prn_set_stream(STREAM_SOURCE);
|
||||
|
|
@ -312,7 +306,7 @@ Bank sample_external_source()
|
|||
}
|
||||
|
||||
// Sample source site from i-th source distribution
|
||||
Bank site {model::external_sources[i].sample()};
|
||||
Particle::Bank site {model::external_sources[i].sample()};
|
||||
|
||||
// If running in MG, convert site % E to group
|
||||
if (!settings::run_CE) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue