<div dir="ltr">Amazing, right preconditioning fixes the problem. Thanks a lot!<div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018 at 8:31 PM Dave May <<a href="mailto:dave.mayhem23@gmail.com">dave.mayhem23@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Wed, 17 Oct 2018 at 03:15, Weizhuo Wang <<a href="mailto:weizhuo2@illinois.edu" target="_blank">weizhuo2@illinois.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I just tried both, neither of them make a difference. I got exactly the same curve with either combination.</div></blockquote><div dir="auto"><br></div><div dir="auto">Try using right preconditioning.</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetPCSide.html" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPSetPCSide.html</a></div><br></div><div dir="auto"><br></div><div dir="auto">Use the options:</div><div dir="auto"><br></div><div dir="auto">-ksp_type gmres -ksp_pc_side right -ksp_rtol 1e-12</div><div dir="auto"><br></div><div dir="auto">Or;</div><div dir="auto"><br></div><div dir="auto">-ksp_type fgmres  -ksp_rtol 1e-12<br></div><div dir="auto"><br></div><div dir="auto">Fgmres does right preconditioning my default </div><div dir="auto"><br></div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Thanks!</div><div><br></div><div>Wang weizhuo</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018 at 8:06 PM Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018 at 7:26 PM Weizhuo Wang <<a href="mailto:weizhuo2@illinois.edu" target="_blank">weizhuo2@illinois.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello again!<div><br></div><div>After some tweaking the code is giving right answers now. However it start to disagree with MATLAB results ('traditional' way using matrix inverse) when the grid is larger than 100*100. My PhD advisor and I suspects that the default dimension of the Krylov subspace is 100 in the test case we are running. If so, is there a way to increase the size of the subspace?</div></div></blockquote><div><br></div><div>1) The default subspace size is 30, not 100. You can increase the subspace size using</div><div><br></div><div>       -ksp_gmres_restart n</div><div><br></div><div>2) The problem is likely your tolerance. The default solver tolerance is 1e-5. You can change it using</div><div><br></div><div>       -ksp_rtol 1e-9</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div><div><img src="cid:ii_jnccwbst0" alt="Disagrees.png" style="width:568px;max-width:100%"><br></div></div><div><br></div><div>Thanks!</div><div><br></div><div>Wang Weizhuo</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 9, 2018 at 2:50 AM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">To reiterate what Matt is saying, you seem to have the exact solution on a 10x10 grid. That makes no sense unless the solution can be represented exactly by your FE space (eg, u(x,y) = x + y).</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 8, 2018 at 9:33 PM Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Mon, Oct 8, 2018 at 9:28 PM Weizhuo Wang <<a href="mailto:weizhuo2@illinois.edu" target="_blank">weizhuo2@illinois.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>The code is attached in case anyone wants to take a look, I will try the high frequency scenario later.</div></div></blockquote><div><br></div><div>That is not the error. It is superconvergence at the vertices. The real solution is trigonometric, so your</div><div>linear interpolants or whatever you use is not going to get the right value in between mesh points. You</div><div>need to do a real integral over the whole interval to get the L_2 error.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div dir="ltr">On Mon, Oct 8, 2018 at 7:58 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 8, 2018 at 6:58 PM Weizhuo Wang <<a href="mailto:weizhuo2@illinois.edu" target="_blank">weizhuo2@illinois.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">The first plot is the norm with the flag -pc_type lu with respect to number of grids in one axis (n), and the second plot is the norm without the flag -pc_type lu. </div></div></div></blockquote><div><br></div><div>So you are using the default PC w/o LU. The default is ILU. This will reduce high frequency effectively but is not effective on the low frequency error. Don't expect your algebraic error reduction to be at the same scale as the residual reduction (what KSP measures). </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_-9198830777891130295m_6155684250573822014m_-4236704936125234929m_-6246211989591275274m_6685943040659866736m_3945712423757607757m_-3838818614766066975gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Wang Weizhuo</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_-9198830777891130295m_6155684250573822014m_-4236704936125234929m_-6246211989591275274m_6685943040659866736m_3945712423757607757gmail_signature" data-smartmail="gmail_signature"><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="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.cse.buffalo.edu_-7Eknepley_&d=DwMFaQ&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=hsLktHsuxNfF6zyuWGCN8x-6ghPYxhx4cV62Hya47oo&m=EFM29ATgv4U8PjXEtfgMkuxKr5DGscMlH-j769W5W_4&s=grgSL2LaDCthvYvvFITmeOOWPCwgmNfYRPs94N8kmOs&e=" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_-9198830777891130295m_6155684250573822014m_-4236704936125234929m_-6246211989591275274gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Wang Weizhuo</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_-9198830777891130295m_6155684250573822014m_-4236704936125234929gmail_signature" data-smartmail="gmail_signature"><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="m_-9198830777891130295m_6155684250573822014gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Wang Weizhuo</div></div>
</blockquote></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Wang Weizhuo</div></div>