[petsc-users] 2-norm of solution update suddenly becomes zero after a few iterations

baikadi pranay pranayreddy865 at gmail.com
Sat Aug 22 17:14:09 CDT 2020


Hi,
Thank you for the suggestions. I am attaching a text file which might help
you better understand the problem.
1) The first column is iteration number of the outer loop (not that of
BiCGStab itself, but the loop I mentioned previously)
2) The second column is the output from KSPGetConvergedReason().
3) The third column is the 2-norm of the solution update || xi-xi-1||2
4) The last column is the infinity norm of the solution update  || xi-xi-1||
∞

As can be seen from the file, both the 2-norm and the infinity norm are
highly oscillating and become zero at the end. Please let me know if any
more information is required.

Best Regards,
Pranay.
ᐧ

On Sat, Aug 22, 2020 at 8:10 AM Barry Smith <bsmith at petsc.dev> wrote:

>
>
>   Pranay
>
>    Newton's method is generally the best choice for nonlinear problems as
> Matt notes but PETSc also provides an implementation of Picard's method
> with SNESSetPicard()
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/SNESSetPicard.html
>
>    We implement the defect correction form of the Picard iteration because
> it converges much more generally when inexact linear solvers are used then
> the direct Picard iteration A(x^n) x^{n+1} = b(x^n), which is what Matt
> just said.
>
>    Based on your email it looks like you using the direct Picard iteration
> algorithm.
>
>    With your current code you can likely easily switch to
> trying SNESSetPicard() and then switch to trying Newton with
>  SNESSetFunction(),
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/SNESSetFunction.html
> and SNESSetJacobian()
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/SNESSetJacobian.html
>
>    PETSc is designed to make it as simple as possible to switch between
> various algorithms to help determine the best for your exact problem.
>
>    SNES uses KSP for is linear solvers so you get full access to all the
> possible preconditioners, for larger problems as Matt notes, once you have
> the best nonlinear convergence selected tuning the linear solver is the
> most important thing to do for speed. We recommend when possible first
> getting good nonlinear convergence using a direct linear solver and then
> switching to an iterative solver as an optimization, for large problems you
> almost always should to switch to an iterative solver when the problem size
> increases.
>
>     Barry
>
>
> On Aug 22, 2020, at 7:24 AM, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Sat, Aug 22, 2020 at 2:07 AM baikadi pranay <pranayreddy865 at gmail.com>
> wrote:
>
>> Hello,
>>
>> I am trying to solve the Poisson equation in 2D for heterostructure
>> devices. I have linearized the equation and discretized it using FDM. I am
>> using BiCGStab to iteratively solve for the solution as follows:
>>
>> Step 1: Solve A^(i-1) x^(i) = b^(i-1)     {i = 1 to N where convergence
>> is reached}
>> Step 2: Use x^{i} to update the central coefficients of A^{i-1} to get
>> A^{i} and                          similarly  update b^{i-1} to get b^{i}
>> Step3: If ( ||x^{i}-x^{i-1}||_2 , the 2-norm of the solution update, is
>> greater than a                     tolerance, then go back to Step 1  to
>> solve the new system of equations                     using BiCGStab. Else,
>> exit the loop.
>> *1) I am facing the following problem with this procedure*:
>> The 2-norm of the solution update is suddenly becoming zero after a few
>> iterations in some cases. I print out the getconvergedreason and there are
>> not red flags there, so I am kind of confused whey this behaviour is being
>> observed. This behaviour is leading to "false convergences", in the sense
>> that the solutions obtained are not physical.
>>
>> A similar behaviour was observed when I used SOR instead of BiCGStab. At
>> this point I am starting to suspect if it is wrong to use linear solvers on
>> the poisson equation which is a nonlinear equation (although linearized).
>> If you could please comment on this, that would be very helpful.
>>
>> Any help with this problem is greatly appreciated. Please let me know if
>> you need any further information.
>>
>
> 1) You are coding up the Picard method by hand to solve your nonlinear
> equation. If the operator is not contractive, this can stagnate, as you are
> seeing. You
>     could try another solver, like Newton's method. We have a variety of
> nonlinear solves in the SNES class.
>
> 2) It is not clear from your description whether you linear solver is
> converging. BiCGStab without a preconditioner is a terrible solver for
> Poisson. We usually
>     recommend starting with Algebraic Multigrid, like Hypre which is great
> at 2D Poisson. You can monitor the convergence of your linear solver using
>
>       -knp_monitor_true_solution -ksp_converged_reason
>
>    We want to see this information with any questions about convergence.
>
>   Thanks,
>
>      Matt
>
>
>> Thank you,
>>
>> Sincerely,
>> Pranay.
>>
>>>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200822/3f904ce1/attachment.html>
-------------- next part --------------
   1    2    13124.30945      390.72893
   2    2     7631.38526       83.77839
   3    2     3628.89484       22.70774
   4    2     2835.57475       16.24984
   5    2     1118.29504       52.39736
   6    2      201.33808        5.93052
   7    2      152.59920        2.10226
   8    2      135.95135        8.68023
   9    2      162.77195       49.23192
  10    2      146.73950       53.37312
  11    2      110.92144       37.54294
  12    2       62.47228       12.88331
  13    2       59.92464        8.22509
  14    2      118.13048       49.34283
  15    2       74.24096       17.75077
  16    2      113.74954       33.55566
  17    2       57.55951        6.03360
  18    2       57.31492        8.76227
  19    2       59.64794        8.12482
  20    2      124.94885       35.86473
  21    2       83.40711       22.57516
  22    2       54.06012        3.11328
  23    2       53.95904        2.23418
  24    2       54.11551        4.61540
  25    2      101.26445       33.92082
  26    2       55.20264        8.28690
  27    2       52.16077        4.67542
  28    2       52.46353        7.96665
  29    2       50.40224        5.04300
  30    2       64.34241       15.84481
  31    2       97.33783       29.84633
  32    2       49.88432        9.48937
  33    2       48.35499        6.81308
  34    2       56.02825       16.59957
  35    2       44.94613        3.68454
  36    2       45.31085        5.02417
  37    2       46.45370        7.86148
  38    2       48.35202        7.45577
  39    2      159.02393       60.69175
  40    2      140.68775       42.35607
  41    2       63.85090       14.53674
  42    2       44.69606        2.33555
  43    2       46.08288        3.53488
  44    2       50.53235       11.96550
  45    2      102.94297       24.58494
  46    2      154.02986       40.02237
  47    2       47.04888        6.31340
  48    2       52.00559        8.76507
  49    2      147.79451       35.21966
  50    2      136.99033       31.78769
  51    2       50.85379        8.06005
  52    2      100.42847       15.81859
  53    2      562.54537      104.29386
  54    2       50.06653        1.99792
  55    2       55.31731        7.42284
  56    2      444.96391      107.83397
  57    2       84.10197       16.58726
  58    2      394.20170       87.15730
  59    2       70.09014       11.32516
  60    2      179.69804       42.51805
  61    2       53.12296        8.11494
  62    2       57.90019       10.78737
  63    2      185.69650       35.65920
  64    2      304.99610       60.21665
  65    2       50.43410        5.79141
  66    2      131.31947       19.13589
  67    2      459.10314       78.69138
  68    2       44.83491        4.06550
  69    2       54.81529       10.66011
  70    2      228.15471       78.58078
  71    2      101.79257       23.86673
  72    2      480.58671       64.86570
  73    2      279.27030       24.60649
  74    2     1005.79888      103.74193
  75    2     1254.44115      111.83908
  76    2      657.22281       82.86932
  77    2       56.37964        2.34575
  78    2       59.73578        8.19196
  79    2       65.20465       12.30647
  80    2       63.69281        2.03619
  81    2       68.67820        1.91895
  82    2       79.25878        2.39632
  83    2      103.49986        7.63864
  84    2      414.29181       33.46999
  85    2      767.31593       61.80309
  86    2      523.70259       29.21437
  87    2     1086.23508       40.38881
  88    2     3366.14573       97.62876
  89    2     2852.64799      127.31142
  90    2      144.41587        1.59447
  91    2      136.49564        3.41243
  92    2      116.30267       13.21697
  93    2      101.51899        8.39333
  94    2       80.89365        4.03447
  95    2       64.63812       10.91171
  96    2       47.41314        4.94550
  97    2       45.64313        6.54045
  98    2       42.12346        1.50149
  99    2       40.23948        2.23758
 100    2       47.95494        6.17719
 101    2       44.51530        5.69793
 102    2       46.68990       11.25752
 103    2       44.72751        2.94589
 104    2       48.84677       11.22236
 105    2       41.34298        4.57479
 106    2       43.11769        1.61734
 107    2       40.16490        3.53333
 108    2       44.19556       12.87755
 109    2       36.78342        2.58973
 110    2       45.25303        7.97519
 111    2       34.42245        5.97650
 112    2       37.20395       11.57894
 113    2       36.99031        8.18363
 114    2       30.04802        4.24234
 115    2       29.05911        1.93466
 116    2       30.65247        5.52962
 117    2       39.25919       12.60553
 118    2       31.37479        6.23143
 119    2       32.95480        8.71476
 120    2       33.34683        9.14877
 121    2       28.64018        2.23928
 122    2       30.96161        6.73283
 123    2       32.27548        6.66316
 124    2       38.87176       13.60993
 125    2       28.34918        2.28963
 126    2       30.89377        7.04422
 127    2       30.69550        6.49067
 128    2       28.73492        2.87596
 129    2       33.50048        9.39073
 130    2       29.46175        3.39530
 131    2       36.49282       11.61143
 132    2       31.79454        6.72216
 133    2       30.31759        4.56391
 134    2       42.75370       14.83077
 135    2       32.16942        8.62399
 136    2       29.02617        4.69046
 137    2       28.32183        2.90256
 138    2       33.24142        9.42903
 139    2       34.48308        9.68168
 140    2       35.92134       10.54897
 141    2       38.29803        8.11770
 142    2       43.13167       14.46956
 143    2       28.45875        1.64274
 144    2       32.15664        3.74557
 145    2       47.83797       15.08145
 146    2       31.07124        4.13721
 147    2       34.89141        5.90824
 148    2       45.91680       14.25379
 149    2       29.01324        2.38663
 150    2       32.35149        7.58427
 151    2       31.88630        6.05307
 152    2       41.04729        8.80713
 153    2       45.83311       11.50142
 154    2       37.92755        5.60077
 155    2       57.60880       15.66695
 156    2       36.78120        3.17010
 157    2       40.80703        3.75769
 158    2       63.20205       16.52362
 159    2       43.99623        3.38244
 160    2       43.41530        3.44272
 161    2       48.83611        7.69024
 162    2       48.02654        4.55997
 163    2       46.76826        2.01315
 164    2       57.05013        6.56364
 165    2       84.48355       17.53791
 166    2       56.78274        5.66436
 167    2       84.23674       19.89337
 168    2       50.49174        3.74315
 169    2       60.20342        5.85562
 170    2       54.14879        4.05940
 171    2      189.21591       72.41638
 172    2      124.19466       50.48550
 173    2       81.58599       18.93813
 174    2       75.36313        9.28344
 175    2      115.81593       25.39800
 176    2      102.71146       24.48289
 177    2       63.24702        7.47907
 178    2      105.46140       25.57530
 179    2       42.47659        9.02126
 180    2       57.00335        9.05072
 181    2       67.50768        8.50419
 182    2      138.45400       29.51914
 183    2       92.12635       16.93663
 184    2      101.38409       21.50513
 185    2       66.64650       10.78565
 186    2      129.47977       34.04078
 187    2       38.42077        8.04871
 188    2       55.73455       10.12391
 189    2       57.09683        7.17040
 190    2      100.29849       12.89213
 191    2      212.18613       32.00684
 192    2       76.18711        9.93337
 193    2      140.57416       35.17933
 194    2       37.95314        8.72272
 195    2       66.64926       14.64538
 196    2       48.09355        9.37456
 197    2       68.81235       13.34293
 198    2      142.85657       38.69665
 199    2      108.57613       17.95671
 200    2      121.33428       32.36562
 201    2      159.28792       39.30868
 202    2       80.03162       15.72035
 203    2       85.57498       18.27559
 204    2      133.66726       33.96868
 205    2      153.44562       35.79877
 206    2       67.59698       16.33144
 207    2      170.34290       42.72268
 208    2       74.93545       16.60116
 209    2      149.92604       42.60370
 210    2      129.23181       22.91909
 211    2      169.72095       35.29440
 212    2      173.62245       39.32415
 213    2      110.22268       20.48081
 214    2      251.86620       48.34705
 215    2      566.88933       88.52235
 216    2      832.93588       97.99458
 217    2      578.54941       88.60411
 218    2      172.77563       29.03878
 219    2     1163.93830      109.84525
 220    2      897.87959      116.96158
 221    2     1029.20109      115.61124
 222    2     2304.85722      115.83554
 223    2     2492.73911      115.17508
 224    2     2841.14228      124.36860
 225    2     1626.63461      122.73285
 226    2      264.21654       50.97592
 227    2      638.83174      101.83662
 228    2      776.23451       95.92944
 229    2      198.46686       38.58590
 230    2       67.98385        7.54171
 231    2       55.55435        1.37469
 232    2       56.00709        1.78829
 233    2       58.59405        1.92599
 234    2       63.32928        1.55966
 235    2       76.63288        3.01666
 236    2      119.21013        6.71854
 237    2      217.36198       20.07005
 238    2       98.10471        4.08328
 239    2      158.50519       18.27863
 240    2      132.44524        6.77678
 241    2      181.56934       27.83192
 242    2      234.13469       10.53000
 243    2      866.27178       72.24490
 244    2      536.06810       26.51613
 245    2      733.03491       34.84524
 246    2      545.75933       15.97669
 247    2      776.70681       34.06130
 248    2     2151.03393       41.24975
 249    2     1573.39566       46.18526
 250    2     3339.70076       56.70606
 251    2    16834.87050      140.54872
 252    2    18807.89700      170.68123
 253    2      972.59103       56.53599
 254    2      470.87485        4.91924
 255    2      463.44086       40.01454
 256    2      432.69679        4.34140
 257    2      421.70473        2.61176
 258    2      435.00925       19.69636
 259    2      626.86302      114.24779
 260    2      408.66518        2.00536
 261    2      420.56472        1.99646
 262    2      420.08806        1.98525
 263    2      399.15693        1.94706
 264    2      415.12787        1.95216
 265    2      407.06814        1.94565
 266    2      416.15120        1.96190
 267    2      411.03292        1.96881
 268    2      423.88868        2.01362
 269    2      422.64839        2.04560
 270    2      430.37453        2.10408
 271    2      436.93216        2.20171
 272    2      434.55991        2.31131
 273    2      369.99956        2.25757
 274    2      229.52903        1.39717
 275    2      168.52262        1.00000
 276    2      167.21900        1.00000
 277    2      167.33114        1.00000
 278    2      165.29601        1.00000
 279    2      166.13481        1.00000
 280    2      165.18580        1.00000
 281    2      163.02447        1.00000
 282    2      160.83555        1.00000
 283    2      163.40987        1.00000
 284    2      155.88426        1.00000
 285    2      156.72291        1.00000
 286    2      155.05760        1.00000
 287    2      152.73031        1.00001
 288    2      149.54299        1.00000
 289    2      151.38646        1.00000
 290    2      145.49351        1.00000
 291    2      144.41058        1.00001
 292    2      142.85468        1.00000
 293    2      139.31548        1.00002
 294    2      138.50696        1.00001
 295    2      135.65517        1.00001
 296    2      133.26915        1.00000
 297    2      131.12657        1.00000
 298    2      128.02357        1.00001
 299    2      125.81751        1.00001
 300    2      123.18214        1.00005
 301    2      119.85496        1.00002
 302    2      116.95172        1.00005
 303    2      113.37712        1.00002
 304    2      109.87568        1.00003
 305    2      105.81895        1.00004
 306    2      101.29727        1.00008
 307    2       96.31139        1.00017
 308    2       90.21892        1.00013
 309    2       82.90779        1.00014
 310    2       72.32880        1.00018
 311    2       58.74452        0.99881
 312    2       42.49284        0.95881
 313    2       23.77822        0.70753
 314    2        6.72280        0.24092
 315    2        0.48017        0.01811
 316    2        0.00000        0.00000


More information about the petsc-users mailing list