Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] abfe_v1_0.gz(13 Kbytes)|
|Manuscript Title: CPDES3: a preconditioned conjugate gradient solver for linear asymmetric matrix equations arising from coupled partial differential equations in three dimensions.|
|Authors: D.V. Anderson, A.E. Koniges, D.E. Shumaker|
|Program title: CPDES3|
|Catalogue identifier: ABFE_v1_0|
Distribution format: gz
|Journal reference: Comput. Phys. Commun. 51(1988)405|
|Programming language: Fortran.|
|Operating system: CTSS.|
|Word size: 64|
|Keywords: General purpose, Matrix, Coupled partial, Partial differential Equations, Elliptic, Parabolic, Three-dimensional, Plasma physics, Implicit, Preconditioned, Conjugate gradient, Biconjugate gradient, Sparse asymmetric, Matrix.|
Nature of problem:
Certain coupled elliptic and parabolic partial differential equations that arise in plasma physics and other applications are to be solved in three dimensions. The implicit solution techniques used for these equations give rise to a system of linear equations whose matrix operator is sparse (with a complicated subband structure) and generally asymmetric. We provide a fully vectorized algorithm for their solution.
In some earlier matrix solver packages we used an incomplete LU decomposition preconditioning with a conjugate gradient iteration. Alternatively, we now offer the same preconditioning in conjunction with the biconjugate gradient (BCG) method. BCG enjoys faster convergence in most cases but in some instances diverges. Then CG iterations must be used. Here these same methods are applied to the complicated sparse matrix obtained from coupled partial differential equations in three dimensions. The sparsity patterns and coupling stencils, which were previously determined manually, are now generated automatically. The resulting algorithm has gather-scatter constructs which are fully vectorized in our Cray-2 implementation.
The discretization of the coupled three-dimensional PDE's and their boundary conditions must result in an operator stencil that can fit into the Cray-2 memory. The matrix must possess a resonable amount of diagonal dominance for the preconditioning technique to be effective.
This code relies on the vectorization of gather-scatter procedures. Thus it will be relatively efficient only on computers which possess gather-scatter hardware.
These are problem dependent because ill-conditioned matrices require more iterations than well-conditioned ones. The test problems typically converged in a minute or less on the Cray-2 to relative errors of 1.0 * 10**-10.
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|