Skip to content

Commit

Permalink
Merge pull request idaholab#24325 from aaronoaks/tutorial-update
Browse files Browse the repository at this point in the history
Minor updates to meshing tutorial.
  • Loading branch information
loganharbour committed May 13, 2023
2 parents c0775cd + f38f861 commit b9c8e60
Show file tree
Hide file tree
Showing 11 changed files with 38 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ Since [AdvancedExtruderGenerator.md] requires top and bottom boundary sidesets b

## Use of ABTR Mesh in Downstream Physics Code (Griffin)

The Reactor Module creates meshes containing blocks of elements (identified by block ID), groups of elements with similar extra element integers (identified by different extra element IDs such as `pin_id`, `assembly_id`, `depletion_id`), and groups of curves (2D meshes) or faces (3D meshes) called sidesets (identified by sideset ID). In particular, the blocks and sidesets are used in downstream physics codes to assign materials to mesh elements and to assign boundary conditions.
The Reactor Module creates meshes containing blocks of elements (identified by block ID), groups of elements with similar reporting IDs (identified by different reporting IDs such as `pin_id`, `assembly_id`, `depletion_id`), and groups of curves (2D meshes) or faces (3D meshes) called sidesets (identified by sideset ID). In particular, the blocks and sidesets are used in downstream physics codes to assign materials to mesh elements and to assign boundary conditions.

These assignments are discussed here for [Griffin](https://inl.gov/ncrc/code-descriptions/), a MOOSE-based reactor physics code developed under the DOE Nuclear Energy Advanced Modeling and Simulation Program.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This example illustrates the use of RGMB mesh generators to define a 3D pin-hete
!media tutorial04_meshing/rgmb_lfr_stepbystep.png
id=tutorial04-rgmb_lfr_stepbystep
caption=Visualization of meshing steps to build the 3D LFR assembly with RGMB mesh generators.
style=width:75%;display:block;margin-left:auto;margin-right:auto;
style=width:100%;display:block;margin-left:auto;margin-right:auto;

## ReactorMeshParams

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ This tutorial covers the generation of mostly standard geometries, but many reac

- [FillBetweenPointVectorsGenerator.md] generates pebble bed streamlines
- [CartesianMeshGenerator.md] and [FillBetweenSidesetsGenerator.md] generates rectangular meshes and trapezoid meshes
- [StitchedMeshGenerator.md] merges core components
- [CombinerGenerator.md] combines outer walls of core barrel and RPV

!media tutorial04_meshing/adv_ex_PBRPronghornGriffin.png
id=tutorial04-adv_ex_PBRPronghornGriffin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,27 +115,29 @@ A second set of mesh generators (Reactor Geometry Mesh Builder mesh generators)

## Core

!row!
!col small=12 medium=6 large=8

- [PatternedHexMeshGenerator.md]
- (Cartesian sibling -- [PatternedCartesianMeshGenerator.md])

- 2D regular assembly pattern with uniform assembly pitch

- Assembly meshes generated by [PatternedHexMeshGenerator.md], [HexagonConcentricCircleAdaptiveBoundaryMeshGenerator.md] and [SimpleHexagonGenerator.md] can be used as inputs
- Core mesh generation should include the parameter [!param](/Mesh/PatternedHexMeshGenerator/generate_core_metadata) as `true`.
- The input pattern will be automatically rotated 90 degrees CCW unless otherwise specified with [!param](/Mesh/PatternedHexMeshGenerator/rotate_angle)

!col small=12 medium=6 large=4

- The pattern will be automatically rotated 90 degrees CCW unless specified with [!param](/Mesh/PatternedHexMeshGenerator/rotate_angle)

!row-end!
!row!
!col small=12 medium=6 large=8

!listing base_mesh_generators/common_geo.i
block=Mesh/pattern_core
link=False

!col small=12 medium=6 large=4

!media tutorial04_meshing/base_ex_phmg_core.png
style=width:50%;display:block;margin-left:auto;margin-right:auto;

!row-end!

!---

## Core Periphery (PRMG)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

## Why do we need Reporting IDs?

!row!
!col small=12 medium=6 large=8

- In reactor simulations, we want to bookkeep the individual elements belonging to each geometric component

- Assign material properties to the mesh in different regions
Expand All @@ -14,6 +17,13 @@
- Multiple hierarchical levels in geometries (e.g., pin, assembly) cannot be represented with blocks
- Reporting IDs were introduced as a practical solution to this bookkeeping issue

!col small=12 medium=6 large=4

!media tutorial04_meshing/block_vs_reporting_id.png
style=width:100%;display:block;margin-left:auto;margin-right:auto;

!row-end!

!---

## What are Reporting IDs?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@

!row-end!

+Hands-on package MOOSE input file+: `combined/reactor_workshop/tests/reactor_examples/abtr/abtr.i`

!---

## Define Homogeneous Hexagonal Assemblies
Expand Down Expand Up @@ -201,7 +203,7 @@

## Use of ABTR Mesh in Downstream Physics Code (Griffin)

The Reactor Module creates meshes containing blocks of elements (identified by block ID), groups of elements with similar extra element integers (identified by different extra element IDs such as `pin_id`, `assembly_id`, `depletion_id`), and groups of curves (2D meshes) or faces (3D meshes) called sidesets (identified by sideset ID). In particular, the blocks and sidesets are used in downstream physics codes to assign materials to mesh elements and to assign boundary conditions.
The Reactor Module creates meshes containing blocks of elements (identified by block ID), groups of elements with similar reporting IDs (identified by different reporting IDs such as `pin_id`, `assembly_id`, `depletion_id`), and groups of curves (2D meshes) or faces (3D meshes) called sidesets (identified by sideset ID). In particular, the blocks and sidesets are used in downstream physics codes to assign materials to mesh elements and to assign boundary conditions.

These assignments are discussed here for [Griffin](https://inl.gov/ncrc/code-descriptions/), a MOOSE-based reactor physics code developed under the DOE Nuclear Energy Advanced Modeling and Simulation Program.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

!row-end!

+Hands-on package MOOSE input file+: `combined/reactor_workshop/tests/reactor_examples/hpmr/hpmr.i`

!---

## Create Pin Unit Cell
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
This example illustrates the use of RGMB mesh generators to define a 3D hexagonal geometry core with homogeneous assemblies (ABTR ([!cite](shemon2015abtr)), constructed earlier in this tutorial using base mesh generators).

!media tutorial04_meshing/rgmb_abtr_stepbystep.png
id=tutorial04-rgmb_abtr_stepbystep
caption=Visualization of meshing steps to build the 3D ABTR core with RGMB mesh generators.
style=width:40%;display:block;margin-left:auto;margin-right:auto;
style=width:70%;display:block;margin-left:auto;margin-right:auto;

+Hands-on package MOOSE input file+: `combined/reactor_workshop/tests/reactor_examples/rgmb_abtr/rgmb_abtr.i`

!---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
This example illustrates the use of RGMB mesh generators to define a 3D pin-heterogeneous hexagonal assembly with duct. The geometry is based on an early prototype of a lead-cooled fast reactor (LFR) assembly designed by Westinghouse Electric Company (WEC) ([!cite](grasso2019lfr)).

!media tutorial04_meshing/rgmb_lfr_stepbystep.png
style=width:40%;display:block;margin-left:auto;margin-right:auto;
style=width:100%;display:block;margin-left:auto;margin-right:auto;

+Hands-on package MOOSE input file+: `combined/reactor_workshop/tests/reactor_examples/rgmb_lfr/rgmb_lfr_assembly.i`

!---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ This tutorial covers the generation of mostly standard geometries, but many reac

- [FillBetweenPointVectorsGenerator.md] generates pebble bed streamlines
- [CartesianMeshGenerator.md] and [FillBetweenSidesetsGenerator.md] generates rectangular meshes and trapezoid meshes
- [StitchedMeshGenerator.md] merges core components
- [CombinerGenerator.md] combines outer walls of core barrel and RPV

!col small=12 medium=6 large=4

Expand Down

0 comments on commit b9c8e60

Please sign in to comment.