[petsc-dev] PetscIntialize docs

Matthew Knepley knepley at gmail.com
Thu Sep 5 15:24:09 CDT 2013


On Thu, Sep 5, 2013 at 3:18 PM, Satish Balay <balay at mcs.anl.gov> wrote:

> On Thu, 5 Sep 2013, Mark F. Adams wrote:
>
> >
> > On Sep 5, 2013, at 12:39 PM, Matthew Knepley <knepley at gmail.com> wrote:
> >
> > > On Thu, Sep 5, 2013 at 11:35 AM, Mark F. Adams <mfadams at lbl.gov>
> 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.htmlI 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).
> > >
> > > Why don't we change it so that not even the "code specific file" is
> checked with passing -skip_petscrc? I think this makes more sense
> > > and it would solve Mark's problem, and likely other future problems.
> >
> > This would be easy to do.  Satish's suggestion of a new parameter
> -skip_useroptfile would work too but and more stuff … I would vote for
> Matt's solution.
>
> One issue is: command line arguments are not always available [some
> fortran compilers - whose internals we don't know about or get changed
> in subsequent releases].
>
> We also have PETSC_OPTIONS env variable. Perhaps we might have to call
> load this up twice [similar to PetscOptionsInsertArgs_Private() - the
> first time to capture -skip_petscrc] - and the second time for
> precedence rule..


I am not sure what you are trying to accomplish. If there are no command
line args, fine, do it the
old way. I am just saying that if they are available, this is better
semantics.

   Matt


>
> Satish




-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130905/51860410/attachment.html>


More information about the petsc-dev mailing list