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:
prefix | Jacobian | compressibility | turbulence support | friction support | method | advection strategy |
---|---|---|---|---|---|---|
INS | Hand-coded | incompressible | None | Not porous | CGFE | SUPG |
INSAD | AD | incompressible | Smagorinsky | Not porous | CGFE | SUPG |
NS | Hand-coded | compressible | None | Not porous | CGFE | SUPG |
INSFV | AD | incompressible | mixing length | Not porous | FV | RC, CD velocity; limited advected |
WCNSFV | AD | weakly compressible | mixing length | Not porous | FV | RC, CD velocity; limited advected |
PINSFV | AD | incompressible | None | Darcy, Forcheimer | FV | RC, CD velocity; limited advected |
CNSFVHLLC | AD | compressible | None | Not porous | FV | HLLC, piecewise constant data |
PCNSFVHLLC | AD | compressible | None | Darcy, Forcheimer | FV | HLLC, piecewise constant data |
PCNSFVKT | AD | compressible | None | Darcy, Forcheimer | FV | Kurganov-Tadmor, limited data |
Table definitions:
AD: automatic differentiation
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
Adaptivity
Adaptivity/Indicators
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
Adaptivity/Markers
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
AuxKernels
- Navier Stokes App
- CourantComputes |u| dt / h_min.
- EnthalpyAuxThis AuxKernel computes the specific enthalpy of the fluidfrom the total energy and the pressure.
- INSCourantComputes h_min / |u|.
- INSDivergenceAuxComputes 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.
- 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
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
AuxVariables/MultiAuxVariables
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
BCs
- Navier Stokes App
- AdvectionBCBoundary conditions for outflow/outflow of advected quantities: phi * velocity * normal, where phi is the advected quantitiy
- EnergyFreeBCImplements free advective flow boundary conditions for the energy equation.
- INSADMomentumNoBCBCThis class implements the 'No BC' boundary condition based on the 'Laplace' form of the viscous stress tensor.
- INSMomentumNoBCBCLaplaceFormThis class implements the 'No BC' boundary condition based on the 'Laplace' form of the viscous stress tensor.
- INSMomentumNoBCBCTractionFormThis class implements the 'No BC' boundary condition based on the 'traction' form of the viscous stress tensor.
- INSTemperatureNoBCBCThis class implements the 'No BC' boundary condition discussed by Griffiths, Papanastiou, and others.
- ImplicitNeumannBCThis class implements a form of the Neumann boundary condition in which the boundary term is treated 'implicitly'.
- MassFreeBCImplements free advective flow boundary conditions for the mass equation.
- MomentumFreeBCImplements free flow boundary conditions for one of the momentum equations.
- MomentumFreeSlipBCImplements free slip boundary conditions for the Navier Stokesmomentum equation.
- NSEnergyInviscidSpecifiedBCThis class corresponds to the inviscid part of the 'natural' boundary condition for the energy equation.
- NSEnergyInviscidSpecifiedDensityAndVelocityBCThis class corresponds to the inviscid part of the 'natural' boundary condition for the energy equation.
- NSEnergyInviscidSpecifiedNormalFlowBCThis class corresponds to the inviscid part of the 'natural' boundary condition for the energy equation.
- NSEnergyInviscidSpecifiedPressureBCThis class corresponds to the inviscid part of the 'natural' boundary condition for the energy equation.
- NSEnergyInviscidUnspecifiedBCThis class corresponds to the inviscid part of the 'natural' boundary condition for the energy equation.
- NSEnergyViscousBCThis class couples together all the variables for the compressible Navier-Stokes equations to allow them to be used in derived IntegratedBC classes.
- NSEnergyWeakStagnationBCThe inviscid energy BC term with specified normal flow.
- NSImposedVelocityBCImpose Velocity BC.
- NSImposedVelocityDirectionBCThis class imposes a velocity direction component as a Dirichlet condition on the appropriate momentum equation.
- NSInflowThermalBCThis class is used on a boundary where the incoming flow values (rho, u, v, T) are all completely specified.
- NSMassSpecifiedNormalFlowBCThis class implements the mass equation boundary term with a specified value of rho*(u.n) imposed weakly.
- NSMassUnspecifiedNormalFlowBCThis class implements the mass equation boundary term with the rho*(u.n) boundary integral computed implicitly.
- NSMassWeakStagnationBCThe inviscid energy BC term with specified normal flow.
- NSMomentumConvectiveWeakStagnationBCThe convective part (sans pressure term) of the momentum equation boundary integral evaluated at specified stagnation temperature, stagnation pressure, and flow direction values.
- NSMomentumInviscidNoPressureImplicitFlowBCMomentum equation boundary condition used when pressure is not integrated by parts.
- NSMomentumInviscidSpecifiedNormalFlowBCMomentum equation boundary condition in which pressure is specified (given) and the value of the convective part is allowed to vary (is computed implicitly).
- NSMomentumInviscidSpecifiedPressureBCMomentum equation boundary condition in which pressure is specified (given) and the value of the convective part is allowed to vary (is computed implicitly).
- NSMomentumPressureWeakStagnationBCThis class implements the pressure term of the momentum equation boundary integral for use in weak stagnation boundary conditions.
- NSMomentumViscousBCThis class corresponds to the viscous part of the 'natural' boundary condition for the momentum equations.
- NSPenalizedNormalFlowBCThis class penalizes the the value of u.n on the boundary so that it matches some desired value.
- NSPressureNeumannBCThis kernel is appropriate for use with a 'zero normal flow' boundary condition in the context of the Euler equations.
- NSStagnationPressureBCThis Dirichlet condition imposes the condition p_0 = p_0_desired.
- NSStagnationTemperatureBCThis Dirichlet condition imposes the condition T_0 = T_0_desired.
- NSThermalBCNS thermal BC.
Bounds
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
- 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
- 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.
- 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.
- INSFVFrictionFlowDiodeAdds a linear friction term, -K vel_i * |d(i)|, i being the momentumcomponent, if the flow is opposite the direction d of the diode
- 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 : .
- 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.
ICs
- Navier Stokes App
- NSFunctionInitialConditionSets intial values for all variables.
- NSInitialConditionNSInitialCondition sets intial constant values for all variables.
- PNSInitialConditionPNSInitialCondition sets intial constant values for any porous flow variable.
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
- 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.
- 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.
- 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.
- 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
- GeneralFluidPropsComputes fluid properties using a (P, T) formulation
- GeneralFunctorFluidPropsCreates functor fluid properties using a (P, T) formulation
- 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.
- INSFVEnthalpyMaterialThis is the material class used to compute enthalpy for the incompressible/weakly-compressible finite-volume implementation of the Navier-Stokes equations.
- MixingLengthTurbulentViscosityMaterialComputes the material property corresponding to the total viscositycomprising the mixing length model turbulent total_viscosityand the molecular viscosity.
- 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
- RhoFromPTFunctorMaterialComputes the density from coupled pressure and temperature variables
- SoundspeedMatComputes the speed of sound
- ThermalDiffusivityFunctorMaterialComputes the thermal diffusivity given the thermal conductivity, specific heat capacity, and fluid density.
Modules
- Navier Stokes App
- CompressibleNavierStokes
- IncompressibleNavierStokes
- NavierStokesFV
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
- INSExplicitTimestepSelectorPostprocessor that computes the minimum value of h_min/|u|, where |u| is coupled in as an aux variable.
- MfrPostprocessorObject for outputting boundary mass fluxes in conjunction with FVFluxBC derived objects that support it
- NSEntropyErrorComputes entropy error.
- RayleighNumberPostprocessor that computes the Rayleigh number for free flow with natural circulation
- VolumetricFlowRateComputes the volumetric flow rate of an advected quantity through a sideset.
ReactionNetwork
ReactionNetwork/AqueousEquilibriumReactions
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
ReactionNetwork/SolidKineticReactions
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
UserObjects
- Navier Stokes App
- HLLCUserObjectComputes free-flow wave speeds on internal sides, useful in HLLC contexts
- INSADObjectTrackerUser object used to track the kernels added to an INS simulation and determine what properties to calculate in INSADMaterial
- INSFVRhieChowInterpolatorComputes the Rhie-Chow velocity based on gathered 'a' coefficient data.
- PINSFVRhieChowInterpolatorPerforms interpolations and reconstructions of porosity and computes the Rhie-Chow face velocities.
Variables
- Navier Stokes App
- INSFVEnergyVariableBase class for Moose variables. This should never be the terminal object type
- INSFVPressureVariableBase class for Moose variables. This should never be the terminal object type
- INSFVScalarFieldVariableBase class for Moose variables. This should never be the terminal object type
- INSFVVelocityVariableBase class for Moose variables. This should never be the terminal object type
- PINSFVSuperficialVelocityVariableBase class for Moose variables. This should never be the terminal object type
VectorPostprocessors
- Navier Stokes App
- WaveSpeedVPPExtracts wave speeds from HLLC userobject for a given face