Content area
Abstract
Software tools based on the algebraic manipulation system MACSYMA which facilitate the design, analysis and construction of finite difference programs for the numerical solution of systems of partial differential equations are described. Four packages of tools are presented: VECT, FDIFF, FSTAB and MACTRAN. The VECT package performs symbolic algebra and calculus with vectors and dyadics. It includes manipulations of dot and cross products; gradient, divergence, curl and Laplacian operators; directional derivatives and outer products. Vector and dyadic equation can be automatically expanded into components for arbitrary orthogonal coordinate systems. Scalar and vector potentials can be calculated from their gradient and curl vectors. The FDIFF package converts scalar, non-linear partial differential equations into linear, finite difference approximations. It includes tools for discretization of the domain of the PDE dependent variables, linearization of non-linear terms and conversion of derivative terms into finite difference expressions. A notation and algebra for building arbitrary finite difference operators is provided. The FSTAB package automatically performs local Fourier stability analyses on sets of finite difference equations by deriving amplification matrices and eigenvalues. The MACTRAN package converts the finite difference equations and other expressions into FORTRAN code. It provides a general purpose text processor which allows the derived FORTRAN code segments to be interspersed with fixed code from program skeletons to form complete FORTRAN programs.