




![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Next: Part II: The modules
Up: 1 Solution of linear systems
Prev: 1.4 Solution by domain decomposition
Contents
The solution of a linear system consists of several steps which can be decomposed into several mathematical operators:
- construction of the matrix and right-hand-side,
- solution.
The construction of the matrix can be decomposed into:
- compute the pointers defining the matrix structure,
- matrix assembly,
- assemble the right-hand-side,
- impose boundary conditions.
depending on the method chosen, direct or iterative, the solution can also be
decomposed into several operators:
- Direct methods:
- matrix factorization,
- forward-and-backward substitution.
- Iterative methods:
- construction of the preconditioner,
- iterative algorithm.
For the particular case of the domain decomposition method, all the above operators are used, as this algorithm
performs iterations on the unknowns on the sub-domain interfaces, the unknowns inside
the sub-domains being recomputed at each iteration by a direct method.
This sequence can be summarized as follows:
- For each sub-domain:
- assembly and factorization of the matrix of the Dirichlet problem,
- assembly and factorization of the matrix of the Neumann problem,
- construction of the right-hand-side.
- For the global solution:
- construction of the preconditioner,
- conjugate gradient solution algorithm on the interface,
consisting at each iteration of a Dirichlet forward-and-ackward substitution and
a Neumann forward-and-backward substitution on each sub-domain.
As a function of the type of method chosen, on the one hand, and the matrix characteristics, on the other hand,
there are several modules in library RESO corresponding to each operator:
- Computation of pointers :
- PREPAC for a MUA structure,
- PREPAF for a frontal method,
- PREPGC for a AMAT structure.
- Matrix assembly :
- ASSAMA for a AMAT structure,
- ASMAPS for a MUA structure in secondary memory,
- ASSMUA for a MUA structure in main memory.
- Assembly of the right-hand-side vector :
- ASEMBV for a B structure in main memory,
- ASMBMS for a B structure in secondary memory.
- Applying the boundary conditions :
- CLIMGC for a AMAT structure,
- CLIMPC for a MUA structure in main memory,
- CLIMPS for a MUA structure in secondary memory.
- Solution by a direct method:
- Factorization :
- CHOLPC for positive definite symmetric matrices
(structure MUA symmetric in main memory),
- CHOLPS for positive definite symmetric matrices
(structure MUA symmetric in secondary memory),
- CROUPC for symmetric matrices
(structure MUA symmetric in main memory),
- GAUSPC for regular matrices
(structure MUA non-symmetric in main memory).
- Solution by forward-and-backward substitution :
- DRCHPC for positive definite symmetric matrices
(structure MUA symmetric in main memory),
- DRCHPS for positive definite symmetric matrices
(structure MUA symmetric in secondary memory),
- DRCRPC for symmetric matrices
(structure MUA symmetric in main memory),
- DRGAPC for regular matrices
(structure MUA non-symmetric in main memory).
- Special case of the frontal method :
- FRONT : this model performs the tasks consisting of the assembly of the matrix and RHS,
imposing the boundary conditions, the factorization of the matrix and, lastly,
the solution of the system, whatever the properties of the matrix.
- Solution by an iterative method:
- Construction of the preconditioner :
- CONDLU incomplete factorization of regular matrices
(structure
[4] AMAT non-symmetric in main memory),
- FANIGC incomplete factorization of positive definite symmetric matrices
(structure AMAT symmetric in main memory).
- Iterative algorithm :
- DGRADA iterations of double conjugate gradient
and preconditioned for regular matrices (structure AMAT in main memory)
- ICHRGC conjugate gradient iterations
preconditioned by incomplete factorization of Cholesky or Crout,
for positive definite symmetric matrices
(structure AMAT in main memory)
- GCDIAG
conjugate gradient iterations with a diagonal preconditioning
for positive definite symmetric matrices
(structure AMAT in main memory),
- SSORGC
conjugate gradient iterations with a SSOR preconditioning ,
for positive definite symmetric matrices
(structure AMAT in main memory),
- SIMPGC
non preconditioned conjugate gradient iterations
for positive definite symmetric matrices
(structure AMAT in main memory).
For the case of a domain decomposition method,
we need to use specific operators (super modules that use the preceding algorithms):
- PRSDOM : this program creates, using D.S. NOPO of different
sub-domains as well as D.S. MILI and FORC, the operators required by the conjugate gradient algorithm,
- SDOMVR : this program contains the conjugate gradient algorithm for the
Schur matrix complement in single precision,
- SDOMVD : this program contains the conjugate gradient algorithm
for the Schur matrix complement in double precision.





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Next: Part II: The modules
Up: 1 Solution of linear systems
Prev: 1.4 Solution by domain decomposition
Contents