moltres icon indicating copy to clipboard operation
moltres copied to clipboard

[Global Params] sss2_input

Open gwenchee opened this issue 3 years ago • 6 comments

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

gwenchee avatar Oct 15 '21 22:10 gwenchee

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?

gwenchee avatar Oct 15 '21 22:10 gwenchee

@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.

gwenchee avatar Oct 18 '21 20:10 gwenchee

@smpark7 what do you think?

gwenchee avatar Oct 18 '21 20:10 gwenchee

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.

smpark7 avatar Oct 19 '21 18:10 smpark7

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

gwenchee avatar Oct 19 '21 20:10 gwenchee

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.

smpark7 avatar Oct 19 '21 22:10 smpark7