Skip to content

Hysteresis-Based Conversion (DC/CD Thresholds)

Choose a tag to compare

@Cgyc20 Cgyc20 released this 25 Mar 11:15
· 1 commit to main since this release

🏷️ Release Title

Hysteresis-Based Conversion (DC/CD Thresholds)


πŸ“ Release Description

This release introduces a major improvement to the SRCM Engine conversion mechanism by replacing the single-threshold switching rule with a two-threshold hysteresis model.

πŸš€ Key Changes

πŸ” Hysteresis-Based Regime Conversion

  • Introduced:

    • DC_threshold β€” controls discrete β†’ continuous conversion
    • CD_threshold β€” controls continuous β†’ discrete conversion
  • Eliminates rapid oscillations between regimes near threshold boundaries

  • Provides more stable and physically realistic hybrid behaviour


βš™οΈ Updated Conversion API

  • ConversionParams now requires:

    ConversionParams(
        DC_threshold=...,
        CD_threshold=...,
        rate=...,
    )

🧠 Improved Numerical Stability

  • Reduced regime "chattering" in low-density regions
  • More robust behaviour in spatially heterogeneous systems
  • Better suitability for pattern formation and ecological models

πŸ§ͺ Test Suite Updated

  • All tests updated to reflect new conversion logic

  • Added coverage for:

    • DC/CD masks
    • hysteresis deadband behaviour
    • propensity correctness

πŸ“š Documentation Updated

  • README updated to reflect new conversion model
  • Examples now use DC_threshold and CD_threshold
  • Clarified behaviour and motivation for hysteresis

⚠️ Breaking Changes

  • Removed:

    ConversionParams(threshold=...)
  • All code must now use:

    DC_threshold and CD_threshold

πŸ’‘ Why This Matters

The introduction of hysteresis significantly improves the stability of hybrid simulations by preventing frequent switching between discrete and continuous regimes when particle numbers fluctuate near a boundary.

This brings SRCM Engine closer to both:

  • physical realism
  • numerical robustness