unaryScalarOpUpdaterWorks with VSimBase, VSimEM, VSimPD, VSimPA, and VSimMD licenses.
Scalar updater that performs one of the following operations on a scalar \({\bf A}\), another scalar \({\bf B}\), and an STFunc \(f\):
The above scalar A is the readScalars, and scalar B is
the writeScalars.
The unaryScalarOpUpdater takes the following parameters:
readScalars (optional string vector)A single element, the name of the scalar to use in the operation (\(\mathbf{A}\), above). There can be either zero or one read scalar. If there is no read scalar specified, a scalar with default value 1 will be used.
writeScalars (required string vector)A single element, the name of the scalar to update (\(\mathbf{B}\), above). There must be exactly one write scalar.
STFunc (required parameter block)A parameter block of type STFunc (with any name) must be specified. This describes \(f\). This function is always evaluated at spatial origin (0,0,0) for this updater. So it is perfered a function that only depends on time t.
operation (required string)One of:
dtCoefficients (optional float vector, default = [1.0 0.0])Two components [\(c_0\) \(c_1\)]: the function \(f\) will be multiplied by \((c_0 + c_1 \Delta t)\), where \(\Delta t\) is the current time step. If \(c_1\) is not specified it is assumed to be zero.
<Updater scalarSet>
kind = unaryScalarOpUpdater
operation = set
writeScalars = [A3]
dtCoefficients = [1.0 0.0]
<STFunc phiFunc>
kind = historySTFunc
feedback = phiHist
expression = 1.0
</STFunc>
</Updater>
<Updater scalarApply>
kind = unaryScalarOpUpdater
operation = apply
readScalars = [A5]
writeScalars = [A5]
dtCoefficients = [1.0 0.0]
<STFunc phiFunc>
kind = expression
expression = sin(TWOPI*t/30)
</STFunc>
</Updater>