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

Interface index numbering changes within a snapshot run #1728

Open
keckler opened this issue Jun 11, 2024 · 2 comments
Open

Interface index numbering changes within a snapshot run #1728

keckler opened this issue Jun 11, 2024 · 2 comments
Labels
low priority Style points and non-features

Comments

@keckler
Copy link
Member

keckler commented Jun 11, 2024

I noticed that during a snapshot run the numbering of interfaces as they are printed in the STDOUT changes between the interactInit() and interactBOC() times. Here are some pictures from my specific example:
image

image

Note that the depletion interface is removed from the stack printing at BOC and later. Presumably this is because the depletion interface is not active during snapshot runs. But I would expect the interface indices to remain constant throughout the simulation.

This is of very low importance right now, just pointing it out.

@keckler keckler added the low priority Style points and non-features label Jun 11, 2024
@john-science
Copy link
Member

Note that the depletion interface is removed from the stack printing at BOC and later.

This might be a function of code written in your depletion module. It might be moving itself in the stack order, and that is by design and out of the control of ARMI code.

My first thought is I would want to look at that code.

@keckler
Copy link
Member Author

keckler commented Jun 18, 2024

I think what is happening is that the CrossSectionGroupManager is being removed from the stack during a snapshot run, and then this enumerate call is only seeing the real-time stack:

def getInterfaceStackSummary(o):
data = []
for ii, i in enumerate(o.interfaces, start=1):
data.append(
(
"{:02d}".format(ii),
i.__class__.__name__.replace("Interface", ""),
i.name,
i.function,
"Yes" if i.enabled() else "No",
"Reversed" if i.reverseAtEOL else "Normal",
"Yes" if i.bolForce() else "No",
)
)
text = tabulate.tabulate(
data,
headers=(
"Index",
"Type",
"Name",
"Function",
"Enabled",
"EOL order",
"BOL forced",
),
tablefmt="armi",
)
text = text
return text

To fix this, the original stack for the run would need to be stored somewhere. Not the most straightforward this to do, but surely it could be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low priority Style points and non-features
Projects
None yet
Development

No branches or pull requests

2 participants