Skip to content

Exasim v1.4 (2026-02-20)

Latest

Choose a tag to compare

@exapde exapde released this 20 Feb 22:14
· 183 commits to master since this release

Exasim v1.4 Release Notes

Release date: 2026-02-15
Target branch: master
Comparison: v1.2...master

Executive summary

Exasim v1.4 consolidates backend solver and postprocessing upgrades, expands MATLAB/frontend mesh and boundary-expression tooling, broadens example coverage (including quick regression runs), improves multi-app execution/logging workflows, and advances Text2Code and coupled-solver functionality. This release also includes substantial repository hygiene improvements for generated artifacts and ignore rules.

Release scope from v1.2 to master:

  • 188 commits
  • 7640 files changed
  • 410,681 insertions, 4,365 deletions
  • Commit date range: 2025-05-08 to 2026-02-15

Changed files by domain

Domain Files touched
backend 222
frontends 878
examples 649
apps 59
text2code 4122
install 17

Highlights by domain

backend

  • Added/expanded postprocessing capabilities including configurable visualization outputs and new solution readers.
  • Added support paths and interface helpers for coupled solver workflows.
  • Extended MPI support for monolithic coupled solver pathways.
  • Included incremental HDG and memory-usage improvements, plus backend cleanup of legacy/commented code paths.
  • Standardized communicator usage updates (migration away from raw MPI_COMM_WORLD in favor of EXASIM_COMM_WORLD).

frontends (MATLAB/Python/Julia tooling)

  • Added primitive boundary-expression library in MATLAB and boundary plotting helpers.
  • Added mesh utilities (extrusion, rotation, spherical frustum, connectivity diagnostics).
  • Added or refined preprocessing and visualization-related utility paths.

examples

  • Expanded quick-run and example coverage, including new/updated 2D/3D cases.
  • Added quick PDE-family runner script to accelerate smoke/regression checks.
  • Updated specific application configurations (for example MHD Magnetic Vortex settings).

apps

  • Refactored apps/runapps.sh workflows to support per-case logs and final pass/fail summaries.

text2code

  • Added Fint/Fext function support and symbolic-generation fixes.
  • Integrated large generated-model surface updates from text2code/backends.

install/build/docs

  • Multiple installation/build instruction updates in README and workflow files.
  • Dependency/build path refinements and CI/workflow adjustments.

New features

  • Coupled-solver interface function support in backend/model paths.
  • MPI capability for monolithic coupled solver workflows.
  • Postprocessing enhancements for reading/visualization outputs.
  • MATLAB boundary-expression primitives and visualization helpers.
  • Expanded quick example test orchestration (examples/runquickexamples.m).
  • Per-app logging and summary behavior for application batch execution.

Improvements and refactors

  • Cleanup of redundant/legacy solver/discretization code paths.
  • Improved mesh/preprocessing utilities and data handling in frontends.
  • Better repository hygiene via .gitignore tightening for generated artifacts.
  • Broader and more structured example coverage across PDE families.

Bug fixes

  • ParaView/GPU visualization fixes and crash-time output behavior improvements.
  • Symbolic function return-type correction in text2code generation path.
  • Assorted HDG/preconditioner/restart/read-solution stability fixes across backend cycles.

Breaking changes

Potentially breaking for downstream/custom integrations:

  • Legacy nonlinear wrapper APIs and some stale declarations were removed from backend solver/solution headers and implementations.
  • Projects relying on previously exposed but obsolete interfaces may need to migrate to current solver entry points.

Migration and upgrade notes

  • Rebuild backend binaries and generated model code after upgrade.
  • If custom code referenced removed solver APIs, migrate to active CSolution/CSolver pathways currently used in master.
  • Re-run preprocessing for apps/examples where mesh or partition assumptions changed.
  • If release packaging consumes generated files, align with updated .gitignore behavior and artifact locations.

Validation/testing done for this release-note draft

  • Performed read-only Git analysis for v1.2..master.
  • Refreshed remote branches with fetch --all --prune.
  • Computed commit/file deltas and domain breakdown.
  • No full build/test matrix was executed as part of this release-note drafting step.

Known issues / follow-ups

  • upstream remote is not configured in this local clone (only origin is present).
  • Tag fetch reported a local/remote tag conflict for v1.2 when attempting fetch --tags; validate tag consistency before publishing the final release tag.
  • This range contains many merge and maintenance commits with terse messages; consider a final editorial pass before publishing public release notes.

Full commit list (grouped by month)

2026-02

  • a497f678 update gitignore
  • f6d3031d gitignore: ignore generated Poisson example artifacts
  • 73b85a52 examples/mhd: adjust MagneticVortex MPI and RB settings
  • a24aac51 examples: add quick PDE-family test runner
  • 8c2dedfd backend/discretization: remove commented legacy/debug blocks
  • 7f6eb58a backend: remove legacy nonlinear-solver wrappers and stale API
  • d9c3c906 gitignore: stop tracking backend model generated kernels
  • 99c0647d gitignore: stop tracking BuiltIn and Matlab Modeling directories
  • 00fd9a31 update git ignore
  • 9dbb4f67 repo: clean generated artifacts and tighten ignore rules
  • 818392c6 examples: add 3D isoq/flared-plate/sharpb2 cases
  • 9c45bd88 matlab/mesh: add extrusion/rotation/frustum utilities and connectivity diagnostics
  • 092aa97f matlab: add primitive boundary-expression library and plotting helpers
  • 0470211e backend/discretization: track interface-face offsets for external flux handling
  • a644374b backend/postprocessing: add configurable vis outputs and new solution readers
  • a236789a apps: refactor runapps with per-case logs and final status summary
  • c0886b90 update postprocessing
  • f71a557c Postprocessing capability

2026-01

  • d902ea77 Major update and improvement

2025-12

  • 1d618111 update examples
  • 4e85e6ae Add MPI capability for monolithic coupled solver
  • 024cf3d3 Add Fint and Fext functions to Text2Code and backend
  • e38de7d1 Replace MPI_COMM_WORLD with EXASIM_COMM_WORLD
  • 45f696d5 Merge branch 'master' of https://github.com/exapde/Exasim
  • 874efa03 Add interface functions for coupled solver
  • c1517621 Clarify Text2Code's function in README
  • 125c26d0 Update README.md
  • 045a8f11 Revise README with example running instructions
  • d53479d0 Update README.md
  • 2949cbbb Update README for installation and build instructions
  • b85f6ec9 Improve section headers in README.md
  • 240da389 Fix typo in Kokkos Libraries section
  • 86b9ba73 Fix typo in Kokkos Libraries section
  • 29c66c52 Update README with build instructions for libraries
  • 5de0c5ee update workflows
  • b81a2624 Major upgrades and improvements

2025-11

  • 4af8514a remove redundant files
  • 54f10fc3 update solution.cpp
  • 34ee79ff Update restart feature
  • 6e434343 Merge branch 'master' of https://github.com/exapde/Exasim
  • 38f16909 update restarting feature
  • c924b35e Merge branch 'master' into master
  • a9f81575 update parmetis
  • 6b55556b update backend/preprocessing
  • 3413a8d1 update saveparaview
  • c01ef61e Merge branch 'master' of https://github.com/exapde/Exasim
  • 591063d2 Update parmetis.cpp
  • 9ee65f41 Merge pull request #70 from exapde/paraview_vis_fix
  • c7aa2b7d Write ParaView file on crash if PV visualization is enabled
  • a62a15bc Merge pull request #4 from MIT-PSAAP-IV/teoc/template-exasim
  • 5257751e typo
  • 7ec9bd8d forgot blas; should have made a spack package
  • d942153e text2 code too expensive; skipping
  • a300d89f git actions are so much fun
  • 28f62587 action build deps
  • 13422560 try again
  • 10ba0471 merge
  • a4953a8a umm
  • 49e50ac0 ops
  • ba5ecc85 option
  • 660844c7 Edit discretization.cpp and CMakeLists.txt
  • 687144f1 delete redundant files
  • d740cb7b Merge pull request #69 from MIT-PSAAP-IV/master
  • 275a1e54 Merge pull request #3 from exapde/master
  • 1fa61786 Merge branch 'master' of https://github.com/exapde/Exasim
  • 452ce4a2 update parmetis
  • 39f52dc3 ops
  • 628314e8 workflow
  • cb02b031 libmode
  • 78953699 update pdeapp.txt
  • bb1b8889 Update /Exasim/backend/Discretization/KokkosDrivers.cpp
  • d1291f45 Merge pull request #2 from exapde/master
  • 8d8bbe7a Merge pull request #68 from MIT-PSAAP-IV/master
  • 412c56f9 Merge pull request #66 from exapde/visualization_fix
  • cab28b7a Merge branch 'master' into visualization_fix
  • a104c27c for the future
  • 07642f72 history
  • caee94ae builds again; mpi/cpu should probably work; need to test
  • af308351 implaced template params
  • a927b468 okay all funcs now
  • fd4076ff i will take revenge
  • 971b74b2 Updated visualization fix
  • 6a4eb1e4 starting to propogate
  • b220a3fe silly
  • c6fd3f81 prog
  • 5cf1dd1f ...
  • ca7f974a ugg
  • 3ad330eb Merge branch 'master' of https://github.com/exapde/Exasim
  • 6e12849a Include ParMetis
  • d77834cc Fixed ParaView visualization bug when executing the simulation on the GPU
  • 7923b231 Merge pull request #65 from exapde/text2code_symbolic_fix
  • 09f48169 Fixed return type of SymEngine math functions in text2code code generator.
  • 2c06cfa1 Merge pull request #1 from exapde/master
  • 2602c0af update text2code
  • bba2b124 update solution class
  • 178c68bf update rans/naca0012
  • f26bbdb7 update readbinaryfiles
  • e53f653a update dynamic AV
  • 371e0c0f update solution.cpp
  • 0b8bb792 update setstructs

2025-10

  • 3cd89c92 update ptcsolver
  • 112dacce update cmake options
  • 3e3579cf update HDG
  • 8ee5c812 fix a bug in setprecondstruct.cpp
  • 43c74bcf update visualization
  • 1a5acc84 update common
  • 46c5f116 update HDG
  • 44533f6b fix rvec
  • 353004d4 update memory fixes
  • b468aa98 Roll back backend
  • 04f1330c update HDG
  • 4c182700 update HDG
  • 6fa2aafb update HDG
  • c7e9e9a5 update HDG
  • 9b5cd6a2 update HDG
  • d7a4da82 update HDG
  • 22f295d8 update HDG
  • 89b65a5e update HDG
  • 61a5b288 update HDG
  • df27f442 update HDG
  • 4678c598 update HDG
  • f15f8f1a update solution.h
  • 871acb3e Optimize HDG memory usage
  • 1550f62c add nonlinear elasticity cube block example
  • ad25321e Magnetic Vortex Example
  • 3371a114 update pdeapp.m
  • 9254388a update pdeapp.m
  • 9976c61b Update preprocessing.m
  • 483743ff update readxdg
  • a0aff903 update readxdgmpi
  • 6632f346 update postprocessing
  • d08ef345 update preprocessing
  • 86fa9e69 Merge pull request #64 from jvilaperez/master
  • 22ec775f modifying compiler path to make it general in 2 basic examples
  • a1645664 changing path for PR
  • c799fb7d unifying some files for PR
  • f94bb69d Merging 'upstream/master'
  • 0b86784f update pdeapp
  • adf829ab Update CMakeLists.txt
  • 4864acc5 Update getuhat.cpp
  • 10ff4f3f Update stg
  • 31a558c7 problem with folder name

2025-09

  • 71e22293 update preprocessing
  • 79e02ddc Merge remote-tracking branch 'upstream/master' into jvp_merging
  • 6fe7a16a preprocessing update to input external fields
  • 26e495ae incorporating Coriolis and external field (preprocessing changes needed)
  • 507d6b1c update main.cpp
  • 69cb3372 update visualization.cpp
  • 7f2f3c14 Merge remote-tracking branch 'upstream/master' into jvp_merging
  • 2548fdd5 setup ionosphere test
  • b81e1d49 RANS examples
  • b18abcb7 update mkpng
  • 7dd0027c update readsoldmd
  • 8e67aef3 add readsoldmd
  • 7b81569f update readsol
  • efbe09d8 Merge branch 'master' of https://github.com/exapde/Exasim
  • 4af12e7c update readsol
  • 78c6da02 Create readsol.m
  • d10891db zero commit
  • ab36717b update readsol
  • 8f3fd2b4 add readsol
  • 2d2e76fe Update a flat plate example for RANS
  • 7b7ad794 update NS example
  • c59dd99e Implement synthetic turbulence generation and inflow boundary condition
  • 9a216c7d Merge branch 'jvp_iontest' into jvp_merging
  • bc8d758f Merge branch 'master' into jvp_merging
  • 7b647bb1 Merge remote-tracking branch 'upstream/master'
  • d0a1a46f run on Derecho
  • ae853dab update gitignore
  • 5967e8d4 update gitignore
  • 57b4c3be Merge remote-tracking branch 'upstream/master'

2025-08

  • 0fa7ad11 Merge remote-tracking branch 'upstream/master'
  • f723a0a0 partial progress

2025-05

  • f88e4810 Preliminary test for the ionosphere model
  • 32bc6cec Merge branch 'master' into jvp_iontest
  • 9e0c5ce9 cubesphere matlab
  • e65114a4 Merge branch 'master' into jvp_iontest
  • cde04c28 correct indentation
  • c63bf096 ionosphere test
  • d7b26285 mesh fix and python cubesphere
  • c2035424 Merge remote-tracking branch 'upstream/master'
  • e8f5ba2f Merge remote-tracking branch 'upstream/master'
  • a4580188 Merge remote-tracking branch 'upstream/master'
  • 5c41a5f5 updates before merge
  • e77b24ba gitignore update
  • 5a329804 gitignore update
  • b6b0fb77 gitignore changes
  • 77805a7f updating install