95 lines
2.4 KiB
Markdown
95 lines
2.4 KiB
Markdown
# 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**:
|
|
```python
|
|
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**:
|
|
```python
|
|
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**:
|
|
```python
|
|
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**:
|
|
```python
|
|
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**:
|
|
```python
|
|
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:
|
|
|
|
1. **2D turbulence, quick testing**: Use `ns2d`
|
|
2. **3D flows, realistic simulations**: Use `ns3d`
|
|
3. **Density-stratified flows**: Use `ns2d.strat` or `ns3d.strat`
|
|
4. **Geophysical flows, rotating systems**: Use `sw1l`
|
|
5. **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.
|