Required Software

BLAS/LAPACK

BLAS and LAPACK are required for PETSc. It is highly recommended to use any vendor specific (and therefore highly optimized) BLAS and LAPACK libraries (cf. FAQ : Optimized BLAS libraries). The generic implementation is available from netlib:
http://www.netlib.org/blas/
http://www.netlib.org/lapack/

Optimized BLAS libraries can be found on the website of the ATLAS project:
http://sourceforge.net/projects/math-atlas/

MPI

If possible it is again recommended to use any vendor specific MPI libraries, which are highly optimized for your specific hardware platform. If you do not have any MPI implementation readily available, you can use MPICH, OpenMPI, or LAM/MPI.
http://www.mcs.anl.gov/research/projects/mpich2/
http://www.open-mpi.org/
http://www.lam-mpi.org/

However, magpar/PETSc can also be compiled without MPI support: Single processor version without MPI

SUNDIALS

The parallel time integrator PVODE from the SUNDIALS package is used for the dynamic time integration of the Landau-Lifshitz-Gilbert equation, which describes the time evolution of the magnetization distribution.
http://www.llnl.gov/CASC/sundials/
http://acts.nersc.gov/sundials/

mapgar can also be compiled without SUNDIALS and just with TAO for energy minimization.

PETSc

PETSc is the core package for magpar. It provides the parallel data types, matrix-vector operations, data input and output, many utility functions, etc.
http://www.mcs.anl.gov/petsc/petsc-as/

Optional Packages

ParMETIS

The Metis library can be used for mesh partitioning - to split the problem (i.e. the finite element mesh) into a number of submeshes, which are then dealt with by different processors. Metis uses a very efficient multilevel k-way partitioning algorithm, which gives high quality partitionings.
http://glaros.dtc.umn.edu/gkhome/views/metis/
http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview
http://www-users.cs.umn.edu/~karypis/metis/
http://www-users.cs.umn.edu/~karypis/metis/parmetis/index.html

Without ParMETIS magpar can still perform bandwidth optimization or just work with the natural ordering (see options "-metispartition" and "-optimizebw" in allopt.txt).

TAO

"The Advanced Optimization" library is used for the static energy minimzation method.
http://www.mcs.anl.gov/research/projects/tao/

zlib

This compression library is used to reduce the size of the output files. Especially, the inp-files for AVS, which store snapshots of the magnetization distribution, are compressed very effectively.
http://www.zlib.net

libpng

The libpng library allows magpar to save snapshots of the magnetization distribution as PNG graphics files.
http://www.libpng.org/pub/png/libpng.html

hypre

High performance preconditioners for solving large, sparse linear systems of equations on massively parallel computers
https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html

SuperLU

SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.
http://crd.lbl.gov/~xiaoye/SuperLU/

Copyright

Each external software package has its own licensing conditions and copyright. However, they are all freely available as open source and most of them published under GNU Public or other OSI approved licenses. Please refer to the list of Licenses.


magpar - Parallel Finite Element Micromagnetics Package
Copyright (C) 2002-2010 Werner Scholz