Navier-Stokes Module

The MOOSE Navier-Stokes module is a library for the implementation of simulation tools that solve the Navier-Stokes equations using the continuous Galerkin finite element (CGFE) method. The Navier-Stokes equations are usually solved using either the pressure-based, incompressible formulation (assuming a constant fluid density), or the density-based, compressible formulation.

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

Adaptivity/Indicators

Adaptivity/Markers

AuxKernels

AuxVariables

AuxVariables/MultiAuxVariables

BCs

Bounds

FVBCs

  • Navier Stokes App
  • INSFVInletVelocityBCImposes the essential boundary condition , where is a (possibly) time and space-dependent MOOSE Function.
  • INSFVMassAdvectionOutflowBCOutflow boundary condition for advecting mass.
  • INSFVMomentumAdvectionOutflowBCOutflow 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.
  • INSFVOutletPressureBCImposes the essential boundary condition , where is a (possibly) time and space-dependent MOOSE Function.
  • INSFVSymmetryPressureBCThough applied to the pressure, this object ensures that the velocity perpendicular to a symmetry bounadry is zero by setting the mass flow rate across the symmetry boundary to zero.
  • INSFVSymmetryVelocityBCImplements a free slip boundary condition using a penalty formulation.
  • PINSFVMomentumAdvectionOutflowBCOutflow boundary condition for advecting momentum. This will impose a zero normal gradient on the boundary velocity.
  • PINSFVSymmetryVelocityBCImplements a free slip boundary condition using a penalty formulation.

FVKernels

  • Navier Stokes App
  • 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.
  • INSFVMomentumGravityComputes a body force due to gravity.
  • 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. If the 'advected_quantity' parameter is specified, it will be used. Else the default is to advect the associated nonlinear 'variable'.
  • NSFVEnergyAmbientConvectionImplements a solid-fluid ambient convection volumetric term proportional to the difference between the fluid and ambient temperatures : .
  • NSFVMomentumFrictionImplements 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.
  • 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.
  • PINSFVEnergyDiffusionDiffusion term in the porous media incompressible Navier-Stokes fluid energy equations :
  • PINSFVEnergyEffectiveDiffusionEffective diffusion term in the porous media incompressible Navier-Stokes equations : $-div(kappa grad(T))
  • PINSFVEnergyTimeDerivativeAdds the time derivative term to the incompressible Navier-Stokes energy equation: for fluids: eps * rho * cp * dT/dt, for solids: (1 - eps) * rho * cp * dT/dt
  • 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
  • PINSFVMomentumAdvectionPorosityGradientPorosity gradient spun from the advection term for the porous media Navier Stokes momentum equation.
  • PINSFVMomentumBoussinesqComputes a body force for natural convection buoyancy in porous media: eps alpha (T-T_0)
  • PINSFVMomentumDiffusionViscous diffusion term, div(mu 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.
  • PINSFVMomentumGravityComputes a body force, due to gravity on fluid in porous media.
  • 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.

ICs

  • Navier Stokes App
  • NSInitialConditionNSInitialCondition sets intial constant values for all variables.

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.
  • 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.
  • INSFVMaterialThis is the material class used to compute advected quantities for the finite-volume implementation of the Navier-Stokes equations.

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.

Postprocessors

ReactionNetwork/AqueousEquilibriumReactions

ReactionNetwork/SolidKineticReactions

UserObjects

  • Navier Stokes App
  • INSADObjectTrackerUser object used to track the kernels added to an INS simulation and determine what properties to calculate in INSADMaterial

Variables