diff --git a/docs/amg4psblas_1.0-guide.pdf b/docs/amg4psblas_1.0-guide.pdf index d8f429ee..83f08e0a 100644 Binary files a/docs/amg4psblas_1.0-guide.pdf and b/docs/amg4psblas_1.0-guide.pdf differ diff --git a/docs/html/index.html b/docs/html/index.html index dd54bbfb..f164436d 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -3,8 +3,8 @@
string
der
’NONE’
Considered to use the PSBLAS Krylov solvers with no preconditioner.
’DIAG’L1-JACOBI’
Diagonal preconditioner. For any zero diagonal entry of the matrix to be preconditioned, the corresponding entry @@ -308,7 +308,7 @@ of the preconditioner is set to 1.
’GS’L1-GS’
Hybrid Gauss-Seidel (forward), that is, global block Jacobi with Gauss-Seidel as local solver.
’FBGS’L1-FBGS’
Symmetrized hybrid Gauss-Seidel, that is, forward Gauss-Seidel followed by backward Gauss-Seidel.
’BJAC’L1-BJAC’
Block-Jacobi with ILU(0) on the local blocks.
’AS’
Additive Schwarz (AS), with overlap 1 and ILU(0) on the local blocks.
’ML’
V-cycle with one hybrid forward Gauss-Seidel (GS) sweep as pre-smoother and one hybrid backward diff --git a/docs/html/userhtmlse5.html b/docs/html/userhtmlse5.html index 778421ea..083b4230 100644 --- a/docs/html/userhtmlse5.html +++ b/docs/html/userhtmlse5.html @@ -3,8 +3,8 @@
smoother
class(amg_x_base_smoother_type)
The user-defined new smoother to be employed in the preconditioner.
solver
class(amg_x_base_solver_type)
The user-defined new solver to be employed in the preconditioner.
pass it as follows: -
+ ! sparse matrix and preconditioner + type(psb_dspmat_type) :: a + type(amg_dprec_type) :: prec + type(amg_d_tlu_solver_type) :: tlusv +...... + ! + ! prepare the preconditioner: an ML with defaults, but with TLU solver at + ! intermediate levels. All other parameters are at default values. + ! + call prec%init(’ML’, info) + call prec%hierarchy_build(a,desc_a,info) + nlv = prec%get_nlevs() + call prec%set(tlusv, info,ilev=1,ilmax=max(1,nlv-1)) + call prec%smoothers_build(a,desc_a,info) +
diff --git a/docs/html/userhtmlse7.html b/docs/html/userhtmlse7.html index 2f9a867e..6e7d596e 100644 --- a/docs/html/userhtmlse7.html +++ b/docs/html/userhtmlse7.html @@ -3,8 +3,8 @@
+ AMG4PSBLAS version 1.0 + Algebraic MultiGrid Preconditioners Package + based on PSBLAS (Parallel Sparse BLAS version 3.7) + (C) Copyright 2021 + Pasqua D’Ambra IAC-CNR, IT + Fabio Durastante University of Pisa and IAC-CNR, IT + Salvatore Filippone University of Rome Tor-Vergata and IAC-CNR, IT + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the MLD2P4 group or the names of its contributors may + not be used to endorse or promote products derived from this + software without specific written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ‘‘AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +
@@ -83,44 +78,37 @@ class="cmr-12">abide by its terms: -
+ MLD2P4 version 2.2 + MultiLevel Domain Decomposition Parallel Preconditioners Package + based on PSBLAS (Parallel Sparse BLAS version 3.5) + (C) Copyright 2008-2018 + Salvatore Filippone + Pasqua D’Ambra + Daniela di Serafino + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the MLD2P4 group or the names of its contributors may + not be used to endorse or promote products derived from this + software without specific written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ‘‘AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +
diff --git a/docs/html/userhtmlse9.html b/docs/html/userhtmlse9.html index 94b92610..820035a5 100644 --- a/docs/html/userhtmlse9.html +++ b/docs/html/userhtmlse9.html @@ -3,8 +3,8 @@
a
type(in).
The sparse matrix structure containing the local part of the matrix 17].
desc_a
type(in).
The communication descriptor of a17].
info
integer,out).
Error code. If no error, 0 is returned. See Section 7 for details.
amold
class( optional.
The desired dynamic type for internal matrix components; this 17].
vmold
class( optional.
The desired dynamic type for internal vector components; this allows e.g. running on GPUs.
imold
class( optional.
The desired dynamic type for internal integer vector components; this allows e.g. running on GPUs.
a
type(in).
The sparse matrix structure containing the local part of the matrix 17].
desc_a
type(in).
The communication descriptor of a17].
info
integer,out).
Error code. If no error, 0 is returned. See Section 7 for details.
amold
class( optional.
The desired dynamic type for internal matrix components; this 17].
vmold
class( optional.
The desired dynamic type for internal vector components; this allows e.g. running on GPUs.
imold
class( optional.
The desired dynamic type for internal integer vector components; this allows e.g. running on GPUs.
The method can be used to build multilevel preconditioners too. diff --git a/docs/html/userhtmlsu12.html b/docs/html/userhtmlsu12.html index ff2b0d1e..ec2c0cd5 100644 --- a/docs/html/userhtmlsu12.html +++ b/docs/html/userhtmlsu12.html @@ -3,8 +3,8 @@
x
type(in).
The local part of the vector x, single/double precision version of AMG4PSBLAS under use.
y
type(out).
The local part of the vector y, single/double precision version of AMG4PSBLAS under use.
desc_a
type(in).
The communication descriptor associated to the matrix to be preconditioned.
info
integer,out).
Error code. If no error, 0 is returned. See Section 7 for details.
trans
character((in).
If trans -1).
work
type( target.
Workspace. Its size should be at least 4, single/double precision version of AMG4PSBLAS under use.
info
integer,out).
Error code. If no error, 0 is returned. See Section for details.
info
integer,out).
Error code. If no error, 0 is returned. See Section 7 for details.
iout
integer, optional.
The id of the file where the preconditioner description will be printed; the default is the standard output.
root
integer, optional.
The id of the process where the preconditioner description will be printed; the default is class="cmtt-12">psb_root_.
verbosity
integer, optional.
The verbosity level of the description. Default value is 0. For a distributed multilevel preconditioner the size of the coarsematrices on every process.
info
integer,out).
Error code. If no error, 0 is returned. See Section 7 for details.
amold
class( optional.
The desired dynamic type for internal matrix components; this 17].
pout
type(out).
The copy of the preconditioner data structure. Note that x , single/double precision version of AMG4PSBLAS under use.
info
integer,out).
Error code. If no error, 0 is returned. See Section 7 for details.
global
logical, optional.
Whether the global or local preconditioner size is desired. Default: -Whether the global or local preconditioner memory occupatio is +desired. Default: .false..
+
-
+ call pvmold])
Allocate internal work vectors. Each application of the preconditioner uses a number of +class="cmr-12">n Allocate internal work vectors. Each application of the preconditioner uses a number of
work vectors which are allocated internally as necessary; therefore allocation and argument to the apply method. -Arguments
info info integer, out). Error code. If no error, 0 is returned. See Section 7 for details. vmold vmold class(psb_ optional. The desired dynamic type for internal vector components; this
allows e.g. running on GPUs.
+
-
+ call p(info) Deallocate internal work vectors.
- Arguments
info info integer, out). Error code. If no error, 0 is returned. See Section 7 for details. which assumes that the various MPI compilers and support libraries are available in
‘--prefix=$HOME$HOME’. Once the configure script has completed execution, it will have generated the file
To build the library the user will now enter
- followed (optionally) by
-
diff --git a/docs/html/userhtmlsu4.html b/docs/html/userhtmlsu4.html
index e5d1e06b..3bb6153a 100644
--- a/docs/html/userhtmlsu4.html
+++ b/docs/html/userhtmlsu4.html
@@ -3,8 +3,8 @@
@@ -285,19 +284,19 @@ class="cmr-12">.
- 5.9.5 Method: free_wrk
./configure --with-psblas=PSB-INSTALL-DIR
-
might be configured with:
-
./configure --with-psblas=/opt/psblas-3.5/ \
-
--with-umfpackincdir=/usr/include/suitesparse/
-
make
-
make install
-
use psb_base_mod
-
use amg_prec_mod
-
use psb_krylov_mod
-
... ...
-
!
-
! sparse matrix
-
type(psb_dspmat_type) :: A
-
! sparse matrix descriptor
-
type(psb_desc_type) :: desc_A
-
! preconditioner
-
type(amg_dprec_type) :: P
-
! right-hand side and solution vectors
-
type(psb_d_vect_type) :: b, x
-
... ...
-
!
-
! initialize the parallel environment
-
call psb_init(ctxt)
-
call psb_info(ctxt,iam,np)
-
... ...
-
!
-
! read and assemble the spd matrix A and the right-hand side b
-
! using PSBLAS routines for sparse matrix / vector management
-
... ...
-
!
-
! initialize the default multilevel preconditioner, i.e. V-cycle
-
! with basic smoothed aggregation, 1 hybrid forward/backward
-
! GS sweep as pre/post-smoother and UMFPACK as coarsest-level
-
! solver
-
call P%init(’ML’,info)
-
!
-
! build the preconditioner
-
call P%hierarchy_build(A,desc_A,info)
-
call P%smoothers_build(A,desc_A,info)
-
-
!
-
! set the solver parameters and the initial guess
-
... ...
-
!
-
! solve Ax=b with preconditioned CG
-
call psb_krylov(’CG’,A,P,b,x,tol,desc_A,info)
-
... ...
-
!
-
! deallocate the preconditioner
-
call P%free(info)
-
!
-
! deallocate other data structures
-
... ...
-
!
-
! exit the parallel environment
-
call psb_exit(ctxt)
-
stop
-
... ...
-
! build a V-cycle preconditioner with 1 block-Jacobi sweep (with
-
! ILU(0) on the blocks) as pre- and post-smoother, and 8 block-Jacobi
-
! sweeps (with ILU(0) on the blocks) as coarsest-level solver
-
call P%init(’ML’,info)
-
call P%set(’SMOOTHER_TYPE’,’BJAC’,info)
-
call P%set(’COARSE_SOLVE’,’BJAC’,info)
-
call P%set(’COARSE_SWEEPS’,8,info)
-
call P%hierarchy_build(A,desc_A,info)
-
call P%smoothers_build(A,desc_A,info)
-
... ...
-