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

# Differential Operators

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

# Differential Operators   Differential operator names are constructed from the coordinate names for the problem, either as defined by the user, or as default names.

First derivative operators are of the form "D<name>", where <name> is the name of the coordinate.

Second-derivative operators are of the form "D<name1><name2>".

In the default 2D Cartesian case, the defined operators are "DX", "DY", "DXX", "DXY", and "DYY".

All differential operators are expanded internally into the proper forms for the active coordinate system of the problem.

D<n> ( arg )

First order partial derivative of arg with respect to coordinate <n>, eg. DX(arg).

D<n><m> ( arg )

Second order partial derivative of arg with respect to coordinates <n> and <m>, eg. DXY(arg).

DIV ( vector_arg )

Divergence of vector argument. Produces a scalar result.

DIV ( argx, argy {, argz } )

Divergence of the vector whose components are argx and argy (and possibly argz in 3D).  This is the same as DIV(vector(argx,argy,argz), and is provided for convenience.

DIV ( tensor_arg )

Divergence of tensor argument. Produces a vector result.  In curvilinear geometry, DIV(GRAD(vector)) is NOT the same as the Laplacian of the components of the vector, because differentiation of the unit vectors introduces additional terms.  FlexPDE handles these expansions correctly in all supported geometries.

Gradient of scalar argument.  Produces a vector result.

Gradient of vector argument.  This operation produces a tensor result.  In curvilinear geometry, this creates additional terms due to the differentiation of the unit vectors.  It is NOT equivalent to the gradient of the vector components except in Cartesian geometry.  FlexPDE handles these expansions correctly in all supported geometries.

CURL ( vector_arg )

Returns the vector result of applying the curl operator to vector_arg.

CURL ( scalar_arg )

Curl of a scalar_arg (2D only). Assumes arg to be the magnitude of a vector normal to the computation plane, and returns a vector result in the computation plane.

CURL ( argx, argy {, argz } )

Curl of a vector whose components in the computation plane are argx and argy (and possibly argz in 3D).  This is the same as CURL(vector(argx,argy,argz)), and is provided for convenience.

DEL2 ( scalar_arg )

Laplacian of scalar_arg. Equivalent to DIV(GRAD(scalar_arg)).

DEL2 ( vector_arg )

Laplacian of vector_arg. Equivalent to DIV(GRAD(vector_arg)).