# Parameter reference These are the variables the UI exposes. They live in each example's `in.sdpd_phase.2d` as `variable NAME equal X` lines and are patched at run time when the user (or agent) supplies overrides. ## Run | Name | Type | Meaning | Sensible range | |------|------|---------|----------------| | `prodRun` | int | Production-phase timesteps | 100 (smoke) — 250 000 (publication) | | `preRun` | int | Equilibration timesteps before production | 0 — 20 000 | | `preRunTemp` | int | Initial temperature-equilibration steps | 0 — 1000 | | `dt` | float | Integration timestep | 1e-5 — 1e-3, smaller for stiffer EOS / smaller dh | ## Output | Name | Type | Meaning | |------|------|---------| | `fqTher` | int | Print thermo line every N steps | | `fqDump` | int | Write trajectory dump every N steps | | `fqRes` | int | Write restart file every N steps | | `fqV` | int | Re-apply velocity boundary conditions every N steps | For a 100-step smoke test use `fqTher=10, fqDump=50` so you actually get some output. For a 250 000-step production run, `fqTher=1000, fqDump=5000` keeps disk usage in check. ## Geometry | Name | Type | Meaning | |------|------|---------| | `dim` | int | 2 or 3 (every bundled example is 2) | | `dh` | float | Particle spacing in lattice units. Smaller = finer = slower | | `coreL` | float | Edge length of the simulation box | | `dhN` | int | dh × dhN = sphere/droplet radius | | `diaNx`, `diaNy` | int | Droplet diameter multipliers in X/Y | | `squareL` | float | Half-length of a square sub-region | | `lenNx` | int | Length-times multiplier for square regions | The kernel cutoff `h = 4·dh` is hard-coded. If you halve `dh` (×2 resolution) expect ~16× more particles in 2D and 4× more neighbours per particle. ## Fluid properties | Name | Type | Meaning | |------|------|---------| | `rho` | float | Reference fluid density | | `T` | float | kBT — thermal noise. Validation cases use ~1e-18 (effectively zero) | | `Tbuf` | float | Temperature in buffer / reservoir regions | ## Multi-phase / Surface tension | Name | Type | Meaning | |------|------|---------| | `sigmao` | float | Reference interfacial tension for the multi-phase term | | `F` | int (1, 2, or 3) | Selector for the multi-phase free-energy functional | | `fluid_type` | int | Phase identifier passed to the SDPD-mf pair style | | `f2Frac` | float (0–1) | Volume fraction of phase 2 (the dispersed phase) | | `randPos` | int (0/1/2) | 0=single droplet, 1=random, 2=square block | For a Young–Laplace droplet test, vary `sigmao` and the droplet size (`dhN`/`diaNx`); the pressure jump should follow Δp = σ/r in 2D. ## Boundary / driving | Name | Type | Meaning | |------|------|---------| | `dVx`, `dVy` | float | Imposed wall velocities (Couette/Poiseuille setup) | | `dSSx`, `dSSy` | float | Imposed shear strains | ## What's NOT exposed in the UI yet These live in each example's `micro` file (or `eta_input` / `pair_input` / `s_input` / `thixo_input` for cases that read them from data files): - `eta11`, `eta22`, `eta12` — viscosity per type-pair - `ksai11`, `ksai12` — multi-phase coupling constants - `s11`, `s22`, `s12` — strength factors - `wall_index*` — wall non-slip flag per type-pair - `a_thixo`, `b_thixo`, `alpha_thixo`, `f0_thixo` — thixotropy coefficients To change these, edit `Numerical examples//micro` directly (or its `*_input` files) before running. ## What to vary in an optimization Good choices for sweeps: - `dh` (resolution) — affects accuracy and runtime - `sigmao` (surface tension) — drives droplet shape recovery - `dt` (timestep) — affects stability margin - `f2Frac`, `randPos` — initial phase distribution Not great choices: - `prodRun` — varying it changes runtime, not physics - `dim`, `fluid_type`, `F` — categorical selectors, only meaningful at specific values; use them as `categorical` not `int` in search space