Navier-Stokes Module

The MOOSE Navier-Stokes module is a library for the implementation of simulation tools that solve the Navier-Stokes equations using either the continuous Galerkin finite element (CGFE) or finite volume (FV) methods. The Navier-Stokes equations are usually solved using either the pressure-based, incompressible formulation (assuming a constant fluid density), or a density-based, compressible formulation, although there are plans to add a finite volume weakly-compressible pressured-based implementation in the not-too-distant future.

For documentation specific to finite element or finite volume implementations, please refer to the below pages:

Here we give a brief tabular summary of the Navier-Stokes implementations:

Table 1: Summary of Navier-Stokes implementations

prefixJacobiancompressibilityturbulence supportfriction supportmethodadvection strategy
INSHand-codedincompressibleNoneNot porousCGFESUPG
INSADADincompressibleSmagorinskyNot porousCGFESUPG
INSFEHand-codedincompressiblemixing lengthNot porousCGFESUPG
PINSFEHand-codedincompressiblemixing lengthporousCGFESUPG
NSHand-codedcompressibleNoneNot porousCGFESUPG
INSFVADincompressiblemixing lengthNot porousFVRC, CD velocity; limited advected
WCNSFVADweakly compressiblemixing lengthNot porousFVRC, CD velocity; limited advected
PINSFVADincompressiblemixing lengthDarcy, ForcheimerFVRC, CD velocity; limited advected
CNSFVHLLCADcompressibleNoneNot porousFVHLLC, piecewise constant data
PCNSFVHLLCADcompressibleNoneDarcy, ForcheimerFVHLLC, piecewise constant data
PCNSFVKTADcompressibleNoneDarcy, ForcheimerFVKurganov-Tadmor, limited data

Table definitions:

  • INS: incompressible Navier-Stokes

  • AD: automatic differentiation

  • CNS: compressible Navier-Stokes

  • PINS or PCNS: porous incompressible Navier-Stokes or porous compressible Navier-Stokes

  • SUPG: Streamline-Upwind Petrov-Galerkin

  • RC: Rhie-Chow interpolation

  • CD: central differencing interpolation; equivalent to average interpolation

  • HLLC: Harten Lax van Leer Contact

  • data: includes both the advector, velocity, and the advected quantities

  • limited: different limiters can be applied when interpolating cell-centered data to faces. A summary of limiter options can be found in Limiters

Note that the INS and INSFE kernel sets are redundant in terms of targeted functionality. Historically, the INS kernel set was developed in this module and the INSFE kernel set was developed in the SAM application (where there it was prefixed with "MD") (Hu et al., 2021). With the Nuclear Energy Advanced Modeling and Simulation (NEAMS) program dedicated to consolidating fluid dynamics modeling, SAM capabilities are being migrated upstream as appropriate into the common module layer. In the not-too-distant future these kernel sets will be consolidated into a single set.

For an introductory slideshow on the use of the Navier Stokes Finite Volume solvers in MOOSE, we refer the visitor to the Navier Stokes Workshop Slides.

Adaptivity

Adaptivity/Indicators

Adaptivity/Markers

AuxKernels

  • Navier Stokes App
  • CourantComputes |u| dt / h_min.
  • EnthalpyAuxThis AuxKernel computes the specific enthalpy of the fluidfrom the total energy and the pressure.
  • HasPorosityJumpFaceShows whether an element has any attached porosity jump faces
  • INSCourantComputes h_min / |u|.
  • INSFVMixingLengthTurbulentViscosityAuxComputes the turbulent viscosity for the mixing length model.
  • INSQCriterionAuxThis class computes the Q criterion, a scalar whichaids in vortex identification in turbulent flows
  • INSStressComponentAuxThis class computes the stress component based on pressure and velocity for incompressible Navier-Stokes
  • InternalEnergyAuxThis AuxKernel computes the internal energy based on the equation of state / fluid properties and the local pressure and density.
  • NSInternalEnergyAuxAuxiliary kernel for computing the internal energy of the fluid.
  • NSLiquidFractionAuxComputes liquid fraction given the temperature.
  • NSMachAuxAuxiliary kernel for computing the Mach number assuming an ideal gas.
  • NSPressureAuxNodal auxiliary variable, for computing pressure at the nodes.
  • NSSpecificTotalEnthalpyAuxNodal auxiliary variable, for computing enthalpy at the nodes.
  • NSTemperatureAuxTemperature is an auxiliary value computed from the total energy based on the FluidProperties.
  • NSVelocityAuxVelocity auxiliary value.
  • PecletNumberFunctorAuxComputes the Peclet number: u*L/alpha.
  • ReynoldsNumberFunctorAuxComputes rho*u*L/mu.
  • SpecificInternalEnergyAuxThis AuxKernel computes the specific internal energy based from the total and the kinetic energy.
  • SpecificVolumeAuxThis auxkernel computes the specific volume of the fluid.
  • WallDistanceMixingLengthAuxComputes the turbulent mixing length by assuming that it is proportional to the distance from the nearest wall. The mixinglength is capped at a distance proportional to inputted parameter delta.
  • WallFunctionWallShearStressAuxCalculates the wall shear stress based on algebraic standard velocity wall functions.
  • WallFunctionYPlusAuxCalculates y+ value according to the algebraic velocity standard wall function.

AuxVariables

BCs

Bounds

  • Navier Stokes App
  • CourantComputes |u| dt / h_min.
  • EnthalpyAuxThis AuxKernel computes the specific enthalpy of the fluidfrom the total energy and the pressure.
  • HasPorosityJumpFaceShows whether an element has any attached porosity jump faces
  • INSCourantComputes h_min / |u|.
  • INSFVMixingLengthTurbulentViscosityAuxComputes the turbulent viscosity for the mixing length model.
  • INSQCriterionAuxThis class computes the Q criterion, a scalar whichaids in vortex identification in turbulent flows
  • INSStressComponentAuxThis class computes the stress component based on pressure and velocity for incompressible Navier-Stokes
  • InternalEnergyAuxThis AuxKernel computes the internal energy based on the equation of state / fluid properties and the local pressure and density.
  • NSInternalEnergyAuxAuxiliary kernel for computing the internal energy of the fluid.
  • NSLiquidFractionAuxComputes liquid fraction given the temperature.
  • NSMachAuxAuxiliary kernel for computing the Mach number assuming an ideal gas.
  • NSPressureAuxNodal auxiliary variable, for computing pressure at the nodes.
  • NSSpecificTotalEnthalpyAuxNodal auxiliary variable, for computing enthalpy at the nodes.
  • NSTemperatureAuxTemperature is an auxiliary value computed from the total energy based on the FluidProperties.
  • NSVelocityAuxVelocity auxiliary value.
  • PecletNumberFunctorAuxComputes the Peclet number: u*L/alpha.
  • ReynoldsNumberFunctorAuxComputes rho*u*L/mu.
  • SpecificInternalEnergyAuxThis AuxKernel computes the specific internal energy based from the total and the kinetic energy.
  • SpecificVolumeAuxThis auxkernel computes the specific volume of the fluid.
  • WallDistanceMixingLengthAuxComputes the turbulent mixing length by assuming that it is proportional to the distance from the nearest wall. The mixinglength is capped at a distance proportional to inputted parameter delta.
  • WallFunctionWallShearStressAuxCalculates the wall shear stress based on algebraic standard velocity wall functions.
  • WallFunctionYPlusAuxCalculates y+ value according to the algebraic velocity standard wall function.

FVBCs

  • Navier Stokes App
  • CNSFVHLLCFluidEnergyImplicitBCImplements an implicit advective boundary flux for the fluid energy equation for an HLLC discretization
  • CNSFVHLLCFluidEnergyStagnationInletBCAdds the boundary fluid energy flux for HLLC when provided stagnation temperature and pressure
  • CNSFVHLLCMassImplicitBCImplements an implicit advective boundary flux for the mass equation for an HLLC discretization
  • CNSFVHLLCMassStagnationInletBCAdds the boundary mass flux for HLLC when provided stagnation temperature and pressure
  • CNSFVHLLCMomentumImplicitBCImplements an implicit advective boundary flux for the momentum equation for an HLLC discretization
  • CNSFVHLLCMomentumSpecifiedPressureBCImplements an HLLC boundary condition for the momentum conservation equation in which the pressure is specified.
  • CNSFVHLLCMomentumStagnationInletBCAdds the boundary momentum flux for HLLC when provided stagnation temperature and pressure
  • CNSFVHLLCSpecifiedMassFluxAndTemperatureFluidEnergyBCImplements the fluid energy boundary flux portion of the free-flow HLLC discretization given specified mass fluxes and fluid temperature
  • CNSFVHLLCSpecifiedMassFluxAndTemperatureMassBCImplements the mass boundary flux portion of the free-flow HLLC discretization given specified mass fluxes and fluid temperature
  • CNSFVHLLCSpecifiedMassFluxAndTemperatureMomentumBCImplements the momentum boundary flux portion of the free-flow HLLC discretization given specified mass fluxes and fluid temperature
  • CNSFVHLLCSpecifiedPressureFluidEnergyBCImplements the fluid energy boundary flux portion of the free-flow HLLC discretization given specified pressure
  • CNSFVHLLCSpecifiedPressureMassBCImplements the mass boundary flux portion of the free-flow HLLC discretization given specified pressure
  • CNSFVHLLCSpecifiedPressureMomentumBCImplements the momentum boundary flux portion of the free-flow HLLC discretization given specified pressure
  • CNSFVMomImplicitPressureBCAdds an implicit pressure flux contribution on the boundary using interior cell information
  • INSFVAveragePressureValueBCThis class is used to enforce integral of phi = boundary area * phi_0 with a Lagrange multiplier approach.
  • INSFVInletVelocityBCImposes the essential boundary condition , where is a (possibly) time and space-dependent MOOSE Function.
  • INSFVMassAdvectionOutflowBCOutflow boundary condition for advecting mass.
  • INSFVMomentumAdvectionOutflowBCFully developed outflow boundary condition for advecting momentum. This will impose a zero normal gradient on the boundary velocity.
  • INSFVNaturalFreeSlipBCImplements a free slip boundary condition naturally.
  • INSFVNoSlipWallBCImplements a no slip boundary condition.
  • INSFVOutletPressureBCDefines a Dirichlet boundary condition for finite volume method.
  • INSFVSymmetryPressureBCThough not applied to velocity, this object ensures that the flux (velocity times the advected quantity) into a symmetry boundary is zero. When applied to pressure for the mass equation, this makes the normal velocity zero since density is constant
  • INSFVSymmetryScalarBCThough not applied to velocity, this object ensures that the flux (velocity times the advected quantity) into a symmetry boundary is zero. When applied to pressure for the mass equation, this makes the normal velocity zero since density is constant
  • INSFVSymmetryVelocityBCImplements a symmetry boundary condition for the velocity.
  • INSFVWallFunctionBCImplements a wall shear BC for the momentum equation based on algebraic standard velocity wall functions.
  • NSFVFunctorHeatFluxBCConstant heat flux boundary condition with phase splitting for fluid and solid energy equations
  • NSFVHeatFluxBCConstant heat flux boundary condition with phase splitting for fluid and solid energy equations
  • NSFVOutflowTemperatureBCOutflow velocity temperature advection boundary conditions for finite volume method allowing for thermal backflow.
  • PCNSFVHLLCSpecifiedMassFluxAndTemperatureFluidEnergyBCImplements the fluid energy boundary flux portion of the porous HLLC discretization given specified mass fluxes and fluid temperature
  • PCNSFVHLLCSpecifiedMassFluxAndTemperatureMassBCImplements the mass boundary flux portion of the porous HLLC discretization given specified mass fluxes and fluid temperature
  • PCNSFVHLLCSpecifiedMassFluxAndTemperatureMomentumBCImplements the momentum boundary flux portion of the porous HLLC discretization given specified mass fluxes and fluid temperature
  • PCNSFVHLLCSpecifiedPressureFluidEnergyBCImplements the fluid energy boundary flux portion of the porous HLLC discretization given specified pressure
  • PCNSFVHLLCSpecifiedPressureMassBCImplements the mass boundary flux portion of the porous HLLC discretization given specified pressure
  • PCNSFVHLLCSpecifiedPressureMomentumBCImplements the momentum boundary flux portion of the porous HLLC discretization given specified pressure
  • PCNSFVImplicitMomentumPressureBCSpecifies an implicit pressure at a boundary for the momentum equations.
  • PCNSFVStrongBCComputes the residual of advective term using finite volume method.
  • PINSFVMomentumAdvectionOutflowBCOutflow boundary condition for advecting momentum in the porous media momentum equation. This will impose a zero normal gradient on the boundary velocity.
  • PINSFVSymmetryVelocityBCImplements a symmetry boundary condition for the velocity.
  • PWCNSFVMomentumFluxBCFlux boundary conditions for porous momentum advection.
  • WCNSFVEnergyFluxBCFlux boundary conditions for energy advection.
  • WCNSFVInletTemperatureBCDefines a Dirichlet boundary condition for finite volume method.
  • WCNSFVInletVelocityBCDefines a Dirichlet boundary condition for finite volume method.
  • WCNSFVMassFluxBCFlux boundary conditions for mass advection.
  • WCNSFVMomentumFluxBCFlux boundary conditions for momentum advection.
  • WCNSFVScalarFluxBCFlux boundary conditions for scalar quantity advection.

FVInterfaceKernels

  • Navier Stokes App
  • FVConvectionCorrelationInterfaceComputes the residual for a convective heat transfer across an interface for the finite volume method, using a correlation for the heat transfer coefficient.

FVKernels

  • Navier Stokes App
  • CNSFVFluidEnergyHLLCImplements the fluid energy flux portion of the free-flow HLLC discretization.
  • CNSFVMassHLLCImplements the mass flux portion of the free-flow HLLC discretization.
  • CNSFVMomentumHLLCImplements the momentum flux portion of the free-flow HLLC discretization.
  • FVMatPropTimeKernelReturns a material property which should correspond to a time derivative.
  • FVPorosityTimeDerivativeA time derivative multiplied by a porosity material property
  • INSFVBodyForceBody force that contributes to the Rhie-Chow interpolation
  • INSFVEnergyAdvectionAdvects energy, e.g. rho*cp*T. A user may still override what quantity is advected, but the default is rho*cp*T
  • INSFVEnergyTimeDerivativeAdds the time derivative term to the incompressible Navier-Stokes energy equation.
  • INSFVMassAdvectionObject for advecting mass, e.g. rho
  • INSFVMixingLengthReynoldsStressComputes the force due to the Reynolds stress term in the incompressible Reynolds-averaged Navier-Stokes equations.
  • INSFVMixingLengthScalarDiffusionComputes the turbulent diffusive flux that appears in Reynolds-averaged fluid conservation equations.
  • INSFVMomentumAdvectionObject for advecting momentum, e.g. rho*u
  • INSFVMomentumBoussinesqComputes a body force for natural convection buoyancy.
  • INSFVMomentumDiffusionImplements the Laplace form of the viscous stress in the Navier-Stokes equation.
  • INSFVMomentumFrictionImplements a basic linear or quadratic friction model as a volumetric force, for example for the X-momentum equation: and for the linear and quadratic models respectively. A linear dependence is expected for laminar flow, while a quadratic dependence is more common for turbulent flow.
  • INSFVMomentumGravityComputes a body force due to gravity in Rhie-Chow based simulations.
  • INSFVMomentumPressureIntroduces the coupled pressure term into the Navier-Stokes momentum equation.
  • INSFVMomentumTimeDerivativeAdds the time derivative term to the incompressible Navier-Stokes momentum equation.
  • INSFVScalarFieldAdvectionAdvects an arbitrary quantity, the associated nonlinear 'variable'.
  • NSFVEnergyAmbientConvectionImplements a solid-fluid ambient convection volumetric term proportional to the difference between the fluid and ambient temperatures : .
  • NSFVPhaseChangeSourceComputes the energy source due to solidification/melting.
  • PCNSFVDensityTimeDerivativeA time derivative kernel for which the form is eps * ddt(rho*var).
  • PCNSFVFluidEnergyHLLCImplements the fluid energy flux portion of the porous HLLC discretization.
  • PCNSFVKTComputes the residual of advective term using finite volume method.
  • PCNSFVKTDCComputes the residual of advective term using finite volume method using a deferred correction approach.
  • PCNSFVMassHLLCImplements the mass flux portion of the porous HLLC discretization.
  • PCNSFVMomentumFrictionComputes a friction force term on fluid in porous media in the Navier Stokes i-th momentum equation.
  • PCNSFVMomentumHLLCImplements the momentum flux portion of the porous HLLC discretization.
  • PINSFVEnergyAdvectionAdvects energy, e.g. rho*cp*T. A user may still override what quantity is advected, but the default is rho*cp*T
  • PINSFVEnergyAmbientConvectionImplements the solid-fluid ambient convection term in the porous media Navier Stokes energy equation.
  • PINSFVEnergyAnisotropicDiffusionAnisotropic diffusion term in the porous media incompressible Navier-Stokes equations : -div(kappa grad(T))
  • PINSFVEnergyDiffusionDiffusion term in the porous media incompressible Navier-Stokes fluid energy equations :
  • PINSFVEnergyTimeDerivativeAdds the time derivative term to the Navier-Stokes energy equation: for fluids: d(eps * rho * cp * T)/dt, for solids: (1 - eps) * d(rho * cp * T)/dtMaterial property derivatives are ignored if not provided.
  • PINSFVMassAdvectionObject for advecting mass in porous media mass equation
  • PINSFVMomentumAdvectionObject for advecting superficial momentum, e.g. rho*u_d, in the porous media momentum equation
  • PINSFVMomentumBoussinesqComputes a body force for natural convection buoyancy in porous media: eps alpha (T-T_0)
  • PINSFVMomentumDiffusionViscous diffusion term, div(mu eps grad(u_d / eps)), in the porous media incompressible Navier-Stokes momentum equation.
  • PINSFVMomentumFrictionComputes a friction force term on fluid in porous media in the Navier Stokes i-th momentum equation in Rhie-Chow (incompressible) contexts.
  • PINSFVMomentumFrictionCorrectionComputes a correction term to avoid oscillations from average pressure interpolation in regions of high changes in friction coefficients.
  • PINSFVMomentumGravityComputes a body force, due to gravity on fluid in porous media in Rhie-Chow (incompressible) contexts.
  • PINSFVMomentumPressureIntroduces the coupled pressure term into the Navier-Stokes porous media momentum equation.
  • PINSFVMomentumPressureFluxMomentum pressure term eps grad_P, as a flux kernel using the divergence theoreom, in the porous media incompressible Navier-Stokes momentum equation. This kernel is also executed on boundaries.
  • PINSFVMomentumPressurePorosityGradientIntroduces the coupled pressure times porosity gradient term into the Navier-Stokes porous media momentum equation.
  • PINSFVMomentumTimeDerivativeAdds the time derivative term: d(rho u_d) / dt to the porous media incompressible Navier-Stokes momentum equation.
  • PNSFVMomentumPressureFluxRZAdds the porous term into the radial component of the Navier-Stokes momentum equation for the problems in the RZ coordinate system when integrating by parts.
  • PNSFVMomentumPressureRZAdds the porous term into the radial component of the Navier-Stokes momentum equation for the problems in the RZ coordinate system when integrating by parts.
  • PNSFVPGradEpsilonIntroduces a -p * grad_eps term.
  • PWCNSFVMassTimeDerivativeAdds the time derivative term to the porous weakly-compressible Navier-Stokes continuity equation.
  • WCNSFVEnergyTimeDerivativeAdds the time derivative term to the incompressible Navier-Stokes momentum equation.
  • WCNSFVMassTimeDerivativeAdds the time derivative term to the weakly-compressible Navier-Stokes continuity equation.
  • WCNSFVMixingLengthEnergyDiffusionComputes the turbulent diffusive flux that appears in Reynolds-averaged fluid energy conservation equations.
  • WCNSFVMomentumTimeDerivativeAdds the time derivative term to the incompressible Navier-Stokes momentum equation.

FunctorMaterials

  • Navier Stokes App
  • AirAir.
  • ConservedVarValuesMaterialProvides access to variables for a conserved variable set of density, total fluid energy, and momentum
  • ExponentialFrictionMaterialComputes a Reynolds number-exponential friction factor.
  • GeneralFluidPropsComputes fluid properties using a (P, T) formulation
  • GeneralFunctorFluidPropsCreates functor fluid properties using a (P, T) formulation
  • GenericPorousMediumMaterialComputes generic material properties related to simulation of fluid flow in a porous medium
  • INSAD3EqnThis material computes properties needed for stabilized formulations of the mass, momentum, and energy equations.
  • INSADMaterialThis is the material class used to compute some of the strong residuals for the INS equations.
  • INSADStabilized3EqnThis is the material class used to compute the stabilization parameter tau for momentum and tau_energy for the energy equation.
  • INSADTauMaterialThis is the material class used to compute the stabilization parameter tau.
  • INSFEMaterialComputes generic material properties related to simulation of fluid flow
  • INSFVEnthalpyMaterialThis is the material class used to compute enthalpy for the incompressible/weakly-compressible finite-volume implementation of the Navier-Stokes equations.
  • INSFVMushyPorousFrictionMaterialComputes the mushy zone porous resistance for solidification/melting problems.
  • LinearFrictionFactorFunctorMaterialMaterial class used to compute a friction factor of the form A * f(r, t) + B * g(r, t) * |v_I| with A, B vector constants, f(r, t) and g(r, t) functors of space and time, and |v_I| the interstitial speed
  • MDFluidMaterialComputes generic material properties related to simulation of fluid flow
  • MixingLengthTurbulentViscosityMaterialComputes the material property corresponding to the total viscositycomprising the mixing length model turbulent total_viscosityand the molecular viscosity.
  • NSFVFrictionFlowDiodeMaterialIncreases the anistropic friction coefficients, linear or quadratic, by K_i * |direction_i| when the diode is turned on with a boolean
  • NSFVMixtureMaterialCompute the arithmetic mean of material properties using a phase fraction.
  • PINSFEMaterialComputes generic material properties related to simulation of fluid flow in a porous medium
  • PINSFVSpeedFunctorMaterialThis is the material class used to compute the interstitial velocity norm for the incompressible and weakly compressible primitive superficial finite-volume implementation of porous media equations.
  • PorousConservedVarMaterialProvides access to variables for a conserved variable set of density, total fluid energy, and momentum
  • PorousMixedVarMaterialProvides access to variables for a primitive variable set of pressure, temperature, and superficial velocity
  • PorousPrimitiveVarMaterialProvides access to variables for a primitive variable set of pressure, temperature, and superficial velocity
  • ReynoldsNumberFunctorMaterialComputes a Reynolds number.
  • RhoFromPTFunctorMaterialComputes the density from coupled pressure and temperature functors (variables, functions, functor material properties
  • SoundspeedMatComputes the speed of sound
  • ThermalDiffusivityFunctorMaterialComputes the thermal diffusivity given the thermal conductivity, specific heat capacity, and fluid density.

ICs

Kernels

  • Navier Stokes App
  • DistributedForceImplements a force term in the Navier Stokes momentum equation.
  • DistributedPowerImplements the power term of a specified force in the Navier Stokes energy equation.
  • INSADBoussinesqBodyForceComputes a body force for natural convection buoyancy.
  • INSADEnergyAdvectionThis class computes the residual and Jacobian contributions for temperature advection for a divergence free velocity field.
  • INSADEnergyAmbientConvectionComputes a heat source/sink due to convection from ambient surroundings.
  • INSADEnergySUPGAdds the supg stabilization to the INS temperature/energy equation
  • INSADEnergySourceComputes an arbitrary volumetric heat source (or sink).
  • INSADGravityForceComputes a body force due to gravity.
  • INSADHeatConductionTimeDerivativeAD Time derivative term of the heat equation for quasi-constant specific heat and the density .
  • INSADMassThis class computes the mass equation residual and Jacobian contributions (the latter using automatic differentiation) for the incompressible Navier-Stokes equations.
  • INSADMassPSPGThis class adds PSPG stabilization to the mass equation, enabling use of equal order shape functions for pressure and velocity variables
  • INSADMeshConvectionCorrects the convective derivative for situations in which the fluid mesh is dynamic.
  • INSADMomentumAdvectionAdds the advective term to the INS momentum equation
  • INSADMomentumCoupledForceComputes a body force due to a coupled vector variable or a vector function
  • INSADMomentumPressureAdds the pressure term to the INS momentum equation
  • INSADMomentumSUPGAdds the supg stabilization to the INS momentum equation
  • INSADMomentumTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation.
  • INSADMomentumViscousAdds the viscous term to the INS momentum equation
  • INSADSmagorinskyEddyViscosityComputes eddy viscosity term using Smagorinky's LES model
  • INSChorinCorrectorThis class computes the 'Chorin' Corrector equation in fully-discrete (both time and space) form.
  • INSChorinPredictorThis class computes the 'Chorin' Predictor equation in fully-discrete (both time and space) form.
  • INSChorinPressurePoissonThis class computes the pressure Poisson solve which is part of the 'split' scheme used for solving the incompressible Navier-Stokes equations.
  • INSCompressibilityPenaltyThe penalty term may be used when Dirichlet boundary condition is applied to the entire boundary.
  • INSFEFluidEnergyKernelAdds advection, diffusion, and heat source terms to energy equation, potentially with stabilization
  • INSFEFluidMassKernelAdds advective term of mass conservation equation along with pressure-stabilized Petrov-Galerkin terms
  • INSFEFluidMomentumKernelAdds advection, viscous, pressure, friction, and gravity terms to the Navier-Stokes momentum equation, potentially with stabilization
  • INSMassThis class computes the mass equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation.
  • INSMassRZThis class computes the mass equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ coordinates.
  • INSMomentumLaplaceFormThis class computes momentum equation residual and Jacobian viscous contributions for the 'Laplacian' form of the governing equations.
  • INSMomentumLaplaceFormRZThis class computes additional momentum equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ (axisymmetric cylindrical) coordinates, using the 'Laplace' form of the governing equations.
  • INSMomentumTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation.
  • INSMomentumTractionFormThis class computes momentum equation residual and Jacobian viscous contributions for the 'traction' form of the governing equations.
  • INSMomentumTractionFormRZThis class computes additional momentum equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ (axisymmetric cylindrical) coordinates.
  • INSPressurePoissonThis class computes the pressure Poisson solve which is part of the 'split' scheme used for solving the incompressible Navier-Stokes equations.
  • INSProjectionThis class computes the 'projection' part of the 'split' method for solving incompressible Navier-Stokes.
  • INSSplitMomentumThis class computes the 'split' momentum equation residual.
  • INSTemperatureThis class computes the residual and Jacobian contributions for the incompressible Navier-Stokes temperature (energy) equation.
  • INSTemperatureTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation.
  • MDFluidEnergyKernelAdds advection, diffusion, and heat source terms to energy equation, potentially with stabilization
  • MDFluidMassKernelAdds advective term of mass conservation equation along with pressure-stabilized Petrov-Galerkin terms
  • MDFluidMomentumKernelAdds advection, viscous, pressure, friction, and gravity terms to the Navier-Stokes momentum equation, potentially with stabilization
  • MassConvectiveFluxImplements the advection term for the Navier Stokes mass equation.
  • MomentumConvectiveFluxImplements the advective term of the Navier Stokes momentum equation.
  • NSEnergyInviscidFluxThis class computes the inviscid part of the energy flux.
  • NSEnergyThermalFluxThis class is responsible for computing residuals and Jacobian terms for the k * grad(T) * grad(phi) term in the Navier-Stokes energy equation.
  • NSEnergyViscousFluxViscous flux terms in energy equation.
  • NSGravityForceThis class computes the gravity force contribution.
  • NSGravityPowerThis class computes the momentum contributed by gravity.
  • NSMassInviscidFluxThis class computes the inviscid flux in the mass equation.
  • NSMomentumInviscidFluxThe inviscid flux (convective + pressure terms) for the momentum conservation equations.
  • NSMomentumInviscidFluxWithGradPThis class computes the inviscid flux with pressure gradient in the momentum equation.
  • NSMomentumViscousFluxDerived instance of the NSViscousFluxBase class for the momentum equations.
  • NSSUPGEnergyCompute residual and Jacobian terms form the SUPG terms in the energy equation.
  • NSSUPGMassCompute residual and Jacobian terms form the SUPG terms in the mass equation.
  • NSSUPGMomentumCompute residual and Jacobian terms form the SUPG terms in the momentum equation.
  • NSTemperatureL2This class was originally used to solve for the temperature using an L2-projection.
  • PINSFEFluidPressureTimeDerivativeAdds the transient term of the porous-media mass conservation equation
  • PINSFEFluidTemperatureTimeDerivativeThe time derivative operator with the weak form of .
  • PINSFEFluidVelocityTimeDerivativeThe time derivative operator with the weak form of .
  • PMFluidPressureTimeDerivativeAdds the transient term of the porous-media mass conservation equation
  • PMFluidTemperatureTimeDerivativeThe time derivative operator with the weak form of .
  • PMFluidVelocityTimeDerivativeThe time derivative operator with the weak form of .
  • PressureGradientImplements the pressure gradient term for one of the Navier Stokes momentum equations.
  • TotalEnergyConvectiveFluxImplements the advection term for the Navier Stokes energy equation.

Materials

  • Navier Stokes App
  • AirAir.
  • ConservedVarValuesMaterialProvides access to variables for a conserved variable set of density, total fluid energy, and momentum
  • ExponentialFrictionMaterialComputes a Reynolds number-exponential friction factor.
  • GeneralFluidPropsComputes fluid properties using a (P, T) formulation
  • GeneralFunctorFluidPropsCreates functor fluid properties using a (P, T) formulation
  • GenericPorousMediumMaterialComputes generic material properties related to simulation of fluid flow in a porous medium
  • INSAD3EqnThis material computes properties needed for stabilized formulations of the mass, momentum, and energy equations.
  • INSADMaterialThis is the material class used to compute some of the strong residuals for the INS equations.
  • INSADStabilized3EqnThis is the material class used to compute the stabilization parameter tau for momentum and tau_energy for the energy equation.
  • INSADTauMaterialThis is the material class used to compute the stabilization parameter tau.
  • INSFEMaterialComputes generic material properties related to simulation of fluid flow
  • INSFVEnthalpyMaterialThis is the material class used to compute enthalpy for the incompressible/weakly-compressible finite-volume implementation of the Navier-Stokes equations.
  • INSFVMushyPorousFrictionMaterialComputes the mushy zone porous resistance for solidification/melting problems.
  • LinearFrictionFactorFunctorMaterialMaterial class used to compute a friction factor of the form A * f(r, t) + B * g(r, t) * |v_I| with A, B vector constants, f(r, t) and g(r, t) functors of space and time, and |v_I| the interstitial speed
  • MDFluidMaterialComputes generic material properties related to simulation of fluid flow
  • MixingLengthTurbulentViscosityMaterialComputes the material property corresponding to the total viscositycomprising the mixing length model turbulent total_viscosityand the molecular viscosity.
  • NSFVFrictionFlowDiodeMaterialIncreases the anistropic friction coefficients, linear or quadratic, by K_i * |direction_i| when the diode is turned on with a boolean
  • NSFVMixtureMaterialCompute the arithmetic mean of material properties using a phase fraction.
  • PINSFEMaterialComputes generic material properties related to simulation of fluid flow in a porous medium
  • PINSFVSpeedFunctorMaterialThis is the material class used to compute the interstitial velocity norm for the incompressible and weakly compressible primitive superficial finite-volume implementation of porous media equations.
  • PorousConservedVarMaterialProvides access to variables for a conserved variable set of density, total fluid energy, and momentum
  • PorousMixedVarMaterialProvides access to variables for a primitive variable set of pressure, temperature, and superficial velocity
  • PorousPrimitiveVarMaterialProvides access to variables for a primitive variable set of pressure, temperature, and superficial velocity
  • ReynoldsNumberFunctorMaterialComputes a Reynolds number.
  • RhoFromPTFunctorMaterialComputes the density from coupled pressure and temperature functors (variables, functions, functor material properties
  • SoundspeedMatComputes the speed of sound
  • ThermalDiffusivityFunctorMaterialComputes the thermal diffusivity given the thermal conductivity, specific heat capacity, and fluid density.

Modules

Modules/CompressibleNavierStokes

  • Navier Stokes App
  • CNSActionThis class allows us to have a section of the input file like the following which automatically adds Kernels and AuxKernels for all the required nonlinear and auxiliary variables.

Modules/IncompressibleNavierStokes

  • Navier Stokes App
  • INSActionThis class allows us to have a section of the input file for setting up incompressible Navier-Stokes equations.

Modules/NavierStokesFV

  • Navier Stokes App
  • NSFVActionThis class allows us to set up Navier-Stokes equations for porous medium or clean fluid flows using incompressible or weakly compressible approximations with a finite volume discretization.

Postprocessors

  • Navier Stokes App
  • ADCFLTimeStepSizeComputes a time step size based on a user-specified CFL number
  • CFLTimeStepSizeComputes a time step size based on a user-specified CFL number
  • INSADElementIntegralEnergyAdvectionComputes the net volumetric balance of energy transported by advection
  • INSElementIntegralEnergyAdvectionComputes the net volumetric balance of energy transported by advection
  • INSExplicitTimestepSelectorPostprocessor that computes the minimum value of h_min/|u|, where |u| is coupled in as an aux variable.
  • IntegralDirectedSurfaceForceComputes the directed force coming from friction and pressure differences on a surface. One can use this object for the computation of the drag and lift coefficient as well.
  • MassFluxWeightedFlowRateComputes the mass flux weighted average of the quantity provided by advected_quantity over a boundary.
  • MfrPostprocessorObject for outputting boundary mass fluxes in conjunction with FVFluxBC derived objects that support it
  • NSEntropyErrorComputes entropy error.
  • PressureDropComputes the pressure drop between an upstream and a downstream boundary.
  • RayleighNumberPostprocessor that computes the Rayleigh number for free flow with natural circulation
  • VolumetricFlowRateComputes the volumetric flow rate of an advected quantity through a sideset.

UserObjects

  • Navier Stokes App
  • ADCFLTimeStepSizeComputes a time step size based on a user-specified CFL number
  • CFLTimeStepSizeComputes a time step size based on a user-specified CFL number
  • HLLCUserObjectComputes free-flow wave speeds on internal sides, useful in HLLC contexts
  • INSADElementIntegralEnergyAdvectionComputes the net volumetric balance of energy transported by advection
  • INSADObjectTrackerUser object used to track the kernels added to an INS simulation and determine what properties to calculate in INSADMaterial
  • INSElementIntegralEnergyAdvectionComputes the net volumetric balance of energy transported by advection
  • INSExplicitTimestepSelectorPostprocessor that computes the minimum value of h_min/|u|, where |u| is coupled in as an aux variable.
  • INSFVRhieChowInterpolatorComputes the Rhie-Chow velocity based on gathered 'a' coefficient data.
  • IntegralDirectedSurfaceForceComputes the directed force coming from friction and pressure differences on a surface. One can use this object for the computation of the drag and lift coefficient as well.
  • MassFluxWeightedFlowRateComputes the mass flux weighted average of the quantity provided by advected_quantity over a boundary.
  • MfrPostprocessorObject for outputting boundary mass fluxes in conjunction with FVFluxBC derived objects that support it
  • NSEntropyErrorComputes entropy error.
  • PINSFVRhieChowInterpolatorPerforms interpolations and reconstructions of porosity and computes the Rhie-Chow face velocities.
  • PressureDropComputes the pressure drop between an upstream and a downstream boundary.
  • RayleighNumberPostprocessor that computes the Rayleigh number for free flow with natural circulation
  • VolumetricFlowRateComputes the volumetric flow rate of an advected quantity through a sideset.

Variables

VectorPostprocessors

  • Navier Stokes App
  • WaveSpeedVPPExtracts wave speeds from HLLC userobject for a given face

References

  1. Rui Hu, Ling Zou, Guojun Hu, Daniel Nunez, Travis Mui, and Tingzhou Fei. Sam theory manual. Technical Report, Argonne National Lab.(ANL), Argonne, IL (United States), 2021.[BibTeX]