Python source class refactor (#2524)

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
This commit is contained in:
Patrick Shriwise 2023-06-20 21:27:55 -05:00 committed by GitHub
parent ee7b95245a
commit eda39ad9ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
146 changed files with 648 additions and 4310 deletions

View file

@ -5,8 +5,7 @@
#include "openmc/random_lcg.h"
#include "openmc/source.h"
class CustomSource : public openmc::Source
{
class CustomSource : public openmc::Source {
openmc::SourceSite sample(uint64_t* seed) const
{
openmc::SourceSite particle;
@ -20,16 +19,17 @@ class CustomSource : public openmc::Source
particle.r.z = 0.;
// angle
particle.u = {1.0, 0.0, 0.0};
particle.E = 14.08e6;
particle.E = 1.00e3;
particle.delayed_group = 0;
return particle;
}
};
// A function to create a unique pointer to an instance of this class when generated
// via a plugin call using dlopen/dlsym.
// You must have external C linkage here otherwise dlopen will not find the file
extern "C" std::unique_ptr<CustomSource> openmc_create_source(std::string parameters)
// A function to create a unique pointer to an instance of this class when
// generated via a plugin call using dlopen/dlsym. You must have external C
// linkage here otherwise dlopen will not find the file
extern "C" std::unique_ptr<CustomSource> openmc_create_source(
std::string parameters)
{
return std::make_unique<CustomSource>();
}