Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type 2 flows with depletion can cause negative mass #55

Open
3 of 4 tasks
LukeSeifert opened this issue Mar 30, 2021 · 0 comments
Open
3 of 4 tasks

Type 2 flows with depletion can cause negative mass #55

LukeSeifert opened this issue Mar 30, 2021 · 0 comments

Comments

@LukeSeifert
Copy link
Contributor

Type 2 flows in Serpent by themselves can raise errors if used improperly due to the equation for flow rate that they follow in BurnMaterials.c. However, even if used properly, if depletion is active, the mass can go negative, hence this bug. Based off current results, it seems that this bug occurs due to the order in which Serpent handles depletion and moving materials. Specifically, Serpent seems to read material masses, deplete, and then move masses based on the pre-depletion masses. The result of this is that if someone creates a flow regime which moves 100% of mass out of a material when depletion is not active, then upon enabling depletion there will be some amount of negative mass proportional to the time step used (since the amount of material moved and the amount of depletion which occurs are both proportional to the size of the time step). A temporary fix in Serpent to this is to comment out the lines which check if the mass is less than -1E-12. A fix for Serpent would be to find where Serpent depletes and where Serpent moves masses with flows and change the order (though this would likely be more difficult in practice). A workaround which enables users to bypass this bug is to simply use smaller time steps, though depending on the situation that can prove to be impractical.

  • For example, imagine a geometry that has 2 materials in it named 1 and 2. In this example, say we have a flow regime 1 → 2. Initially, say there is no depletion in the system and we design the flows such that material 1 is completely empty at the end of some time step. Now, if we enable depletion and run this same example, we may encounter this bug if our time step is sufficiently large to cause enough depletion to make the mass flow fail.
  • Find a workaround
  • Determine issue in Serpent
  • Find a workaround in Serpent
  • Fix in Serpent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant