Initial commit
This commit is contained in:
94
skills/fluidsim/references/solvers.md
Normal file
94
skills/fluidsim/references/solvers.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user