openmc-dev / openmc

OpenMC Monte Carlo Code
https://docs.openmc.org
Other
764 stars 492 forks source link

SCORE_TRANSPORT #511

Closed nelsonag closed 8 years ago

nelsonag commented 8 years ago

The transport score type is not included in the manual and its scoring code in tally.F90 does not support nuclidic tallies, survival biasing, nor does it have any acknowledgement that p % wgt may not be 1. It also is not in the manual.

In addition, CMFD and TransportXS class of openmc.MGXS both avoid it completely.

Is this deprecated? I vaguely remember something being deprecated, but that may have been score_diffusion.

paulromano commented 8 years ago

I don't use it personally; I believe it was @bhermanmit who put it in originally so I'll let him decide on its fate.

bhermanmit commented 8 years ago

I will look more in depth, but I remember the conclusion was that we originally put that in to calculate a few group transport xs. However, this yielded wrong results when calculating diffusion coefficients. In reality, you need to calculate few group diffusion coefficients and then calculate transport xs from those. In CMFD, we get away with still calculating few group transport xs using the total xs and p1 scattering xs and calculating diffusion coefficients from there. Although this is not correct, we have exact equivalence factors to transport so it doesn't end up mattering. It would be more important if we were generating nodal parameters with approximate equivalence factors.

nelsonag commented 8 years ago

@bhermanmit any more thoughts on this?

nelsonag commented 8 years ago

Now that this has been brought up again by @smharper, anyone else agree this code should be deleted? It doesn't even look like it works correctly to me:

case (SCORE_TRANSPORT)
        ! Only analog estimators are available.
        ! Skip any event where the particle didn't scatter
        if (p % event /= EVENT_SCATTER) cycle SCORE_LOOP
        ! get material macros
        macro_total = material_xs % total
        macro_scatt = material_xs % total - material_xs % absorption
        ! Score total rate - p1 scatter rate Note estimator needs to be
        ! adjusted since tallying is only occuring when a scatter has
        ! happened. Effectively this means multiplying the estimator by
        ! total/scatter macro
        score = (macro_total - p % mu * macro_scatt) * (ONE / macro_scatt)
paulromano commented 8 years ago

Closed with the merging of #658