HyPar
1.0
FiniteDifference HyperbolicParabolic PDE Solver on Cartesian Grids

HyPar is a finitedifference algorithm to solve hyperbolicparabolic partial differential equations (with source terms) on Cartesian grids. It is a unified framework that can handle systems of PDEs with arbitrary number of spatial dimensions and solution components. It provides the spatial discretization and time integration functions, functions to read and write solutions from/to files, as well as functions required to solve the system on parallel (MPI) platforms. The physical models define the physicsspecific functions such as the exact forms of the hyperbolic flux, parabolic flux, source terms, upwinding functions, etc.
HyPar has been developed to be scalable, and apart from the usual functionalities to solve a system of PDEs on distributed architectures, it provides scalable file I/O functions. It has been tested on several platforms, including DOE Leadershipclass supercomputers, with up to ~0.5 million MPI ranks.
The code is available at: https://bitbucket.org/deboghosh/hypar
It can be cloned using git as follows:
Bitbucket also allows downloading the package as a tarball, see https://bitbucket.org/deboghosh/hypar/downloads.
To generate a local copy of this documentation, run "doxygen Doxyfile" in . The folder /doc should contain the generated documentation in HTML format.
To compile HyPar, follow these steps in the root directory:
autoreconf i [CFLAGS="..."] ./configure [options] make make install
CFLAGS should include all the compiler flags.
Note: Default installation target is its own directory, and thus "make install" should not require administrative privileges. The binary will be placed in bin/ subdirectory.
The configure options can include options such as BLAS/LAPACK location, MPI directory, etc. Type "./configure help" to see a full list. The options specific to HyPar are:
Compiling with PETSc: Install PETSc and make sure the environment variables PETSC_DIR and PETSC_ARCH are defined. Please PETSc's installation instructions for this. Once these environment variables are present, HyPar will use them to compile itself with PETSc functionalities.