[petsc-dev] PetscIntialize docs

Satish Balay balay at mcs.anl.gov
Thu Sep 5 11:40:51 CDT 2013


On Thu, 5 Sep 2013, Mark F. Adams wrote:

> 
> On Sep 5, 2013, at 6:16 AM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> > On Thu, Sep 5, 2013 at 1:19 AM, Mark F. Adams <mfadams at lbl.gov> wrote:
> > In http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscInitialize.html I see:
> > 
> > file	- [optional] PETSc database file, also checks ~username/.petscrc and .petscrc use NULL to not check for code specific file. Use -skip_petscrc in the code specific file to skip the .petscrc files
> > 
> > I don't understand what "Use -skip_petscrc in the code specific file" means.  In looking at the code it seems like this line should read something like:
> > 
> > … If you do not want to use a resource file, use NULL and add -skip_petscrc to the command line.
> > 
> > Here is what it is trying to say. There are three files we can check:
> > 
> >  1) ~username/.petscrc
> >  2) cwd/.petscrc
> >  3) "code specific file", whose name is passed into PetscIntitialize()
> > 
> > If you pass in NULL to PetscInitialize(), it will not check option 3). If you pass in a real name to PetscIntiialize(), and
> > in the "code specific file" you put -skpi_petscrc, then it will not check options 1) and 2).
> 
> OK, I'm being dense but I think to be explicit you need to add "If you pass in NULL and use -skip_petscrc on the command line then no files will be checked."
> 
> I wanted to not have files get checked and added -skip_petscrc to the command line but this was not sufficient.  I needed to change the code to use NULL (or I told my user to do so).  Sorry but I could not figure this out from the docs or even your better explanation w/o looking at the code.  It is natural to want to just add a command line option w/o recompiling, and this would be possible (not that I'm volunteering to do it) and would fit the PETSc philosophy of using command lines args and not user code to control.  Perhaps this is a dummy proof doc:
> 
> There are three files we can check:
> 
>  1) ~username/.petscrc
>  2) cwd/.petscrc and cwd/petscrc
>  3) This code specific file.
> 
> If you pass in NULL, it will not check option 3) and if you additionally use -skip_petsc on the command line then no files will checked. If you pass in a real file name, and you put -skpi_petscrc in this file, then it will not check options 1) and 2).

I guess what you want is either '-skip_petscrc' to also skip useroptfile - or add a new option '--skip_useroptfile'

Satish


More information about the petsc-dev mailing list