<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">Hi all,<div>I am solving PDEs on a unstructured mesh by finite volume method. At beginning I was using matrix-free method. However, I found that&nbsp;</div><div><span class="Apple-style-span" style="font-family: Helvetica; font-size: 11px; line-height: normal; ">PETSc provides some tools to help approximate the Jacobian matrices efficiently via finite differences.<span style="font: 12.0px Helvetica">&nbsp;</span></span></div>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica">These tools are intended for use in certain situations where one is unable to compute Jacobian matrices ana-<span style="font: 12.0px Helvetica">&nbsp;</span></p>
<div><span class="Apple-style-span" style="font-family: Helvetica; font-size: 11px; line-height: normal; ">lytically, and matrix-free methods do not work well without a preconditioner, due to very poor conditioning.</span></div><div>in the Petsc manual</div><div>I started to use the Finite difference<span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; ">&nbsp;Jacobian approximations.</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; ">I customized my MyApproxJacobianStructure(), by the considering the neighbors of my unstructured mesh. I am using the tins. So if i and j are neighbors, I will call&nbsp;MatSetValue(*jac,i,j,zeros,INSERT_VALUES);</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; ">And finally, I got the structure of my Jacobain Matrix by&nbsp;MatFDColoringView().see the attachment.&nbsp;</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; "></span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; ">My question is whether my structure of the Jacobian matrix is good? And how to design preconditioned based on the structure of Jacobian matrix?</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; "><br></span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; ">Thanks!</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; "><br></span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; ">Cos</span></div><div><span class="Apple-style-span" style="font-family: Helvetica; line-height: normal; "><br></span></div></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>