# 2.4. Version 5.24 (2025/03/19)

New Features

  - Added MUSCL material model for stabilizing advection in porous flow problems for use with CVFEM.

  - Added relative mass flux porous flow option to stabilize advection for problems with mesh motion, currently only stabilized with CVFEM.

  - Linear system re-initialization no longer happens if contact mapping is either unchanged or a subset of the prior mapping. This can substantially improve performance for some configurations on the GPU in particular.

  - CHEMEQ models can now be deactivated using user-defined conditions instead of just temperature and temperature rate of change. This feature uses user-defined functions from the material definition to define a more flexible deactivation condition that the user may choose - for example based on reaction rates or other custom conditions evaluated per block.

  - The gradient of user fields is now calculated automatically, so the gradient of a user field named `myfield` could be used elsewhere in Aria as `grad_myfield`.

  - Added diagnostic mode for MPMD SPARC/Aria coupling - activating it with `--tftklog transfer` will output detailed information about where the mesh gap exceeds a threshold gap size based on mesh size. The user can also set a maximum gap size with `MAXIMUM TRANSFER CLIPPING DISTANCE = X` to enable an error for mismatch over that length.

  - Added a non-dimensional residual scaling option based on the diagonal inverse of the Jacobian and maximum absolute values of the degrees of freedom.

  - Disabled specifying both advection (ADV) and diffusion (DIFF) terms for non-species mass balance in order to prevent double counting of the Darcy mass flux. Either ADV or DIFF models can be used but not both.

  - Add automated `teko_multiphysics` preset solver based on heuristic methods described in Teko Heuristic Multiphysics Preconditioner.

  - Add contact search result caching to avoid un-needed linear system re-initialization calls.

  - Integrate against new Trilinos version with Kokkos 4.5, leading to as much as a 2.8x speedup in MueLu solve times.

Bug Fixes

  - Fixed bugs with the “per model” postprocessor related to postprocessing fluxes on enclosures with bulk nodes and using per-model postprocessed quantities in other places (e.g. in string functions in other postprocessors).

  - Fixed bug with “using P0” postprocess where if multiple models were present (e.g. model A, model B), only contributions from the first model provided were used.

  - Fixed bugs with the “ideal_gas” density model - was incorrectly using SPECIES instead of SPECIES_FRACTION to calculate mixture molecular weight, and had a sensitivity error.

  - Fixed sensitivity error in the gradient of the foam_time_temp density model.

  - Fixed issue where block names with “.” and chemeq models were creating global variable names that were not allowed (replaced “.” with “_” in the global variable name).

  - Fixed a bug with the ray tracer flux model “leaking” through to the wrong side on double-sided shells.

  - Fixed a bug where transition layer elements were not being properly refined in simulations with dynamic mesh adaptivity.

  - Resolve bug in Teko setup for solving linear systems with constraints.

  - Fixed bug with residual based post processor for CVFEM which excluded sub control volume kernel contributions to the residual.