Species Transport — Task Tracking¶
Current status of species transport implementation. See projects/20260312_SPECIES/task.md for full details.
Completed¶
- [x] Phase 0: Infrastructure — memory report, compile script improvements
- [x] Phase 1: Scaffolding —
species_flaginput,mod_species.f90creation - [x] Phase 2: Solver core — FVM discretization, TDMA, block correction, boundary conditions, wiring into main loop
- [x] Milestone: One-way coupling validated — concentration field correct, <1% overhead
- [x] Phase 3: Two-way coupling — composition-dependent properties in
mod_prop,mod_entot,mod_sour,mod_solve,main - [x] Phase 4: Solutal Marangoni —
dgdc_const = -0.3 N/minmod_bound - [x] Phase 5: Two-way coupling validated — correct mixing, +16% property coupling overhead
Key Design Decisions¶
- Inline computation (not per-cell arrays): all composition mixing computed on-the-fly via
mix(). Zero memory overhead, ~16% CPU overhead from extra multiplications in hot loops. - Melt pool region only: species solver uses same indices as momentum (
istatp1:iendm1, jstat:jend, kstat:nkm1). Overhead <1%. - Shared coefficient arrays: species reuses
an, as, ae, aw, at, ab, ap, su, sp, apnot— solved after iteration loop when arrays are free. - Scalar simplifications:
hlatnt,dgdt,beta,emissremain scalars (assume similar values for both materials).