Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
bab6451
move sam-htrpm files
Jul 22, 2025
c1ebd61
griffin htr-pm files
Jul 22, 2025
6f61b0f
moving sam model documentation
Oct 22, 2025
28f1787
adding core multiphysics documentation
Oct 22, 2025
5041d60
adding files that I modified
Oct 22, 2025
f506f8e
adding tests
kaaldawood Oct 22, 2025
846fd5f
Address review:
kaaldawood Feb 23, 2026
c75140d
Add index tag
GiudGiud Feb 24, 2026
2e533e3
Add POC to model, fix other POC lists
GiudGiud May 19, 2026
8a0d8db
Minor edits to doco, address review for link
GiudGiud May 19, 2026
b4359aa
Remove breaking deprecation from pebble triso model
GiudGiud May 19, 2026
2fac611
Remove extra file
GiudGiud May 19, 2026
91a13e9
Remove deprecation warnings from TRISO input
GiudGiud May 19, 2026
0d6f3bb
Update neutronics input
GiudGiud May 20, 2026
24d67bc
Update flow input
GiudGiud May 20, 2026
55c4975
Remove 0 of U5 from CR region, remove deprecated syntax
GiudGiud Jun 12, 2026
1883948
Fix mistake in Bu dependent properties
GiudGiud Jun 12, 2026
88d2bac
Update to physics syntax
GiudGiud Jun 12, 2026
6858f6c
Allow warnings to XS issues
GiudGiud Jun 12, 2026
e2b9ee9
Allow warnings for functor material setup issue
GiudGiud Jun 12, 2026
03e06a6
Finish removing deprecation from griffin inputs
GiudGiud Jun 12, 2026
85ea055
Compositions are in atomic percent
GiudGiud Jun 15, 2026
910260a
Update neutronics inputs:
GiudGiud Jun 16, 2026
6c123a3
Fix FV inputs:
GiudGiud Jun 16, 2026
2155bba
Remove more deprecation
GiudGiud Jun 16, 2026
534f524
Update action for null transient
GiudGiud Jun 16, 2026
d80817d
Comment out unused DLOFC sections
GiudGiud Jun 16, 2026
e0345c9
Start with 0.5s time step to skip a failed step
GiudGiud Jun 16, 2026
cfc3116
Update SS tests
GiudGiud Jun 16, 2026
93c43e3
Reformat the null transient and steady state inputs to minimize diffs
GiudGiud Jun 16, 2026
f7da24d
Fixup transient inputs:
GiudGiud Jun 16, 2026
2da8580
Fix the null transient:
GiudGiud Jun 17, 2026
3d5dbd8
Fix up DLOFC transient
GiudGiud Jun 17, 2026
ded3467
Add gold files for HTR PM transient tests
GiudGiud Jun 17, 2026
4013d2e
Remove old inputs (rm plofc)
GiudGiud Jun 17, 2026
d61e6b4
Remove tabs
GiudGiud Jun 17, 2026
36ce155
Update doco
GiudGiud Jun 17, 2026
8b36906
Ajust test specs
GiudGiud Jun 17, 2026
9465591
Add XS files
GiudGiud Jun 17, 2026
8dde1c6
Add pebble position file
GiudGiud Jun 17, 2026
8e0bc4c
more inputs needing a checkpoint to run
GiudGiud Jun 17, 2026
8bb9a2b
Test fixup
GiudGiud Jun 17, 2026
dd5fe73
Increase timeout
GiudGiud Jun 17, 2026
53dedba
Relax tolerance
GiudGiud Jun 17, 2026
f8b8b70
Request more cores
GiudGiud Jun 17, 2026
3fb535e
more time
GiudGiud Jun 18, 2026
0169972
Adjust tolerances
GiudGiud Jun 18, 2026
a6bc5a9
Adjust which apps test the new inputs
GiudGiud Jun 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .civet/blue_crab.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ lfs_include:
- microreactors/KRUSTY
- htgr/pbmr400
- htgr/htr10
- htgr/htr-pm/core-multiphysics
- htgr/gpbr200
- htgr/open-xe100
- sfr/vtr
Expand Down
1 change: 1 addition & 0 deletions .civet/dire_wolf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ lfs_include:
- microreactors/KRUSTY
- htgr/pbmr400
- htgr/open-xe100
- htgr/htr-pm/core-multiphysics
- sfr/vtr
1 change: 1 addition & 0 deletions .civet/griffin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ lfs_include:
- htgr/httr
- htgr/gpbr200
- htgr/open-xe100
- htgr/htr-pm/core-multiphysics
- sfr/vtr
- sfr/sefor
- microreactors/gcmr/assembly/MESH
Expand Down
82 changes: 82 additions & 0 deletions doc/content/bib/vtb.bib
Original file line number Diff line number Diff line change
Expand Up @@ -2735,6 +2735,88 @@ @techreport{Yan2025sefor
month = {09}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% references for Gas-Cooled High-Temperature Pebble-Bed Reactor (HTR-PM)

@article{zhang2016shandong,
title={The Shandong Shidao Bay 200 MWe high-temperature gas-cooled reactor pebble-bed module (HTR-PM) demonstration power plant: an engineering and technological innovation},
author={Zhang, Zuoyi and Dong, Yujie and Li, Fu and Zhang, Zhengming and Wang, Haitao and Huang, Xiaojin and Li, Hong and Liu, Bing and Wu, Xinxin and Wang, Hong and others},
journal={Engineering},
volume={2},
number={1},
pages={112--118},
year={2016},
publisher={Elsevier}
}

@article{reitsma2013pbmr,
title={PBMR Coupled Neutronics/Thermal-hydraulics Transient Benchmark. The PBMR-400 Core Design-Volume 1 The Benchmark Definition},
author={Reitsma, Frederik and Ivanov, Kostadin and Sartori, Enrico and Lee, Hyun Chul and Daavittila, Antti and Leppanen, Jaakko and Girardi, Enrico and Grimod, Maurice and Koeberl, Oliver and Massara, Simone and others},
year={2013},
journal={}
}


@article{hebert2009development,
title={Development of the subgroup projection method for resonance self-shielding calculations},
author={H{\'e}bert, Alain},
journal={Nuclear science and engineering},
volume={162},
number={1},
pages={56--75},
year={2009},
publisher={Taylor \& Francis}
}


@techreport{schunert2020nrc,
title={NRC Multiphysics Analysis Capability Deployment (FY2021--Part 1)},
author={Schunert, Sebastian and Giudicelli, Guillaume Louis and Balestra, Paolo and Ortensi, Javier and Freile, Ramiro and Harbour, Logan},
year={2020},
institution={Idaho National Lab.(INL), Idaho Falls, ID (United States)}
}

@techreport{jaradat2023gas,
title={Gas-cooled high-temperature pebble-bed reactor reference plant model},
author={Jaradat, Mustafa Kamel Mohammad and Schunert, Sebastian and Ortensi, Javier},
year={2023},
institution={Idaho National Laboratory (INL), Idaho Falls, ID (United States)}
}


@techreport{schunert2022improvements,
title={Improvements in High Temperature Gas Cooled Reactor Modeling Capabilities in the Pronghorn Code},
author={Schunert, Sebastian and Mohammad Jaradat, Mustafa Kamel and Calvin, Olin W and Giudicelli, Guillaume Louis and Lindsay, Alexander D and Wang, Yaqi and Tano Retamales, Mauricio Eduardo and Walker, Samuel Austin},
year={2022},
institution={Idaho National Laboratory (INL), Idaho Falls, ID (United States)}
}


@techreport{schunert2021deployment,
title={Deployment of the Finite Volume Method in Pronghorn for Gas and Salt cooled Pebble Bed Reactors},
author={Schunert, Sebastian and Giudicelli, Guillaume Louis and Lindsay, Alexander D and Balestra, Paolo and Harper, Sterling and Freile, Ramiro and Tano, Mauricio and Ragusa, Jean},
year={2021},
institution={Idaho National Laboratory (INL), Idaho Falls, ID (United States)}
}


@article{zheng2018study,
title={Study on the DLOFC and PLOFC accidents of the 200 MWe pebble-bed modular high temperature gas-cooled reactor with TINTE and SPECTRA codes},
author={Zheng, Yanhua and Stempniewicz, Marek M and Chen, Zhipeng and Shi, Lei},
journal={Annals of Nuclear Energy},
volume={120},
pages={763--777},
year={2018},
publisher={Elsevier}
}

@article{strydom2008tinte,
title={TINTE transient results for the OECD 400 MW PBMR benchmark},
author={Strydom, Gerhard},
journal={Proceedings of ICAPP ‘08, Anaheim, USA},
year={2008}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% References for SMR-conditions U-50Zr HCF model

Expand Down
27 changes: 27 additions & 0 deletions doc/content/htgr/htr-pm/core-multiphysics/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# HTR-PM Multiphysics Model

!tag name=HTR-PM Core multiphysics
description=Steady state and transient core model
image=https://mooseframework.inl.gov/virtual_test_bed/media/htrpm_coremultiphysics/solid-temperature-dist.png
pairs=reactor_type:HTGR
reactor:HTR_PM
geometry:core
simulation_type:thermal_hydraulics;neutronics
transient:steady_state;DLOFC
codes_used:Pronghorn;Griffin
input_features:multiapps
V_and_V:verification
computing_needs:Workstation
fiscal_year:2025
sponsor:NRC
institution:INL

* Model Point of Contact: Mustafa Jaradat (mustafa.jaradat.at.inl.gov) *

[Model Description](htr-pm/core-multiphysics/model-description.md)

[Neutronics Model](htr-pm/core-multiphysics/neutronics-model.md)

[Thermal Fluid Model](htr-pm/core-multiphysics/thermal-fluid-model.md)

[Depressurized Loss of Forced Cooling Transient](htr-pm/core-multiphysics/transient.md)
80 changes: 80 additions & 0 deletions doc/content/htgr/htr-pm/core-multiphysics/model-description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Gas-Cooled High-Temperature Pebble-Bed Reactor Reference Plant Model

# Authorship:

1. Mustafa Jaradat: neutronics model development and Multiphysics analysis (INL).
2. Sebastian Schunert: conceptual development, code development, thermal fluids model development (INL).
3. Javier Ortensi: conceptual development, cross sections, Principal Investigator (INL).


# Design Description

The HTR-PM design is based on the combined experience from the German pebble-bed reactor program from the 1960s through the 1990s and the HTR-10 experience in China [!citep](zhang2016shandong).
The HTR-PM is 250 MWth reactor with the main characteristics include a cylindrical pebble-bed region surrounded by radial, lower, and upper reflectors made of graphite, and it is cooled through gas forced convection.
The radial reflector includes various orifices for the control rod channels, Kleine Absorber Kugel Systeme (KLAK) channels (shutdown system), and fluid riser channels.
This benchmark studies the HTR-PM core in equilibrium conditions and in depressurized loss of forced cooling (DLOFC) transient.
The benchmark problem uses information available on the open literature to develop an equilibrium model of the HTR-PM by depleting fresh core and considering Pebble loading and unloading from the core [!citep](reitsma2013pbmr).


The HTR-PM core specifications are as follows:

| Parameter | Value |
| :-------- |:-----:|
| Core power MWth | 250.00 |
| Core inlet temperature K | 523.15 |
| Core outlet temperature K | 1023.15 |
| Core outlet pressure MPa | 7.0 |
| Pebble-bed radius m | 1.50 |
| Pebble-bed height m | 11.00 |
| Reflector outer radius m | 2.50 |
| Control rods channels | 24 |
| Reactivity Shutdown Channels | 4 |
| Barrel outer radius m | 2.69 |
| Bypass outer radius m | 1.69 |
| Vessel outer radius m | 3.00 |
| Number of pebbles | 419,384 (420,000) |
| Pebble types | 1 pebble type |
| Pebble packing fraction (average) | 0.61 |
| Average number of passes | 15 |
| Average pebble residence time days | 70.5 |


The HTR-PM pebble specifications are as follows:

| Parameter | Value |
| :-------- | :----:|
| Fueled region radius cm | 2.5 |
| Shell layer thickness cm | 0.5 |
| Pebble diameter cm | 6.0 |
| Heavy metal loading per pebble g | 6.95 |
| Number of particles per pebble | 11,668 |
| Particle packing $\%$ | 7.034 |
| Discharge burnup MWd/kg, J/m3 | 90, 4.82 $\times 10^{14}$ |


The HTR-PM TRISO particle specifications are as follows

| Parameter | Value |
| :-------- | :----:|
| Fuel kernel radius cm | 0.025 |
| Buffer outer radius cm | 0.034 |
| IPyC outer radius cm | 0.038 |
| SiC outer radius cm | 0.0415 |
| OPyC outer radius cm | 0.0455 |
| Particle diameter cm | 0.091 |
| Fuel type | UO2 |
| Fuel enrichment | 8.6$\%$ |
| Fuel kernel density kg/m3 | 10,400 |
| Buffer graphite density kg/m3 | 1,100 |
| IPyC, OPyC graphite density kg/m3 | 1,900 |
| SiC density kg/m3 | 3,180 |


The benchmark model is composed of four elements. These are:

- Griffin neutronics model
- Griffin depletion model
- Pronghorn thermal-hydraulics model
- Pebble and TRISO temperature model


149 changes: 149 additions & 0 deletions doc/content/htgr/htr-pm/core-multiphysics/neutronics-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# Reactor Physics Models

## Cross Section Generation

The cross-section preparation capability for PBRs in Griffin is not currently available. Thus, the benchmark relied on the lattice code DRAGON [!citep](reitsma2013pbmr) to prepare microscopic cross sections.

The DRAGON data libraries used in this work are based on the ENDF/B-VIII.r0 evaluation. For the neutron self-shielding method, the SHEM 281 group library was used with the subgroup projection method [!citep](hebert2009development). The double heterogeneity treatment is based on the H\'ebert method. A current-coupled collision probability (CCCP) flux solution is used for spatial homogenization and energy condensation of microscopic cross sections. The intra-core neutron leakage affects the local spectrum significantly, and it will have an impact on the cross-section homogenization. Nevertheless, this approach with the generated cross sections serves as an initial set to perform preliminary calculations until more sophisticated methods are available in Griffin.
The nominal depletion values are as follows:

| Parameter | Value |
| :-------- | :----:|
| Fuel temperature K | 898.0 |
| Moderator temperature K | 803.0 |
| Neutron flux n/cm2/sec | 1.521 $\times 10^{14}$ |

Two models were built in DRAGON.
These are a pebble model and a pebble ensemble as show in [dragon-model].
The cross sections were prepared in 9 energy group structure and the transmutation and decay chain has 295 isotopes.

!media htrpm_coremultiphysics/dragon-models.png
style=width:50%
id=dragon-model
caption=Dragon models.


### Cross Section File

The cross-section files are located under "\HTR_PM_PD\xsections\HTR-PM_9G-Tnew.xml.tar.gz".
first you need to unzip the compressed file using the following command

```tar -zxvf HTR-PM_9G-Tnew.xml.tar.gz```

The transmutation and decay chain file is located under "HTR_PM_PD\xsections\DRAGON5_DT.xml".

The cross sections were prepared in 9 energy group structure and the transmutaion and decay chain has 295 isotopes.



## Neutronics Model

A neutronics model of the HTR-PM core was developed with Griffin using an axisymmetric (R-Z) geometry with homogenized core regions. Griffin solves steady-state neutron diffusion equation and pebble streamline calculations which solves 1D streamline advection transmutation equation for pebble depletion.
The model is shown in [htr-pm-griffin-model].

!media /htrpm_coremultiphysics/htr-pm-griffin-model.png
style=width:50%
id=htr-pm-griffin-model
caption=Griffin model.

The Griffin model uses six equally spaced streamlines to represent pebble depletion that are centered within the active core elements. The streamlines are located at radii of $r=12.5, 37.5, 62.5, 87.5, 112.5, 137.5$ cm. Pebble velocity is assumed to be uniform so that the fraction of the volumetric flow rate of pebbles through each channel is proportional to the channel area. The six channels are straight down and end at the bottom of the pebble bed.

The heavy metal loading of $7$ g per pebble, the average discharge burnup of $90$ MWd/kg, the average power density, and the packing fraction of $0.61$, the total irradiation time in the core is estimated to be $1,055$ days, which corresponds to $70$ days per pass in the 15-pass core design The pebble speed ($15.6$ cm/d) and pebble reloading rates ($5,949$ pebbles per day). The discharge burnup of $90$~MWd/kg or $4.82E+14$ $J/m^3$. A total of 10 burnup groups forms the base discretization of the burnup variable.

The local decay heat power in Griffin is computed from the decay released by fission products as a function of time along with provided by the neutron transmutation and decay chain.

The steady state neutronics calculation is run through bluecrab using the following command

```
mpirun -np 48 blue_crab-opt -i htr_pm_neutronics_ss.i
```

The steady state input is composed of blocks.
Initially, the cross sections are imported in the ```GlobalParams``` block

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=GlobalParams

The characteristics of the transport solution are identified as

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=TransportSystems

The mesh is identified as and contains assignment of materials IDs through ```assign_material_id```as follows:

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=Mesh

Depletion for the pebbles is defined using the ```PebbleBed``` block as

!listing htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=PebbleBed

Materials are defined using the ```Materials``` block as

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=Materials

Preconditioning parameters for the solver are defined as

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=Preconditioning

Finally, the execution characteristics of the problem are defined with the ```Executioner``` block

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=Executioner





## Equilibrium Core Calculations

The equilibrium core is attained via the streamline depletion method available in Griffin [!citep](schunert2020nrc).
In this depletion approach, a 2D or 3D core flux solution is mapped to 1D axial streamlines.
A set of 1D steady-state advection-transmutation equations for all isotopes are solved in each
streamline. Griffin assumes that the pebble loading and unloading rates are identical.
Full details on the equilibrium model can be found in [!citep](jaradat2023gas).

The depletion setup is requested through the Griffin input.
Specifically, in the input, the definition of the ```DepletionScheme``` as in the following is used to define
the fuel pebbles as depletable material as

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=DepletionScheme

## Decay Heat Calculation

A decay heat model was added for the equilibrium core model to properly perform the loss of
forced cooling transients. The decay heat source is mainly important for transient analyses when
the fission power is reduced to zero due to negative reactivity insertion. In steady state, the decay
heat is assumed to be included in the energy released per fission, and, thus, assumed to have the
same distribution as the prompt fission power. In this decay heat model, the fission products are
grouped into a few decay heat precursor groups (KD), and each group has its unique decay heat
fraction ($f_k$) and constant ($\lambda_k$).
Details on the decay model can be found in [!citep](jaradat2023gas).


To calculate the decay heat using Griffin, an ```AuxVariable``` for the decay heat is defined and then using an ```AuxKernel``` the methods of how it is calculated is defined.
Here is definition of the HTR-PM neutronic model ```AuxVariables```

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=AuxVariables

The ```AuxKernels``` for the HTR-PM neutronic model are defined as:

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=AuxKernels

## Multiphysics

Linking the neutronic solution calculation with thermal fluid solution (which is presented in the next section) is done using the ```MultiApps``` block

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=MultiApps

Transferring field data is done through defining the following block

!listing htgr/htr-pm/core-multiphysics/updated_equilibrium_core/htr_pm_neutronics_ss.i block=Transfers


The setup of the applications is described in [apps_setup_3].
Due to the effectively "larger" time step in the neutronics calculations, Griffin is set as the parent application.
The neutronics calculation (a depletion step) is run as a multiapp, this is followed by running the pebble/Triso conduction model which obtains pebble temperatures in various places in the core.
Then Pronghorn is run to perform thermal conduction uses the solution from the conduction model to calculate the coolant temperature.

!media /htrpm_coremultiphysics/apps_setup_3.png
style=width:50%
id=apps_setup_3
caption=Application setup for equilibrium core calculation.

Loading