<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:2 11 6 9 3 8 4 2 2 4;}
@font-face
        {font-family:"Andale Mono";
        panose-1:2 11 5 9 0 0 0 0 0 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.s1
        {mso-style-name:s1;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word;line-break:after-white-space">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">From:
</span></b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Zhang, Hong <hongzhang@anl.gov><br>
<b>Date: </b>Monday, March 4, 2024 at 6:34 PM<br>
<b>To: </b>Zou, Ling <lzou@anl.gov><br>
<b>Cc: </b>Jed Brown <jed@jedbrown.org>, Barry Smith <bsmith@petsc.dev>, petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject: </b>Re: [petsc-users] 'Preconditioning' with lower-order method<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">Ling,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt">Are you using PETSc TS? If so, it may worth trying Crank-Nicolson first to see if the nonlinear solve becomes faster.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">>>>>> No, I’m not using TS, and I don’t plan to use CN. From my experience, when dealing with (nearly) incompressible flow problems, CN often cause (very large) pressure temporal oscillations, and to avoid
 that, the pressure is often using fully implicit method, so that would cause quite some code implementation issue.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">For the pressure oscillation issue, also see page 7 of INL/EXT-12-27197. Notes on Newton-Krylov Based Incompressible Flow Projection Solver
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">In addition, you can try to improve the performance by pruning the Jacobian matrix.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><a href="https://urldefense.us/v3/__https://petsc.org/main/manualpages/TS/TSPruneIJacobianColor/__;!!G_uCfscf7eWS!aXVa0uz1LUIOdvZEPlRJOhRzz9h8MSM4vhl93kknxKGb8hkTyjCFJmSZIGr0fYx90rrqotBGdw-NwiF27Ec$">TSPruneIJacobianColor()</a> sometimes can reduce the number of colors especially for high-order methods and make your Jacobian matrix
 more compact. An example of usage can be found <a href="https://urldefense.us/v3/__https://petsc.org/release/src/ts/tests/ex5.c.html__;!!G_uCfscf7eWS!aXVa0uz1LUIOdvZEPlRJOhRzz9h8MSM4vhl93kknxKGb8hkTyjCFJmSZIGr0fYx90rrqotBGdw-NmisGfPQ$">here</a>. If you are not using TS, there is a SNES version <a href="https://urldefense.us/v3/__https://petsc.org/main/manualpages/SNES/SNESPruneJacobianColor/__;!!G_uCfscf7eWS!aXVa0uz1LUIOdvZEPlRJOhRzz9h8MSM4vhl93kknxKGb8hkTyjCFJmSZIGr0fYx90rrqotBGdw-NfYBUJqI$">SNESPruneJacobianColor()</a> for
 the same functionality.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">>>>>> The following code is how I setup the coloring.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">  {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">    // Create Matrix-free context</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatCreateSNESMF</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(snes, &J_MatrixFree);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">    // Let the problem setup Jacobian matrix sparsity</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">p_sim</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">-></span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">FillJacobianMatrixNonZeroEntry</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(P_Mat);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">    // See PETSc examples:</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">    //
<a href="https://urldefense.us/v3/__https://petsc.org/release/src/snes/tutorials/ex14.c.html__;!!G_uCfscf7eWS!aXVa0uz1LUIOdvZEPlRJOhRzz9h8MSM4vhl93kknxKGb8hkTyjCFJmSZIGr0fYx90rrqotBGdw-N3ZHE6Qw$">https://petsc.org/release/src/snes/tutorials/ex14.c.html</a></span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">    //
<a href="https://urldefense.us/v3/__https://petsc.org/release/src/mat/tutorials/ex16.c.html__;!!G_uCfscf7eWS!aXVa0uz1LUIOdvZEPlRJOhRzz9h8MSM4vhl93kknxKGb8hkTyjCFJmSZIGr0fYx90rrqotBGdw-NcpSrhMM$">https://petsc.org/release/src/mat/tutorials/ex16.c.html</a></span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">    ISColoring iscoloring;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">    MatColoring mc;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatColoringCreate</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(P_Mat, &mc);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatColoringSetType</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(mc, MATCOLORINGSL);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatColoringSetFromOptions</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(mc);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatColoringApply</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(mc, &iscoloring);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatColoringDestroy</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(&mc);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatFDColoringCreate</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(P_Mat, iscoloring, &fdcoloring);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatFDColoringSetFunction</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">        fdcoloring, (</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">PetscErrorCode</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(*)(</span><span style="font-size:9.0pt;font-family:Menlo;color:#569CD6">void</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">))(</span><span style="font-size:9.0pt;font-family:Menlo;color:#569CD6">void</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">
 (*)(</span><span style="font-size:9.0pt;font-family:Menlo;color:#569CD6">void</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">))snesFormFunction,
</span><span style="font-size:9.0pt;font-family:Menlo;color:#569CD6">this</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatFDColoringSetFromOptions</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(fdcoloring);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">MatFDColoringSetUp</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(P_Mat, iscoloring, fdcoloring);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">ISColoringDestroy</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(&iscoloring);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:yellow">    // Should I prune here? Like<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:yellow">   
<a href="https://urldefense.us/v3/__https://petsc.org/main/manualpages/SNES/SNESPruneJacobianColor/__;!!G_uCfscf7eWS!aXVa0uz1LUIOdvZEPlRJOhRzz9h8MSM4vhl93kknxKGb8hkTyjCFJmSZIGr0fYx90rrqotBGdw-NfYBUJqI$"><span style="color:yellow">SNESPruneJacobianColor</span></a>(snes, P_Mat, P_Mat);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:yellow"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#C8C8C8">SNESSetJacobian</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">(snes,</span><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">                            //
 snes</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">                    J_MatrixFree,</span><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">                    // Jacobian-free</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">                    P_Mat,</span><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">                           // Preconditioning
 matrix</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">                    SNESComputeJacobianDefaultColor,</span><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955"> // Use
 finite differencing and coloring</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">                    fdcoloring);</span><span style="font-size:9.0pt;font-family:Menlo;color:#6A9955">                     // fdcoloring</span><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:#1E1E1E"><span style="font-size:9.0pt;font-family:Menlo;color:#D4D4D4">  }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">-Ling<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">Hong (Mr.)<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">On Mar 3, 2024, at 11:48 PM, Zou, Ling via petsc-users <petsc-users@mcs.anl.gov> wrote:<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"> <o:p></o:p></span></p>
</div>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif">From:<span class="apple-converted-space"> </span></span></b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif">Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>><br>
<b>Date:<span class="apple-converted-space"> </span></b>Sunday, March 3, 2024 at 11:35 PM<br>
<b>To:<span class="apple-converted-space"> </span></b>Zou, Ling <<a href="mailto:lzou@anl.gov">lzou@anl.gov</a>>, Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>><br>
<b>Cc:<span class="apple-converted-space"> </span></b><a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a><span class="apple-converted-space"> </span><<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>><br>
<b>Subject:<span class="apple-converted-space"> </span></b>Re: [petsc-users] 'Preconditioning' with lower-order method</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:1.0pt;color:white">If you're having PETSc use coloring and have confirmed that the stencil is sufficient, then it would be nonsmoothness (again, consider the limiter you've chosen) preventing quadratic convergence
 (assuming that doesn't kick in eventually). Note</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerStart</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
</div>
<div style="border:none;border-top:none #90A4AE 1.0pt;padding:0in 0in 0in 0in;display:block!important;text-align:left!important;margin:0px!important;padding:16px!important;border-radius:4px!important;min-width:200px!important" id="pfptBannerdove87h">
<div id="pfptBannerdove87h">
<div id="pfptBannerdove87h">
<div>
<p class="MsoNormal" style="line-height:13.5pt;background:#D0D8DC"><b><span style="font-size:11.0pt;font-family:"Arial",sans-serif;color:black">This Message Is From an External Sender</span></b><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
</div>
<div id="pfptBannerdove87h">
<div>
<p class="MsoNormal" style="line-height:13.5pt;background:#D0D8DC"><span style="font-size:11.0pt;font-family:"Arial",sans-serif;color:black">This message came from outside your organization.</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:#D0D8DC"><span style="font-size:11.0pt;color:black"> </span><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerEnd</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
</div>
</div>
<pre style="white-space:pre-wrap"><span style="font-size:11.0pt;font-family:"Arial",sans-serif">If you're having PETSc use coloring and have confirmed that the stencil is sufficient, then it would be nonsmoothness (again, consider the limiter you've chosen) preventing quadratic convergence (assuming that doesn't kick in eventually).</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre style="margin-left:.5in;text-indent:-.25in"><span style="font-size:11.0pt;font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman",serif">         </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Yes, I do use coloring, and I do provide sufficient stencil, i.e., neighbor’s neighbor. The sufficiency is confirmed by PETSc’s <b><i>-snes_test_jacobian</i> </b>and <b><i>-snes_test_jacobian_view</i></b> options.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">Note that assembling a Jacobian of a second order TVD operator requires at least second neighbors while the first order needs only first neighbors, thus is much sparser and needs fewer colors to compute. </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre style="margin-left:.5in;text-indent:-.25in"><span style="font-size:11.0pt;font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman",serif">         </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">In my code implementation, when marking the Jacobian nonzero pattern, I don’t differentiate FV1 or FV2, I always use the FV2 stencil, so it’s a bit ‘fat’ for the FV1 method, but worked just fine.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">I expect you're either not exploiting that in the timings or something else is amiss. You can run with `-log_view -snes_view -ksp_converged_reason` to get a bit more information about what's happening. </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre style="margin-left:.5in;text-indent:-.25in"><span style="font-size:11.0pt;font-family:Symbol">·</span><span style="font-size:7.0pt;font-family:"Times New Roman",serif">         </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The attached is screen output as you suggest. The linear and nonlinear performance of FV2 is both worse from the output.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">FV2:</span><o:p></o:p></pre>
<div>
<p class="MsoNormal" style="background:black"><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Time Step 149, time = 13229.7, dt = 100</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">0, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">7.80968E-03</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 26</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">1, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">7.65731E-03</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 24</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">2, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">6.85034E-03</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 27</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">3, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">6.11873E-03</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 25</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">4, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">1.57347E-03</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 27</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">5, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">9.03536E-04</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">SNES Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 newtonls</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maximum
 iterations=20, maximum function evaluations=10000</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerances:
 relative=1e-08, absolute=1e-06, solution=1e-08</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">total
 number of linear solver iterations=129</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">total
 number of function evaluations=144</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">norm schedule
 ALWAYS</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Jacobian
 is applied matrix-free with differencing</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Preconditioning
 Jacobian is built using finite differences with coloring</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">SNESLineSearch
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 bt</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">interpolation:
 cubic</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">alpha=1.000000e-04</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maxstep=1.000000e+08,
 minlambda=1.000000e-12</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerances:
 relative=1.000000e-08, absolute=1.000000e-15, lambda=1.000000e-08</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maximum
 iterations=40</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">KSP Object:
 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 gmres</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">restart=100,
 using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">happy
 breakdown tolerance 1e-30</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maximum
 iterations=100, initial guess is zero</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerances:</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">relative=0.0001,
 absolute=1e-50, divergence=10000.</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">left
 preconditioning</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">using
 PRECONDITIONED norm type for convergence test</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">PC Object:
 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 ilu</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">out-of-place
 factorization</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">0
 levels of fill</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerance
 for zero pivot 2.22045e-14</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">using
 diagonal shift to prevent zero pivot [NONZERO]</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">matrix
 ordering: rcm</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">factor
 fill ratio given 1., needed 1.</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">        </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Factored
 matrix follows:</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">          </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Mat
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 seqaij</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">rows=8715,
 cols=8715</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">package
 used to perform factorization: petsc</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">total:
 nonzeros=38485, allocated nonzeros=38485</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">              </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">not
 using I-node routines</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">linear
 system matrix followed by preconditioner matrix:</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Mat
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 mffd</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">rows=8715,
 cols=8715</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">        </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Matrix-free
 approximation:</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">          </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">err=1.49012e-08
 (relative error in function evaluation)</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">          </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Using
 wp compute h routine</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">              </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Does
 not compute normU</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Mat
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 seqaij</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">rows=8715,
 cols=8715</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">total:
 nonzeros=38485, allocated nonzeros=38485</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">total
 number of mallocs used during MatSetValues calls=0</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">        </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">not
 using I-node routines</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:#2FB41D"> </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:#2FB41D">Solve
 Converged!</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:#2FB41D"><o:p></o:p></span></p>
</div>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">FV1:</span><o:p></o:p></pre>
<div>
<p class="MsoNormal" style="background:black"><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Time Step 149, time = 13229.7, dt = 100</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">0, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">7.90072E-03</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 12</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">1, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">2.01919E-04</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 17</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">2, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">1.06960E-05</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Linear
 solve converged due to CONVERGED_RTOL iterations 15</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">NL Step
 =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">3, fnorm =</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">2.41683E-09</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">SNES Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 newtonls</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maximum
 iterations=20, maximum function evaluations=10000</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerances:
 relative=1e-08, absolute=1e-06, solution=1e-08</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">total
 number of linear solver iterations=44</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:yellow">total
 number of function evaluations=51</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">norm schedule
 ALWAYS</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Jacobian
 is applied matrix-free with differencing</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Preconditioning
 Jacobian is built using finite differences with coloring</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">SNESLineSearch
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 bt</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">interpolation:
 cubic</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">alpha=1.000000e-04</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maxstep=1.000000e+08,
 minlambda=1.000000e-12</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerances:
 relative=1.000000e-08, absolute=1.000000e-15, lambda=1.000000e-08</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maximum
 iterations=40</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">KSP Object:
 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 gmres</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">restart=100,
 using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">happy
 breakdown tolerance 1e-30</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">maximum
 iterations=100, initial guess is zero</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerances:</span></span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">relative=0.0001,
 absolute=1e-50, divergence=10000.</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">left
 preconditioning</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">using
 PRECONDITIONED norm type for convergence test</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">  </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">PC Object:
 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 ilu</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">out-of-place
 factorization</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">0
 levels of fill</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">tolerance
 for zero pivot 2.22045e-14</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">using
 diagonal shift to prevent zero pivot [NONZERO]</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">matrix
 ordering: rcm</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">factor
 fill ratio given 1., needed 1.</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">        </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Factored
 matrix follows:</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">          </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Mat
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 seqaij</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">rows=8715,
 cols=8715</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">package
 used to perform factorization: petsc</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">            </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">total:
 nonzeros=38485, allocated nonzeros=38485</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">              </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">not
 using I-node routines</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">linear
 system matrix followed by preconditioner matrix:</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Mat
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 mffd</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">rows=8715,
 cols=8715</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">        </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Matrix-free
 approximation:</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">          </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">err=1.49012e-08
 (relative error in function evaluation)</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">          </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Using
 wp compute h routine</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">              </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Does
 not compute normU</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">    </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">Mat
 Object: 1 MPI process</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">type:
 seqaij</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">rows=8715,
 cols=8715</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">total:
 nonzeros=38485, allocated nonzeros=38485</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">      </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">total
 number of mallocs used during MatSetValues calls=0</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">        </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:white">not
 using I-node routines</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:white"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:black"><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:"Andale Mono";color:#2FB41D"> </span></span><span class="s1"><span style="font-size:9.0pt;font-family:"Andale Mono";color:#2FB41D">Solve
 Converged!</span></span><span style="font-size:9.0pt;font-family:"Andale Mono";color:#2FB41D"><o:p></o:p></span></p>
</div>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">"Zou, Ling via petsc-users" <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> writes:</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif"> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Barry, thank you.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> I am not sure if I exactly follow you on this:</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> “Are you forming the Jacobian for the first and second order cases inside of Newton?”</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> The problem that we deal with, heat/mass transfer in heterogeneous systems (reactor system), is generally small in terms of size, i.e., # of DOFs (several k to maybe 100k level), so for now, I completely rely on PETSc to compute Jacobian, i.e., finite-differencing.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> That’s a good suggestion to see the time spent during various events.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> What motivated me to try the options are the following observations.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> 2nd order FVM:</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Time Step 149, time = 13229.7, dt = 100</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  0, fnorm =  7.80968E-03</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  1, fnorm =  7.65731E-03</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  2, fnorm =  6.85034E-03</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  3, fnorm =  6.11873E-03</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  4, fnorm =  1.57347E-03</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  5, fnorm =  9.03536E-04</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>  Solve Converged!</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> 1st order FVM:</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Time Step 149, time = 13229.7, dt = 100</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  0, fnorm =  7.90072E-03</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  1, fnorm =  2.01919E-04</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  2, fnorm =  1.06960E-05</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     NL Step =  3, fnorm =  2.41683E-09</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>  Solve Converged!</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Notice the obvious ‘stagnant’ in residual for the 2nd order method while not in the 1st order.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> For the same problem, the wall time is 10 sec vs 6 sec. I would be happy if I can reduce 2 sec for the 2nd order method.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> -Ling</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> From: Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>></span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Date: Sunday, March 3, 2024 at 12:06 PM</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> To: Zou, Ling <<a href="mailto:lzou@anl.gov">lzou@anl.gov</a>></span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Cc: <a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a> <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>></span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Subject: Re: [petsc-users] 'Preconditioning' with lower-order method</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Are you forming the Jacobian for the first and second order cases inside of Newton? You can run both with -log_view to see how much time is spent in the various events (compute function, compute Jacobian, linear solve, .. . ) for the two cases</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> ZjQcmQRYFpfptBannerStart</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> This Message Is From an External Sender</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> This message came from outside your organization.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> ZjQcmQRYFpfptBannerEnd</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>    Are you forming the Jacobian for the first and second order cases inside of Newton?</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>    You can run both with -log_view to see how much time is spent in the various events (compute function, compute Jacobian, linear solve, ...) for the two cases and compare them.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> On Mar 3, 2024, at 11:42 AM, Zou, Ling via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Original email may have been sent to the incorrect place.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> See below.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> -Ling</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> From: Zou, Ling <<a href="mailto:lzou@anl.gov">lzou@anl.gov</a><<a href="mailto:lzou@anl.gov">mailto:lzou@anl.gov</a>>></span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Date: Sunday, March 3, 2024 at 10:34 AM</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> To: petsc-users <<a href="mailto:petsc-users-bounces@mcs.anl.gov">petsc-users-bounces@mcs.anl.gov</a><<a href="mailto:petsc-users-bounces@mcs.anl.gov">mailto:petsc-users-bounces@mcs.anl.gov</a>>></span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Subject: 'Preconditioning' with lower-order method</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Hi all,</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> I am solving a PDE system over a spatial domain. Numerical methods are:</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>   *   Finite volume method (both 1st and 2nd order implemented)</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>   *   BDF1 and BDF2 for time integration.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> What I have noticed is that 1st order FVM converges much faster than 2nd order FVM, regardless the time integration scheme. Well, not surprising since 2nd order FVM introduces additional non-linearity.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> I’m thinking about two possible ways to speed up 2nd order FVM, and would like to get some thoughts or community knowledge before jumping into code implementation.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Say, let the 2nd order FVM residual function be F2(x) = 0; and the 1st order FVM residual function be F1(x) = 0.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>   1.  Option – 1, multi-step for each time step</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Step 1: solving F1(x) = 0 to obtain a temporary solution x1</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Step 2: feed x1 as an initial guess to solve F2(x) = 0 to obtain the final solution.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> [Not sure if gain any saving at all]</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>   1.  Option -2, dynamically changing residual function F(x)</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> In pseudo code, would be something like.</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> snesFormFunction(SNES snes, Vec u, Vec f, void *)</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> {</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>   if (snes.nl_it_no < 4) // 4 being arbitrary here</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     f = F1(u);</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>   else</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">>     f = F2(u);</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> }</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> I know this might be a bit crazy since it may crash after switching residual function, still, any thoughts?</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> Best,</span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> </span><o:p></o:p></pre>
<pre><span style="font-size:11.0pt;font-family:"Arial",sans-serif">> -Ling</span><o:p></o:p></pre>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>