# fluidsim.solvers.ns3d.bouss.solver¶

## Boussinesq NS3D solver (fluidsim.solvers.ns3d.bouss.solver)¶

class fluidsim.solvers.ns3d.bouss.solver.InfoSolverNS3DBouss(**kargs)[source]
_init_root(self)[source]

Init. self by writting the information on the solver.

The first-level classes for this base solver are the same as for the 2D pseudo-spectral base solver except the class:

• fluidsim.operators.operators2d.OperatorsPseudoSpectral3D

class fluidsim.solvers.ns3d.bouss.solver.Simul(params)[source]

Pseudo-spectral solver 3D incompressible Navier-Stokes equations.

Notes

This class is dedicated to solve with a pseudo-spectral method the incompressible Navier-Stokes equations (possibly with hyper-viscosity):

$\partial_t \textbf{v} + \textbf{v} \cdot \boldsymbol{\nabla} \textbf{v} = - \boldsymbol{\nabla} p - \nu_\alpha (-\Delta)^\alpha \textbf{v},$

where $$\textbf{v}$$ is the non-divergent velocity ($$\boldsymbol{\nabla} \cdot \textbf{v} = 0$$), $$p$$ is the pressure, $$\Delta$$ is the 3D Laplacian operator.

In Fourier space, these equations can be written as:

$\partial_t \hat v = N(v) + L \hat v,$

where

$N(\textbf{v}) = -P_\perp \widehat{\boldsymbol{\nabla} \cdot \textbf{v} \textbf{v}},$
$L = - \nu_\alpha |\textbf{k}|^{2\alpha},$

with $$P_\perp = (1 - \hat{\textbf{e}}_\textbf{k} \hat{\textbf{e}}_\textbf{k} \cdot)$$ the operator projection on the plane perpendicular to the wave number $$\textbf{k}$$. Since the flow is incompressible ($$\textbf{k} \cdot \textbf{v} = 0$$), the effect of the pressure term is taken into account with the operator $$P_\perp$$.

InfoSolver

alias of InfoSolverNS3DBouss

tendencies_nonlin(self, state_spect=None, old=None)[source]

Compute the nonlinear tendencies.

This function has to be overridden in a child class.

Returns
tendencies_fftfluidsim.base.setofvariables.SetOfVariables

An array containing only zeros.

Classes

 InfoSolverNS3DBouss(**kargs) Simul(params) Pseudo-spectral solver 3D incompressible Navier-Stokes equations.