Concepts: C++ class library for elliptic PDEs
Team: Seminar for Applied Mathematics
Contact: Karsten Schmidt,
karsten@math.ethz.ch
Christoph Schwab, schwab@math.ethz.ch
WWW: www.concepts.math.ethz.ch
Language/compiler: C++, gcc 3 or higher
Platforms: Linux, Solaris
Required software: flex, LAPACK, (doxygen for documentation)
Optional software: JDBSYM, ARPACK, PETSc, SuperLU,
Umfpack, Pardiso
Visualization: Gnuplot, EPS, OpenDX, Tecplot
Status: second version, usable for research or teaching
released to the public under GPL in 2004
References:
- Christian Lage, "Softwareentwicklung zur Randelementmehtode: Analyse
und Entwurf effizienter Techniken", Dissertation Christian-Albrechts-Universitaet,
Kiel, 1995.
- Christian Lage, "Concept Oriented Design of Numerical Software",
SAM report 98-07,
http://www.sam.math.ethz.ch/reports/details/include.shtml?1998/1998-07.html
- Philipp Frauenfelder and Christian Lage, "Concepts---An Object-Oriented
Software Package for Partial Differential Equations", M2AN 36 Nr. 5,
2002, http://dx.doi.org/10.1051/m2an:2002036
- Gregor Schmidlin, "Fast Solution Algorithms for Integral Equations
in R^3", Dissertation 15016 ETH Zurich, 2003,
http://e-collection.ethbib.ethz.ch/show?type=diss&nr=15016
Description: Concepts is a class library written in C++ for solving
elliptic PDEs in one, two and three dimensions. Currently, FEM and BEM
are supported. To keep the code flexible for research purposes, templates
are only used where appropriate. The flexibility is achieved by polymorphism.
The design ideas are those of 'concept oriented design' ie., mathematical
concepts are cast into classes. This gives clear guidelines how to design
the classes of the software. The hp FEM part offers anisotropic h and
p refinements in 2D and 3D for quads and hexes resp. Current applications
are electromagnetics and reaction-diffusion. The BEM part uses generalized
FMM, panel clustering and wavelets. The code is mainly used in research
but can also be used for teaching FEM or BEM curses.
Sincerely yours -- Philipp