[petsc-users] Creating PCFieldSplit Preconditioner in source code
Jed Brown
jedbrown at mcs.anl.gov
Mon Nov 19 02:58:34 CST 2012
Yes
On Mon, Nov 19, 2012 at 9:54 AM, Thomas Witkowski <
thomas.witkowski at tu-dresden.de> wrote:
> Jed: To you think that I can write a work-around in just using
> PetscOptionsInsertString before KSPSetUp with some settings that I don't
> will use later but which would make KSPSetUp on the corresponding solver
> object cheap?
>
> Thomas
>
> Am 19.11.2012 09:48, schrieb Jed Brown:
>
> Unfortunately, options are currently the only way to avoid the initial
> setup. We could add a special setup routine to the PCFieldSplit interface
> that you could call, but there are lots of other PCs that you sometimes
> want to reconfigure after "partial setup". I've been unhappy with this for
> years, but have not found a general and maintainable way to support, and
> configuration via options is a better approach most of the time.
>
>
> On Mon, Nov 19, 2012 at 2:29 AM, Thomas Witkowski <
> thomas.witkowski at tu-dresden.de> wrote:
>
>> In the implementation of my Navier-Stokes solver, I initialize the
>> PCFieldSplit preconditioner in my source code (thus not on the command
>> line) in the following way:
>>
>> PCSetType(pc, PCFIELDSPLIT);
>> PCFieldSplitSetType(pc, PC_COMPOSITE_SCHUR);
>> PCFieldSplitSetSchurFactType(pc, PC_FIELDSPLIT_SCHUR_FACT_FULL);
>> ...
>> KSPSetUp(ksp);
>> KSP *subKsp;
>> PetscInt nSubKsp;
>> PCFieldSplitGetSubKSP(pc, &nSubKsp, &subKsp);
>> KSP kspVelocity = subKsp[0];
>> KSP kspSchur = subKsp[1];
>> ...
>>
>> And then kspVelocity and kspSchur are filled with appropriate options.
>> The point is now, that to get the sub solver objects, I have to run
>> KSPSetUp before. In this case, the sub solver objects are also initialized
>> with some predefined options (block jacobi ILU), which I don't need and
>> what takes some time and memory. Is there any other way to get the sub
>> solver objects before and to initialize than the outer solver correctly
>> with the inner solver I have specified?
>>
>>
>> Thomas
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20121119/3c29c5ed/attachment-0001.html>
More information about the petsc-users
mailing list