Skip to content

Commit 12023af

Browse files
authored
Merge pull request #306 from smpark7/sn-method
SN method & hybrid SN-diffusion method
2 parents 44c8af7 + 2243b94 commit 12023af

File tree

118 files changed

+14008
-243
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+14008
-243
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# DelayedNeutronSourceAux
2+
3+
!syntax description /AuxKernels/DelayedNeutronSourceAux
4+
5+
## Overview
6+
7+
Computes the cumulative delayed neutron source rate distribution, $\sum_i^I \lambda_i C_i$.
8+
9+
## Example Input File Syntax
10+
11+
!! Describe and include an example of how to use the DelayedNeutronSourceAux object.
12+
13+
!syntax parameters /AuxKernels/DelayedNeutronSourceAux
14+
15+
!syntax inputs /AuxKernels/DelayedNeutronSourceAux
16+
17+
!syntax children /AuxKernels/DelayedNeutronSourceAux
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# FissionRateAux
2+
3+
!syntax description /AuxKernels/FissionRateAux
4+
5+
## Overview
6+
7+
Computes the cumulative fission rate distribution, $\sum_g^G \Sigma_{f,g} \phi_g$.
8+
9+
## Example Input File Syntax
10+
11+
!! Describe and include an example of how to use the FissionRateAux object.
12+
13+
!syntax parameters /AuxKernels/FissionRateAux
14+
15+
!syntax inputs /AuxKernels/FissionRateAux
16+
17+
!syntax children /AuxKernels/FissionRateAux
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# GroupDriftAux
2+
3+
!syntax description /AuxKernels/GroupDriftAux
4+
5+
## Overview
6+
7+
Computes the neutron drift coefficient for nonlinear diffusion acceleration of the $S_N$ method or
8+
the hybrid $S_N$-diffusion method.
9+
10+
!equation
11+
\vec{D}_g = \frac{\sum^{N_d}_{d=1}w_d\left(\tau_g\hat{\Omega}_d\hat{\Omega}_d\cdot\nabla\Psi_{g,d}
12+
+ \left(\tau_g\Sigma_{t,g}-1\right)\hat{\Omega}_d\Psi_{g,d}
13+
- \tau_g\sum^G_{g'=1}\Sigma^{g'\rightarrow g}_{s,1}\hat{\Omega}_d\Psi_{g',d}
14+
- D_g\nabla\Psi_{g,d}\right)}{\sum^{N_d}_{d=1}w_d\Psi_{g,d}}
15+
16+
## Example Input File Syntax
17+
18+
!! Describe and include an example of how to use the GroupDriftAux object.
19+
20+
!syntax parameters /AuxKernels/GroupDriftAux
21+
22+
!syntax inputs /AuxKernels/GroupDriftAux
23+
24+
!syntax children /AuxKernels/GroupDriftAux
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# NeutronSourceAux
2+
3+
!syntax description /AuxKernels/NeutronSourceAux
4+
5+
## Overview
6+
7+
Computes the cumulative fission neutron source distribution,
8+
$\sum^G_g \nu\Sigma_{f,g}\phi_g$.
9+
10+
## Example Input File Syntax
11+
12+
!! Describe and include an example of how to use the NeutronSourceAux object.
13+
14+
!syntax parameters /AuxKernels/NeutronSourceAux
15+
16+
!syntax inputs /AuxKernels/NeutronSourceAux
17+
18+
!syntax children /AuxKernels/NeutronSourceAux
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# SNScalarFluxAux
2+
3+
!syntax description /AuxKernels/SNScalarFluxAux
4+
5+
## Overview
6+
7+
Computes the scalar neutron group flux from the angular neutron group flux,
8+
$\phi_g=\sum_{d=1}^{N_d}w_d\Psi_{g,d}$.
9+
10+
## Example Input File Syntax
11+
12+
!! Describe and include an example of how to use the SNScalarFluxAux object.
13+
14+
!syntax parameters /AuxKernels/SNScalarFluxAux
15+
16+
!syntax inputs /AuxKernels/SNScalarFluxAux
17+
18+
!syntax children /AuxKernels/SNScalarFluxAux
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# VacuumCoefAux
2+
3+
!syntax description /AuxKernels/VacuumCoefAux
4+
5+
## Overview
6+
7+
Computes the boundary correction coefficient for nonlinear diffusion acceleration of the $S_N$
8+
method or the hybrid $S_N$-diffusion method.
9+
10+
!equation
11+
\gamma_g =
12+
\frac{\sum_{\hat{\Omega}_d\cdot\hat{n}_b > 0}w_d |\hat{\Omega}_d\cdot\hat{n}_b |
13+
\Psi_{g,d}}{\sum^{N_d}_{d=1}w_d\Psi_{g,d}}
14+
15+
## Example Input File Syntax
16+
17+
!! Describe and include an example of how to use the VacuumCoefAux object.
18+
19+
!syntax parameters /AuxKernels/VacuumCoefAux
20+
21+
!syntax inputs /AuxKernels/VacuumCoefAux
22+
23+
!syntax children /AuxKernels/VacuumCoefAux
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# SNDiffusionBC
2+
3+
!syntax description /BCs/SNDiffusionBC
4+
5+
## Overview
6+
7+
This object applies the boundary source condition for the $S_N$ neutron transport method using the
8+
$P_1$ approximation from scalar flux distributions from the neutron diffusion method.
9+
10+
!equation
11+
\langle\bm{\Psi}^*,\bm{\Psi}\rangle^+ - \langle\bm{\Psi}^*,\bm{\Psi}^\text{inc}\rangle^- =
12+
\begin{cases}
13+
\sum^G_{g=1}\sum^{N_d}_{d=1}w_d\left(\Psi^*_{g,d},
14+
\hat{\Omega}_d\cdot\hat{n}_b\Psi_{g,d}\right)_{\partial\mathcal{D}},
15+
& \hat{\Omega}\cdot\hat{n}_b>0,\vec{r}\in\partial\mathcal{D} \\
16+
\sum^G_{g=1}\sum^{N_d}_{d=1}w_d\left(\Psi^*_{g,d},
17+
\hat{\Omega}_d\cdot\hat{n}_b\Psi^\text{inc}_{g,d}\right)_{\partial\mathcal{D}},
18+
& \hat{\Omega}\cdot\hat{n}_b<0,\vec{r}\in\partial\mathcal{D}
19+
\end{cases}
20+
21+
where
22+
23+
!equation
24+
\hat{n}_b = \text{ boundary unit vector,} \\
25+
\Psi^\text{inc}_{g,d} = \frac{1}{\sum_{d=1}^{N_d}w_d}
26+
\left(\phi^\text{diff}_g-3\hat{\Omega}_d\cdot D_g\nabla\phi^\text{diff}_g\right).
27+
28+
## Example Input File Syntax
29+
30+
!! Describe and include an example of how to use the SNDiffusionBC object.
31+
32+
!syntax parameters /BCs/SNDiffusionBC
33+
34+
!syntax inputs /BCs/SNDiffusionBC
35+
36+
!syntax children /BCs/SNDiffusionBC
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# SNReflectingBC
2+
3+
!syntax description /BCs/SNReflectingBC
4+
5+
## Overview
6+
7+
This object applies the reflecting boundary condition for the $S_N$ neutron transport method.
8+
This BC can only be applied to plane boundaries perpendicular to the x-, y-, or z-axis.
9+
10+
!equation
11+
\langle\bm{\Psi}^*,\bm{\Psi}\rangle^+ - \langle\bm{\Psi}^*,\mathbb{B}\bm{\Psi}\rangle^- =
12+
\begin{cases}
13+
\sum^G_{g=1}\sum^{N_d}_{d=1}w_d\left(\Psi^*_{g,d},
14+
\hat{\Omega}_d\cdot\hat{n}_b\Psi_{g,d}\right),
15+
& \hat{\Omega}\cdot\hat{n}_b>0,\vec{r}\in\partial\mathcal{D}_s \\
16+
\sum^G_{g=1}\sum^{N_d}_{d=1}w_d\left(\Psi^*_{g,d},
17+
\hat{\Omega}_d\cdot\hat{n}_b\Psi_{g,d_r}\right),
18+
& \hat{\Omega}\cdot\hat{n}_b<0,\vec{r}\in\partial\mathcal{D}_s
19+
\end{cases},
20+
21+
where
22+
23+
!equation
24+
\hat{n}_b = \text{ boundary unit vector}, \\
25+
\hat{\Omega}_{d_r} = \hat{\Omega}_d - 2(\hat{\Omega}_d\cdot\hat{n}_b)\hat{n}_b = \text{ direction
26+
of incident neutron travel.}
27+
28+
## Example Input File Syntax
29+
30+
!! Describe and include an example of how to use the SNReflectingBC object.
31+
32+
!syntax parameters /BCs/SNReflectingBC
33+
34+
!syntax inputs /BCs/SNReflectingBC
35+
36+
!syntax children /BCs/SNReflectingBC
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# SNVacuumBC
2+
3+
!syntax description /BCs/SNVacuumBC
4+
5+
## Overview
6+
7+
This object applies the vacuum boundary condition for the $S_N$ neutron transport method.
8+
9+
!equation
10+
\langle\bm{\Psi}^*,\bm{\Psi}\rangle^+ - \langle\bm{\Psi}^*,\bm{\Psi}^\text{inc}\rangle^- =
11+
\begin{cases}
12+
\sum^G_{g=1}\sum^{N_d}_{d=1}w_d\left(\Psi^*_{g,d},
13+
\hat{\Omega}_d\cdot\hat{n}_b\Psi_{g,d}\right)_{\partial\mathcal{D}},
14+
& \hat{\Omega}\cdot\hat{n}_b>0,\vec{r}\in\partial\mathcal{D} \\
15+
0,
16+
& \hat{\Omega}\cdot\hat{n}_b<0,\vec{r}\in\partial\mathcal{D}
17+
\end{cases},
18+
19+
where
20+
21+
!equation
22+
\hat{n}_b = \text{ boundary unit vector.}
23+
24+
## Example Input File Syntax
25+
26+
!! Describe and include an example of how to use the SNVacuumBC object.
27+
28+
!syntax parameters /BCs/SNVacuumBC
29+
30+
!syntax inputs /BCs/SNVacuumBC
31+
32+
!syntax children /BCs/SNVacuumBC
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# VacuumCorrectionBC
2+
3+
!syntax description /BCs/VacuumCorrectionBC
4+
5+
## Overview
6+
7+
This object applies boundary correction along vacuum boundaries to the neutron diffusion equation
8+
for nonlinear diffusion acceleration of the $S_N$ method or the hybrid $S_N$-diffusion method.
9+
10+
!equation
11+
\left(\phi^*,\gamma_g\phi_g\right)_{\partial\mathcal{D}}
12+
13+
where
14+
15+
!equation
16+
\gamma_g =
17+
\frac{\sum_{\hat{\Omega}_d\cdot\hat{n}_b > 0}w_d |\hat{\Omega}_d\cdot\hat{n}_b |
18+
\Psi_{g,d}}{\sum^{N_d}_{d=1}w_d\Psi_{g,d}}
19+
20+
## Example Input File Syntax
21+
22+
!! Describe and include an example of how to use the VacuumCorrectionBC object.
23+
24+
!syntax parameters /BCs/VacuumCorrectionBC
25+
26+
!syntax inputs /BCs/VacuumCorrectionBC
27+
28+
!syntax children /BCs/VacuumCorrectionBC

0 commit comments

Comments
 (0)