I am pleased to announce the availability of Version 1.0 of PHAML.
PHAML (Parallel Hierarchical Adaptive MultiLevel) is a Fortran 90
module for the solution of second order linear elliptic partial
differential equations of the form
-( p(x,y) * u ) -( q(x,y) * u ) + r(x,y) * u = f(x,y)
x x y y
with Dirichlet, Neumann (natural), Periodic, or Mixed boundary
conditions,
where p>0, q>0, r, and f are functions of x and y.
It also solves elliptic eigenvalue problems where f is lambda * u and
the boundary conditions are homogeneous, and systems of elliptic PDEs.
Other types of differential equations (e.g. parabolic, nonlinear) can
be solved using PHAML as the core elliptic solver in an iteration.
PHAML features:
- low and high order finite elements on triangle grids
- h-, p-, and hp-adaptive mesh refinement based on newest node
bisection
- hierarchical basis multigrid linear system solver
- refinement-tree based partitioning method for load balancing
- arbitrary 2D connected, bounded domains, including curved
boundaries and holes
- Fortran 90 implementation
- message passing parallelism
- extensive visualization
PHAML optionally uses several other packages to enhance its basic
capabilities:
- system specific BLAS and LAPACK libraries, to improve performance
- MPI or PVM, for message-passing parallelism
- OpenGL, GLUT and f90gl, for visualization
- Zoltan, for dynamic load balancing methods other than the default
refinement-tree method
- PETSc, for iterative solvers other than the default multigrid
method
- hypre, for iterative solvers other than the default multigrid
method
- MUMPS, for a parallel direct sparse solver option
- SuperLU, for a parallel direct sparse solver option
- ARPACK, for eigenvalue problems
- triangle, for arbitrary domains
PHAML is useful as an elliptic PDE solver for scientific and
engineering
applications, an environment for the development of new numerical
methods and approaches to programming parallel computers, a testbed
for
comparative studies of different numerical methods and software
packages, and a classroom tool for classes on numerical methods or
parallel computing.
PHAML has been tested on clusters and distributed-memory parallel
computers with many Unix-like operating systems. The distribution
contains examples demonstrating its use for solving elliptic
equations, parabolic equations, nonlinear equations, systems of
elliptic equations, eigenvalue problems, and general domains.
The examples illustrate how to use it in either master/slave mode
with dynamic addition and deletion of processes, or in SPMD (single
program multiple data) mode where all processes are started
simulaneously. It can also be run as a sequential program.
For more information on the PHAML project, and to download the
software, please visit
http://math.nist.gov/phaml
--
William F. Mitchell
Mathematical and Computational Sciences Division
National Institute of Standards and Technology
william.mitch@nist.gov http://math.nist.gov/~WMitchell