Navier Stokes Failure Analysis Report
Introduction
The Software Requirement Specification (SRS) for Navier Stokes describes the system functional and non-functional requirements that describe the expected interactions that the software shall provide.
Dependencies
The Navier Stokes application is developed using MOOSE and is based on various modules, as such the SRS for Navier Stokes is dependent upon the following documents.
Failure Analysis Requirements
The following is a complete list for all the requirements related to failure analysis for Navier Stokes.
- navier_stokes: Finite Element
- 10.2.30We shall error if the user provides less velocity components than the mesh dimension
Specification(s): check_too_few_components
Design: AdvectionBC
Issue(s): #13283
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.2.31We shall error if the user provides more than 3 velocity components
Specification(s): check_too_many_components
Design: AdvectionBC
Issue(s): #13283
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.2.94The system shall allow MOOSE applications to specify nonzero malloc behavior; for the Navier-Stokes application, new nonzero allocations shall be errors.
Specification(s): malloc
Design: MooseApp
Issue(s): #7901
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- navier_stokes: Finite Volume
- 10.3.41The system shall throw an error if the number of momentum inlet types does not match the number of inlet boundaries.
Specification(s): momentum-inlet-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.42The system shall throw an error if the number of momentum inlet functions does not match the number of inlet boundaries times the dimension of the mesh.
Specification(s): momentum-inlet-function-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.43The system shall throw an error if the number of momentum outlet types does not match the number of outlet boundaries.
Specification(s): momentum-outlet-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.44The system shall throw an error if the number of pressure outlet functions is not the same the pressure outlet boundaries.
Specification(s): pressure-outlet-function-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.45The system shall throw an error if the number of momentum wall types does not match the number of wall boundaries.
Specification(s): momentum-wall-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.46The system shall throw an error if the number of energy inlet types does not match the number of inlet boundaries.
Specification(s): energy-inlet-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.47The system shall throw an error if the number of passive scalar inlet types does not match the number of inlet boundaries.
Specification(s): passive-scalar-inlet-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.48The system shall throw an error if the number of passive scalar inlet functions does not match the number of inlet boundaries.
Specification(s): passive-scalar-inlet-function-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.49The system shall throw an error if the number of energy wall types does not match the number of wall boundaries.
Specification(s): energy-wall-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.50The system shall throw an error if the number of energy wall functions does not match the number of energy wall types.
Specification(s): energy-wall-function-action-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.51The system shall throw an error if the number of defined initial conditions is different than the number of created scalar variables.
Specification(s): scalar-ic-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.52The system shall throw an error if the number of components for the initial velocity is not 3.
Specification(s): velocity-ic-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.53The system shall throw an error if friction correction is requested with no porous medium treatment.
Specification(s): porosity-correction-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.54The system shall throw an error if consistent scaling is defined without using friction correction
Specification(s): porosity-scaling-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.55The system shall throw an error if porosity smoothing is requested without porous medium treatment.
Specification(s): porosity-smoothing-layer-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.56The system shall throw an error if the user defines an inappropriate number of passive scalar diffusivities
Specification(s): passive-scalar-diffusivity-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.57The system shall throw an error if the user defines an inappropriate number of passive scalar source functions
Specification(s): passive-scalar-source-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.58The system shall throw an error if the user defines an inappropriate number of passive scalar coupled source functions
Specification(s): passive-scalar-coupled-source-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.59The system shall throw an error if the user defines an inappropriate number of passive scalar coupled source coefficients
Specification(s): passive-scalar-coupled-source-coeff-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.60The system shall throw an error if the user defines an inappropriate number of passive scalar Schmidt numbers
Specification(s): passive-scalar-schmidt-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.61The system shall throw an error if the user supplies a velocity variable which does not exist
Specification(s): velocity-variable-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.62The system shall throw an error if the user supplies an inappropriate number of externally created velocity components
Specification(s): velocity-component-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.63The system shall throw an error if the user supplies a pressure variable which does not exist
Specification(s): pressure-variable-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.64The system shall throw an error if the user supplies a fluid temperature variable which does not exist
Specification(s): fluid-temperature-variable-error
Design: NSFVAction
Issue(s): #19472
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.72The system should throw an error if the density is not a constant functor in case of Boussinesq treatment.
Specification(s): rho-error
Design: INSFVMomentumBoussinesq
Issue(s): #19742
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.108The system shall error if a user specifies a residual object for the momentum equation that is not a incompressible Navier-Stokes finite volume momentum residual object.
Specification(s): bad_ro
Design: INSFVRhieChowInterpolator
Issue(s): #18215
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.109The system shall error if the interpolation object has block restriction different from the nonlinear flow variables.
Specification(s): bad_restriction
Design: INSFVRhieChowInterpolator
Issue(s): #18215
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.149The system shall error out if both average and Rhie Chow velocity interpolation parameters are provided.
Specification(s): average_yet_a_provided
Design: INSFVScalarFieldAdvectionINSFVRhieChowInterpolator
Issue(s): #20294
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.150The system shall error out if Rhie Chow velocity interpolation is requested but the a coefficients are not provided and cannot be computed from the momemtum equation.
Specification(s): RC_yet_a_not_provided
Design: INSFVScalarFieldAdvectionINSFVRhieChowInterpolator
Issue(s): #20294
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.151The system shall error out if the Rhie Chow a coefficients are provided in a manner inconsistent with the dimension of the problem g
- for example with the Y coefficient but not the X one
- for example with the Z coefficient but not the X one
Specification(s): bad_a_components/vu, bad_a_components/bad_a_components_wu
Design: INSFVScalarFieldAdvectionINSFVRhieChowInterpolator
Issue(s): #20294
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.173The system shall error if the user attempts to create a reconstructed field from a variable.
Specification(s): reconstruct-error
Design: Finite Volume Incompressible Porous media Navier Stokes
Issue(s): #16756
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.210The system shall error out if
- the inlet velocity cannot be determined from the mass flow rate due to insufficient parameters
- the inlet temperature cannot be determined because neither the temperature or the energy flow rate have been provided
- the inlet temperature cannot be determined from the energy flow rate due to missing fluid velocity information
- the inlet temperature cannot be determined from the velocity due to insufficient parameters
- the inlet temperature cannot be determined from the mass flow rate due to insufficient parameters
Specification(s): exceptions_dirichlet_bcs/missing_info_dirichlet_velocity, exceptions_dirichlet_bcs/missing_info_dirichlet_temperature, exceptions_dirichlet_bcs/missing_info_dirichlet_temperature_from_energy_flow, exceptions_dirichlet_bcs/missing_info_dirichlet_temperature_from_velocity, exceptions_dirichlet_bcs/missing_info_dirichlet_temperature_from_mdot
Design: WCNSFVInletVelocityBCWCNSFVInletTemperatureBC
Issue(s): #18086
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.211The system shall return a warning if
- redundant information is provided for setting the inlet velocity
- redundant information is provided for setting the inlet temperature
Specification(s): warnings_dirichlet_bcs/both_velocity_and_mdot, warnings_dirichlet_bcs/both_temperature_and_mdot
Design: WCNSFVInletVelocityBCWCNSFVInletTemperatureBC
Issue(s): #18086
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.212The system shall error out if
- only the mass flow rate is provided to compute the inlet mass flux
- only the velocity is provided to compute the inlet mass flux
- only the mass flow rate is provided to compute the inlet momentum flux
- only the velocity is provided to compute the inlet momentum flux
- the inlet energy cannot be determined because neither the temperature or the energy flow rate have been provided
- the inlet energy flux cannot be determined because the temperature was provided but neither the inlet mass flow rate or velocity were provided
- the inlet energy flux cannot be determined because the temperature and velocity were provided but the density or specific heat capacity were not
- the inlet energy flux cannot be determined because the temperature and mass flow rate were provided but the specific heat capacity or flow area were not
- neither the scalar quantity flux or boundary values are specified when attempting to compute the scalar quantity flux
- only the mass flow rate is provided to compute the inlet scalar quantity flux
- only the scalar quantity boundary value is provided to compute the inlet scalar quantity flux
Specification(s): exceptions_flux_bcs/mass_mdot_needs_area, exceptions_flux_bcs/mass_velocity_needs_density, exceptions_flux_bcs/momentum_mdot_needs_area, exceptions_flux_bcs/momentum_velocity_needs_density, exceptions_flux_bcs/energy_need_temperature, exceptions_flux_bcs/energy_temperature_needs_velocity_or_mdot, exceptions_flux_bcs/energy_temperature_velocity_needs_density, exceptions_flux_bcs/energy_temperature_mdot_needs_cp, exceptions_flux_bcs/scalar_need_flux_or_value, exceptions_flux_bcs/scalar_mdot_needs_area, exceptions_flux_bcs/scalar_need_some_velocity_info
Design: WCNSFVMassFluxBCWCNSFVMomentumFluxBCWCNSFVEnergyFluxBCWCNSFVScalarFluxBC
Issue(s): #19543
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 10.3.213The system shall return a warning if
- redundant information is provided for setting the inlet mass flux
- redundant information is provided for setting the inlet momentum flux
- redundant information is provided for setting the inlet energy flux
- redundant information is provided for setting the inlet scalar flux
Specification(s): warnings_flux_bcs/mass_both_velocity_and_mdot, warnings_flux_bcs/momentum_both_velocity_and_mdot, warnings_flux_bcs/both_temperature_and_mdot, warnings_flux_bcs/both_scalar_and_mdot
Design: WCNSFVMassFluxBCWCNSFVMomentumFluxBCWCNSFVEnergyFluxBCWCNSFVScalarFluxBC
Issue(s): #19543
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException