|
flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| hydrostatic (ratio, mu=0.0, steps=100, g=0.1, dt=1.0, N=8, NZ=24) | |
| rayleigh_taylor (N=48, NZ=96, g=0.005, mu=0.002, dt=1.0, steps=240) | |
Variables | |
| m | |
| perr | |
| hist = rayleigh_taylor() | |
| growth = hist[-1] / hist[0] | |
Variable-density validation (Phase 5): hydrostatic acid tests + Rayleigh-Taylor demonstrator. 1. Hydrostatic balance (the acid test): a stratified two-layer fluid at rest under gravity must STAY at rest, with the discrete pressure gradient exactly rho_face*g. This detects any inconsistency between the momentum face density, the body-force face value, and the projection face coefficient. Inviscid: max steady velocity ~1e-16, P-gradient error ~1e-16 at density ratios 3 AND 1000. (The C++ ctest `vardensity_projection` runs the same case.) 2. Rayleigh-Taylor: heavy over light (ratio 3, Atwood 0.5) through the FULL two-phase chain — a TRANSPORTED phase fraction c drives rho via a linear-mixture closure (auto-enabling the variable-density path), gravity is a closure force_z = -g*rho, momentum + projection carry the variable density. The interface amplitude grows ~exponentially then nonlinearly; the measured early growth rate is ~0.74x the inviscid sqrt(A g k) (viscous + finite-interface damping). Run: PYTHONPATH=<build> python rayleigh_taylor.py
| rayleigh_taylor.hydrostatic | ( | ratio, | |
mu = 0.0, |
|||
steps = 100, |
|||
g = 0.1, |
|||
dt = 1.0, |
|||
N = 8, |
|||
NZ = 24 |
|||
| ) |
Definition at line 22 of file rayleigh_taylor.py.
| rayleigh_taylor.rayleigh_taylor | ( | N = 48, |
|
NZ = 96, |
|||
g = 0.005, |
|||
mu = 0.002, |
|||
dt = 1.0, |
|||
steps = 240 |
|||
| ) |
Definition at line 44 of file rayleigh_taylor.py.
| rayleigh_taylor.m |
Definition at line 76 of file rayleigh_taylor.py.
| rayleigh_taylor.perr |
Definition at line 76 of file rayleigh_taylor.py.
| rayleigh_taylor.hist = rayleigh_taylor() |
Definition at line 79 of file rayleigh_taylor.py.
Definition at line 80 of file rayleigh_taylor.py.