The C++ Multigrid Generator Toolkit
This page is horribly out of date - stay tuned for an update by October 94,
when I shall see the light again!...[under construction].
MG++ is a multigrid generator written in C++. At its heart is "MGLIB",
a MultiGrid class LIBrary, constituting a grid generator, a generator
[of gauge field configurations], and a multilevel update generator
[for relaxation, coarse-grid correction and determination of intergrid
transfer operators].
The library is being worked on, version 0.0 being scheduled
some time in spring 1994, under the
GNU Library Public License.
It will simplify and shorten time for coding, testing and maintenance of
multigrid algorithms, including an easy-to-use User's Manual, prepared
using the literate programming paradigm.
MG++ will allow for easy implementation and change of grid geometries
and physical input (such as a lattice gauge group). Hopefully, from this
starting point, C++ will make its way into
Lattice Field Theory
[The possibility of using C++ "aiming at major improvements in scientific
software methodology" was first mentioned by K.G. Wilson in his talk at the
Lattice Symposium in 1989].
Work in progress will be made public here, in newsgroup
hepnet.lang.c++,
and through the
MGnet Digest.
There are similar approaches known already, for example the
CANOPY
tool (coded in C), developed at FNAL, some features of
ZZ,
a programming language (dynamical parser) of the
APE-100
parallel computer from Rome, and
Data Abstraction Techniques
[PostScript]
used in finite-element
multigrid programming [PostScript]. In parallel computing, K. Decker has pleaded for the use
of literate programming techniques in a
paper on
Algorithm design [PostScript].
Toby Burnett's pages on the development version of
GISMO
are a nice example of how WWW can be used to present a C++ Library.
Here is part of the
Inheritance Graph for MGLIB for illustration
how it also could be done.
Here is more information on
C++ (and its applications in HEP), and here is more on
multigrid methods
Last [real] update in January 24, 1994
Marcus Speh
marcus@x4u.desy.de