What is the difference between the built-in depletion module of openmc and general programs such as origen and fispact?
For me one benefit of openmc depletion is that it is readily available.
Here is a post that mentions some openmc and fispact differences.
Fundamentally, they both solve the Bateman equations for predicting a future material composition given an initial composition and a flux/irradiation schedule. There are some differences with respect to how the flux / cross sections are generated and used (openmc.deplete
is integrated with OpenMCâs transport solver, so the data flow is automated). There are also likely many features in ORIGEN and/or FISPACT that are not present in the depletion module of OpenMC yet. Let us know if there is a particular feature in one of these other codes that youâd really like to see in OpenMC!
Hi,I would like to konw whether OpenMC can do the deplete cauclation like continuous refueling and removal?
This sounds like the recent TransferRates capability
Here are some links to the relevant docs
https://docs.openmc.org/en/latest/methods/depletion.html?highlight=transfer#transfer-rates
Thank you for tell me this!
But this is new in 0.13.4,Iâm still using 0.13.3,and 0.13.4 also not in conda-forge channel.
What should I do to get the new vision?Install OpenMC from source?
To install the latest development version you can take a look at this section of the install guide
https://docs.openmc.org/en/stable/quickinstall.html#installing-from-source-on-ubuntu
The only change needed would be adding a checkout line part of the way through like this
git clone --recurse-submodules https://github.com/openmc-dev/openmc.git
cd openmc
git checkout develop
mkdir build && cd build
cmake ..
make
sudo make install
Thank you for your guide,I have successfully installed the new version.
And I have some questions about this.My purpose is remove FP and add fed fuel in different rate,so i make two materials:
fuel = openmc.Material(name='fuel')
fuel.temperature = 900
fuel.set_density('g/cm3',2.712206)
fuel.add_nuclide('Li7',69.9965,'ao')
fuel.add_nuclide('Li6',0.0035,'ao')
fuel.add_nuclide('Be9',18,'ao')
fuel.add_nuclide('U238',7.68e-01,'ao')
fuel.add_nuclide('U235',1.92e-01,'ao')
fuel.add_nuclide('Th232',5.1193e+00,'ao')
fuel.add_nuclide('F19',1.3000e+02,'ao')
fed_fuel = openmc.Material(name='fed_fuel')
fed_fuel.set_density('g/cm3',2)
fuel.add_nuclide('U235',20,'ao')
fuel.add_nuclide('U238',80,'ao')
fuel.add_nuclide('F19',400,'ao')
carbon = openmc.Material(name='carbon')
carbon.temperature = 900
carbon.set_density('g/cm3',1.84)
carbon.add_element('C',1.0,'ao')
the fuel is inital fuel,and fed_fuel is what I want to add into fuel .
After I instantiate TransferRates class,I should use set_transfer_rate method to specify parameter.I think for my situation,the parameter material should be fuel,and parameter destination_material I think shoud be fed_fule .Am I understanding this correctly?
Iâm not sure about the mean of parameter components,may be it is element that I want to remove?
It would be great to have an example.
Thank you for your reply!
sorry Iâve not yet had a go with the transfer_rate method, I am sure others on the forum have, is it worth starting a new thread
AlrightďźThank youďź
Hi @jsy
Always good to check the docs, but if I understand correctly what youâre trying to do, after youâve set up your depletion simulation, you would want to add to the integrator
instance something like this:
nuclides_to_transfer = ['U235','U238','F19'] #or whatever you want to transfer
feed_rate = 0.1 #just as an example
integrator.add_transfer_rate('fed_fuel', nuclides_to_trasnfer, feed_rate, destination_material='fuel')
integrator.integrate()