Thermal Hydraulics System Design Description
This template follows INL template TEM-140, "IT System Design Description."
This document serves as an addendum to Framework System Design Description and captures information for Software Design Description (SDD) specific to the Thermal Hydraulics module.
- Framework System Design Description
- Fluid Properties System Design Description
- Heat Conduction System Design Description
- Navier Stokes System Design Description
- Misc System Design Description
- Ray Tracing System Design Description
- Reconstructed Discontinuous Galerkin System Design Description
- Solid Properties System Design Description
Introduction
The MOOSE Thermal Hydraulics module is based on the MOOSE framework and thus inherits the unique features and base characteristics of the framework, as outlined in the Framework System Design Description. Specific details unique to the module are outlined in this document.
System Purpose
The Software Design Description provided here is description of each object in the system. The pluggable architecture of the underlying framework of the Thermal Hydraulics module makes MOOSE and MOOSE-based applications straightforward to develop as each piece of end-user (developer) code that goes into the system follows a well-defined interface for the underlying systems that those object plug into. These descriptions are provided through developer-supplied "markdown" files that are required for all new objects that are developed as part of the Thermal Hydraulics module. More information about the design documentation for MOOSE-based applications and like the Thermal Hydraulics module can be found in Documenting MOOSE.
System Scope
The MOOSE Thermal Hydraulics module provides several additional systems, including a component system, a closures system, and a control logic system. The module includes basic components such as two-dimensional and three-dimensional heat structures, which solve the transient heat conduction equation, along with components that provide heat sources, boundary conditions, and interface conditions to these components. The module also includes a suite of components for solving single-phase flow, using numerical methods most suitable for compressible gas flows. These single-phase flow components include flow channels, junctions, valves, walls, and inlets/outlets. Additionally, the module provides turbomachinery components such as a shaft, motor, compressor, and turbine. In addition to components, the module provides basic closures for the single-phase flow model, as well as control logic objects such as delays, trips, and PID controllers.
Dependencies and Limitations
The Thermal Hydraulics module inherits the software dependencies of the MOOSE framework, with no additional dependencies. The design of this module is motivated by the needs of its client applications.
Definitions and Acronyms
This section defines, or provides the definition of, all terms and acronyms required to properly understand this specification.
Definitions
Pull (Merge) Request: A proposed change to the software (e.g. usually a code change, but may also include documentation, requirements, design, and/or testing).
Baseline: A specification or product (e.g., project plan, maintenance and operations (M&O) plan, requirements, or design) that has been formally reviewed and agreed upon, that thereafter serves as the basis for use and further development, and that can be changed only by using an approved change control process (NQA-1, 2009).
Validation: Confirmation, through the provision of objective evidence (e.g., acceptance test), that the requirements for a specific intended use or application have been fulfilled (24765:2010(E), 2010).
Verification: (1) The process of: evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (2) Formal proof of program correctness (e.g., requirements, design, implementation reviews, system tests) (24765:2010(E), 2010).
Acronyms
Acronym | Description |
---|---|
API | Application Programming Interface |
DOE-NE | Department of Energy, Nuclear Energy |
FE | finite element |
HIT | Hierarchical Input Text |
HPC | High Performance Computing |
I/O | Input/Output |
INL | Idaho National Laboratory |
MOOSE | Multiphysics Object Oriented Simulation Environment |
MPI | Message Passing Interface |
SDD | Software Design Description |
Design Stakeholders and Concerns
Design Stakeholders
Stakeholders for MOOSE include several of the funding sources including Department of Energy, Nuclear Energy (DOE-NE) and the INL. However, Since MOOSE is an open-source project, several universities, companies, and foreign governments have an interest in the development and maintenance of the MOOSE project.
Stakeholder Design Concerns
Concerns from many of the stakeholders are similar. These concerns include correctness, stability, and performance. The mitigation plan for each of these can be addressed. For correctness, Thermal Hydraulics module development requires either regression or unit testing for all new code added to the repository. The project contains several comparisons against analytical solutions where possible and also other verification methods such as MMS. For stability, the Thermal Hydraulics module (located within the MOOSE repository) maintains multiple branches to incorporate several layers of testing both internally and for dependent applications. Finally, performance tests are also performed as part of the the normal testing suite to monitor code change impacts to performance.
System Design
The Thermal Hydraulics module inherits the wide range of pluggable systems from MOOSE. More information regarding MOOSE system design can be found in the framework System Design section. Documentation for each object, data structure, and process specific to the module are kept up-to-date alongside the MOOSE documentation. Expected failure modes and error conditions are accounted for via regression testing, and error conditions are noted in object documentation where applicable.
System Structure
The architecture of the Thermal Hydraulics module consists of a core and several pluggable systems (both inherited from the MOOSE framework). The core of MOOSE consists of a number of key objects responsible for setting up and managing the user-defined objects of a finite element simulation. This core set of objects has limited extendability and exists for every simulation configuration that the module is capable of running.
AuxKernels
AuxScalarKernels
AuxVariables
BCs
Bounds
Closures
Components
Constraints
ControlLogic
Controls
CoupledHeatTransfers
DGKernels
Debug
FluidProperties
Functions
FunctorMaterials
HeatStructureMaterials
ICs
Kernels
Materials
Mesh
Modules
Modules/FluidProperties
Outputs
Postprocessors
Problem
ScalarKernels
UserObjects
Variables
VectorPostprocessors
The MooseApp is the top-level object used to hold all of the other objects in a simulation. In a normal simulation a single MooseApp object is created and "run()". This object uses its Factory objects to build user-defined objects which are stored in a series of Warehouse objects and executed. The Finite Element data is stored in the Systems and Assembly object while the domain information (the Mesh) is stored in the Mesh object. A series of threaded loops are used to run parallel calculations on the objects created and stored within the warehouses.
MOOSE's pluggable systems are documented on the MOOSE website, and those for the Thermal Hydraulics module are on this webpage, accessible through the high-level system links above. Each of these systems has a set of defined polymorphic interfaces and are designed to accomplish a specific task within the simulation. The design of these systems is solid and is managed through agile methods and ticket request system either on GitHub (for MOOSE) or on the defined software repository for this application.
Data Design and Control
At a high level, the system is designed to process Hierarchical Input Text (HIT) input files to construct several objects that will constitute an finite element (FE) simulation. Some of the objects in the simulation may in turn load other file-based resources to complete the simulation. Examples include meshes or data files. The system will then assemble systems of equations and solve them using the libraries of the Code Platform. The system can then output the solution in one or more supported output formats commonly used for visualization.
Human-Machine Interface Design
The Thermal Hydraulics module is a command-line driven program. All interaction with the Thermal Hydraulics module is ultimately done through the command line. This is typical for HPC applications that use the MPI interface for running on super computing clusters. Optional GUIs may be used to assist in creating input files and launching executables on the command line.
System Design Interface
All external system interaction is performed either through file Input/Output (I/O) or through local Application Programming Interface (API) calls. Neither the Thermal Hydraulics module, nor the MOOSE framework, nor the other MOOSE modules are designed to interact with any external system directly through remote procedure calls. Any code to code coupling performed using the framework are done directly through API calls either in a static binary or after loading shared libraries.
Security Structure
The Thermal Hydraulics module does not require any elevated privileges to operate and does not run any stateful services, daemons or other network programs. Distributed runs rely on the MPI library.
Requirements Cross-Reference
- thermal_hydraulics: CoupledHeatTransferAction
- 21.1.1The system shall be able to couple solid heat conduction region to a 1-D flow channel via convective heat transfer
- Without sub-app positions provided.
- With sub-app positions provided.
- With multiple phases.
Specification(s): test/without_positions, test/with_positions, test/multiple_phases
Design: CoupledHeatTransferAction
Issue(s): #21818
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.1.2The system shall report an error for the coupled heat transfer action if the mesh is not aligned with the x, y, or z axis.
Specification(s): misaligned
Design: CoupledHeatTransferAction
Issue(s): #21818
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: ConvectiveHeatFlux1PhaseAux
- 21.2.1The system shall compute convective heat flux between fluid and wall temperature for 1-phase flow
Specification(s): test
Design: ConvectiveHeatFlux1PhaseAux
Issue(s): #60
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: ComponentGroup
- 21.3.1The system shall allow nesting components into groups in input files
Specification(s): test
Design: ComponentGroup
Issue(s): #94
Collection(s): FUNCTIONAL
Type(s): RunApp
- thermal_hydraulics: FreeBoundary
- 21.5.3The system shall report an error if the FreeBoundary component is used.
Specification(s): free_boundary
Design: FreeBoundary
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: GateValve
- 21.5.4The system shall report an error if the GateValve component is used.
Specification(s): gate_valve
Design: GateValve
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: SolidWall
- 21.5.5The system shall report an error if the SolidWall component is used.
Specification(s): solid_wall
Design: SolidWall
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: JunctionOneToOne
- 21.5.6The system shall report an error if the JunctionOneToOne component is used.
Specification(s): junction_one_to_one
Design: JunctionOneToOne
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: HeatGeneration
- 21.5.7The system shall report an error if the HeatGeneration component is used.
Specification(s): heat_generation
Design: HeatGeneration
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: HeatSourceVolumetric
- 21.5.8The system shall report an error if the HeatSourceVolumetric component is used.
Specification(s): heat_source_volumetric
Design: HeatSourceVolumetric
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: PrescribedReactorPower
- 21.5.9The system shall report an error if the PrescribedReactorPower component is used.
Specification(s): prescribed_reactor_power
Design: PrescribedReactorPower
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: FileMeshComponent
- 21.5.11The system shall generate a mesh for the FileMeshComponent test.
Specification(s): mesh
Design: FileMeshComponent
Issue(s): #22354
Collection(s): FUNCTIONAL
Type(s): RunApp
- 21.5.12The system shall provide a component that loads a mesh from an ExodusII file.
Specification(s): test
Design: FileMeshComponent
Issue(s): #22354
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.13The system shall report an error for FileMeshComponent when the file is not readable.
Specification(s): file_not_readable
Design: FileMeshComponent
Issue(s): #22354
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: FlowComponentNS
- 21.5.19The system shall generate a mesh for the FlowComponentNS tests.
Specification(s): generate_mesh
Design: FlowComponentNS
Issue(s): #23794
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.20The system shall model the porous, incompressible Navier-Stokes equations with a finite volume discretization, using a component.
Specification(s): pincns
Design: FlowComponentNS
Issue(s): #23794
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: HeatStructure2DCoupler
- 21.5.51The system shall be able to couple two 2D cylindrical heat structures.
Specification(s): cylindrical
Design: HeatStructure2DCoupler
Issue(s): #19851
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.52The system shall be able to couple two 2D plate heat structures.
Specification(s): plate
Design: HeatStructure2DCoupler
Issue(s): #19851
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.53The system shall be able to couple two 2D cylindrical heat structures on separated surfaces.
Specification(s): separated
Design: HeatStructure2DCoupler
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.54The system shall report an error for HeatStructure2DCoupler when
- the provided heat structure boundary does not exist.
- the types of the coupled heat structures do not match.
- the types of either coupled heat structure is invalid.
- the boundary meshes are not aligned.
Specification(s): error_reporting/missing_boundary, error_reporting/type_mismatch, error_reporting/invalid_hs_type, error_reporting/mesh_mismatch
Design: HeatStructure2DCoupler
Issue(s): #19851
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: HeatStructure2DRadiationCouplerRZ
- 21.5.55The system shall be able to couple two 2D cylindrical heat structures via radiation and conserve energy.
Specification(s): physics
Design: HeatStructure2DRadiationCouplerRZ
Issue(s): #21688
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.56The system shall report an error for HeatStructure2DRadiationCouplerRZ when
- the provided heat structure boundary does not exist.
- the type of either coupled heat structure is invalid.
- the boundary meshes are not aligned.
Specification(s): error_reporting/missing_boundary, error_reporting/invalid_hs_type, error_reporting/mesh_not_aligned
Design: HeatStructure2DRadiationCouplerRZ
Issue(s): #21688
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: HeatTransferFromHeatStructure1Phase
- 21.5.83The system shall be able to couple a flow channel and heat structure aligned with the x-axis.
Specification(s): phy:T_wall_transfer_3eqn_x
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.84The system shall be able to couple a flow channel and heat structure with non-uniform meshes and opposite directions.
Specification(s): phy:T_wall_transfer_3eqn_x_lengths
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.85The system shall be able to couple a flow channel and heat structure aligned with the y-axis.
Specification(s): phy:T_wall_transfer_3eqn_y
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #20747
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.86The system shall be able to couple a flow channel and heat structure aligned with the z-axis.
Specification(s): phy:T_wall_transfer_3eqn_z
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.87The system shall conserve energy when a flow channel is coupled to a plate heat structure.
Specification(s): phy:conservation_1phase_plate
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.88The system shall conserve energy when a flow channel is coupled to a cylindrical heat structure.
Specification(s): phy:conservation_1phase_cylinder
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.89The system shall conserve energy when a flow channel is coupled to several heat structures.
Specification(s): phy:heat_structure_multiple_3eqn
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.90The system shall conserve energy after reaching steady-state when a flow channel is coupled to a heat structure.
Specification(s): phy.energy_heatstructure_ss_1phase
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.91The system shall throw an error if the flow channel component is not of type 'FlowChannelBase'.
Specification(s): err:not_a_pipe
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.92The system shall throw an error if the heat structure component is not of type 'HeatStructureBase'.
Specification(s): err:not_a_hs
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.93The system shall throw an error if the provided heat structure side is invalid.
Specification(s): err:wrong_hs_side
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.94The system shall throw an error if the heat structure and flow channel components don't have the same number of axial elements.
Specification(s): err:elems_mismatch
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.95The system shall throw an error if the heat structure and flow channel components don't have the same length.
Specification(s): err:length_mismatch
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.96The system shall throw an error if the center of the elements of the flow channel component don't align with the centers of the specified heat structure side.
Specification(s): err:wrong_position
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.97The system shall throw an error if the coupled flow channel and heat structure components don't have the same orientation.
Specification(s): err:wrong_orientation
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.98The system shall throw an error if the flow channel is coupled to the inner side of a heat structure that has a zero inner radius.
Specification(s): err:zero_p_hs_radius
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.99The system shall throw an error if the heat transfer coefficient is not specified with simple closures.
Specification(s): err:missing_hw
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.100The system shall compute jacobians when a flow channel is coupled to the outer side of a cylindrical heat structure.
Specification(s): jac:cylindrical_top_side_1phase
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.5.101The system shall compute jacobians when a flow channel is coupled to the inner side of a cylindrical heat structure.
Specification(s): jac:cylindrical_bottom_side_1phase
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.5.102The system shall compute jacobians when a flow channel is coupled to the outer side of a plate heat structure.
Specification(s): jac:plate_top_side_1phase
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.5.103The system shall compute jacobians when a flow channel is coupled to the inner side of a plate heat structure.
Specification(s): jac:plate_bottom_side_1phase
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #19754
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.11.12The system shall be able to produce an exodus file for setting initial conditions in volume junctions
Specification(s): steady_state
Design: HeatTransferFromHeatStructure1Phase
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.13The system shall be able to use an exodus file for setting initial conditions in volume junctions
Specification(s): test
Design: HeatTransferFromHeatStructure1PhaseSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: HeatTransferFromHeatStructure3D1Phase
- 21.5.104The system shall conserve energy when using HeatTransferFromHeatStructure3D1Phase.
Specification(s): phy:conservation
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.105The system shall allow to connect multiple flow channels to a single boundary in HeatTransferFromHeatStructure3D1Phase.
Specification(s): phy:conservation_ss
Design: HeatTransferFromHeatStructure3D1Phase
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.106The system shall allow to connect flow channels that have negative orientation to a HeatTransferFromHeatStructure3D1Phase component.
Specification(s): phy:conservation_inv
Design: HeatTransferFromHeatStructure3D1Phase
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.107The system shall throw an error if a flow channel connected to a HeatTransferFromHeatStructure3D1Phase component is not a FlowChannel1Phase.
Specification(s): err:not_a_pipe
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.108The system shall throw an error if a flow channel connected to a HeatTransferFromHeatStructure3D1Phase component is not aligned with the x-, y-, or z- axis.
Specification(s): err:fch_orientation
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.109The system shall throw an error if the heat structure connected to a HeatTransferFromHeatStructure3D1Phase component is not a HeatStructureFromFile3D component.
Specification(s): err:not_3d_hs
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.110The system shall throw an error if the heat structure boundary connected to a HeatTransferFromHeatStructure3D1Phase component doesn't exist.
Specification(s): err:non_existent_boundary
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.111The system shall throw an error if the flow channels connected to a HeatTransferFromHeatStructure3D1Phase component are not aligned with the same axis.
Specification(s): err:differently_aligned_channels
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.112The system shall throw an error if the flow channels connected to a HeatTransferFromHeatStructure3D1Phase component don't have the same lnumber of elements.
Specification(s): err:different_n_elems
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.113The system shall throw an error if the flow channels connected to a HeatTransferFromHeatStructure3D1Phase component don't have the same length.
Specification(s): err:different_lengths
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.114The system shall correctly compute Jacobians for HeatTransferFromHeatStructure3D1Phase.
Specification(s): jac
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #19831
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.11.14The system shall be able to produce an exodus file for setting initial conditions in heat transfer from 3D heat structures
Specification(s): steady_state
Design: HeatTransferFromHeatStructure3D1Phase
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.15The system shall be able to use an exodus file for setting initial conditions in heat transfer from 3D heat structures
Specification(s): test
Design: HeatTransferFromHeatStructure3D1PhaseSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: Pump1Phase
- 21.5.172The system shall allow for controlling the pump head
Specification(s): clg:head
Design: Pump1Phase
Issue(s): #684
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.173The system shall allow for controlling the pump head
Specification(s): jacobian
Design: Pump1Phase
Issue(s): #684
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- thermal_hydraulics: ShaftConnectedCompressor1Phase
- 21.5.175The system shall conserve mass and energy when using ShaftConnectedCompressor1Phase.
Specification(s): phy:mass_energy_conservation
Design: ShaftConnectedCompressor1Phase
Issue(s): #19863
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.176The system shall be able to model a compressor with ShaftConnectedCompressor1Phase.
Specification(s): phy:loop
Design: ShaftConnectedCompressor1Phase
Issue(s): #19863
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.177The system shall allow ShaftConnectedCompressor1Phase to run with a zero shaft speed.
Specification(s): runs_with_zero_shaft_speed
Design: ShaftConnectedCompressor1Phase
Collection(s): FUNCTIONAL
Type(s): RunApp
- 21.5.178The system shall correctly compute Jacobians for ShaftConnectedCompressor1Phase.
Specification(s): jac:test
Design: ShaftConnectedCompressor1Phase
Issue(s): #19863
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.5.179The system shall throw an error if ShaftConnectedCompressor1Phase is not connected to a shaft component.
Specification(s): err:not_connected_to_shaft
Design: ShaftConnectedCompressor1Phase
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: ShaftConnectedMotor
- 21.5.180The system shall throw an error if the initial shaft speed is not provided and the application is not restarting.
Specification(s): err:no_initial_speed
Design: ShaftConnectedMotor
Issue(s): #19833
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.181The system shall throw an error if ShaftConnectedMotor is not connected to a shaft component.
Specification(s): err:not_connected_to_shaft
Design: ShaftConnectedMotor
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.182The system shall be able to model a motor connected to a shaft.
Specification(s): restart_part1
Design: ShaftConnectedMotor
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.183The system shall be able to execute a restart a simulation involving a shaft-connected motor.
Specification(s): restart_part2
Design: ShaftConnectedMotor
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.184The system shall allow the torque of a shaft-connected motor to be controlled.
Specification(s): clg_test_torque
Design: ShaftConnectedMotor
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.185The system shall allow the inertia of a shaft-connected motor to be controlled.
Specification(s): clg_test_inertia
Design: ShaftConnectedMotor
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: ShaftConnectedPump1Phase
- 21.5.186The system shall conserve mass and energy when using ShaftConnectedPump1Phase.
Specification(s): phy:mass_energy_conservation
Design: ShaftConnectedPump1Phase
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.187The system shall be able to model a pump with ShaftConnectedPump1Phase.
Specification(s): phy:loop
Design: ShaftConnectedPump1Phase
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.188The system shall be able to model a pump coastdown with ShaftConnectedPump1Phase.
Specification(s): phy:coastdown
Design: ShaftConnectedPump1Phase
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.189The system shall correctly compute Jacobians for ShaftConnectedPump1Phase.
Specification(s): jacobian
Design: ShaftConnectedPump1Phase
Issue(s): #19833
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.5.190The system shall throw an error if ShaftConnectedPump1Phase is not connected to a shaft component.
Specification(s): err:not_connected_to_shaft
Design: ShaftConnectedPump1Phase
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: ShaftConnectedTurbine1Phase
- 21.5.192The system shall conserve mass and energy when using ShaftConnectedTurbine1Phase.
Specification(s): phy:mass_energy_conservation
Design: ShaftConnectedTurbine1Phase
Issue(s): #19876
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.193The system shall be able to model a turbine with ShaftConnectedTurbine1Phase.
Specification(s): phy:loop
Design: ShaftConnectedTurbine1Phase
Issue(s): #19876
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.194The system shall be able to model a turbine startup with ShaftConnectedTurbine1Phase.
Specification(s): phy:startup
Design: ShaftConnectedTurbine1Phase
Issue(s): #19876
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.5.195The system shall correctly compute Jacobians for ShaftConnectedTurbine1Phase.
Specification(s): jac:test
Design: ShaftConnectedTurbine1Phase
Issue(s): #19876
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 21.5.196The system shall throw an error if ShaftConnectedTurbine1Phase is not connected to a shaft component.
Specification(s): err:not_connected_to_shaft
Design: ShaftConnectedTurbine1Phase
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: SupersonicInlet
- 21.5.203The system shall report an error if the SupersonicInlet component is used.
Specification(s): not_implemented
Design: SupersonicInlet
Issue(s): #20383
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: VolumeJunction1Phase
- 21.5.206The system shall be able model a flow junction to connect:
- 2 pipes of equal area in the x direction,
- 2 pipes of equal area not in the x direction,
- 2 pipes of unequal area,
- 3 pipes, 1 of which going to a dead-end,
- 2 pipes with different temperatures mixing together into a third pipe with correct syntax,
- 2 pipes with different temperatures mixing together into a third pipe with correct results,
- pipes with the calorically imperfect gas fluid properties,
Specification(s): test_phy/equal_area_x_direction, test_phy/equal_area_not_x_direction, test_phy/phy:unequal_area, test_phy/phy:deadend, test_phy/phy:shower_syntax, test_phy/phy:shower, test_phy/calorically_imperfect_gas
Design: VolumeJunction1Phase
Issue(s): #19771
Collection(s): FUNCTIONAL
Type(s): RunAppCSVDiff
- 21.5.207The system shall allow the user to prescribe form losses in the volume jucntion component:
- by specifying a constant loss coefficient and using the area of the first connected pipe,
- by specifying a constant loss coefficient and a reference flow area, and
- by specifying the loss coefficient through the control system.
Specification(s): form_loss_tests/phy.form_loss, form_loss_tests/phy.form_loss_Aref, form_loss_tests/phy.form_loss_crtl
Design: VolumeJunction1Phase
Issue(s): #19771
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.208The system shall conserve mass and energy when a VolumJunction1Phase component is used
Specification(s): conservation_1phase
Design: VolumeJunction1Phase
Issue(s): #19771
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.5.209The system shall throw an error if initial conditions for the VolumeJunction1Phase component are missing.
Specification(s): err.missing_ics
Design: VolumeJunction1Phase
Issue(s): #19771
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.5.210The system shall throw an error if the parameter "A_ref" is specifed and the paramter "K" is not specified.
Specification(s): err.missing_K
Design: VolumeJunction1Phase
Issue(s): #19771
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: ParsedFunctionControl
- 21.6.7The system shall provide a control that evaluates a parsed function
Specification(s): test
Design: ParsedFunctionControl
Issue(s): #93
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: UnitTripControl
- 21.6.17The system shall provide a unit trip component that report true if the trip condition was met and false otherwise.
Specification(s): no_latch
Design: UnitTripControl
Issue(s): #619
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.6.18The system shall provide a unit trip component that stays in tripped state after the trip happened.
Specification(s): latch
Design: UnitTripControl
Issue(s): #619
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.6.19The system shall report an error when an unit trip condition does not evaluate as boolean value.
Specification(s): err:not_boolean
Design: UnitTripControl
Issue(s): #619
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: DiscreteLineSegmentInterface
- 21.8.1The system shall provide an interface to compute an axial coordinate from an arbitrary spatial point.
Specification(s): compute_axial_coordinate
Design: DiscreteLineSegmentInterface
Issue(s): #21818
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.8.2The system shall provide an interface to compute a radial coordinate from an arbitrary spatial point.
Specification(s): compute_radial_coordinate
Design: DiscreteLineSegmentInterface
Issue(s): #21818
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.8.3The system shall provide an interface to get the axial section index for an arbitrary spatial point.
Specification(s): get_axial_section_index
Design: DiscreteLineSegmentInterface
Issue(s): #21818
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.8.4The system shall provide an interface to get the axial element index for an arbitrary spatial point.
Specification(s): get_axial_element_index
Design: DiscreteLineSegmentInterface
Issue(s): #21818
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.8.5The system shall report an error for the discrete line segment interface
- if an invalid axial coordinate is provided.
Specification(s): error_reporting/compute_axial_coordinate_invalid_axial_coord
Design: DiscreteLineSegmentInterface
Issue(s): #21818
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: ADWallHeatTransferCoefficientWolfMcCarthyMaterial
- 21.10.13The system shall be able to compute the convective heat transfer coefficient using the Wolf-McCarthy correlation.
Specification(s): test
Design: ADWallHeatTransferCoefficientWolfMcCarthyMaterial
Issue(s): #23709
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: FlowChannel1Phase
- 21.11.5The system shall be able to produce an exodus file for setting initial conditions in flow channels
Specification(s): steady_state
Design: FlowChannel1Phase
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.6The system shall be able to use an exodus file for setting initial conditions in flow channels
Specification(s): test
Design: FlowChannel1PhaseSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.14.8The system shall produce an accurate solution to the Lax shock tube benchmark problem
- using an explicit temporal discretization, and
- using an implicit temporal discretization.
Specification(s): all/explicit, all/implicit
Design: FlowChannel1Phase
Issue(s): #5
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.14.10The system shall simulate a natural circulation loop using flow channels and junctions.
Specification(s): test
Design: FlowChannel1PhaseJunctionOneToOne1Phase
Issue(s): #23790
Collection(s): FUNCTIONAL
Type(s): XMLDiff
- 21.14.11The system shall compute a pressure drop solution
- without a junction, and
- with a junction.
Specification(s): tests/without_junction, tests/with_junction
Design: FlowChannel1Phase
Issue(s): #20532
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: SolutionIC
- 21.11.6The system shall be able to use an exodus file for setting initial conditions in flow channels
Specification(s): test
Design: FlowChannel1PhaseSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.7The system shall report an error when a block is non found in the restart ExodusII file
Specification(s): non_existent_block
Design: SolutionIC
Issue(s): #20526
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.11.9The system shall be able to use an exodus file for setting initial conditions in heat structures
Specification(s): test
Design: Heat StructuresSolutionIC
Issue(s): #20465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.11The system shall be able to use an exodus file for setting initial conditions in 3D heat structures
Specification(s): test
Design: HeatStructureFromFile3DSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.13The system shall be able to use an exodus file for setting initial conditions in volume junctions
Specification(s): test
Design: HeatTransferFromHeatStructure1PhaseSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.15The system shall be able to use an exodus file for setting initial conditions in heat transfer from 3D heat structures
Specification(s): test
Design: HeatTransferFromHeatStructure3D1PhaseSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: Heat Structures
- 21.11.8The system shall be able to produce an exodus file for setting initial conditions in heat structures
Specification(s): steady_state
Design: Heat Structures
Issue(s): #20465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.9The system shall be able to use an exodus file for setting initial conditions in heat structures
Specification(s): test
Design: Heat StructuresSolutionIC
Issue(s): #20465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: HeatStructureFromFile3D
- 21.11.10The system shall be able to produce an exodus file for setting initial conditions in 3D heat structures
Specification(s): steady_state
Design: HeatStructureFromFile3D
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.11The system shall be able to use an exodus file for setting initial conditions in 3D heat structures
Specification(s): test
Design: HeatStructureFromFile3DSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: Shaft
- 21.11.16The system shall be able to produce an exodus file for setting initial conditions in shaft
Specification(s): steady_state
Design: Shaft
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.17The system shall be able to use an exodus file for setting initial conditions in shaft
Specification(s): test
Design: ShaftScalarSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: ScalarSolutionIC
- 21.11.17The system shall be able to use an exodus file for setting initial conditions in shaft
Specification(s): test
Design: ShaftScalarSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.11.19The system shall be able to use an exodus file for setting initial conditions in volume junctions
Specification(s): test
Design: Flow JunctionsScalarSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: Flow Junctions
- 21.11.18The system shall be able to produce an exodus file for setting initial conditions in volume junctions
Specification(s): steady_state
Design: Flow Junctions
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 21.11.19The system shall be able to use an exodus file for setting initial conditions in volume junctions
Specification(s): test
Design: Flow JunctionsScalarSolutionIC
Issue(s): #20553
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: THMCreateMeshAction
- 21.11.26The system shall uniform refine mesh when specifid on the command line
Specification(s): test
Design: THMCreateMeshAction
Issue(s): #226
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: THMSetupOutputAction
- 21.12.1The system shall be able to disable the output of scalar variables to the console.
Specification(s): disable
Design: THMSetupOutputAction
Issue(s): #23498
Collection(s): FUNCTIONAL
Type(s): RunApp
- 21.12.2The system shall be able to allow the output of scalar variables to the console.
Specification(s): allow
Design: THMSetupOutputAction
Issue(s): #23498
Collection(s): FUNCTIONAL
Type(s): RunApp
- thermal_hydraulics: ADElementIntegralMaterialPropertyRZ
- 21.13.1This system shall compute an RZ integral of a material property.
Specification(s): test
Design: ADElementIntegralMaterialPropertyRZ
Issue(s): #23420
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: RZSymmetry
- 21.13.4The system should report an error when users set subdomain-restricted RZ-symmtrical THM-specific objects on RZ-subdomains.
Specification(s): err:rz_domain
Design: RZSymmetry
Issue(s): #215
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 21.13.6The system should error out when users set boundary-restricted RZ-symmtrical THM-specific objects on RZ-subdomains.
Specification(s): err:rz_domain
Design: RZSymmetry
Issue(s): #215
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- thermal_hydraulics: HeatRateConductionRZ
- 21.13.7The system shall compute the heat conduction rate across an RZ boundary.
Specification(s): test
Design: HeatRateConductionRZ
Issue(s): #23461
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: HeatRateHeatFlux
- 21.13.12The system shall compute the heat rate for a user-provided heat flux function.
Specification(s): test
Design: HeatRateHeatFlux
Issue(s): #24261
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: HeatRateHeatFluxRZ
- 21.13.13The system shall compute the heat rate for a user-provided heat flux function for a cylindrical boundary.
Specification(s): test
Design: HeatRateHeatFluxRZ
Issue(s): #24261
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: ShaftConnectedComponentPostprocessor
- 21.13.20The system shall provide a post-processor to retrieve the torque and moment of inertia from a shaft-connected component.
Specification(s): test
Design: ShaftConnectedComponentPostprocessor
Issue(s): #20196
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: SpecificImpulse1Phase
- 21.13.22The system shall compute specific impulse from conditions on a boundary
Specification(s): Isp_1ph
Design: SpecificImpulse1Phase
Issue(s): #189
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- thermal_hydraulics: Brayton Cycle
- 21.14.3The system shall be able to model an open Brayton cycle
Specification(s): open
Design: Brayton Cycle
Issue(s): #20196
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.14.4The system shall be able to model a closed Brayton cycle
Specification(s): closed
Design: Brayton Cycle
Issue(s): #20196
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.14.5The system shall be able to model an open recuperated Brayton cycle
Specification(s): recuperated
Design: Brayton Cycle
Issue(s): #20196
Collection(s): FUNCTIONAL
Type(s): RunApp
- thermal_hydraulics: JunctionOneToOne1Phase
- 21.14.10The system shall simulate a natural circulation loop using flow channels and junctions.
Specification(s): test
Design: FlowChannel1PhaseJunctionOneToOne1Phase
Issue(s): #23790
Collection(s): FUNCTIONAL
Type(s): XMLDiff
- thermal_hydraulics: LayeredFlowAreaChange
- 21.16.3The system shall allow computing changes in channel flow areas from deformation.
Specification(s): layered_area_change
Design: LayeredFlowAreaChange
Collection(s): FUNCTIONAL
Type(s): Exodiff
- thermal_hydraulics: Sampler1DReal
- 21.18.1The system shall provide a vector post-processor to sample regular material properties in one or more blocks.
Specification(s): non_ad
Design: Sampler1DReal
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.18.2The system shall provide a vector post-processor to sample AD material properties in one or more blocks.
Specification(s): ad
Design: Sampler1DReal
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 21.18.3The system shall report an error if a non-existent material property is requested for the block material property sampler vector post-processor.
Specification(s): error_on_nonexistent_matprop
Design: Sampler1DReal
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException