Page 1 of 1

Delay 1 behaviour

Posted: Tue Oct 28, 2014 6:05 pm
by schalkj
Hi all
I run Vensim Professional on Windows OS 7.

The behaviour of Delay 1 should be the same as a first-order delay. However, when I use a constant inflow, the outflow equals the inflow, ignoring the Delay 1 function. It does not matter what Time Step I use.

I tested it on the attached model, on the DELAY 1 3 N P.mdl sample model in the tutorial, as well as the DelaySandbox1 model in Tom Fiddaman's Model Library (Am I glad I discovered the library - thank you very much Tom).

Why does the behaviour of the Delay1 function differ from a first-order delay if the input is a constant value?

Thanks
Schalk
Nobug.mdl
(2.26 KiB) Downloaded 198 times

Re: Delay 1 behaviour

Posted: Tue Oct 28, 2014 10:41 pm
by tomfid
NobugToo.mdl
(2.8 KiB) Downloaded 206 times
Good question.

The difference is in the initialization. See attached, to which I've added an instance of the DELAY1i function, which corresponds with your explicit structure.

The simple DELAY1 function is initialized in equilibrium, so that the initial outflow equals the initial inflow. Since outflow = stock/delaytime, this requires the contents of the delay stock to be inflow*delaytime.

Re: Delay 1 behaviour

Posted: Wed Oct 29, 2014 8:02 am
by schalkj
Hi Tom,
Thanks for the prompt reply. After receiving your reply, I ran some tests. It seems that the function Delay 1 only duplicates the behaviour of a first order delay and Delay 1I if Input = 0 at Starttime. My safest option is then to always use Delay1I, and not Delay1.

Thanks
Schalk