# ELLPACK System

ELLPACK is implemented as a Fortran preprocessor supported by a large software library. Its very high level language can reduce the programming effort for a "routine" elliptic problem by a factor of a hundred or more. Its flexibility allows one to handle the "messy" aspects of many real problems by detailed Fortran code and still use its simple language and powerful library for the rest of the solution. ELLPACK is portable and has been run in a variety of computer environments. Its installation requires a Fortran compiler, the ability to create a Fortran library, and the machine constants for one small program. It can be brought up in an afternoon by someone familiar with the local system.

### Problem Solving Capabilities

ELLPACK has the following problem solving capabilities using minimal programming.

• Linear elliptic problems on rectangular 2-dimensional domains
• both finite difference and finite element methods
• fast methods for problems with simple structure
• Gauss elimination, sparse matrix or iteration methods

• Linear elliptic problems on general 2-dimensional domains
• both finite difference and finite element methods
• Gauss elimination, sparse matrix or iteration methods

• Linear, self-adjoint elliptic problems on rectangular 3-dimensional domains
• finite difference methods
• fast methods for Poisson problems

• Typical ELLPACK applications that have been made:
• Poisson problems on general 2-D domains
• Comparison of several methods for the semi-conductor equations
• Solute segregation during solidification of a binary alloy
• Analysis of convergence properties of iteration methods
• nonlinear Poisson problem: uxx + uyy = u**2 (x**2 + y**2) EXP(- xy)
• Minimal surface equations (Plateau problem)
• Electrostatic problems in domains with slits
• Two-phase diffusion
• Non-linear, laminar, non-newtonian flow
• Reynold's equation for gas-film lubrication
• System of 2 and 3 nonlinear elliptic equations

### Simple Ellpack Program

 EQUATION. UXX + Y*UYY + SIN(X+Y)*U = 1 - X + Y BOUNDARY. U = 0 ON X = 0. U = Y ON X = 1. U = 0 ON Y = 0. U = X ON Y = 1. GRID. 21 X POINTS \$ 21 Y POINTS DISCRETIZATION. HERMITE COLLOCATION SOLUTION. LINPACK BAND OUTPUT. PLOT(U) \$ TABLE(U) END. Purdue University Department of Computer Sciences