<div dir="ltr"><div dir="ltr">On Fri, Feb 15, 2019 at 6:26 AM Marco Tiberga 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 lang="EN-GB">
<div class="gmail-m_-3433510353783768644WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Dear PETSc developers,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Unfortunately, I need to continue the previous conversation (which I attached), because I am getting another compiler error.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">I need to call PetscFree() after PCFieldSplitGetSubKSP (I am trying to implement what is described in lines 117—120 of
<a href="https://www.mcs.anl.gov/petsc/petsc-current/src/snes/examples/tutorials/ex70.c.html" target="_blank">
this example</a>), but the compiler complains that the reference to it is undefined, even if I “use petscsys”.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">So, I was wondering whether the Fortran interface for PetscFree is missing as well, or if I am doing something wrong.</span></p></div></div></blockquote><div><br></div><div>PetscMalloc() and PetscFree() cannot work for Fortran because F90 has its own idea of pointers.</div><div><br></div><div>However, the Fortran binding for <span style="font-family:Calibri,sans-serif;font-size:14.6667px">PCFieldSplitGetSubKSP()</span> does not allocate the array. Rather, you pass in an array</div><div>of the correct size and it just fills it up.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-GB"><div class="gmail-m_-3433510353783768644WordSection1"><p class="MsoNormal"><span style="font-family:Calibri,sans-serif;font-size:11pt"> </span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Thanks again for the help!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal" style="margin-bottom:4pt"><span style="font-size:11pt;font-family:Calibri,sans-serif">Marco Tiberga<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">PhD candidate<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,176,240)">Delft University of Technology<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Faculty of Applied Sciences<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Radiation Science & Technology Department</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Mekelweg 15, 2629 JB Delft, The Netherlands</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:2pt"><span style="font-size:11pt;font-family:Calibri,sans-serif">E-Mail:<span style="color:gray"> </span><u><span style="color:blue"><a href="mailto:m.tiberga@tudelft.nl" target="_blank">m.tiberga@tudelft.nl</a></span></u></span><span style="font-size:11pt;font-family:"Segoe UI",sans-serif;color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif">Website:
</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><a href="http://www.nera.rst.tudelft.nl/" target="_blank"><span lang="NL">http://www.nera.rst.tudelft.nl/</span></a></span><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="EN-US" style="font-size:10pt;font-family:Tahoma,sans-serif"> Marco Tiberga
<br>
<b>Sent:</b> donderdag 7 februari 2019 15:31<br>
<b>To:</b> 'Smith, Barry F.'<br>
<b>Cc:</b> <a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>; Danny Lathouwers - TNW<br>
<b>Subject:</b> RE: [petsc-users] Missing Fortran interface for PCFieldSplitSetIS and PCFieldSplitGetIS?<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Dear Barry,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Thanks a lot for your fast reply, as usual.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">The patch did work!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">With kind regards,<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:4pt"><span style="font-size:11pt;font-family:Calibri,sans-serif">Marco Tiberga<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">PhD candidate<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,176,240)">Delft University of Technology<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Faculty of Applied Sciences<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Radiation Science & Technology Department</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Mekelweg 15, 2629 JB Delft, The Netherlands</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:2pt"><span style="font-size:11pt;font-family:Calibri,sans-serif">E-Mail:<span style="color:gray"> </span><u><span style="color:blue"><a href="mailto:m.tiberga@tudelft.nl" target="_blank">m.tiberga@tudelft.nl</a></span></u></span><span style="font-size:11pt;font-family:"Segoe UI",sans-serif;color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif">Website:
</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><a href="http://www.nera.rst.tudelft.nl/" target="_blank"><span lang="NL">http://www.nera.rst.tudelft.nl/</span></a></span><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="NL" style="font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></span></p>
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span lang="EN-US" style="font-size:10pt;font-family:Tahoma,sans-serif"> Smith, Barry F. [mailto:<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>]
<br>
<b>Sent:</b> donderdag 7 februari 2019 5:19<br>
<b>To:</b> Marco Tiberga<br>
<b>Cc:</b> <a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>; Danny Lathouwers - TNW<br>
<b>Subject:</b> Re: [petsc-users] Missing Fortran interface for PCFieldSplitSetIS and PCFieldSplitGetIS?<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11pt"><br>
   Marco,<u></u><u></u></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt"><span style="font-size:11pt">   We were missing a Fortran stub in the code. You can either apply the attached patch or use the git branch barry/add-pcfieldsplit-getis/maint for the missing functionality. The
 fix will also be in the next maintenance release of petsc-3.10<br>
<br>
   Please let us know if there are any difficulties.<br>
<br>
   Barry<br>
<br>
<br>
> On Feb 6, 2019, at 9:56 AM, Marco Tiberga via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br>
> <br>
> Dear PETSc developers,<br>
>  <br>
> I am developing a coupled solver for the incompressible Navier-Stokes equations, based on the PCFIELDSPLIT implemented in PETSc (I’m using version 3.10.1).<br>
> My code is written in Fortran.<br>
>  <br>
> I tried to follow as much as possible this example, but I am getting weird errors. I think the problem is in the call to PCFieldSplitSetIS.<br>
> To debug the code, for each field I wanted to call PCFieldSplitGetIS (after setting it) and print the IS with ISView. However, the compiler says the reference to PCFieldSplitGetIS is undefined.<br>
>  <br>
> So, I was wondering whether PCFieldSplitGetIS and PCFieldSplitSetIS are actually available for Fortran.<br>
> I tried to had a look at petsc-3.10.1/src/ksp/f90-mod/ftn-auto-interfaces/petscpc.h90, but I cannot find the interfaces for these functions.<br>
>  <br>
> Thanks for the clarification.<br>
>  <br>
> Best regards,<br>
>  <br>
> Marco Tiberga<br>
> PhD candidate<br>
> Delft University of Technology<br>
> Faculty of Applied Sciences<br>
> Radiation Science & Technology Department<br>
> Mekelweg 15, 2629 JB Delft, The Netherlands<br>
> E-Mail: <a href="mailto:m.tiberga@tudelft.nl" target="_blank">m.tiberga@tudelft.nl</a><br>
> Website: <a href="http://www.nera.rst.tudelft.nl/" target="_blank">http://www.nera.rst.tudelft.nl/</a><u></u><u></u></span></p>
</div>
</div>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><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>