Perform coordinate displacement of a curvilinear lattice by the DATA portion of another lattice. The coordinate variables of the second input are appended to the coordinate variables of the first input. The output's number of coordinate dimensions is the sum of the number of coordinate dimensions of the two input arrays (first coord and second data).

This module makes up for a lack of functionality in DisplaceLat, in which that module cannot displace an input lattice by a single dimension.

Note that the first input must be curvilinear. The second input must have a data array of the same dimensionality as the coordinates of the first input. This situation is checked, but the resulting message (on an error condition) invokes a LatFunction scripting error. The message you need to see is in the comment of the offending statement. Pretty gross hack, eh?


Port: First In
Type: Lattice
Constraints: curvilinear.
The lattice to be displaced.

Port: Second In
Type: Lattice
The data array is used to displace the First In lattice. This entire array is appended to the coordinate channels of First In.


Port: Scale
Type: Dial
Scale the displacement by this amount.


Port: First Out
Type: Lattice
Constraints: curvilinear.
The displaced lattice. If the inputs have m = nCoordVar(First In) n = nDataVar (Second In) then m+n == nCoordVar(First Out)


Error messages are reported by invoking invalid LatFunction syntax.


[ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1996