<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Thank you Barry and Blaise for the suggestions.<br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br clear="all"></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><font size="2" face="verdana, sans-serif">-------------------------------------------</font></div><div><font size="2" face="verdana, sans-serif">Regards</font></div><div dir="ltr"><font face="verdana, sans-serif"><br></font><div><font face="verdana, sans-serif">Sthavishtha Bhopalam Rajakumar</font></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 22, 2020 at 3:42 AM Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
  You can make up your own options and provide them in YAML format then query for them in your PETSc code using the routines Blaise pointed out.  There is no restriction that the arguments need to be only pre-defined PETSc options. <br>
<br>
  Barry<br>
<br>
  As documented the YAML format supported is very simple.<br>
<br>
<br>
> On Dec 20, 2020, at 10:56 AM, Blaise A Bourdin <<a href="mailto:bourdin@lsu.edu" target="_blank">bourdin@lsu.edu</a>> wrote:<br>
> <br>
> Have a look at the options related functions in the system section of the man pages: <a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/index.html" rel="noreferrer" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/index.html</a><br>
> You can get options from the petsc option database and pass them to your user code.<br>
> You can also use petscBag to pass a C struct or a fortran derived type to your user code.<br>
> <br>
> Regards,<br>
> Blaise<br>
> <br>
>> On Dec 20, 2020, at 10:03 AM, sthavishtha bhopalam <<a href="mailto:sthavishthabr@gmail.com" target="_blank">sthavishthabr@gmail.com</a>> wrote:<br>
>> <br>
>> Hello PETSc users!<br>
>> <br>
>> I wanted to know how one could parse user-defined variables (not the inbuilt PETSc options) in a PETSc code using YAML? Any suggestions? To my knowledge, the existing YAML parser in PETSc solely reads the PETSc options like snes, ksp, pc etc. as described here (<a href="https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2020-August/042074.html" rel="noreferrer" target="_blank">https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2020-August/042074.html</a>) but is incapable to read user-defined variables, which may be specific to a code. <br>
>> <br>
>> Thanks<br>
>> -------------------------------------------<br>
>> Regards<br>
>> <br>
>> Sthavishtha<br>
>> <br>
>> <br>
>> <br>
>> <br>
> <br>
> -- <br>
> A.K. & Shirley Barton Professor of  Mathematics<br>
> Adjunct Professor of Mechanical Engineering<br>
> Adjunct of the Center for Computation & Technology<br>
> Louisiana State University, Lockett Hall Room 344, Baton Rouge, LA 70803, USA<br>
> Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 Web <a href="http://www.math.lsu.edu/~bourdin" rel="noreferrer" target="_blank">http://www.math.lsu.edu/~bourdin</a><br>
> <br>
<br>
</blockquote></div>