<div dir="ltr"><br><div>Hi,</div><div><br></div><div>I have problems with passing variables through <b>SNESSetFunction</b> in my code. basically I have the following subroutines in the main body of the Fortran code. Could you provide some insight on how to transfer variables into the residual calculation routine (<b>FormFunction1</b>)?</div><div><br></div><div>Thanks,</div><div>Reza</div><div>------------------------------------------------------------------------------------------------------------------</div><div><b><font size="4">main code</font></b></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>SNES</b> snes</div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>Vec</b> xvec,rvec</div></div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>external</b> FormFunction1</div></div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>real*8</b> variable1(10),variable2(20,20),variable3(30),variable4(40,40)</div></div><div><br></div><div><br></div><div><div> call <b>SNESSetFunction</b>(snes,rvec,FormFunction1,</div><div> &<span class="Apple-tab-span" style="white-space:pre"> </span>PETSC_NULL_OBJECT,</div><div> &<span class="Apple-tab-span" style="white-space:pre"> </span>variable1,variable2,variable3,variable4,<br></div><div> &<span class="Apple-tab-span" style="white-space:pre"> </span>ierr)<br></div></div><div><br></div><div><div> end</div></div><div><br></div><div><div> subroutine <b>FormFunction1</b>(snes,XVEC,FVEC,</div><div> &<span class="Apple-tab-span" style="white-space:pre"> </span>dummy,</div><div> &<span class="Apple-tab-span" style="white-space:pre"> </span>varable1,varable2,varable3,varable4,<br></div><div> &<span class="Apple-tab-span" style="white-space:pre"> </span>ierr)<br></div></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>SNES</b> snes</div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>Vec</b> XVEC,FVEC</div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>PetscFortranAddr</b> dummy</div></div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span><b>real*8</b> variable1(10),variable2(20,20),variable3(30),variable4(40,40)</div></div><div><br></div><div><br></div><div><div> return</div><div> end</div></div><div>--------------------------------------------------------------------------------------------------------------</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>