Convolutions are powerful mathematical tools. Simply, a convolution is the integral from 0 to infinity of a function K times a history; i.e.

C = integral_0^infinity [ K(s) X(t-s) ]

K is called the kernel and x is the motion, velocity, etc. While the convolution is really the integral, we will sometimes call the kernel the convolution.

Convolutions arise in MOSES in two ways:

- MOSES computes hydrodynamics and from the frequency domain results, MOSES computes an inverse Fourier Transform to obtain a kernel, or
- the user defines a kernel.

The &DATA command is used to define "kernels" which are used in various computations. Here, one associates a name with a function (set of data) and then uses that name to refer to the function. The form of this command is:

&DATA CONVOLUTION, TYPE, NAME, DATA -OPTIONS

Here, TYPE is the type of data which is being defined either FREQUENCY or TIME. NAME is the name you wish to give to the convolution, and DATA is the numbers used to define the convolution. DATA is a set of numbers T(1), K(1,1), K(2,1), ..... T(n), K(1,n), .... K(m,n). Here, T is either the time or frequency and K is the corresponding value of the kernel. Normally you define a curve with an independent variable and a single dependent variable, but if you specify the option

-NDOF, M

Then you can have M values of K for each value of T.

The behavior of any of these can be obtained with

&STATUSTYPE NAME -PLOT

Where NAME is the name of the curve about which you want information and TYPE is either T_CONVOLUTION or F_CONVOLUTION depending on what type of data you wish to view.

Note that in the special case where this data is to be used as a convolution on a GSPR, then only a single dependent variable should be used and the degree of freedom is specified when modeling the GSPR itself.