Yes, " This function can be called BEFORE PetscInitialize()" confused me. Thanks for the clarification.
On Mon, Feb 28, 2022 at 4:38 PM Barry Smith <[email protected]> wrote: > > You should be able to call PetscOptionsSetValue() anytime you want, as I > said between different uses of MUMPS you can call it to use different > directories. > > Perhaps this confused you? > > Note: > This function can be called BEFORE PetscInitialize() > > It is one of the very few functions that can be called before > PetscInitialize() but it does not NEED to be called before > PetscInitialize(). > > Barry > > > On Feb 28, 2022, at 7:34 PM, Sam Guo <[email protected]> wrote: > > Hi Barry, > I can only call PetscOptionsSetValue before PetscInitialize() but I > call PetscInitialize only once at the beginning of my program. I want to > change MUMPS OOC_TMPDIR dynamically on the fly. > > Thanks, > Sam > > On Mon, Feb 28, 2022 at 1:34 PM Barry Smith <[email protected]> wrote: > >> >> You can call PetscOptionsSetValue("-mat_mumps_ooc_tmpdir","directory"); >> anytime before the KSP/PCSetUp() is called. If you have multiple uses of >> MUMPs solvers you can call this between each use so that a different >> directory is used for different MUMPS usage. >> >> Barry >> >> >> >> On Feb 28, 2022, at 2:22 PM, Sam Guo <[email protected]> wrote: >> >> Dear PETSc dev team, >> I would like to set MUMPS OOC_TMPDIR programmatically on fly (instead >> of statically using PetscOptionsString >> <https://petsc.org/main/docs/manualpages/Sys/PetscOptionsString.html#PetscOptionsString> >> ("-mat_mumps_ooc_tmpdir", "out of core directory", "None", >> mumps->id.ooc_tmpdir, mumps->id.ooc_tmpdir, sizeof(mumps->id.ooc_tmpdir), >> NULL);). It seems there is such an API, am I correct? >> >> Thanks, >> Sam >> >> >> >
