This function attemps to build a vector of length nTim
with a geometric
expansion of the time variable between dt
and t_max
.
If t_max > nTim*dt
, then a geometrically expanding vector is built as
t = [dt, dt*(1-r2)/(1-r), ... , dt*(1-rn)/(1-r), ... , tmax],
where r is the geometric expansion factor.
If t_max < nTim*dt
, then a linearly expanding vector is built as
t = [dt, 2*dt, ... , n*dt, ... , nTim
*dt]
function timeGeometric extends Modelica.Icons.Function; input Modelica.Units.SI.Duration dt "Minimum time step"; input Modelica.Units.SI.Time t_max "Maximum value of time"; input Integer nTim "Number of time values"; output Real t[nTim] "Time vector"; end timeGeometric;