rumoca 0.7.28

Modelica compiler written in RUST
Documentation
// Test fixture for binding equation balance checking
package BindingTest
  // Simple model with binding equation in protected section
  // Should be balanced: 1 state (y from der(y)), 1 algebraic (val)
  // 2 equations: val binding equation + der(y) equation
  model SlewLike
    input Real u;
    output Real y(start = 0);
    Real val = (u - y) / 0.001; // binding equation
  equation
    der(y) = val;
  end SlewLike;

  // Simpler test: just binding equation
  // Should be balanced: 1 algebraic (val), 1 equation (binding)
  model BindingOnly
    input Real u;
    output Real val = 2 * u; // output with binding
  end BindingOnly;

  // Test with explicit equation instead of binding
  // Uses (start=0) modification instead of = 0 binding
  model ExplicitEquation
    input Real u;
    output Real y(start = 0);
    Real val(start = 0); // explicit start modification (not binding)
  equation
    val = (u - y) / 0.001;
    // explicit equation
    der(y) = val;
  end ExplicitEquation;
end BindingTest;