# struct.node.system.surface

Syntax

m := struct.node.system.surface(sn<,i1><,i2>)
struct.node.system.surface(sn<,i1><,i2>) := m

Get/set the surface coordinate system of the structure node. The return value can be a matrix if both i1 and i2 are omitted, a vector if both i1 is assigned but i2 is omitted, or a value if both i1 and i2 are assigned.

Note that if the surface system is assigned, the system will be marked as valid. No check or correction is made to ensure the system is ortho-normal, this is the responsibility of the user. A system that is not ortho-normal or is perpendicular to the elements will produce incorrect and unreliable results.

Returns: m - a matrix, vector, or value dependent on the arguments sn - structure node pointer i1 - degree-of-freedom, i1 ∈ {1, 2, 3} i2 - degree-of-freedom, i2 ∈ {1, 2, 3}