Differential Vector Operators

TI-92 Plus

This package provides the gradient, curl, divergence and laplacian differential operators. The implementation is generic and works with any 3D curvilinear coordinate system; it also provides utility functions for rectangular, cylindrical and spherical coordinates.

This package is for the TI-92 Plus Calculator; it could be easily rewritten for the TI-92, the main problem being that the latter uses dynamic scope where the former lexical scope - in order to use this package on a plain TI-92 you will have to rename the function arguments in order to prevent circular definition errors.

License

This package is free software. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You can modify it as you want, provided this disclaimer and the copyright notice is kept unaltered, and a notification of the changes is added. You are allowed to redistribute it and sell it, alone or as a part of another product.

Copyright © 1998 by Roberto Lupi - http://ascu.unian.it/~lupex/

Function reference

NOTE: all functions are in a directory called math, if you want to use a different directory you will have to modify the utility functions.

grad(f, v1, v2, v3, h)

The gradient of f - a scalar expression in the variables v1, v2, v3; h is a scale vector with three elements.

curl(F, v1, v2, v3, h)

The curl of F - a vector expression in the variables v1, v2, v3; h is a scale vector with three elements.

div(F, v1, v2, v3, h)

The divergence of F - a vector expression in the variables v1, v2, v3; h is a scale vector with three elements.

lplcian(f, v1, v2, v3, h)

The laplacian of f - a scalar expression in the variables v1, v2, v3; h is a scale vector with three elements.

The following utility function are provided:

Coordinate System

Scale factors

Utility functions

Rectangular
(x, y, z)

h = { 1, 1, 1 }

rgrad(f, x, y, z)
rcurl(f, x, y, z)
rdiv(f, x, y, z)
rlplcian(f, x, y, z)

Cylindrical
(r, theta, z)

h = { 1, r, 1 }

cgrad(f, r, theta, z)
ccurl(f, r, theta, z)
cdiv(f, r, theta, z)
clplcian(f, r, theta, z)

Spherical
(r, theta, phi)

h = { 1, r, r*sin(theta) }

sgrad(f, r, theta, phi)
scurl(f, r, theta, phi)
sdiv(f, r, theta, phi)
slplcian(f, r, theta, phi)