<div dir="ltr"><div dir="ltr">On Thu, Jan 20, 2022 at 5:45 PM Xiong, Jing via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Good afternoon Dr. Smith,
<div><br>
</div>
<div>Thank you for your quick response.</div>
<div>I would like to know more details for "a matrix-free solver for the Jacobian system or have PETSc build the Jacobian for you with finite differencing and coloring."</div></div></div></blockquote><div><br></div><div>If you do not specify anything, we do this by default, so the first thing to do is just run with your residual function.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Do you happen to have any examples for this? Maybe I can run a demo and test the performance of my problem.</div></div></blockquote><div><br></div><div>Most of the TS examples can be configured to run in these modes. There is a chapter in the users manual about this.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Best,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Jing</div>
<div id="gmail-m_7259756928081939563appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_7259756928081939563divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>><br>
<b>Sent:</b> Thursday, January 20, 2022 2:21 PM<br>
<b>To:</b> Xiong, Jing <<a href="mailto:jxiong@anl.gov" target="_blank">jxiong@anl.gov</a>><br>
<b>Cc:</b> <a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a> <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>>; Zhao, Dongbo <<a href="mailto:dongbo.zhao@anl.gov" target="_blank">dongbo.zhao@anl.gov</a>>; Hong, Tianqi <<a href="mailto:thong@anl.gov" target="_blank">thong@anl.gov</a>><br>
<b>Subject:</b> Re: [petsc-users] Asking examples about solving DAE in python</font>
<div> </div>
</div>
<div style="overflow-wrap: break-word;">
<div><br>
</div>
  Hong Zhang can give you more correct details but I can get you started. 
<div><br>
</div>
<div>   Yes, you can use Petsc4py for this purpose. </div>
<div><br>
</div>
<div>   If you cannot provide a Jacobian then you should be able to use either a matrix-free solver for the Jacobian system or have PETSc build the Jacobian for you with finite differencing and coloring. Or if the problem is small just have PETSc brute
 force the Jacobian with finite differencing. </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>
<blockquote type="cite">
<div>On Jan 20, 2022, at 5:13 PM, Xiong, Jing via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:</div>
<br>
<div>
<div style="font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt">
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<span style="background-color:transparent">Hi,</span></div>
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<br>
</div>
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<span style="background-color:transparent">I hope you are well.</span></div>
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<span style="background-color:transparent">I'm very interested in PETSc and want to explore the possibility of whether it could solve Differential-algebraic equations (DAE) in python. I know there are great examples in C, but I'm struggling to connect
 the examples in python. </span></div>
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<br>
</div>
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<span style="background-color:transparent">The only example I got right now is for solving ODEs in the paper: PETSc/TS: A Modern Scalable ODE/DAE Solver Library. </span></div>
<div style="margin-top:0pt;margin-bottom:0pt;color:rgb(14,16,26);background-color:transparent">
<span style="background-color:transparent">And I got the following questions:</span></div>
<ol style="color:rgb(14,16,26);background-color:transparent;margin-top:0pt;margin-bottom:0pt">
<li style="background-color:transparent;margin-top:0pt;margin-bottom:0pt;list-style-type:decimal">
<span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt"><b>Is petsc4py the right package to use?</b></span></li><li style="background-color:transparent;margin-top:0pt;margin-bottom:0pt;list-style-type:decimal">
<span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt"><b>Could you give an example for solving DAEs in python?</b></span></li><li style="background-color:transparent;margin-top:0pt;margin-bottom:0pt;list-style-type:decimal">
<span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt"><b>Is Jacobian must be specified? If not, could your show an example for solving DAEs without specified Jacobian in python?</b></span></li></ol>
<div><span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt"><br>
</span></div>
<div><span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt">Thank you for your help.</span></div>
<div><span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt"><b><br>
</b></span></div>
<div><span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt">Best,</span></div>
<div><span style="background-color:transparent;margin-top:0pt;margin-bottom:0pt">Jing</span></div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>