[petsc-users] Regarding ksp ex42 - Citations
Barry Smith
bsmith at mcs.anl.gov
Thu Jul 21 18:41:48 CDT 2016
I'll add support for handling both A and M via Galerkin. It is easy to write the code, picking a good simple API that doesn't break anything is more difficult. I'm leaning to change PCMGSetGalerkin(PC,PetscBool) to PCMGSetGalerkin(PC, PCMGGalerkinType) where
typedef enum { PC_MG_GALERKIN_BOTH,PC_MG_GALERKIN_PMAT,PC_MG_GALERKIN_MAT, PC_MG_GALERKIN_NONE
} PCMGGalerkinType;
Barry
> On Jul 21, 2016, at 6:09 AM, Lawrence Mitchell <lawrence.mitchell at imperial.ac.uk> wrote:
>
>
>> On 21 Jul 2016, at 10:55, domenico lahaye <domenico_lahaye at yahoo.com> wrote:
>>
>> Apologies for being not sufficient clear in my previous message.
>>
>> I would like to be able to Galerkin coarsen A^h to obtain A^H
>> and to separately Galerkin coarsen M^h to obtain M^H.
>>
>> So, yes, the way in which I currently (partially) understand your
>> description of the new DMCreateMatrices would do the job.
>
> If you want to separately coarsen A and M via Galerkin, I think it will be easier to just change the code in PCSetUp_MG to handle the case where A and M are different on the coarse levels. Effectively you just need to replicate the code that computes the coarse grid "B" matrix to separately compute coarse grid A and B matrices and pass them in to KSPSetOperators.
>
> Cheers,
>
> Lawrence
>
More information about the petsc-users
mailing list