Heat Transfer System Requirements Specification
This template follows INL template TEM-135, "IT System Requirements Specification".
This document serves as an addendum to Framework System Requirements Specification and captures information for Software Requirement Specification (SRS) specific to the Heat Transfer module.
Introduction
System Purpose
The MOOSE Heat Transfer module purpose is to model heat transfer due to conduction and radiation.
System Scope
The Heat Transfer module models volumetric heat transfer mechanisms due to conduction and body sources/sinks. Additionally surface to surface conduction and radiation may also be modeled.
System Overview
System Context
The Heat Transfer module is command-line driven. Like MOOSE, this is typical for a high-performance software that is designed to run across several nodes of a cluster system. As such, all usage of the software is through any standard terminal program generally available on all supported operating systems. Similarly, for the purpose of interacting through the software, there is only a single user, "the user", which interacts with the software through the command-line. The Heat Transfer module does not maintain any back-end database or interact with any system daemons. It is an executable, which may be launched from the command line and writes out various result files as it runs.
Figure 1: Usage of the Heat Transfer module and other MOOSE-based applications.
System Functions
Since the Heat Transfer module is a command-line driven application, all functionality provided in the software is operated through the use of standard UNIX command line flags and the extendable MOOSE input file. The Heat Transfer module is completely extendable so individual design pages should be consulted for specific behaviors of each user-defined object.
User Characteristics
Like MOOSE, there are three kinds of users working on the Heat Transfer module:
Heat Transfer module Developers: These are the core developers of the Heat Transfer module. They are responsible for following and enforcing the software development standards of the module, as well as designing, implementing, and maintaining the software.
Developers: A scientist or engineer that uses the Heat Transfer module alongside MOOSE to build their own application. This user will typically have a background in modeling or simulation techniques (and perhaps numerical analysis) but may only have a limited skillset when it comes to code development using the C++ language. This is the primary focus group of the module. In many cases, these developers will be encouraged to contribute module-appropriate code back to the Heat Transfer module, or to MOOSE itself.
Analysts: These are users that will run the code and perform analysis on the simulations they perform. These users may interact with developers of the system requesting new features and reporting bugs found and will typically make heavy use of the input file format.
Assumptions and Dependencies
The Heat Transfer module is developed using MOOSE and can itself be based on various MOOSE modules, as such the SRS for the Heat Transfer module is dependent upon the files listed at the beginning of this document. Any further assumptions or dependencies are outlined in the remainder of this section.
The Heat Transfer module is designed with the fewest possible constraints on hardware and software. For more context on this point, the Heat Transfer module SRS defers to the framework Assumptions and Dependencies and ray tracing module assumptions and dependencies. Any physics-based assumptions in this module's objects are highlighted in their respective documentation pages.
References
Definitions and Acronyms
This section defines, or provides the definition of, all terms and acronyms required to properly understand this specification.
Definitions
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 |
---|---|
INL | Idaho National Laboratory |
LGPL | GNU Lesser General Public License |
MOOSE | Multiphysics Object Oriented Simulation Environment |
NQA-1 | Nuclear Quality Assurance Level 1 |
POSIX | Portable Operating System Interface |
SRS | Software Requirement Specification |
System Requirements
In general, the following is required for MOOSE-based development:
A POSIX compliant Unix-like operating system. This includes any modern Linux-based operating system (e.g., Ubuntu, Fedora, Rocky, etc.), or a Macintosh machine running either of the last two MacOS releases.
Hardware | Information |
---|---|
CPU Architecture | x86_64, ARM (Apple Silicon) |
Memory | 8 GB (16 GBs for debug compilation) |
Disk Space | 30GB |
Libraries | Version / Information |
---|---|
GCC | 8.5.0 - 12.2.1 |
LLVM/Clang | 10.0.1 - 16.0.6 |
Intel (ICC/ICX) | Not supported at this time |
Python | 3.7 - 3.11 |
Python Packages | packaging pyaml jinja2 |
Functional Requirements
- heat_transfer: Nafems
- 4.1.1The system shall compute the transient heat conduction solution for the NAFEMS T3 benchmark problem using a coarse mesh and
- HEX8 elements
- HEX20 elements
- HEX27 elements
- EDGE2 elements
- EDGE3 elements
- QUAD4 elements
- QUAD8 elements
- QUAD9 elements
- 4.1.2The system shall compute the transient heat conduction solution for the NAFEMS T3 benchmark problem using a fine mesh and
- HEX8 mesh
- HEX20 mesh
- HEX27 mesh
- EDGE2 mesh
- EDGE3 mesh
- QUAD4 mesh
- QUAD8 mesh
- QUAD9 mesh
- heat_transfer: Ad Convective Heat Flux
- 4.2.1The system shall provide a convective flux boundary condition which uses material properties as heat transfer coefficients and far-field temperature values using AD
- and match hand calculations for flux through a boundary.
- and approach a constant far-field temperature value over time as heat flux decreases.
- and couple a temperature dependent far-field temperature and heat transfer coefficient.
- heat_transfer: Ad Heat Conduction
- 4.3.1AD heat conduction and the Jacobian shall be beautiful
- heat_transfer: Code Verification
- 4.4.1The MOOSE solutions shall converge to the analytic solutions with an expected order of accuracy (two for linear, three for quadratic) where a standard set of heat conduction problems is used for code verification.
- heat_transfer: Conjugate Heat Transfer
- 4.5.1The system shall correctly model convection heat transfer across internal sidesets aka conjugate heat transfer.
- heat_transfer: Convective Flux Function
- 4.6.1The system shall allow prescribing a convective flux boundary condition using a constant heat transfer coefficient.
- 4.6.2The system shall allow prescribing a convective flux boundary condition using a heat transfer coefficient that is a function of position and time.
- 4.6.3The system shall allow prescribing a convective flux boundary condition using a heat transfer coefficient that is a function of temperature.
- heat_transfer: Convective Heat Flux
- 4.7.1The system shall provide a convective flux boundary condition which uses material properties as heat transfer coefficients and far-field temperature values
- and match hand calculations for flux through a boundary.
- and approach a constant far-field temperature value over time as heat flux decreases.
- and couple a temperature dependent far-field temperature and heat transfer coefficient.
- heat_transfer: Directional Flux Bc
- 4.8.1The system shall be able to apply a directed flux to the surface of a 2d geometry with and without self shadowing
- 4.8.2The system shall be able to apply a directed flux to the surface of a 3d geometry with and without self shadowing
- 4.8.3Self shadow calculations shall support mesh element type
- QUAD4
- QUAD8
- QUAD9
- TRI3
- TRI6
- TRI7
- TET4
- TET10
- TET14
- HEX8
- HEX20
- HEX27
- PRISM6
- PRISM15
- PRISM18
- PYRAMID5
- PYRAMID13
- PYRAMID14
- heat_transfer: Function Ellipsoid Heat Source
- 4.9.1The system shall produce a moving heat source where its path is function dependent
- heat_transfer: Functormaterials
- 4.10.1The system shall be able to compute a P1 diffusion coefficient from opacity and effective scattering.
- 4.10.2The system shall be able to compute a convection heat flux functor material property.
- 4.10.3The system shall compute functor material properties for heat flux across a cylindrical gap.
- 4.10.4The system shall be able to compute a fin efficiency functor material property.
- 4.10.5The system shall be able to compute a fin heat transfer enhancement factor functor material property.
- heat_transfer: Fvbcs
- 4.11.1The system shall provide a convective heat flux boundary condition which uses functors as heat transfer coefficients and far-field temperature values
- 4.11.2The system shall be able to preserve the contant solution for radiative heat transfer,
- in 1D.
- in 2D.
- 4.11.3The system shall be able to solve a heat conduction problem with boundary conditions representing radiation to an infinite cylinder.
- 4.11.4The system shall be able to solve a heat conduction problem with diffusion/conduction/radiation combined thermal resistance boundary conditions
- using regular material properties.
- using regular material properties in RZ geometry.
- using functor material properties.
- using functor material properties in RZ geometry.
- heat_transfer: Fvkernels
- 4.12.1P1 Radiation heat transfer should match an analytical solution in 1D.
- heat_transfer: Gap Heat Transfer Balance
- 4.13.1Energy balance must be fulfilled for the heat transfer of concentric spheres involving radiation, when the gap distance is not negligible with respect to the body main dimensions.
- 4.13.2Energy balance must be fulfilled for the heat transfer of concentric cylinders involving radiation in two-dimensions, when the gap distance is not negligible with respect to the body main dimensions.
- 4.13.3Energy balance must be fulfilled for the heat transfer of concentric cylinders involving radiation in two-dimensions with axisymmetry, when the gap distance is not negligible with respect to the body main dimensions.
- heat_transfer: Gap Heat Transfer Htonly
- 4.14.1The system shall compute thermal contact in 1D with axisymmetric coordinates.
- 4.14.2Thermal contact shall solve plate heat transfer for a constant conductivity gap in 3D
- 4.14.3Thermal contact shall solve plate heat transfer for a constant conductivity gap in 3D using the Modules/HeatConduction/Thermal contact syntax
- 4.14.4Thermal contact shall solve plate heat transfer for a constant conductivity gap in 3D at each iteration
- 4.14.5Thermal contact shall solve cylindrical and plate heat transfer for a constant conductivity gap in 2D axisymmetric coordinates
- 4.14.6Thermal contact shall solve cylindrical heat transfer for a constant conductivity gap in 2D axisymmetric coordinates where the axial axis is along the x-direction
- 4.14.7Thermal contact shall solve spherical heat transfer for a constant conductivity gap in 1D spherically symmetric coordinates
- 4.14.8Thermal contact shall solve cylindrical heat transfer for a constant conductivity gap in 3D
- 4.14.9Thermal contact shall solve cylindrical heat transfer for a constant conductivity gap in the x-y plane
- 4.14.10Thermal contact shall solve spherical heat transfer for a constant conductivity gap in 3D
- 4.14.11Thermal contact shall solve spherical heat transfer for a constant conductivity gap in 2D axisymmetric coordinates
- 4.14.12Thermal contact shall solve cylindrical heat transfer for a constant conductivity gap in the x-z plane
- 4.14.13Thermal contact shall solve cylindrical heat transfer for a constant conductivity gap in the y-z plane
- 4.14.14Thermal contact shall solve plate heat transfer for a constant conductivity gap in the x-y plane
- 4.14.15Thermal contact shall solve plate heat transfer for a constant conductivity gap in the x-z plane
- 4.14.16Thermal contact shall solve plate heat transfer for a constant conductivity gap in the y-z plane
- 4.14.17When the 'check_boundary_restricted' option is set to false, the thermal contact system shall solve problems in which multiple faces of an element are in one of the contact surfaces, but provide an information message that contact variables may have issues in those areas.
- 4.14.18When the 'check_boundary_restricted' option is set to true, the AuxKernels set up by the ThermalContact system shall generate an error when multiple faces of an element are in one of the contact surfaces.
- 4.14.19If 'quadrature=false' the thermal contact system shall generate an error if the user also sets 'check_boundary_restricted=true'.
- heat_transfer: Gap Heat Transfer Mortar
- 4.15.1We shall be able to produce the expected result for a gap conductance test case using the mortar method.
- 4.15.2We shall be able to produce the expected result for a gap conductance test case using the mortar method using the modular gap flux system.
- 4.15.3We shall be able to produce the expected result for a combined gap conductance and radiative heat transfer test case using the mortar method using the modular gap flux system
- 4.15.4We shall be able to run the mortar method on a displaced mesh, supplying the displacements with constant** auxiliary variables
- 4.15.5We shall be able to produce the expected result for a gap conductance test case using the mortar method using the modular gap flux system with a displaced mesh.
- 4.15.6The system shall accurately calculate axisymmetric coordinates on mortar finite element segments
- 4.15.7We shall be able to generate node-to-segment numerical results for radiation through plates and use it as a reference for mortar-based constraints.
- 4.15.8We shall be able to generate mortar numerical results for radiation through plates that are close to those generated by the node-to-segment formulation.
- 4.15.9We shall be able to generate node-to-segment numerical results for conduction through plates and use it as a reference for mortar-based constraints.
- 4.15.10We shall be able to generate mortar numerical results for conduction through plates that are close to those generated by the node-to-segment formulation.
- 4.15.11We shall be able to generate node-to-segment numerical results for conduction and radiation through cylinders and use it as a reference for mortar-based constraints.
- 4.15.12We shall be able to generate mortar numerical results for conduction and radiation through cylinders that are close to those generated by the node-to-segment formulation, where the cylinder axis is deduced automatically.
- 4.15.13We shall be able to generate mortar numerical results for conduction and radiation through cylinders that are close to those generated by the node-to-segment formulation.
- 4.15.14We shall be able to generate mortar numerical results for conduction and radiation through spheres that are close to those generated by the node-to-segment formulation.
- 4.15.15We shall be able to generate mortar numerical results for conduction and radiation through spheres that are close to those generated by the node-to-segment formulation, where the sphere origin is deduced automatically.
- 4.15.16We shall be able to generate node-to-segment numerical results for conduction and radiation through cylinders with axisymmetry and use it as a reference for mortar-based constraints.
- 4.15.17We shall be able to generate mortar numerical results for conduction and radiationthrough cylinders with axisymmetry that are close to those generated by the node-to-segment formulation.
- 4.15.18We shall be able to generate node-to-segment numerical results for conduction and radiation through concentric spheres with axisymmetry and use it as a reference for mortar-based constraints.
- 4.15.19We shall be able to generate mortar numerical results for conduction and radiation through concentric spheres with axisymmetry that are close to those generated by the node-to-segment formulation.
- 4.15.20We shall be able to generate mortar numerical results for conduction and radiation in two dimensions. This test is used as a reference for computing separate gap physics, i.e. for the use of multiple heat flux Lagrange multipliers
- 4.15.21We shall be able to reproduce heat transfer mortar results when the gap physics (i.e. radiation and conduction) are separated in two constraint classes with independent Lagrange multipliers
- 4.15.22We shall be able to generate a meaningful error message if the user does not define the sphere origin when a spherical geometry has been chosen.
- 4.15.23We shall be able to generate mortar numerical results for conduction through plates that are close to those generated by the node-to-segment formulation and using the function feature to enrich the evolution of the gap conductance.
- 4.15.24We shall be able to generate node-to-segment numerical results for conduction and radiation between two blocks in 3D and use it as a reference for mortar-based constraints.
- 4.15.25We shall be able to generate node-to-segment numerical results for conduction and radiation between two blocks in 3D using HEX20 elements and use it as a reference for mortar-based constraints.
- 4.15.26We shall be able to generate mortar numerical results for conduction and radiation between two blocks in 3D and match reasonably well with the node-to-segment approach with a refined mesh.
- 4.15.27We shall be able to generate mortar numerical results for conduction and radiation between two blocks in 3D using HEX20 elements and match reasonably well with the node-to-segment approach with a refined mesh.
- 4.15.28We shall be able to generate node-to-segment numerical results using thermal contact that resolves spherical heat transfer for a constant conductivity gap in 3D using HEX20 elements
- 4.15.29We shall be able to generate mortar numerical results using thermal contact that resolves spherical heat transfer for a constant conductivity gap in 3D using HEX20 elements and match reasonably well with the node-to-segment approach with a refined mesh.
- 4.15.30We shall be able to compute the thermal contact across a closed gap as a function of contact pressure,
- and the material thermal conductivities and hardness values consistent with an analytical solution for the temperatures at the interface.
- 4.15.31The system shall be able to incorporate gap heat transfer fluxes from radiation and conduction, into a finite volume discretization, via the mortar method
- in a Cartesian coordinate system
- in an axisymmetric coordinate system
- heat_transfer: Gap Heat Transfer Mortar Action
- 4.16.1We shall be able to leverage mortar constraint and user objects to describe gap heat transfer physics by spelling out those objects in the input file.
- 4.16.2We shall be able to leverage mortar constraints and user objects to describe gap heat transfer physics by using the mortar thermal action in MOOSE.
- 4.16.3We shall be able to leverage mortar constraints and user objects to describe gap heat transfer physics by using the mortar thermal action in MOOSE and describe the gap conductance with a function of temperature.
- 4.16.4We shall be able to leverage mortar constraints and user objects to describe gap heat transfer physics by using the mortar thermal action in MOOSE when the lower-dimensional domains have already been appended to the mesh.
- 4.16.5We shall be able to leverage mortar constraints and user objects to describe gap heat transfer physics by using the mortar thermal action in MOOSE when the user objects are manually built by the user in the input file.
- 4.16.6We shall be able to inform the user that he or she provided physics parameters for two ways of building gap heat transfer options and error out, to avoid having misleading input files.
- 4.16.7We shall be able to inform the user that the mortar gap heat transfer action cannot internally build more than one conduction or more than one radiation user object.
- heat_transfer: Gap Heat Transfer Radiation
- 4.17.1The system shall be able to compute radiative heat flux across a gap using the ThermalContact methods.
- 4.17.2The system shall be able to compute radiative heat flux across a cylindrical gap using the ThermalContact methods.
- 4.17.3The system shall be able to compute radiative heat flux across a spherical gap using the ThermalContact methods.
- heat_transfer: Gap Perfect Transfer
- 4.18.1The system shall support nearly perfect gap conductance (no change in temperature across the gap) through
- the use of a penalty parameter, and
- error if the penalty is set for other heat transfer types.
- heat_transfer: Generate Radiation Patch
- 4.19.1The system shall be able to divide a sideset into patches for more accurate radiative transfer modeling.
- 4.19.2The system shall be able to use linear partitioner for subdividing sidesets into patches.
- 4.19.3The system shall be able to use centroid partitioner for subdividing sidesets into patches.
- 4.19.4The system shall report an error when centroid partitioner is used but centroid_partitioner_direction is not provided.
- 4.19.5The system shall be able to use a uniform grid for subdividing sidesets into patches.
- 4.19.6The system shall be able to use a uniform grid for subdividing 1D sidesets into patches.
- 4.19.7The system shall be able to adjust the number of patches of partitions that end up empty.
- heat_transfer: Gray Lambert Radiator
- 4.20.1The system shall check consistency of boundary and emissivity entries.
- 4.20.2The system shall check consistency of boundary and view factor entries.
- 4.20.3The system shall check consistency of fixed_boundary_temperatures and fixed_temperature_boundary entries.
- 4.20.4The system shall check consistency of boundary and fixed_temperature_boundary entries.
- 4.20.5The system shall check consistency of boundary and adiabatic_boundary entries.
- 4.20.6The system shall check consistency of the view_factors entry shape.
- 4.20.7The system shall check consistency of the view_factors entry norm.
- 4.20.8The system shall compute radiative transfer between gray Lambert surfaces.
- 4.20.9The system shall allow coupling radiative transfer between gray Lambert surfaces to solving heat conduction.
- 4.20.10The system shall allow reconstructing the spatial distribution of the emission component on a radiation boundary via the T4 law.
- 4.20.11The system shall compute radiative transfer between gray Lambert surfaces when the view factors are provided by a userobject.
- 4.20.12The system shall compute radiative transfer between gray Lambert surfaces in 3D when the view factors are provided by a userobject.
- heat_transfer: Heat Conduction
- 4.21.1The system shall compute the heat transfer across small gaps for supported FEM orders and quadratures (QUAD4).
- 4.21.2The system shall compute the heat transfer across small gaps for supported FEM orders and quadratures (QUAD8)
- 4.21.3The system shall compute the heat transfer across small gaps for supported FEM orders and quadratures (QUAD9)
- 4.21.4The system shall compute the heat transfer across small gaps for non-matching meshes.
- 4.21.5The system shall compute the heat transfer across small gaps for second order FEM bases.
- 4.21.6The system shall compute the heat transfer across small gaps for moving interfaces.
- 4.21.7The system shall compute the heat transfer across small gaps with a specified gap conductivity.
- 4.21.8The system shall throw an error if the gap conductance model is used with uniform mesh refinement
- 4.21.9The system shall generate a parallel mesh split across 2 processes.
- 4.21.10The system shall read in parallel a mesh split across 2 processes.
- 4.21.11The system shall support thermal contact with linear 3d hexahedral elements
- 4.21.12The system shall support thermal contact with second-order 3d hexahedral elements
- 4.21.13The system shall support thermal contact with 3d hexahedral elements where the surfaces move relative to one another
- 4.21.14The system shall provide convective heat flux boundary condition where far-field temperature and convective heat transfer coefficient are given as constant variables
- 4.21.15The system shall provide convective heat flux boundary condition where far-field temperature and convective heat transfer coefficient are given as spatially varying variables
- 4.21.16The system shall provide convective heat flux boundary condition for multi-phase fluids where far-field temperatures and convective heat transfer coefficients are given as spatially varying variables
- 4.21.17The system shall report an error if the number of
alpha
components does not match the number ofT_infinity
components. - 4.21.18The system shall report an error if the number of
htc
components does not match the number ofT_infinity
components. - 4.21.19The system shall enable scaling of the total heat flux of the convective heat flux boundary condition
- 4.21.20Optionally a constant attenuation shall be applied to compute the gap conductance below a gap length threshold.
- 4.21.21Optionally a linear Taylor expansion of the inverse gap length shall be applied as the attenuation to compute the gap conductance below a gap length threshold.
- heat_transfer: Heat Conduction Ortho
- 4.22.1The system shall allow the use of an anisotropic heat conduction material set by postprocessors.
- heat_transfer: Heat Conduction Patch
- 4.23.1The system shall compute a tri-linear temperature field
- 4.23.2The system shall compute a bi-linear temperature field for an axisymmetric problem with quad8 elements
- 4.23.3The system shall compute a bi-linear temperature field for an axisymmetric problem
- 4.23.4The system shall compute a tri-linear temperature field with hex20 elements
- 4.23.5The system shall compute a tri-linear temperature field with hex20 elements using an anisotropic thermal conductivity model with isotropic thermal conductivities supplied
- heat_transfer: Heat Source Bar
- 4.24.1The system shall reproduce an analytical solution of a heat source in a 1D ceramic bar.
- 4.24.2The system shall reproduce an analytical solution of a heat source in a 1D ceramic bar using AD kernels.
- 4.24.3The system shall produce correct Jacobians for the AD heat conduction and heat source kernel objects.
- heat_transfer: Homogenization
- 4.25.1The system shall compute homogenized thermal conductivity using the asymptotic expansion homogenization approach
- 4.25.2The system shall compute homogenized thermal conductivity using the asymptotic expansion homogenization approach for hexagonal geometries.
- 4.25.3The system shall compute homogenized thermal conductivity using the asymptotic expansion homogenization approach when the heterogeneous thermal conductivities are given as tensor
- 4.25.4The system shall compute homogenized thermal conductivity using the asymptotic expansion homogenization approach when the heterogeneous thermal conductivities are given as anisotropic tensor
- heat_transfer: Interface Heating Mortar
- 4.26.1We shall be able to compute, in a steady state analysis, the temperature rise resulting from Joule Heating at the interface
- between two separate blocks of the same material constistent with the analytical solution (850.595K) in the case of thermal insulation across the interface.
- between two separate blocks of the same material as equivalent to the steady state case when thermal contact across the interface is not considered.
- as non-zero only along the portion of the interface at which the gap between the two blocks is closed and as zero along the open-gap portion of the interface.
- that, when the blocks at the interface have different material properties, is different in each material while the Joule heating source into each block is equivalent from the common electric potential drop across the interface.
- as a function of both the Joule heating and thermal contact at the interface, which results in a smaller temperature difference between the two blocks at the interface.
- 4.26.2We shall be able to converge towards the steady-state interface temperature profile due to Joule heating and thermal contact in a transient simulation, given sufficient simulation time.
- heat_transfer: Joule Heating
- 4.27.1The system shall compute Joule heating
- 4.27.2The system shall compute Joule heating using automatic differentiation
- 4.27.3The system shall compute a perfect jacobian for Joule heating using automatic differentiation
- heat_transfer: Laser Bc Flux
- 4.28.1The system shall be able to model an equilibrium between an incoming heat flux from a focused beam (e.g. laser), which is described by a Gaussian shape, and outgoing heat flux due to radiative losses.
- heat_transfer: Meshed Gap Thermal Contact
- 4.29.1The ThermalContact system shall enforce heat transfer across a meshed gap in a 2D plane geometry.
- 4.29.2The ThermalContact system shall correctly enforce heat transfer across a meshed gap in a 2D plane geometry using a prescribed constant conductance.
- 4.29.3The ThermalContact system shall correctly enforce heat transfer across a meshed gap in a 2D plane geometry using a prescribed constant conductance with the quadrature option
- 4.29.4The ThermalContact system shall enforce heat transfer across a meshed circular annulus in a 2D plane geometry.
- heat_transfer: Multiple Contact Pairs
- 4.30.1Heat transfer module action shall allow for providing multiple contact pairs.
- heat_transfer: Multiple Radiation Cavities
- 4.31.1The system shall support the the modeling of radiative heat transfer with multiple radiation cavities.
- heat_transfer: Parallel Element Pps Test
- 4.32.1The system shall computed an integrated value on elements in parallel
- heat_transfer: Physics
- 4.33.1The system shall be able to restart the temperature variable in the shorthand Physics-syntax
- using the default initial condition,
- with a user-defined initial condition,
- when performing a regular checkpoint restart, but still obeying the user-defined initial condition,
- when performing manual restart from a mesh file, ignoring the default initial condition.
- 4.33.2The system shall error if the user specifies initial conditions while also requesting variables be loaded from a mesh file.
- 4.33.3The system shall be able to define the heat conduction equation including its boundary conditions using a shorthand syntax,
- with Dirichlet and Neumann boundary conditions and a heat source defined using a variable,
- with a heat source defined using a functor,
- with convective heat flux boundary conditions.
- 4.33.4The system shall be able to define the heat conduction equation including its boundary conditions using a shorthand syntax and a finite volume discretization
- with Dirichlet and Neumann boundary conditions and a heat source defined using a variable,
- with a heat source defined using a functor,
- with convective heat flux boundary conditions.
- heat_transfer: Postprocessors
- 4.34.1The system shall compute total heat flux from heat transfer coefficient and temperature difference
- 4.34.2The system shall compute total heat flux from heat transfer coefficient and temperature difference for AD variables
- heat_transfer: Radiation Transfer Action
- 4.35.1The system shall provide an action to set up radiative heat transfer problems using the net radiation method for cavities with unobstructed, planar faces.
- 4.35.2The system shall provide an action to set up radiative heat transfer problems using the net radiation method and allow computing view factors using raytracing.
- 4.35.3The system shall allow the specification of boundary names and ids in the modeling of radiative heat transfer.
- 4.35.4The system shall ensure that results between manually created radiative transfer inputs and inputs that use the radiation transfer action are identical.
- 4.35.5The system shall provide an action to set up radiative heat transfer problems where sidesets participating in the radiative exchange are external faces of the domain, with view factors computed by simple quadrature rules for cavities with unobstructed, planar faces.
- 4.35.6The system shall provide an action to set up radiative heat transfer problems where sidesets participating in the radiative exchange are external faces of the domain, with view factors computed by ray tracing.
- heat_transfer: Radiation Transfer Symmetry
- 4.36.1The system shall support the modeling of radiative heat transfer with symmetry boundary conditions by
- unfolding the problem at the symmetry boundary and
- by using a symmetry boundary condition.
- heat_transfer: Radiative Bcs
- 4.37.1The system shall be able to model radiative transfer from a cylindrical surface as a boundary condition.
- 4.37.2The system shall be able to model radiative transfer from a cylindrical surface as boundary condition with automated differentiation.
- 4.37.3The system shall be able to model radiative transfer from a cylindrical surface as boundary condition with automated differentiation and provide exact Jacobian.
- 4.37.4The system shall be able to model radiative heat transfer using a user-specified emissivity function.
- 4.37.5The system shall be able to model radiative heat transfer using a user-specified emissivity function with automated differentiation.
- 4.37.6The system shall be able to model radiative heat transfer using a user-specified emissivity function with automated differentiation and provide exact Jacobian.
- heat_transfer: Recover
- 4.38.1The system shall run a simulation with heat conduction, a heat source, thermal contact, and boundary conditions.
- 4.38.2The system shall run a short simulation with heat conduction, a heat source, thermal contact, and boundary conditions.
- 4.38.3The system shall be able to recover from a short simulation and reproduce a the full time scale simulation with heat conduction, a heat source, thermal contact, and boundary conditions.
- 4.38.4The system shall run a simulation with heat conduction, a heat source, thermal contact, and boundary conditions with automatic differentiation.
- 4.38.5The system shall run a short simulation with heat conduction, a heat source, thermal contact, and boundary conditions with automatic differentiation.
- 4.38.6The system shall be able to recover from a short simulation and reproduce a the full time scale simulation with heat conduction, a heat source, thermal contact, and boundary conditions with automatic differentiation.
- heat_transfer: Semiconductor Linear Conductivity
- 4.39.1The system shall compute conductivity of semiconductors according to the Steinhart-Hart equation
- heat_transfer: Sideset Heat Transfer
- 4.40.1The system shall solve the side set heat transfer model with:
- discontinuous finite elements,
- bulk gap temperature as an auxiliary variable,
- temperature dependent gap conductivity, and
- block restricted continuous finite element variables.
- 4.40.2The system shall throw an error if the specified boundary does not exist when using the DGDiffusion DGKernel.
- heat_transfer: Thermal Materials
- 4.41.1The system shall be able to compute thermal compliance and its sensitivity in the heat transfer module.
- heat_transfer: Thin Layer Heat Transfer
- 4.42.1The system shall model steady state heat transfer with an interface between two domains in 2D.
- 4.42.2The system shall model steady state heat transfer with an interface between two domains in 3D.
- 4.42.3The system shall model transient heat transfer with an interface between two domains in 2D.
- 4.42.4The system shall model transient heat transfer with an interface between two domains in 3D.
- 4.42.5The Jacobian for the ThinLayerHeatTransfer calculations shall provide perfect jacobians.
- heat_transfer: Transient Heat
- 4.43.1The system shall compute the time derivative term of the heat equation
- 4.43.2The system shall compute the time derivative term of the heat equation and utilize the derivative of the specific heat, thermal conductivity, and density to solve a heat conduction problem
- 4.43.3The system shall use a lower temperature limit to compute the specific heat
- heat_transfer: Truss Heat Conduction
- 4.44.1The system shall model heat transfer in a bar and a strip made of two materials in series having differing thermal properties and provide equivalent solutions.
- using 1D truss elements.
- using 2D continuum elements in a 2D medium.
- 4.44.2The system shall model heat transfer in a bar/strip embedded in a medium having differing thermal properties from the bar/strip, and provide equivalent solutions.
- using 2D continuum elements for the bar contiguously meshed with a 2D medium.
- using 1D truss elements embedded in a 2D medium and connected using constraints.
- using 3D continuum elements for the bar contiguously meshed with a 3D medium.
- using 1D truss elements embedded in a 3D medium and connected using constraints.
- 4.44.3The system shall generate comparison plots of the thermal solutions for a bar embedded in a continuum represented various ways.
- heat_transfer: Verify Against Analytical
- 4.45.1Heat conduction shall match the answer from an analytical solution in 1D
- 4.45.2Heat conduction from an AD kernel shall get the same answer as a traditional kernel in 1D
- 4.45.3AD heat conduction and the Jacobian shall be beautiful in 1D
- 4.45.4Heat conduction shall match the answer from an analytical solution in 2D
- 4.45.5Heat conduction from an AD kernel shall get the same answer as a traditional kernel in 2D
- 4.45.6AD heat conduction and the Jacobian shall be beautiful in 2D
- heat_transfer: View Factors
- 4.46.1The system shall compute view factors for unobstructed, planar surfaces without normalization.
- 4.46.2The system shall compute view factors for cavities with obstruction using ray tracing.
- 4.46.3The system shall compute view factors for unobstructed, planar surfaces in two-dimensional meshes using simple quadrature rules.
- 4.46.4The system shall compute view factors for unobstructed, planar surfaces in two-dimensional meshes using ray tracing.
- 4.46.5The system shall compute view factors for unobstructed, planar surfaces in three-dimensional meshes using simple quadrature rules.
- 4.46.6The system shall compute view factors for unobstructed, planar surfaces in three-dimensional meshes using ray tracing.
- 4.46.7The system shall be able to skip rays that exit the mesh when starting from non-planar faces in three-dimensional problems.
- heat_transfer: View Factors Symmetry
- 4.47.1The system shall support ensure that symmetry boundary conditions provide exactly the same answer as unfolding the problem about its axis of symmetry.
- 4.47.2The system shall support symmetry boundary conditions for view factor calculations.
Usability Requirements
No requirements of this type exist for this application, beyond those of its dependencies.Performance Requirements
No requirements of this type exist for this application, beyond those of its dependencies.System Interfaces
No requirements of this type exist for this application, beyond those of its dependencies.System Operations
Human System Integration Requirements
The Heat Transfer module is command line driven and conforms to all standard terminal behaviors. Specific human system interaction accommodations shall be a function of the end-user's terminal. MOOSE (and therefore the Heat Transfer module) does support optional coloring within the terminal's ability to display color, which may be disabled.
Maintainability
The latest working version (defined as the version that passes all tests in the current regression test suite) shall be publicly available at all times through the repository host provider.
Flaws identified in the system shall be reported and tracked in a ticket or issue based system. The technical lead will determine the severity and priority of all reported issues and assign resources at their discretion to resolve identified issues.
The software maintainers will entertain all proposed changes to the system in a timely manner (within two business days).
The core software in its entirety will be made available under the terms of a designated software license. These license terms are outlined in the LICENSE file alongside the Heat Transfer module source code. As a MOOSE physics module, the license for the Heat Transfer module is identical to that of the framework - that is, the GNU Lesser General Public License (LGPL) version 2.1 license.
Reliability
The regression test suite will cover at least 87% of all lines of code within the Heat Transfer module at all times. Known regressions will be recorded and tracked (see Maintainability) to an independent and satisfactory resolution.
System Modes and States
MOOSE applications normally run in normal execution mode when an input file is supplied. However, there are a few other modes that can be triggered with various command line flags as indicated here:
Command Line Flag | Description of mode |
---|---|
-i <input_file> | Normal execution mode |
--split-mesh <splits> | Read the mesh block splitting the mesh into two or more pieces for use in a subsequent run |
--use-split | (implies -i flag) Execute the simulation but use pre-split mesh files instead of the mesh from the input file |
--yaml | Output all object descriptions and available parameters in YAML format |
--json | Output all object descriptions and available parameters in JSON format |
--syntax | Output all registered syntax |
--registry | Output all known objects and actions |
--registry-hit | Output all known objects and actions in HIT format |
--mesh-only (implies -i flag) | Run only the mesh related tasks and output the final mesh that would be used for the simulation |
--start-in-debugger <debugger> | Start the simulation attached to the supplied debugger |
The list of system-modes may not be extensive as the system is designed to be extendable to end-user applications. The complete list of command line options for applications can be obtained by running the executable with zero arguments. See the command line usage.
Physical Characteristics
The Heat Transfer module is software only with no associated physical media. See System Requirements for a description of the minimum required hardware necessary for running the Heat Transfer module.
Environmental Conditions
Not Applicable
System Security
MOOSE-based applications such as the Heat Transfer module have no requirements or special needs related to system security. The software is designed to run completely in user-space with no elevated privileges required nor recommended.
Information Management
The core framework and all modules in their entirety will be made publicly available on an appropriate repository hosting site. Day-to-day backups and security services will be provided by the hosting service. More information about MOOSE backups of the public repository on INL-hosted services can be found on the following page: GitHub Backups
Polices and Regulations
MOOSE-based applications must comply with all export control restrictions.
System Life Cycle Sustainment
MOOSE-based development follows various agile methods. The system is continuously built and deployed in a piecemeal fashion since objects within the system are more or less independent. Every new object requires a test, which in turn requires an associated requirement and design description. The Heat Transfer module development team follows the NQA-1 standards.
Packaging, Handling, Shipping and Transportation
No special requirements are needed for packaging or shipping any media containing MOOSE and Heat Transfer module source code. However, some MOOSE-based applications that use the Heat Transfer module may be export-controlled, in which case all export control restrictions must be adhered to when packaging and shipping media.
Verification
The regression test suite will employ several verification tests using comparison against known analytical solutions, the method of manufactured solutions, and convergence rate analysis.