Skip to content

uncertainty propagation in clusters #13

@magnoxemo

Description

@magnoxemo

This method basically takes the advantages of the fact that OpenMC uses batch statistics.

Let us presume that
$$\bar{ \Phi_c}$$ = average flux in a cluster.
$$\Phi_c^b$$ = $b^{th}$ batch statistics of the $i^{th}$ voxel in the cluster
$v_i$ = volume of the $i_{th}$ voxel in the cluster.
$V$ = total volume of the cluster = $\sum_{i}^{N} v_i$
$N$ = number of voxels in the cluster.
$\gamma_i$ = volumetric weight of the voxel in a cluster.

Now

$b^{th}$ batch tally in the cluster should be the sum of the weighted flux of the voxels which we could write as

$$ \Phi_c^b = \sum_{i=1}^{N} \gamma_i \Phi_i^b $$

where, $\gamma_i = \frac{v_i}{ V}$. So, average flux in a cluster after $B$ independent active batch run will be,

$$ \bar{\Phi_c} = \frac{1} {B}\sum_{b =1 }^{B} \Phi_{c}^{b} = \frac{1} {B} \sum_{b=1}^{B}\sum_{i=1 }^{N} \gamma_i \Phi_{i}^{b} $$

and the variance of the cluster will be,

$$ \sigma_c^2 = \mathbb E [ ( \Phi_c^b - \bar{ \Phi_c})^2 ]$$ $$ = \mathbb E [ (\sum_{i=1 }^{N} \gamma_i \Phi_{i}^{b} - \frac{1} {B} \sum_{b=1}^{B}\sum_{i=1 }^{N} \gamma_i \Phi_{i}^{b} )^2]$$

We know about, $\gamma_i$ from the mesh and clustering and $B$ from Cardinal or OpenMC. But in order to fully use the variance equation we would have to know about the, $\Phi_i^b$ but OpenMC only reports $\bar \Phi_i = \frac{1}{B} \sum_b^B \Phi_i^b$ to cardinal. If we can figure out a way to know $\Phi_i^b$ it will be easy to implement.

We could simplify the variance equation further and can make it a function of $\bar \Phi_i$ but that would introduce co-variance in the function.

@gonuke @pshriwise

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions