2.4 KiB
FluidSim Solvers
FluidSim provides multiple solvers for different fluid dynamics equations. All solvers work on periodic domains using pseudospectral methods with FFT.
Available Solvers
2D Incompressible Navier-Stokes
Solver key: ns2d
Import:
from fluidsim.solvers.ns2d.solver import Simul
# or dynamically
Simul = fluidsim.import_simul_class_from_key("ns2d")
Use for: 2D turbulence studies, vortex dynamics, fundamental fluid flow simulations
Key features: Energy and enstrophy cascades, vorticity dynamics
3D Incompressible Navier-Stokes
Solver key: ns3d
Import:
from fluidsim.solvers.ns3d.solver import Simul
Use for: 3D turbulence, realistic fluid flow simulations, high-resolution DNS
Key features: Full 3D turbulence dynamics, parallel computing support
Stratified Flows (2D/3D)
Solver keys: ns2d.strat, ns3d.strat
Import:
from fluidsim.solvers.ns2d.strat.solver import Simul # 2D
from fluidsim.solvers.ns3d.strat.solver import Simul # 3D
Use for: Oceanic and atmospheric flows, density-driven flows
Key features: Boussinesq approximation, buoyancy effects, constant Brunt-Väisälä frequency
Parameters: Set stratification via params.N (Brunt-Väisälä frequency)
Shallow Water Equations
Solver key: sw1l (one-layer)
Import:
from fluidsim.solvers.sw1l.solver import Simul
Use for: Geophysical flows, tsunami modeling, rotating flows
Key features: Rotating frame support, geostrophic balance
Parameters: Set rotation via params.f (Coriolis parameter)
Föppl-von Kármán Equations
Solver key: fvk (elastic plate equations)
Import:
from fluidsim.solvers.fvk.solver import Simul
Use for: Elastic plate dynamics, fluid-structure interaction studies
Solver Selection Guide
Choose a solver based on the physical problem:
- 2D turbulence, quick testing: Use
ns2d - 3D flows, realistic simulations: Use
ns3d - Density-stratified flows: Use
ns2d.stratorns3d.strat - Geophysical flows, rotating systems: Use
sw1l - Elastic plates: Use
fvk
Modified Versions
Many solvers have modified versions with additional physics:
- Forcing terms
- Different boundary conditions
- Additional scalar fields
Check fluidsim.solvers module for complete list.