# Test Inputs

### PULSE
RAMP
STEP

The software's test input Builtins enable you to conduct controlled experiments on your model. Typically, a PULSE, RAMP or STEP is appended to an inflow or outflow equation. When the Builtin is activated (at the time you specify) it will knock the system out of its previous state. You can then observe how your model responds to this idealized test.

Conducting controlled experiments using idealized inputs such as PULSE, RAMP and STEP is an excellent way to build understanding of the inner workings of your model. In the accompanying book: An Introduction to Systems Thinking, you'll find details on the model testing process.

#####
PULSE(<volume>[,<first pulse>,<interval>])

The PULSE function generates a pulse input of a specified size (volume). In using the PULSE function, you have the option of setting the time at which the PULSE will first fire (first pulse), as well as the interval between subsequent PULSEs (interval). Each time that it fires a pulse, the software pulses the specified volume over a period of one time step (DT). Thus, the instantaneous value taken on by the PULSE function is volume/DT. Volume can be either variable or constant. First pulse and interval should be specified as constants.

If you do not provide a value for first pulse, the software will generate the first pulse at the outset of your simulation run. If you do not provide an interval, the software will generate subsequent pulses each DT of the model simulation. Setting interval = 0 will yield a single pulse that will not repeat; it is the equivalent of specifying an interval that is greater than the length of the simulation.

Example: Figure 7-1 shows the structure, equations, and behavior pattern for a simple PULSE stream that accumulates in a stock.

Figure 7-1 Structure and Behavior of PULSE Function

#####
RAMP(<slope>[,<time>])

The RAMP function generates a linearly increasing or decreasing input over time with a specified slope (slope). Optionally, you may set the time at which the ramp begins. Slope and time can be either variable or constant.

As the simulation progresses, the RAMP will return a 0 before its time to begin has been reached. If you do not set the RAMP's time, it will begin at the outset of the simulation.

Example:

Ramp_Input = RAMP(1,10) generates the pattern shown in Figure 7-2.

Figure 7-2 Ramp Input With Slope of 1, Beginning at Time 10

#####
STEP(<height>,<time>)

The STEP function generates a one-time step change of specified height (height), which occurs at a specified time (time). Height and time can be either variable or constant.

Example:

Step_Input = 5 + STEP(5,10) generates the behavior pattern shown in Figure 7-3.

Figure 7-3 Step Input With Step Height of 5, Occurring at Time 10