﻿ Problem Descriptor Reference > The Elements of a Descriptor > Operators > Vector Operators

Vector Operators

Navigation:  Problem Descriptor Reference > The Elements of a Descriptor > Operators >

Vector Operators   The following operators perform various transformations on vector quantities.

Vector quantities are assumed to have one component in each of the three coordinate directions implied by the COORDINATES selection, whether the selected model geometry is one, two or three dimensional.  For example, a Vector can have a Z-component in a two-dimensional X,Y geometry.  The restricted geometry simply means that there is no computable variation of the solution in the missing directions.  In the explicit construction of Vectors, the third component may be omitted, in which case it is assigned a value of zero.

CROSS ( vector1, vector2 )

Forms the cross product of two vectors and returns the resulting vector.  In 2D geometries, the CROSS product of two vectors lying in the computation plane returns a vector with a nonzero component only in the direction normal to the problem plane. Where appropriate, FlexPDE will interpret this vector as a scalar, suitable for arithmetic combination with other scalars.

DOT ( vector1, vector2 )

Forms the dot product of two vectors and returns a scalar value equal to the magnitude of the vector dot product.

MAGNITUDE ( vector )

Returns a scalar equal to the magnitude of a vector argument.

MAGNITUDE ( argx, argy  {, argz } )*

Returns a scalar equal to the magnitude of a vector whose components are argx and argy (and possibly argz).

NORMAL ( vector )
NORMAL ( argx, argy {, argz} )*

Returns a scalar equal to the component of a vector argument normal to a boundary.  This operator may be used only in boundary condition definitions or in boundary plots or integrals, where the reference surface is clear from the context of the statement.  (See also UNORMAL below).

TANGENTIAL(vector)
TANGENTIAL ( argx,  argy {, argz } )*

Returns a scalar equal to the component of a vector argument tangential to a boundary.  This operator may be used only in boundary condition definitions or in boundary plots or integrals, where the reference surface is clear from the context of the statement.

VECTOR ( argx {, argy {, argz }} )*

Constructs a vector whose components are the scalar arguments.  Omitted arguments are assumed zero.

Vector Component Operators

In a standard cartesian coordinate system, the operators XCOMP, YCOMP, and ZCOMP provide access to the components of a vector :

XCOMP ( vector )

<coord1>COMP ( vector )

Returns a scalar whose value is the first component of the vector argument.

YCOMP ( vector )

<coord2>COMP ( vector )

Returns a scalar whose value is the second component of the vector argument.

ZCOMP ( vector )

<coord3>COMP ( vector )

Returns a scalar whose value is the third component of the vector argument.

Beginning in version 7, in non-cartesian coordinate systems and cartesian systems where the coordinates have been renamed (aliased), the coordinate name will be used instead of X, Y, or Z. E.g. in the CYLINDER1 coordinate system, the first component would be accessed with RCOMP; in a CARTESIAN2 coordinate system with coordinates aliased to "A" and "B", the first and second components would be accessed using ACOMP and BCOMP.

In an attempt to support backward compatibility, the XCOMP, YCOMP, and ZCOMP operators are defined as the first, second, and third components whenever possible. If the coordinate system defines X, Y, or Z, the coordinate defined order takes precedence.

The Special Function UNORMAL

UNORMAL is a built-in function which returns the unit-normal vector at the location of evaluation. It's use is valid only in expressions computed on a system boundary. UNORMAL takes no arguments, as it's arguments are implicitly the coordinates at the point of evaluation.

---------------------------------------------------------------------

* Note: arguments in brackets {} are optional.