Navier-Stokes Equation for Incompressible Flow

The incompressible Navier-Stokes equations are represented by the following sets of equations:

$$$$\frac{\partial \textbf{u}}{\partial t} + \textbf{u}.\nabla \textbf{u} - \alpha \nabla ^{2} (\textbf{u} + \textbf{u}^T) + \frac{\nabla p}{\rho} = \textbf{f}$$$$ $$$$\nabla . \textbf{u} = 0$$$$

where, $$$\textbf{u} = \begin{pmatrix} u \\ v \\ w \\ \end{pmatrix}$$$ = vector of flow velocity (m/s),

p = pressure (Pa),

$$$\alpha$$$ = kinematic viscosity ($$$m^{2}/s$$$),

$$$\rho$$$ = density ($$$kg/m^{3}$$$), and

$$$\textbf{f}$$$ = vector representing the body force per unit mass (N/kg).

In reality, the hydrodynamic pressure p, is the parameter that drives the flow. However, in practice, p is solved in a way that the incompressibility condition is maintained. When $$$\frac{\partial \textbf{u}}{\partial t} =0$$$, the above equation is termed as steady state incompressible navier stokes flow. And,additionally when the $$$\textbf{u}.\nabla \textbf{u} = 0$$$, the flow is termed as steady state stokes flow.

Incompressible Navier-Stokes(INS) in MOOSE Framework

Within MOOSE framework, the kernels are developed on the following structure: $$$$\rho \frac{\partial \textbf{u}}{\partial t} + \rho \textbf{u}.\nabla \textbf{u} - \rho \alpha \nabla ^{2} (\textbf{u} + \textbf{u}^T) + \nabla p = \textbf{F}$$$$ $$$$\nabla . \textbf{u} = 0$$$$

In the momentum equation (first equation), there are four terms in the left hand side. Similarly, body forces (for e.g. gravity) are represented by the term in the right hand side of the equation.The following table represents the corresponding kernels assigned for these terms:

S.N. Term Name of the Term Representative Kernel
1 $$$\rho \frac{\partial \textbf{u}}{\partial t}$$$ Time Derivative term INSMomentumTimeDerivative
2 $$$\rho \textbf{u}.\nabla \textbf{u}$$$ Convective term INSMomentum
3 $$$- \rho \alpha \nabla ^{2} (\textbf{u}+ \textbf{u}^T)$$$ Viscous term INSMomentum
4 $$$\nabla p$$$ Pressure term INSMomentum
5 $$$\textbf{F}_{g}$$$ Gravity INSMomentum

The continuity equation (second equation) is represented by the INSMass kernel.

S.N. Term Name Representative Kernel
1 $$$\nabla . \textbf{u}$$$ Continuity Equation's term INSMass

The energy equation has to be added to the set of the above mentioned equations (To do list for Temperature Variable).

Boundary Conditions for Navier-Stokes Equation

The following table can provide assistance for understanding the available source codes for BCs in Navier-Stokes solver:

S.N. BC Type /Mathematical Representation Variable(s) Input Parameters ClassName
1. Neumann BC Pressure/Velocity p/ $$$\textbf{u}$$$ ImplicitNeumannBC
2. $$$p + (\textbf{u}.\textbf{n}) \rho u_i$$$, i=x,y,z. Pressure/Velocity NSMomentumInviscidSpecifiedPressureBC
3. $$$\rho(\textbf{u}.\textbf{n})$$$ Velocity $$$\rho u_n$$$ NSMassSpecifiedNormalFlowBC
4. $$$\rho u_n$$$ Velocity inputs for NSIntegratedBC NSMassBC
5. $$$\rho(\textbf{u}.\textbf{n})$$$ Velocity inputs for NSIntegratedBC NSMassUnspecifiedNormalFlowBC
6. $$$\rho_s \vert \textbf{u} \vert (\textbf{s}.\textbf{n})$$$ Velocity inputs for NSIntegratedBCandNSWeakStagnationBC NSMassWeakStagnationBC
7. $$$\rho u_i - \rho v_d$$$ Velocity desired velocity ($$$v_d$$$) NSImposedVelocityBC
many
more

Note: a.)The variable velocity is organized as momentum variable in N-S kernel

b.) The usual Dirichlet and Neumann BCs can be applied by default for p and $$$\textbf{u}$$$ variables within MOOSE framework.