mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-21 14:35:27 -04:00
Updates to examples and tests to refer to parameterized sources rather than serialized sources. Small update to source.h to remove reference to serialized parameters.
23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
# Building a Parameterized Custom Source
|
|
|
|
To run this example, you first need to compile the custom source library, which
|
|
requires headers from OpenMC. A CMakeLists.txt file has been set up for you that
|
|
will search for OpenMC and build the custom library. To build the source
|
|
library, you can run:
|
|
|
|
mkdir build && cd build
|
|
OPENMC_ROOT=<path_to_openmc_install> cmake ..
|
|
make
|
|
|
|
After this, you can build the model by running `python build_xml.py`. In the XML
|
|
files that are created, you should see a reference to build/libparameterized_source.so,
|
|
the custom source library that was built by CMake, and values in the parameters
|
|
attribute. The model is also set up with a mesh tally of the flux, so once you run
|
|
`openmc`, you will get a statepoint file with the tally results in it. Running
|
|
`python show_flux.py` will pull in the results from the statepoint file and display
|
|
them. If all worked well, you should see a ring "imprint" as well as a higher flux to
|
|
the right side (since the custom source has all particles moving in the positive x
|
|
direction).
|
|
|
|
Once built, you can edit the parameters attribute on the source to change the radius of
|
|
the sampled ring or the energy of the sampled particles.
|