Add TimedMeshFilter#3107
Conversation
…into timed_mesh_filter
|
Hi @paulromano - I'd like to put some notes here based on our recent discussion on the transient features that I'm planning to implement into OpenMC. Different from the other existing PRs (#2898 and #2992), this PR does not change the random number stream. Furthermore, as you mentioned, the feature implemented in this PR, |
|
@ilhamv, after seeing your work I got inspired and thought about a way to fix the time filter + mesh_filter + tracklength estimator without adding other filters. |
|
Hi @GuySten - Sure, I'll take a look at it. |
|
Closing in favor of #3525 |
Description
There has been a known tallying issue in using a combination of
TimeFilterandMeshFilterwith the track-length estimator (for example, as mentioned in [1], [2], and [3]). This is because neutron tracks span 4 dimensions (x, y, z, and t), so filtering both in time and space needs to be done simultaneously, not separately, as in the case of usingTimeFilter+MeshFilter.This PR adds
TimedMeshFilterthat accurately filters events with respect to a given time grid and a given mesh, even with the track-length estimator.Verification
The 1D 1G AZURV1 problem (a supercritical version, input script attached below) is used for verification. Note that there are known bugs in the OpenMC's time-dependent MG mode (see [3]), so to make it works correctly, some of the fixes in [3] are implemented in this PR as well.
Below are OpenMC results (10 batches, 100k particles/batch) for
(1) TimeFilter + MeshFilter with collision estimator,
(2) TimeFilter + MeshFilter with track-length estimator, and
(3) TimedMeshFilter with track-length estimator.
TimeFilter + MeshFilter results in an accurate solution if used with collition estimator, but it gives a wrong solution if used with track-length estimator. In particular, note that TimeFilter + MeshFilter with tracklength estimator produces nonphysical solution (non-zero flux beyond the physical wavefront of the neutrons)! TimedMeshFilter with track-lengh estimator, however, produces accurate results.
To drive home the verification, here are the error convergences of the three cases as a function of the number of particles per batch$N$ :
Here is the input script for the verification test:
Checklist