.TAeZoSysPro.FluidDynamics.Utilities.regStep

Information

This function is a copy pasting of the same function from the MSL library with Modelica 3.2.3 . The function is copied rather than inherited to avoid regression issues due to an update of the function in further version of the MSL.

This function is used to approximate the equation

  y = if x > 0 then y1 else y2;

by a smooth characteristic, so that the expression is continuous and differentiable:

 y = smooth(1, if x >  x_small then y1 else
               if x < -x_small then y2 else f(y1, y2));

In the region -x_small < x < x_small a 2nd order polynomial is used for a smooth transition from y1 to y2.

Interface

function regStep
  extends Modelica.Icons.Function;
  input Real x "Abscissa value";
  input Real y1 "Ordinate value for x > 0";
  input Real y2 "Ordinate value for x < 0";
  input Real x_small(min = 0) = 1e-5 "Approximation of step for -x_small <= x <= x_small; x_small >= 0 required";
  output Real y "Ordinate value to approximate y = if x > 0 then y1 else y2";
end regStep;

Revisions


Generated at 2024-10-21T18:25:38Z by OpenModelicaOpenModelica 1.24.0 using GenerateDoc.mos