moltres
moltres copied to clipboard
[Global Params] sss2_input
sss2_input
is a boolean input to determine if the user is using serpent or scale group constants, and depending on which one, a different formula is used to calculate the jac
due to the fact that scale's scattering matrix is a transpose of serpent's in https://github.com/arfc/moltres/blob/9dc170e399c97977631c313fd4e121752c3c5a4f/src/kernels/InScatter.C#L78
However, with the introduction of openmc group constants in #174, we need to update this input variable to include openmc as well. OpenMC will use the same jac
calculation as Serpent.
I suggest changing the variable name to scale_input
that accepts a boolean. True = scale, False = serpent and openmc
However, changing the name makes it not backward compatible. Should we just leave it as sss2_input
? But update the Moltres documentation to use sss2_input = True
for openmc as well?
@munkm suggests to name the variable gtransfxs_inverted
. gtransfxs_inverted = True
will be used for SCALE and gtransfxs_inverted = False
will be used for OpenMC and Serpent. To ensure backward capability, I will enable Moltres to also accept sss2_input
but not both.
@smpark7 what do you think?
Yea we should move away from using sss2_input
since we're adding support for OpenMC-generated cross sections. Having gtransfxs_inverted = True
for SCALE could be misleading because the gtransfxs
term originates from SCALE, while its equivalents in Serpent and OpenMC are named SP0
and ScatterProbabilityMatrix
. So we may wanna have gtransfxs_inverted = True
apply for Serpent and OpenMC? I could also look into using MOOSE's in-built deprecation system to indicate to users that sss2_input
is deprecated while still accepting it.
Oh I see, ya makes sense. I'll implement gtransfxs_inverted = False
for SCALE and gtransfxs_inverted = True
for OpenMC and Serpent.
Yeah if you could give me any pointers about MOOSE's in-built deprecation system, that would be great
Unfortunately, there's no official guide for their deprecation system. I'm not too familiar with it either.
I found an example which could be useful. The MOOSE team transitioned from calling their diffusion coefficient from D_name
to diffusivity
in the MatDiffusionBase
Material class here. Among other things, they introduced checks in lines 84-85 and 96 which use the isParamValid
function to check which parameter the user provided.