# SpaceTimeFunctions¶

The *SpaceTimeFunctions* element is a location for writing user defined functions that specifically depend on the spatial
and temporal variables x, y, z, and t. A space time function can use *Parameters* and *Constants* by just typing them directly in as a value of the property. However if you are to change the name of the *Parameter* / *Constant* used it will not automatically update in the SpaceTimeFunction.

User Defined.

This option is deprecated. Use expression instead.

expressionThis is the user-supplied expression that is a function of x, y, z, or t. It can include any pre-defined

Constants,Parameters, orFunctions, as well as real numbers.For a list of supported functions that be included in the user-written expression for the function, see expression (STFunc).

monochromatic excitationThis function is for using a variety of potential ramps to excite a source to a set frequency and amplitude.

frequencyFrequency of the source.

time beginTime to start the excitation.

time endTime to end the excitation.

amplitudeAmplitude to excite the function to.

turn on functionFunction to use to ramp up the source.

instantaneous Typically not reccommended, immediately excites at specified amplitude

frequency based Will ramp up in the specified number of periods based on given frequency. 5 periods is typical

standard Same ramping formula as frequency based, but with a directly specified amount of time.

smoother step Will ramp using the smoother step formula, H(riseTime-t)*((riseRate*t) * (riseRate*t) * (riseRate*t) * ((riseRate*t) * ((riseRate*t) * 6 - 15) + 10)) + H(t-riseTime)

up and down Will ramp the signal both up and down

frequency based up and down Will ramp both up and down in the specified number of periods based on the given frequency.

sinc hat functionThis function generates a relatively flat fourier spectrum over the given frequency range, sometimes referred to as a top hat function. \(f_l < f < f_h\), of frequencies and falls off rapidly over a frequency width of \(\delta_f\), so that it is nearly zero for \(f < f_l - \delta_f\) or \(f > f_h + \delta_f\).

frequency low:\(f_l\)Low end frequency of the fourier spectrum.

frequency high:\(f_h\)High end frequency of the fourier spectrum.

amplitudeAmplitude of the function is typically 1.

suppresion factorSuppresion factor used in calculating the number of sigmas of the function. Smaller Values lead to longer excitation times.

frequency gap factorUsed in calculating the Sigma_T of the excitation, which is the range of frequencies the function takes to ramp from 0 specfied to the amplitude. The full function that describes this sinc hat is

frequencyGap = (\(f_h - f_l\))*frequency gap factor

numSigma = sqrt(-2.0*log(suppression factor))

sigmaT = (TWOPI*frequencyGap)/numSigma

timeExcite : \(t_E\) = 2*numSigma*sigmaT

\[H(t_E-t) \exp(-0.5*sigmaT^2 (t-0.5 t_E)^2)\times \frac{\sin(2 \pi f_h (t-0.5 t_E)) - \sin(2 \pi f_l (t-0.5 t_E))}{(2 \pi f_h-2 \pi f_l) (t-0.5 t_E)}\]

pythonThis space time function will allow access to a function defined in a Python file to be used in place of a user-defined function.

nameThis is the name of the Python function to be accessed. The Python file must be in the same directory as the runspace.

feedbackThis space time function is used to take the value from a history and use that value in the next timestep, allowing feedback.

expressionThe initial value to be used in the feedback loop. This expression will be multiplied from the value of the history in the previous output.

historyThe name of the history from which to take values; pseudo-potential and absorbed particle current histories are supported.

history goalThe value of the history that should be obtained.

time constantDefines how quickly the feedback responds to a difference in the measured and desired value. If too small, the measured value will oscillate near the desired value, if too large it will take a long time to reach the desired value.

chirpWavePulseProduces a plane wave modulated by a pulse envelope. For more information, see chirpWavePulse.

cosineFlattopFlat top function. See cosineFlattop.

cosineRampFunction for an initial ramp. See cosineRamp.

gaussianProduces a Gaussian function. See gaussian.

gaussianPulseCreates a sinusoidal pulse in the form of a Gaussian beam, modulated by a Gaussian envelope longitudinally. See gaussianPulse.

halfSinePulseFunction for a sinusoidal pulse in the form of a Gaussian beam, modulated by a longitudinal half-sine function. See halfSinePulse.

leakychannelFunction that is parabolic in radius, then drops linearly to zero. See leakychannel.

planeWavePulseCreates a plane wave that’s modulated by a Gaussian transversely and by a half-sine function longitudinally. See planeWavePulse.

radialCosChannelFunction for an initial ramp into a region of a channel. See radialCosChannel.

sinePlaneWaveGenerates a plane wave pulse that is based on a sine wave. See sinePlaneWave.

sum functionThis is the sum of two previously defined space time functions. The functions used must be defined before their use in the sum function. Sum functions may be nested. For example, you could have a second sum function that accepts a previously defined sum function in order to sum three or more space time functions.

sumFunction1The first function to be summed.

sumFunction2The second function to be summed.

product functionThis is the product of two previously defined space time functions. The functions used must be defined before their use in the product function. Product functions may be nested, for example, a second product function can be used to accept a previously defined product function in order to multiply three or more space time functions together.

prodFunction1The first function to be summed.

prodFunction2The second function to be summed.