# Equation

SC-IPM's Generic Process specifications use equations
to define the behavior of the processes being modeled.
So, for example, a Generic Process might use:

## Algebraic Equations

SC-IPM uses algebraic (ie, static) equations,
along with pre-defined aggregators (eg,

`prod`

,

`sum`

),
to model instantaneous relationships.
For example, the total predation rate might be defined
as the

`sum`

of a set of (more specific) predation models.

## Differential Equations

SC-IPM uses differential equations to model processes
that involve change over time.
For example, the rate of growth or loss
in a process's output variable (eg, population) might depend
on the values of parameters and/or other variables.

### Ordinary Differential Equations

Ordinary Differential Equations (ODEs) only range over a single input variable
(eg, population with respect to time).
At the moment, SC-IPM only supports ODEs:
a set of input parameters and variables
is mapped to an output variable with respect to time.

Bret Victor has created a very intriguing

video,
showing a possible way to visualize (and interact with) ODEs.
Conveniently, he uses the predator-prey model as his main example.

### Partial Differential Equations

Partial Differential Equations (PDEs) can range over more than one input variable
(eg, time and depth in an aquatic ecosystem).
Supporting PDEs would allow SC-IPM to handle a wider range of modeling tasks.

It would also allow SC-IPM to handle some current tasks
in a cleaner and more effective manner.
For example, "depth" could be an important variable
in an aquatic ecosystem model.
An approximation of a PDE can be modeled using an ODE
for each of several strata (ie, depth ranges).
However, this workaround fails when:

- the process isn't based on time

- finer granularity is required

- many input variables are needed

## Resources

This wiki page is maintained by

Rich Morin,
an independent consultant specializing in software design, development, and documentation.
Please feel free to

email
comments, inquiries, suggestions, etc!