Skip to content

v2.0.0 - Vectorized (current release)

Choose a tag to compare

@arturcastiel arturcastiel released this 03 Jul 16:37

Vectorization release — flowsim-artur campaign 2026-07

Result of the 2026-07 vectorization campaign under owner grant + AXON code-dev (see CHANGELOG.md).

Highlights

  • LPEW2 pipeline fully vectorized — bit-identical to legacy at 1e-15 rel
  • MPFA-D assembly fully vectorized — bit-identical to golden baseline
  • TPFA assembly vectorized (rename; legacy already was)
  • 🔧 MPFA-H / NLFV-PP / MPFA-QL / DMP / NLFV-H — scaffolded, delegate to legacy (full vectorization is future work, see docs/globals-audit.md)
  • OOP hierarchy unified under MetodoBase — all 5 methods instantiate
  • Test harness — ~500 assertions, 0 regressions, golden oracle
  • mrun — WSL headless MATLAB bridge
  • 6 docs — README + CHANGELOG + code-map + how-to-use + vectorization-guide + globals-audit

Repo transformation (vs v1.0.0)

Metric v1.0.0 v2.0.0 Delta
Root .m count 285 4 -281 (-98.6%)
Tracked repo size 176 MB ~10 MB -166 MB
Test assertions 0 ~500 +500
Vectorized modules 0 ~30 in 12 packages -

Runtime compatibility

  • 100% backward-compatible. Legacy code retained in legacy/**, on path via flowsim_init genpath. main.m produces identical numerical output.

Deferred to future PRs (fully documented)

  • Full triplet-form rewrite of MPFA-H / NLFV-PP / MPFA-QL / DMP / NLFV-H (~30-45 hours per docs/globals-audit.md)
  • Kill globals in reachable legacy set (requires tandem caller+callee migration)
  • Additional rename of cross-cluster kernels beyond the +fs.iter.* + +fs.lpew.dmpWeights shims

How to use

cd /path/to/FlowSim
flowsim_init          % sets up all paths (+fs/ first, legacy/ last)
main                  % reads Start.dat, runs the configured case

Or headless from WSL:

tools/mrun -c $(pwd) main.m

See README.md for full quick start.