PyNUBOW Prerun and Test: Creates and tests necessary input files to be able to run NUBOW3D

Prerequisites Checklist

Self-review checklist:

  • My code follows the style guidelines and software coding standards for this project.
  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added appropriate tests that prove my fix/feature is effective.
  • If the source branch will not be used after this MR, I have set it to be deleted upon merging.

Documentation checklist:

  • I have checked the README and updated it if necessary.
  • I have checked the tutorial and made any documenation or results updates if necessary.
  • I have updated the CHANGELOG.

Description of Changes

PyNUBOW Prerun and Test: Creates and tests necessary input files to be able to run NUBOW3D.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected or break backwards compatibility)

PyNUBOW Prerun (in PyARC/PyNUBOW.py)

NUBOW3D uses two types of input files: time-step dependent and non-dependent.

There are two time-step dependent files giving (multiplied by the number of time-steps):

  • the temperature distribution
  • the fast flux distribution

There are two non-dependent time-step files:

  • nubow3d
  • adjacency

The PyNUBOW Prerun aims to write the nubow3d file (because others can be gathered from DASSH).

The nubow3d file is made up of string concatenations.

It mostly consists of gathering input from the PyARC user input file.

But three pieces of work emerge:

  • optional inputs management
  • duct type assignment to duct id
  • non-uniform inertia along the duct

This will all be checked in the following test part.

Test of the PyNUBOW Prerun (in PyARC/test/test_nubow_prerun.py)

The test of the PyNUBOW Prerun consists of comparing the generated nubow3d file with a reference file.

Five tests over five changes are performed:

  • geometry: 2 or 9 rings (with assembly type replacements)
  • optional inputs: default or optional values
  • axial inertia along the duct: uniform or non-uniform
  • time steps: one or two
  • pressure drop: with or without

Note: the pressure drop is a singular input and is tested separately (not as a simple option) because it is a DASSH output and is associated to the time steps.

Below is a summary table of the tests:

test #rings options inertia ttstep pdrop
001 2 no uniform one no
002 2 yes uniform one yes
003 2 no non-uniform one yes
004 9 no uniform one yes
005 2 no uniform two yes

Merge request reports

Loading