diff --git a/docs/html/index.html b/docs/html/index.html index af923e1e..761ca5d7 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -128,7 +128,7 @@ Mar. 31, 2016
  • Subroutine mld_hierarchy_bld
  • Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld
  • Subroutine mld_precaply
  • 6, Tables 2-6.
  • Build the preconditioner for a given matrix. This is performed by - the routine mld_ml_prec_bld. + the routine mld_smoothers_bld.
  • Apply the preconditioner at each iteration of a Krylov solver. This is performed by the routine mld_precaply. When using the PSBLAS Krylov solvers, diff --git a/docs/html/node15.html b/docs/html/node15.html index f159067a..050a0285 100644 --- a/docs/html/node15.html +++ b/docs/html/node15.html @@ -129,7 +129,7 @@ Setup and application of the default multi-level Schwarz preconditioner. ! ! build the preconditioner call mld_hierarchy_bld(A,desc_A,P,info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_smoothers_bld(A,desc_A,P,info) ! ! set the solver parameters and the initial guess @@ -219,13 +219,13 @@ Setup of a hybrid three-level Schwarz preconditioner. ! a coarsest matrix replicated on the processors, and the ! LU factorization from UMFPACK as coarse-level solver call mld_precinit(P,'ML',info) - call mld_hierarchy_bld(A,desc_A,P,info) - call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info) call_mld_precset(P,'SMOOTHER_POS,'POST'w,info) call mld_precset(P,'COARSE_MAT','REPL',info) call mld_precset(P,'COARSE_SOLVE','UMF',info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_hierarchy_bld(A,desc_A,P,info) + + call mld_smoothers_bld(A,desc_A,P,info) ... ... @@ -256,12 +256,11 @@ Setup of a hybrid three-level Schwarz preconditioner. ! multifrontal solver in MUMPS as coarse-level solver call mld_precinit(P,'ML',info,nlev=3) - call mld_hierarchy_bld(A,desc_A,P,info) - call mld_precset(P,mld_smoother_type_,'BJAC',info) call mld_precset(P,mld_coarse_mat_,'REPL',info) call mld_precset(P,mld_coarse_solve_,'MUMPS',info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_hierarchy_bld(A,desc_A,P,info) + call mld_smoothers_bld(A,desc_A,P,info) ... ... @@ -291,11 +290,11 @@ Setup of an additive three-level Schwarz preconditioner. ! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU ! on the blocks) as distributed coarsest-level solver call mld_precinit(P,'ML',info,nlev=3) - call mld_ml_prec_bld(A,desc_A,P,info) call mld_precset(P,'ML_TYPE','ADD',info) call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info) call mld_precset(P,'COARSE_SWEEPS',5,info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_hierarchy_bld(A,desc_A,P,info) + call mld_smoothers_bld(A,desc_A,P,info) ... ... diff --git a/docs/html/node16.html b/docs/html/node16.html index c2fd0da9..b21ea8b1 100644 --- a/docs/html/node16.html +++ b/docs/html/node16.html @@ -122,7 +122,7 @@ A description of each routine is given in the remainder of this section.
  • Subroutine mld_hierarchy_bld
  • Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld
  • Subroutine mld_precaply
  • mld_precinit and mld_precset For multilevel preconditioner this routine is supported for backward compatibility, but we recommend to use the routines of -Sec. 6.4 and 6.5. +Sec. 6.4 and 6.5. Arguments

    diff --git a/docs/html/node2.html b/docs/html/node2.html index 43a45436..ac2f2262 100644 --- a/docs/html/node2.html +++ b/docs/html/node2.html @@ -100,7 +100,7 @@ Contents

  • Subroutine mld_hierarchy_bld
  • Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld
  • Subroutine mld_precaply

  • Next: Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld Up: User Interface Previous:
    Next: Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld Up: User Interface Previous: -Subroutine mld_ml_prec_bld - +Subroutine mld_smoothers_bld + @@ -51,14 +51,14 @@ original version by: Nikos Drakos, CBLU, University of Leeds
    -

    +


    -Subroutine mld_ml_prec_bld +Subroutine mld_smoothers_bld

    -mld_ml_prec_bld(a,desc_a,p,info) +mld_smoothers_bld(a,desc_a,p,info)
    diff --git a/docs/html/node22.html b/docs/html/node22.html index 13b12392..23123b34 100644 --- a/docs/html/node22.html +++ b/docs/html/node22.html @@ -44,7 +44,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds Up: User Interface Previous: Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld   Contents
    @@ -202,7 +202,7 @@ and hence it is completely transparent to the user. Up: User Interface Previous: Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld   Contents diff --git a/docs/html/node28.html b/docs/html/node28.html index ba615509..538b29c3 100644 --- a/docs/html/node28.html +++ b/docs/html/node28.html @@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney. The command line arguments were:
    latex2html -local_icons -noaddress -dir ../../html userhtml.tex

    -The translation was initiated by Salvatore Filippone on 2016-06-09 +The translation was initiated by Salvatore Filippone on 2016-10-04


    diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html index af923e1e..761ca5d7 100644 --- a/docs/html/userhtml.html +++ b/docs/html/userhtml.html @@ -128,7 +128,7 @@ Mar. 31, 2016
  • Subroutine mld_hierarchy_bld
  • Subroutine mld_ml_prec_bld + HREF="node21.html">Subroutine mld_smoothers_bld
  • Subroutine mld_precaply
  • > stream 0 g 0 G @@ -246,28 +246,21 @@ q []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 212.952 356.789 Td [(ml)]TJ +/F15 10.9091 Tf 212.952 356.789 Td [(smo)-28(others)]TJ ET q -1 0 0 1 225.728 356.988 cm +1 0 0 1 261.94 356.988 cm []0 d 0 J 0.398 w 0 0 m 3.273 0 l S Q BT -/F15 10.9091 Tf 229 356.789 Td [(prec)]TJ -ET -q -1 0 0 1 249.685 356.988 cm -[]0 d 0 J 0.398 w 0 0 m 3.273 0 l S -Q -BT -/F15 10.9091 Tf 252.958 356.789 Td [(bld)]TJ +/F15 10.9091 Tf 265.213 356.789 Td [(bld)]TJ 0 g 0 G - [-586(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ + [-1018(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ 0 g 0 G [-1280(32)]TJ 0 g 0 G 0 0 1 rg 0 0 1 RG - -142.994 -13.55 Td [(6.6)-1022(Subroutine)-333(mld)]TJ + -155.249 -13.55 Td [(6.6)-1022(Subroutine)-333(mld)]TJ ET q 1 0 0 1 209.679 343.439 cm @@ -331,19 +324,19 @@ endobj /Type /ObjStm /N 100 /First 815 -/Length 8644 +/Length 8642 >> stream 1 0 5 38 6 84 9 125 10 146 13 187 14 219 17 260 18 293 21 334 22 381 25 427 26 458 29 504 30 552 33 598 34 637 37 683 38 714 41 760 42 803 45 844 46 903 49 949 50 1002 53 1048 54 1086 57 1127 58 1158 61 1204 62 1230 65 1271 66 1301 69 1347 70 1391 73 1437 74 1480 77 1526 78 1569 81 1615 -82 1667 85 1713 86 1766 89 1812 90 1856 93 1902 94 1946 97 1992 98 2037 101 2078 -102 2109 105 2152 106 2176 109 2219 110 2244 111 2289 114 2403 115 2457 3 2511 112 2563 -121 2656 123 2770 120 2824 125 2860 127 2974 7 3028 124 3080 131 3173 133 3287 130 3341 -161 3408 134 3742 135 3888 136 4034 137 4180 138 4326 139 4478 140 4630 141 4782 142 4933 -143 5084 144 5230 145 5382 146 5534 147 5680 148 5832 149 5977 150 6129 151 6281 152 6431 -153 6581 154 6733 155 6885 156 7037 157 7189 158 7335 159 7482 163 7628 164 7682 160 7736 +82 1667 85 1713 86 1765 89 1811 90 1855 93 1901 94 1945 97 1991 98 2036 101 2077 +102 2108 105 2151 106 2175 109 2218 110 2243 111 2288 114 2402 115 2456 3 2510 112 2562 +121 2655 123 2769 120 2823 125 2859 127 2973 7 3027 124 3079 131 3172 133 3286 130 3340 +161 3407 134 3741 135 3887 136 4033 137 4179 138 4325 139 4477 140 4629 141 4781 142 4932 +143 5083 144 5229 145 5381 146 5533 147 5679 148 5831 149 5976 150 6128 151 6280 152 6430 +153 6580 154 6731 155 6883 156 7035 157 7187 158 7333 159 7480 163 7626 164 7680 160 7734 % 1 0 obj << /S /GoTo /D (title.0) >> % 5 0 obj @@ -427,7 +420,7 @@ stream % 82 0 obj << /S /GoTo /D (subsection.6.5) >> % 85 0 obj -(6.5 Subroutine mld\137ml\137prec\137bld) +(6.5 Subroutine mld\137smoothers\137bld) % 86 0 obj << /S /GoTo /D (subsection.6.6) >> % 89 0 obj @@ -699,7 +692,7 @@ stream /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] -/Rect [108.968 353.671 269.106 365.361] +/Rect [108.968 355.792 281.36 365.361] /A << /S /GoTo /D (subsection.6.5) >> >> % 154 0 obj @@ -2125,7 +2118,7 @@ endstream endobj 361 0 obj << -/Length 8404 +/Length 8407 >> stream 0 g 0 G @@ -2196,9 +2189,9 @@ BT 0 g 0 G -13.94 -25.358 Td [(6.)]TJ 0 g 0 G -/F18 10.9091 Tf 13.94 0 Td [(Build)-457(the)-457(pr)51(e)51(c)51(onditioner)-457(for)-457(a)-457(given)-457(matrix.)]TJ/F15 10.9091 Tf 223.323 0 Td [(This)-441(is)-441(p)-28(erformed)-441(b)27(y)-441(the)-441(routine)]TJ/F44 10.9091 Tf -223.323 -13.55 Td [(mld_ml_prec_bld)]TJ/F15 10.9091 Tf 85.908 0 Td [(.)]TJ +/F18 10.9091 Tf 13.94 0 Td [(Build)-457(the)-457(pr)51(e)51(c)51(onditioner)-457(for)-457(a)-457(given)-457(matrix.)]TJ/F15 10.9091 Tf 223.323 0 Td [(This)-441(is)-441(p)-28(erformed)-441(b)27(y)-441(the)-441(routine)]TJ/F44 10.9091 Tf -223.323 -13.55 Td [(mld_smoothers_bld)]TJ/F15 10.9091 Tf 97.362 0 Td [(.)]TJ 0 g 0 G - -99.848 -25.357 Td [(7.)]TJ + -111.302 -25.357 Td [(7.)]TJ 0 g 0 G /F18 10.9091 Tf 13.94 0 Td [(Apply)-282(the)-281(pr)51(e)51(c)51(onditioner)-281(at)-282(e)51(ach)-282(iter)52(ation)-282(of)-282(a)-281(Krylov)-282(solver.)]TJ/F15 10.9091 Tf 288.311 0 Td [(This)-251(is)-250(p)-28(erformed)-250(b)27(y)]TJ -288.311 -13.55 Td [(the)-340(routine)]TJ/F44 10.9091 Tf 56.544 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 68.727 0 Td [(.)-465(When)-340(using)-340(the)-341(PSBLAS)-340(Krylo)28(v)-340(solv)28(ers,)-342(this)-341(step)-340(is)]TJ -125.271 -13.549 Td [(completely)-302(transparen)28(t)-301(to)-302(the)-302(user,)-308(since)]TJ/F44 10.9091 Tf 196.451 0 Td [(mld_precaply)]TJ/F15 10.9091 Tf 72.018 0 Td [(is)-302(called)-301(b)27(y)-301(the)-302(PSBLAS)]TJ -268.469 -13.549 Td [(routine)-333(implemen)28(ting)-334(the)-333(Krylo)28(v)-333(s)-1(ol)1(v)27(er)-333(\050)]TJ/F44 10.9091 Tf 195.909 0 Td [(psb_krylov)]TJ/F15 10.9091 Tf 57.272 0 Td [(\051.)]TJ 0 g 0 G @@ -2279,7 +2272,7 @@ endstream endobj 399 0 obj << -/Length 3481 +/Length 3483 >> stream 0 g 0 G @@ -2291,7 +2284,7 @@ BT 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -172.181 -30.995 Td [(use)-525(psb_base_mod)]TJ 0 -11.955 Td [(use)-525(mld_prec_mod)]TJ 0 -11.955 Td [(use)-525(psb_krylov_mod)]TJ -10.46 -11.956 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(sparse)-525(matrix)]TJ 10.46 -11.955 Td [(type\050psb_dspmat_type\051)-525(::)-525(A)]TJ -10.46 -11.955 Td [(!)-525(sparse)-525(matrix)-525(descriptor)]TJ 10.46 -11.955 Td [(type\050psb_desc_type\051)-1575(::)-525(desc_A)]TJ -10.46 -11.956 Td [(!)-525(preconditioner)]TJ 10.46 -11.955 Td [(type\050mld_dprec_type\051)-1050(::)-525(P)]TJ -10.46 -11.955 Td [(!)-525(right-hand)-525(side)-525(and)-525(solution)-525(vectors)]TJ 10.46 -11.955 Td [(type\050psb_d_vect_type\051)-525(::)-525(b,)-525(x)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(initialize)-525(the)-525(parallel)-525(environment)]TJ 10.46 -11.955 Td [(call)-525(psb_init\050ictxt\051)]TJ 0 -11.955 Td [(call)-525(psb_info\050ictxt,iam,np\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(read)-525(and)-525(assemble)-525(the)-525(matrix)-525(A)-525(and)-525(the)-525(right-hand)-525(side)-525(b)]TJ 0 -11.956 Td [(!)-525(using)-525(PSBLAS)-525(routines)-525(for)-525(sparse)-525(matrix)-525(/)-525(vector)-525(management)]TJ 0 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(initialize)-525(the)-525(default)-525(multi-level)-525(preconditioner,)-525(i.e.)-525(hybrid)]TJ 0 -11.955 Td [(!)-525(Schwarz,)-525(using)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)]TJ 0 -11.956 Td [(!)-525(as)-525(pre-)-525(and)-525(post-smoother)-525(and)-525(4)-525(block-Jacobi)-525(sweeps)]TJ 0 -11.955 Td [(!)-525(\050with)-525(UMFPACK)-525(LU)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarse-level)]TJ 0 -11.955 Td [(!)-525(solver.)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info\051)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(build)-525(the)-525(preconditioner)]TJ 10.46 -11.956 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -11.955 Td [(call)-525(mld_ml_prec_bld\050A,desc_A,P,info\051)]TJ -10.46 -23.91 Td [(!)]TJ 0 -11.955 Td [(!)-525(set)-525(the)-525(solver)-525(parameters)-525(and)-525(the)-525(initial)-525(guess)]TJ 10.46 -11.955 Td [(...)-525(...)]TJ -10.46 -11.956 Td [(!)]TJ 0 -11.955 Td [(!)-525(solve)-525(Ax=b)-525(with)-525(preconditioned)-525(BiCGSTAB)]TJ 10.46 -11.955 Td [(call)-525(psb_krylov\050'BICGSTAB',A,P,b,x,tol,desc_A,info\051)]TJ 0 -11.955 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(the)-525(preconditioner)]TJ 10.46 -11.956 Td [(call)-525(mld_precfree\050P,info\051)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(other)-525(data)-525(structures)]TJ 10.46 -11.955 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(exit)-525(the)-525(parallel)-525(environment)]TJ 10.46 -11.955 Td [(call)-525(psb_exit\050ictxt\051)]TJ 0 -11.955 Td [(stop)]TJ +/F44 9.9626 Tf -172.181 -30.995 Td [(use)-525(psb_base_mod)]TJ 0 -11.955 Td [(use)-525(mld_prec_mod)]TJ 0 -11.955 Td [(use)-525(psb_krylov_mod)]TJ -10.46 -11.956 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(sparse)-525(matrix)]TJ 10.46 -11.955 Td [(type\050psb_dspmat_type\051)-525(::)-525(A)]TJ -10.46 -11.955 Td [(!)-525(sparse)-525(matrix)-525(descriptor)]TJ 10.46 -11.955 Td [(type\050psb_desc_type\051)-1575(::)-525(desc_A)]TJ -10.46 -11.956 Td [(!)-525(preconditioner)]TJ 10.46 -11.955 Td [(type\050mld_dprec_type\051)-1050(::)-525(P)]TJ -10.46 -11.955 Td [(!)-525(right-hand)-525(side)-525(and)-525(solution)-525(vectors)]TJ 10.46 -11.955 Td [(type\050psb_d_vect_type\051)-525(::)-525(b,)-525(x)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(initialize)-525(the)-525(parallel)-525(environment)]TJ 10.46 -11.955 Td [(call)-525(psb_init\050ictxt\051)]TJ 0 -11.955 Td [(call)-525(psb_info\050ictxt,iam,np\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(read)-525(and)-525(assemble)-525(the)-525(matrix)-525(A)-525(and)-525(the)-525(right-hand)-525(side)-525(b)]TJ 0 -11.956 Td [(!)-525(using)-525(PSBLAS)-525(routines)-525(for)-525(sparse)-525(matrix)-525(/)-525(vector)-525(management)]TJ 0 -11.955 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(initialize)-525(the)-525(default)-525(multi-level)-525(preconditioner,)-525(i.e.)-525(hybrid)]TJ 0 -11.955 Td [(!)-525(Schwarz,)-525(using)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)]TJ 0 -11.956 Td [(!)-525(as)-525(pre-)-525(and)-525(post-smoother)-525(and)-525(4)-525(block-Jacobi)-525(sweeps)]TJ 0 -11.955 Td [(!)-525(\050with)-525(UMFPACK)-525(LU)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarse-level)]TJ 0 -11.955 Td [(!)-525(solver.)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info\051)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(build)-525(the)-525(preconditioner)]TJ 10.46 -11.956 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -11.955 Td [(call)-525(mld_smoothers_bld\050A,desc_A,P,info\051)]TJ -10.46 -23.91 Td [(!)]TJ 0 -11.955 Td [(!)-525(set)-525(the)-525(solver)-525(parameters)-525(and)-525(the)-525(initial)-525(guess)]TJ 10.46 -11.955 Td [(...)-525(...)]TJ -10.46 -11.956 Td [(!)]TJ 0 -11.955 Td [(!)-525(solve)-525(Ax=b)-525(with)-525(preconditioned)-525(BiCGSTAB)]TJ 10.46 -11.955 Td [(call)-525(psb_krylov\050'BICGSTAB',A,P,b,x,tol,desc_A,info\051)]TJ 0 -11.955 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(the)-525(preconditioner)]TJ 10.46 -11.956 Td [(call)-525(mld_precfree\050P,info\051)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.955 Td [(!)-525(deallocate)-525(other)-525(data)-525(structures)]TJ 10.46 -11.955 Td [(...)-525(...)]TJ -10.46 -11.955 Td [(!)]TJ 0 -11.956 Td [(!)-525(exit)-525(the)-525(parallel)-525(environment)]TJ 10.46 -11.955 Td [(call)-525(psb_exit\050ictxt\051)]TJ 0 -11.955 Td [(stop)]TJ 0 g 0 G /F15 10.9091 Tf -23.026 -20.748 Td [(Figure)-333(2:)-445(Setup)-333(and)-333(application)-333(of)-334(the)-333(default)-333(m)28(ulti-lev)27(el)-333(Sc)28(h)28(w)27(arz)-333(preconditioner.)]TJ 0 g 0 G @@ -2553,7 +2546,7 @@ endstream endobj 419 0 obj << -/Length 3583 +/Length 3588 >> stream 0 g 0 G @@ -2566,7 +2559,7 @@ BT 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -280.345 -15.625 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(hybrid)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(block)-525(Jacobi)-525(\050with)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(post-smoother,)]TJ 0 -11.955 Td [(!)-525(a)-525(coarsest)-525(matrix)-525(replicated)-525(on)-525(the)-525(processors,)-525(and)-525(the)]TJ 0 -11.956 Td [(!)-525(LU)-525(factorization)-525(from)-525(UMFPACK)-525(as)-525(coarse-level)-525(solver)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info\051)]TJ 0 -11.955 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -23.91 Td [(call_mld_precset\050P,'SMOOTHER_TYPE','BJAC',info\051)]TJ 0 -11.956 Td [(call_mld_precset\050P,'SMOOTHER_POS,'POST'w,info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,'COARSE_MAT','REPL',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,'COARSE_SOLVE','UMF',info\051)]TJ 0 -11.955 Td [(call)-525(mld_ml_prec_bld\050A,desc_A,P,info\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ +/F44 9.9626 Tf -280.345 -15.625 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(hybrid)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(block)-525(Jacobi)-525(\050with)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(post-smoother,)]TJ 0 -11.955 Td [(!)-525(a)-525(coarsest)-525(matrix)-525(replicated)-525(on)-525(the)-525(processors,)-525(and)-525(the)]TJ 0 -11.956 Td [(!)-525(LU)-525(factorization)-525(from)-525(UMFPACK)-525(as)-525(coarse-level)-525(solver)]TJ 10.46 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,'SMOOTHER_TYPE','BJAC',info\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,'SMOOTHER_POS,'POST'w,info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,'COARSE_MAT','REPL',info\051)]TJ 0 -11.956 Td [(call)-525(mld_precset\050P,'COARSE_SOLVE','UMF',info\051)]TJ 0 -11.955 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -23.91 Td [(call)-525(mld_smoothers_bld\050A,desc_A,P,info\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 g 0 G /F15 10.9091 Tf 34.98 -18.535 Td [(Figure)-333(3:)-445(Setup)-333(of)-333(a)-334(h)28(ybrid)-333(three-lev)28(el)-334(S)1(c)27(h)28(w)28(arz)-334(p)1(rec)-1(on)1(ditioner.)]TJ 0 g 0 G @@ -2576,7 +2569,7 @@ BT 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -34.98 -39.232 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(hybrid)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(block)-525(Jacobi)-525(\050with)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(post-smoother,)]TJ 0 -11.955 Td [(!)-525(a)-525(coarsest)-525(matrix)-525(replicated)-525(on)-525(the)-525(processors,)-525(and)-525(the)]TJ 0 -11.956 Td [(!)-525(multifrontal)-525(solver)-525(in)-525(MUMPS)-525(as)-525(coarse-level)-525(solver)]TJ 10.46 -23.91 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -23.91 Td [(call)-525(mld_precset\050P,mld_smoother_type_,'BJAC',info\051)]TJ 0 -11.956 Td [(call)-525(mld_precset\050P,mld_coarse_mat_,'REPL',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_solve_,'MUMPS',info\051)]TJ 0 -11.955 Td [(call)-525(mld_ml_prec_bld\050A,desc_A,P,info\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ +/F44 9.9626 Tf -34.98 -39.232 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(hybrid)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.955 Td [(!)-525(block)-525(Jacobi)-525(\050with)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(post-smoother,)]TJ 0 -11.955 Td [(!)-525(a)-525(coarsest)-525(matrix)-525(replicated)-525(on)-525(the)-525(processors,)-525(and)-525(the)]TJ 0 -11.956 Td [(!)-525(multifrontal)-525(solver)-525(in)-525(MUMPS)-525(as)-525(coarse-level)-525(solver)]TJ 10.46 -23.91 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_smoother_type_,'BJAC',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_mat_,'REPL',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,mld_coarse_solve_,'MUMPS',info\051)]TJ 0 -11.956 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -11.955 Td [(call)-525(mld_smoothers_bld\050A,desc_A,P,info\051)]TJ -10.46 -11.955 Td [(...)-525(...)]TJ 0 g 0 G /F15 10.9091 Tf 34.98 -18.535 Td [(Figure)-333(4:)-445(Setup)-333(of)-333(a)-334(h)28(ybrid)-333(three-lev)28(el)-334(S)1(c)27(h)28(w)28(arz)-334(p)1(rec)-1(on)1(ditioner.)]TJ 0 g 0 G @@ -2589,7 +2582,7 @@ endstream endobj 424 0 obj << -/Length 2092 +/Length 2096 >> stream 0 g 0 G @@ -2604,7 +2597,7 @@ BT 0 g 0 G 0 g 0 G 0 g 0 G -/F44 9.9626 Tf -380.918 -107.804 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(additive)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.956 Td [(!)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(pre-)-525(and)]TJ 0 -11.955 Td [(!)-525(post-smoother,)-525(and)-525(5)-525(block-Jacobi)-525(sweeps)-525(\050with)-525(UMFPACK)-525(LU)]TJ 0 -11.955 Td [(!)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarsest-level)-525(solver)]TJ 10.461 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call)-525(mld_ml_prec_bld\050A,desc_A,P,info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,'ML_TYPE','ADD',info\051)]TJ 0 -11.956 Td [(call_mld_precset\050P,'SMOOTHER_POS','TWOSIDE',info\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,'COARSE_SWEEPS',5,info\051)]TJ 0 -11.955 Td [(call)-525(mld_ml_prec_bld\050A,desc_A,P,info\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ +/F44 9.9626 Tf -380.918 -107.804 Td [(...)-525(...)]TJ 0 -11.955 Td [(!)-525(set)-525(a)-525(three-level)-525(additive)-525(Schwarz)-525(preconditioner,)-525(which)-525(uses)]TJ 0 -11.956 Td [(!)-525(RAS)-525(\050with)-525(overlap)-525(1)-525(and)-525(ILU\0500\051)-525(on)-525(the)-525(blocks\051)-525(as)-525(pre-)-525(and)]TJ 0 -11.955 Td [(!)-525(post-smoother,)-525(and)-525(5)-525(block-Jacobi)-525(sweeps)-525(\050with)-525(UMFPACK)-525(LU)]TJ 0 -11.955 Td [(!)-525(on)-525(the)-525(blocks\051)-525(as)-525(distributed)-525(coarsest-level)-525(solver)]TJ 10.461 -11.955 Td [(call)-525(mld_precinit\050P,'ML',info,nlev=3\051)]TJ 0 -11.955 Td [(call)-525(mld_precset\050P,'ML_TYPE','ADD',info\051)]TJ 0 -11.955 Td [(call_mld_precset\050P,'SMOOTHER_POS','TWOSIDE',info\051)]TJ 0 -11.956 Td [(call)-525(mld_precset\050P,'COARSE_SWEEPS',5,info\051)]TJ 0 -11.955 Td [(call)-525(mld_hierarchy_bld\050A,desc_A,P,info\051)]TJ 0 -11.955 Td [(call)-525(mld_smoothers_bld\050A,desc_A,P,info\051)]TJ -10.461 -11.955 Td [(...)-525(...)]TJ 0 g 0 G /F15 10.9091 Tf 28.329 -18.535 Td [(Figure)-333(5:)-445(Setup)-333(of)-333(an)-333(additiv)27(e)-333(three-lev)28(el)-334(Sc)28(h)28(w)28(arz)-334(p)1(re)-1(cond)1(itioner.)]TJ 0 g 0 G @@ -2989,7 +2982,7 @@ stream >> % 369 0 obj << -/D [360 0 R /XYZ 86.4 179.198 null] +/D [360 0 R /XYZ 86.4 180.584 null] >> % 359 0 obj << @@ -3283,7 +3276,7 @@ stream >> % 414 0 obj << -/D [418 0 R /XYZ 189.762 274.277 null] +/D [418 0 R /XYZ 189.762 286.233 null] >> % 417 0 obj << @@ -5350,7 +5343,7 @@ endstream endobj 506 0 obj << -/Length 5866 +/Length 5762 >> stream 0 g 0 G @@ -5376,24 +5369,17 @@ q []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 213.457 500.843 Td [(ml)]TJ -ET -q -1 0 0 1 229.208 501.042 cm -[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S -Q -BT -/F17 11.9552 Tf 233.243 500.843 Td [(prec)]TJ +/F17 11.9552 Tf 213.457 500.843 Td [(smo)-31(others)]TJ ET q -1 0 0 1 259.129 501.042 cm +1 0 0 1 274.238 501.042 cm []0 d 0 J 0.398 w 0 0 m 4.035 0 l S Q BT -/F17 11.9552 Tf 263.164 500.843 Td [(bld)]TJ +/F17 11.9552 Tf 278.272 500.843 Td [(bld)]TJ 0 g 0 G 0 g 0 G -/F44 10.9091 Tf -62.174 -20.595 Td [(mld_ml_prec_bld\050a,desc_a,p,info\051)]TJ/F15 10.9091 Tf -114.59 -25.504 Td [(This)-318(routine)-319(builds)-318(the)-319(preconditioner)-318(according)-318(to)-319(the)-318(requiremen)27(ts)-318(made)-319(b)28(y)-318(the)-319(user)]TJ 0 -13.549 Td [(through)-230(the)-230(routines)]TJ/F44 10.9091 Tf 98.562 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 71.237 0 Td [(and)]TJ/F44 10.9091 Tf 20.086 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 63 0 Td [(,)-251(based)-230(on)-230(the)-230(aggregation)-230(hierah)28(y)]TJ -252.885 -13.549 Td [(pro)-28(duced)-333(b)28(y)-333(a)-334(previous)-333(call)-333(to)]TJ/F44 10.9091 Tf 148.606 0 Td [(mld_hierarchy_bld)]TJ/F15 10.9091 Tf 100.999 0 Td [(\050see)-333(Sec.)]TJ +/F44 10.9091 Tf -83.009 -20.595 Td [(mld_smoothers_bld\050a,desc_a,p,info\051)]TJ/F15 10.9091 Tf -108.863 -25.504 Td [(This)-318(routine)-319(builds)-318(the)-319(preconditioner)-318(according)-318(to)-319(the)-318(requiremen)27(ts)-318(made)-319(b)28(y)-318(the)-319(user)]TJ 0 -13.549 Td [(through)-230(the)-230(routines)]TJ/F44 10.9091 Tf 98.562 0 Td [(mld_precinit)]TJ/F15 10.9091 Tf 71.237 0 Td [(and)]TJ/F44 10.9091 Tf 20.086 0 Td [(mld_precset)]TJ/F15 10.9091 Tf 63 0 Td [(,)-251(based)-230(on)-230(the)-230(aggregation)-230(hierah)28(y)]TJ -252.885 -13.549 Td [(pro)-28(duced)-333(b)28(y)-333(a)-334(previous)-333(call)-333(to)]TJ/F44 10.9091 Tf 148.606 0 Td [(mld_hierarchy_bld)]TJ/F15 10.9091 Tf 100.999 0 Td [(\050see)-333(Sec.)]TJ 0 0 1 rg 0 0 1 RG [-334(6.4)]TJ 0 g 0 G @@ -5579,19 +5565,19 @@ endobj /Type /ObjStm /N 100 /First 887 -/Length 11999 +/Length 11996 >> stream 421 0 425 146 415 200 416 257 422 314 429 407 427 541 431 692 63 746 428 799 436 970 434 1120 432 1266 433 1409 438 1556 67 1610 435 1663 445 1782 439 1948 440 2092 441 2237 442 2381 443 2525 447 2672 71 2726 444 2779 453 2898 451 3056 448 3202 449 3345 450 3490 455 3637 456 3691 457 3745 458 3799 459 3853 452 3907 462 4013 464 4127 371 4181 -461 4239 467 4332 465 4466 469 4612 470 4666 466 4724 472 4856 474 4970 475 5024 471 5083 -478 5202 476 5336 480 5482 481 5536 477 5594 483 5752 485 5866 372 5920 482 5979 496 6124 -494 6298 486 6444 487 6596 488 6748 489 6902 490 7055 498 7201 75 7255 79 7308 495 7361 -505 7480 491 7662 492 7816 493 7969 500 8115 501 8267 502 8417 503 8571 507 8718 83 8772 -504 8825 511 8944 509 9086 508 9232 513 9378 87 9432 510 9485 516 9656 514 9790 518 9937 -91 9991 515 10044 522 10163 520 10305 519 10451 524 10598 95 10652 521 10705 527 10824 525 10958 +461 4239 467 4332 465 4466 469 4612 470 4666 466 4724 472 4856 474 4970 475 5024 471 5080 +478 5199 476 5333 480 5479 481 5533 477 5591 483 5749 485 5863 372 5917 482 5976 496 6121 +494 6295 486 6441 487 6593 488 6745 489 6899 490 7052 498 7198 75 7252 79 7305 495 7358 +505 7477 491 7659 492 7813 493 7966 500 8112 501 8264 502 8414 503 8568 507 8715 83 8769 +504 8822 511 8941 509 9083 508 9229 513 9375 87 9429 510 9482 516 9653 514 9787 518 9934 +91 9988 515 10041 522 10160 520 10302 519 10448 524 10595 95 10649 521 10702 527 10821 525 10955 % 421 0 obj << /Type /Annot @@ -5865,7 +5851,7 @@ stream >> % 470 0 obj << -/D [467 0 R /XYZ 491.768 4358.278 null] +/D [467 0 R /XYZ 491.687 4358.278 null] >> % 466 0 obj << @@ -5886,7 +5872,7 @@ stream >> % 475 0 obj << -/D [472 0 R /XYZ -4005.855 511.808 null] +/D [472 0 R /XYZ 74.842 511.808 null] >> % 471 0 obj << @@ -9326,8 +9312,8 @@ endobj 643 0 obj << /Title (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS, V. 2.1) /Subject (MultiLevel Domain Decomposition Parallel Preconditioners Package) /Keywords (Parallel Numerical Software, Algebraic Multilevel Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 2008-04-08 Pasqua D'Ambra, Daniela di Serafino, Salvatore Filippone$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.15)/Keywords() -/CreationDate (D:20160609154856+01'00') -/ModDate (D:20160609154856+01'00') +/CreationDate (D:20161004163334+01'00') +/ModDate (D:20161004163334+01'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) kpathsea version 6.2.0) >> @@ -9834,20 +9820,19 @@ endobj /W [1 3 1] /Root 642 0 R /Info 643 0 R -/ID [<9145649AAA5BD0221CB04B6166F54681> <9145649AAA5BD0221CB04B6166F54681>] +/ID [<51E6B8BFBA392FF051915CB78826516F> <51E6B8BFBA392FF051915CB78826516F>] /Length 3225 >> stream -2:`(A`' `&`%(`$  -)`#  *`" 2`!A` B`K`[`6 `6/`6H`` `!"`#$C`%&D`'(O`)*U`+,Z`-.``/0`12`34 `567;89U`]`><=B?3@\VEC)DGHIJKLMNOPQRSTUVWXYZ[\]^_`cFabTT  - U]c X``'."! (u^` !"#$%&+'$#./0-3,1%6458:7H9`=;<?C>@EFGHIOLDJPQRSTUVWXYabN_M Z[b_YW\]^,-&c66`XX666666 66 6o6 -`66666666 6^Za66666666"6666 6!6$6%6&6'6(6)6*6+6,6-676#'w6.606162636465666\'96:6;6<6=6>6?6@6A6B6C6D6E6P6Q6R6S696I68H6F6G6L6`6M6Ji6K6T6U6V6W6X6Y6Z6O6]6Nw6[`6a6b6^6_6c'T     -B -Y$%% !"#`(%8&*-)J+,1.v/0362845:78=>?@AGHI<E;B`JKLMPFNSRVQTX[W=_Y^]a\C_cbL\X`  -*   )/*+0123456789:;<=>?@ABC]`DEFYGH:IgJKL%MDNjOPkQR1S` -` ` ` `)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F 6 +2?:`(A`' `&`%(`$  +)`#  *`" 2`!A` B`K`[`6 `6/`6H`` `!"`#$C`%&D`'(O`)*U`+,Z`-.``/0`12`34 `567;89U`]`><=B?3@\VEC)DGHIJKLMNOPQRSTUVWXYZ[\]^_`cFabTT[+  + Tc X``'."! (tk` !"#$%&+9'$#./0-3,1%6458:79`=;t<?C>B@EFGHIOLDJPQRSTUVWXYabN_MZ[b_YW\]^,-&c66`W6&66666 66 66 +`66666666 6^Za66666666"6u666 6!6$6%6&6'6(6)6*6+6,6-676#'6.606162636465666\'96:6;6<6=6>6?6@6A6B6C6D6E6P6Q6R6S696I68H6F6G6L6`6M6Jii6K6T6U6V6W6X6Y6Z6O6]6Nw@6[`6a6b6^z6_6cSL ]    + $$ !"#`(%8w&*-)J(+,1.vm/036245:7Ű8=>?@AGHI<E;B`JKLMPF,NSRVQTX[W<Y^]a\B_cbL`  +V  @ )H/*)+0123456789:;<=>?@ABJC\D=EFGH:%Ig+JKL%MCNiEOPQ:R1 S` +` ` ` `)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F+b endstream endobj startxref -589878 +589666 %%EOF diff --git a/docs/src/gettingstarted.tex b/docs/src/gettingstarted.tex index 13aad98d..f20d9752 100644 --- a/docs/src/gettingstarted.tex +++ b/docs/src/gettingstarted.tex @@ -40,7 +40,7 @@ The following steps are required: preconditioner parameters and their allowed and default values is provided in Section~\ref{sec:userinterface}, Tables~\ref{tab:p_type}-\ref{tab:p_coarse}. \item \emph{Build the preconditioner for a given matrix.} This is performed by - the routine \verb|mld_ml_prec_bld|. + the routine \verb|mld_smoothers_bld|. \item \emph{Apply the preconditioner at each iteration of a Krylov solver.} This is performed by the routine \verb|mld_precaply|. When using the PSBLAS Krylov solvers, this step is completely transparent to the user, since \verb|mld_precaply| is called @@ -183,7 +183,7 @@ the corresponding Fortran 95 codes are available in \verb|examples/fileread/|. ! ! build the preconditioner call mld_hierarchy_bld(A,desc_A,P,info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_smoothers_bld(A,desc_A,P,info) ! ! set the solver parameters and the initial guess @@ -270,13 +270,13 @@ boundary conditions are also available in the directory \verb|examples/pdegen|. ! a coarsest matrix replicated on the processors, and the ! LU factorization from UMFPACK as coarse-level solver call mld_precinit(P,'ML',info) - call mld_hierarchy_bld(A,desc_A,P,info) - call_mld_precset(P,'SMOOTHER_TYPE','BJAC',info) call_mld_precset(P,'SMOOTHER_POS,'POST'w,info) call mld_precset(P,'COARSE_MAT','REPL',info) call mld_precset(P,'COARSE_SOLVE','UMF',info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_hierarchy_bld(A,desc_A,P,info) + + call mld_smoothers_bld(A,desc_A,P,info) ... ... \end{verbatim} } @@ -298,12 +298,11 @@ boundary conditions are also available in the directory \verb|examples/pdegen|. ! multifrontal solver in MUMPS as coarse-level solver call mld_precinit(P,'ML',info,nlev=3) - call mld_hierarchy_bld(A,desc_A,P,info) - call mld_precset(P,mld_smoother_type_,'BJAC',info) call mld_precset(P,mld_coarse_mat_,'REPL',info) call mld_precset(P,mld_coarse_solve_,'MUMPS',info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_hierarchy_bld(A,desc_A,P,info) + call mld_smoothers_bld(A,desc_A,P,info) ... ... \end{verbatim} } @@ -325,11 +324,11 @@ boundary conditions are also available in the directory \verb|examples/pdegen|. ! post-smoother, and 5 block-Jacobi sweeps (with UMFPACK LU ! on the blocks) as distributed coarsest-level solver call mld_precinit(P,'ML',info,nlev=3) - call mld_ml_prec_bld(A,desc_A,P,info) call mld_precset(P,'ML_TYPE','ADD',info) call_mld_precset(P,'SMOOTHER_POS','TWOSIDE',info) call mld_precset(P,'COARSE_SWEEPS',5,info) - call mld_ml_prec_bld(A,desc_A,P,info) + call mld_hierarchy_bld(A,desc_A,P,info) + call mld_smoothers_bld(A,desc_A,P,info) ... ... \end{verbatim} } diff --git a/docs/src/precs.tex b/docs/src/precs.tex index c40097e0..582b2b12 100644 --- a/docs/src/precs.tex +++ b/docs/src/precs.tex @@ -169,6 +169,98 @@ of \verb|what| input as follows \item[mld\_coarse\_mat\_] \end{description} +\subroutine{mld\_hierarchy\_bld}{Builds a matrix hierarchy} + +\syntax{call mld\_hierarchy\_bld}{a, desc\_a, prec, info} + +\begin{description} +\item[Type:] Synchronous. +\item[\bf On Entry] +\item[a] the system sparse matrix. +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf in}, target.\\ +Specified as: a sparse matrix data structure \spdata. +\item[prec] the preconditioner.\\ +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf inout}.\\ +Specified as: an already initialized precondtioner data structure \precdata\\ +\item[desc\_a] the problem communication descriptor. +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf in}, target.\\ +Specified as: a communication descriptor data structure \descdata. +%% \item[upd] +%% Scope: {\bf global} \\ +%% Type: {\bf optional}\\ +%% Intent: {\bf in}.\\ +%% Specified as: a character. +\end{description} + +\begin{description} +\item[\bf On Return] +\item[prec] the preconditioner, with all the matrices and transfer + operators updated.\\ +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf inout}.\\ +Specified as: a precondtioner data structure \precdata\\ +\item[info] Error code.\\ +Scope: {\bf local} \\ +Type: {\bf required} \\ +Intent: {\bf out}.\\ +An integer value; 0 means no error has been detected. +\end{description} + + +\subroutine{mld\_smoothers\_bld}{Builds the smoothers} + +\syntax{call mld\_smoothers\_bld}{a, desc\_a, prec, info} + +\begin{description} +\item[Type:] Synchronous. +\item[\bf On Entry] +\item[a] the system sparse matrix. +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf in}, target.\\ +Specified as: a sparse matrix data structure \spdata. +\item[prec] the preconditioner.\\ +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf inout}.\\ +Specified as: an already initialized precondtioner data structure +\precdata\ with an already built matrix hierarchy \\ +\item[desc\_a] the problem communication descriptor. +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf in}, target.\\ +Specified as: a communication descriptor data structure \descdata. +%% \item[upd] +%% Scope: {\bf global} \\ +%% Type: {\bf optional}\\ +%% Intent: {\bf in}.\\ +%% Specified as: a character. +\end{description} + +\begin{description} +\item[\bf On Return] +\item[prec] the preconditioner, with all the smoothers and solvers + updated.\\ +Scope: {\bf local} \\ +Type: {\bf required}\\ +Intent: {\bf inout}.\\ +Specified as: a precondtioner data structure \precdata\\ +\item[info] Error code.\\ +Scope: {\bf local} \\ +Type: {\bf required} \\ +Intent: {\bf out}.\\ +An integer value; 0 means no error has been detected. +\end{description} + + + \subroutine{mld\_precbld}{Builds a preconditioner} @@ -214,6 +306,10 @@ An integer value; 0 means no error has been detected. \end{description} +\subsection*{Usage Notes} +A call to this routine is equivalent to a call to +\verb|mld_hierarchy_bld| followed by a call to \verb|mld_smnoothers_bld|. + \subroutine{mld\_precaply}{Preconditioner application routine} diff --git a/docs/src/userinterface.tex b/docs/src/userinterface.tex index 455cc76f..bb500435 100644 --- a/docs/src/userinterface.tex +++ b/docs/src/userinterface.tex @@ -494,7 +494,7 @@ the user through the routines \verb|mld_precinit| and \verb|mld_precset|. For multilevel preconditioner this routine is supported for backward compatibility, but we recommend to use the routines of -Sec.~\ref{sec:hier_bld} and~\ref{sec:ml_prec_bld}. +Sec.~\ref{sec:hier_bld} and~\ref{sec:smoothers_bld}. {\vskip2\baselineskip\noindent\large\bfseries Arguments} \begin{tabular}{p{1.2cm}p{12cm}} @@ -544,10 +544,10 @@ single/double precision version of MLD2P4 under use. \end{tabular} -\subsection{Subroutine mld\_ml\_prec\_bld\label{sec:ml_prec_bld}} +\subsection{Subroutine mld\_smoothers\_bld\label{sec:smoothers_bld}} \begin{center} -\verb|mld_ml_prec_bld(a,desc_a,p,info)|\\ +\verb|mld_smoothers_bld(a,desc_a,p,info)|\\ \end{center} \noindent