<div dir="ltr"><div class="gmail_default" style="font-family:comic sans ms,sans-serif">Thanks for the hint!</div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">I will look at the matrix more closely.</div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">For reference:</div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><br>  if (!rstart) {<br>    rstart = 1;<br>    i      = 0; col[0] = 0; col[1] = 1; value[0] = 2.0; value[1] = -1.0;<br>    ierr   = MatSetValues(A,1,&i,2,col,value,INSERT_VALUES);CHKERRQ(ierr);<br>  }<br>  if (rend == n) {<br>    rend = n-1;<br>    i    = n-1; col[0] = n-2; col[1] = n-1; value[0] = -1.0; value[1] = 2.0;<br>    ierr = MatSetValues(A,1,&i,2,col,value,INSERT_VALUES);CHKERRQ(ierr);<br>  }<br><br>  /* Set entries corresponding to the mesh interior */<br>  value[0] = -1.0; value[1] = 2.0; value[2] = -1.0;<br>  for (i=rstart; i<rend; i++) {<br>    col[0] = i-1; col[1] = i; col[2] = i+1;<br>    ierr   = MatSetValues(A,1,&i,3,col,value,INSERT_VALUES);CHKERRQ(ierr);<br>  }<br><br>  /* Assemble the matrix */<br>  ierr = MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr);<br>  ierr = MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr);<br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><br></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">Sincerely,</div><div class="gmail_default" style="font-family:comic sans ms,sans-serif">Huq</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 5, 2020 at 1:53 PM Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Fri, Jun 5, 2020 at 2:18 PM Fazlul Huq <<a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:"comic sans ms",sans-serif">The same is happening with "-pc_type hypre -pc_hypre_type boomerang" and with "-pc_type ilu".</div><div style="font-family:"comic sans ms",sans-serif"><br></div><div style="font-family:"comic sans ms",sans-serif">I tried with,</div><div style="font-family:"comic sans ms",sans-serif">ierr = KSPSetTolerances(ksp,1.e-10,PETSC_DEFAULT,PETSC_DEFAULT,PETSC_DEFAULT);CHKERRQ(ierr); <br></div><div style="font-family:"comic sans ms",sans-serif">this also.</div><div style="font-family:"comic sans ms",sans-serif"><br></div><div style="font-family:"comic sans ms",sans-serif">Getting higher values of error even then.</div></div></blockquote><div><br></div><div>Always check with</div><div><br></div><div>  -pc_type lu</div><div><br></div><div>It seems likely that your matrix is flawed.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:"comic sans ms",sans-serif">Any suggestion to go over this issue?</div><div style="font-family:"comic sans ms",sans-serif">Shall I send the code? It's not a large script (single routine, less than 100 lines except comment). </div><div style="font-family:"comic sans ms",sans-serif"><br></div><div style="font-family:"comic sans ms",sans-serif">Thank you.</div><div style="font-family:"comic sans ms",sans-serif">Sincerely,</div><div style="font-family:"comic sans ms",sans-serif">Huq</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 5, 2020 at 12:53 PM Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Fri, Jun 5, 2020 at 12:32 PM Fazlul Huq <<a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:"comic sans ms",sans-serif">Input string: </div><div style="font-family:"comic sans ms",sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">mpiexec -np 1 ./poisson_m -n 10000000 -pc_type cholesky  -ksp_view -ksp_converged_reason -ksp_monitor_true_residual</span></div><div style="font-family:"comic sans ms",sans-serif"><span style="font-family:Arial,Helvetica,sans-serif"><br></span></div><div>Output is attached herewith.</div></div></blockquote><div><br></div><div>





<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Solving the problem...</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><span>  </span>0 KSP preconditioned resid norm 9.741453255800e+07 true resid norm 1.802775638200e+01 ||r(i)||/||b|| 1.000000000000e+00</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><span>  </span>1 KSP preconditioned resid norm 5.796040438920e+00 true resid norm 3.146946078273e-05 ||r(i)||/||b|| 1.745611606675e-06</span></p></div><div><br></div><div>Your Cholesky preconditioner is crap, probably because the system is either not symmetric or nearly singular. You can see this</div><div>because the preconditioned residual is 6 orders of magnitude greater than the true residual. Also, if you want to evaluate convergence, you</div><div>should probably use a lower tolerance like</div><div><br></div><div>  -ksp_rtol 1e-10</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Thank you.</div><div>Sincerely,</div><div>Huq</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 5, 2020 at 10:16 AM Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Fri, Jun 5, 2020 at 11:04 AM Fazlul Huq <<a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:"comic sans ms",sans-serif">Hello All,</div><div style="font-family:"comic sans ms",sans-serif">I'm trying to calculate the norm_2 error of a solution. </div><div style="font-family:"comic sans ms",sans-serif">Here, vector s: Analytical solution</div><div style="font-family:"comic sans ms",sans-serif">          vector x: Numerical solution</div><div style="font-family:"comic sans ms",sans-serif"><br></div>ierr = VecView(s,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);<br>ierr = VecView(x,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);<br><br> ierr = VecAXPY(x,-1.0,s);CHKERRQ(ierr);<br> ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr);<br> <span class="gmail_default" style="font-family:"comic sans ms",sans-serif">i</span>err = VecView(x,PETSC_VIEWER_STDOUT_WORLD);CHKERRQ(ierr);<br> ierr = KSPGetIterationNumber(ksp,&its);CHKERRQ(ierr);<br> if (norm > tol) {<br>    ierr = PetscPrintf(PETSC_COMM_WORLD,"Second Norm of error %g\n",<span class="gmail_default" style="font-family:"comic sans ms",sans-serif"> </span>double)norm);CHKERRQ(ierr);<br>    ierr = PetscPrintf(PETSC_COMM_WORLD,"Iterations %D\n",its);CHKERRQ(ierr);<br><div style="font-family:"comic sans ms",sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">  }</span><br></div><div><br></div><div><div style="font-family:"comic sans ms",sans-serif">Am I calculating the "Norm_2" error correctly or making any mistake?</div><div style="font-family:"comic sans ms",sans-serif">Unfortunately, for large sized matrix, say 10^6, I am getting very high value of "Norm_2" error.</div></div></div></blockquote><div><br></div><div>1) I am guessing x comes from a KSPSolve(). It is only as accurate as your tolerance</div><div><br></div><div>2) This is the l_2 norm, not the L_2 norm, so if you are using a continuum method like FEM, this is likely wrong.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div style="font-family:"comic sans ms",sans-serif">Thank you.</div><div style="font-family:"comic sans ms",sans-serif">Sincerely,</div><div style="font-family:"comic sans ms",sans-serif">Huq</div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><div><font face="comic sans ms, sans-serif">Fazlul Huq</font></div><div><font face="comic sans ms, sans-serif">Graduate Research Assistant</font></div><div><font face="comic sans ms, sans-serif">Department of Nuclear, Plasma & Radiological Engineering (NPRE)</font></div><div><font face="comic sans ms, sans-serif">University of Illinois at Urbana-Champaign (UIUC)</font></div><div><font face="comic sans ms, sans-serif">E-mail: <a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a></font></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><div><font face="comic sans ms, sans-serif">Fazlul Huq</font></div><div><font face="comic sans ms, sans-serif">Graduate Research Assistant</font></div><div><font face="comic sans ms, sans-serif">Department of Nuclear, Plasma & Radiological Engineering (NPRE)</font></div><div><font face="comic sans ms, sans-serif">University of Illinois at Urbana-Champaign (UIUC)</font></div><div><font face="comic sans ms, sans-serif">E-mail: <a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a></font></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><div><font face="comic sans ms, sans-serif">Fazlul Huq</font></div><div><font face="comic sans ms, sans-serif">Graduate Research Assistant</font></div><div><font face="comic sans ms, sans-serif">Department of Nuclear, Plasma & Radiological Engineering (NPRE)</font></div><div><font face="comic sans ms, sans-serif">University of Illinois at Urbana-Champaign (UIUC)</font></div><div><font face="comic sans ms, sans-serif">E-mail: <a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a></font></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><div><font face="comic sans ms, sans-serif">Fazlul Huq</font></div><div><font face="comic sans ms, sans-serif">Graduate Research Assistant</font></div><div><font face="comic sans ms, sans-serif">Department of Nuclear, Plasma & Radiological Engineering (NPRE)</font></div><div><font face="comic sans ms, sans-serif">University of Illinois at Urbana-Champaign (UIUC)</font></div><div><font face="comic sans ms, sans-serif">E-mail: <a href="mailto:huq2090@gmail.com" target="_blank">huq2090@gmail.com</a></font></div></div></div></div></div></div></div>