[petsc-users] Multiple linear solver defined at command line
Lawrence Mitchell
wencel at gmail.com
Tue Sep 24 06:59:18 CDT 2019
Dear Marco,
> On 24 Sep 2019, at 12:06, Marco Cisternino via petsc-users <petsc-users at mcs.anl.gov> wrote:
>
> Good morning,
> in my code I need to solve 2 linear systems. I would like to use different solvers for the 2 systems and most of all I would like to choose the single solver by flags from command line, is it possible?
> I can call PetscInitialize/PetscFinalize multiple times passing PetscInitialize different argc and argv. What happens if I call the second PetscInitiliaze before the first PetscFinalize with different argc and argv?
The way you should do this is by giving your two different solvers two different options prefixes:
Assuming they are KSP objects call:
KSPSetOptionsPrefix(ksp1, "solver1_");
KSPSetOptionsPrefix(ksp2, "solver2_");
Now you can configure ksp1 with:
-solver1_ksp_type ... -solver1_pc_type ...
And ksp2 with:
-solver2_ksp_type ... -solver2_pc_type ...
In general, all PETSc objects can be given such an options prefix so that they may be controlled separately.
Thanks,
Lawrence
More information about the petsc-users
mailing list