[petsc-dev] DM interface versus implementation headers

Lisandro Dalcin dalcinl at gmail.com
Mon Mar 14 08:52:10 CDT 2011


On 13 March 2011 17:40, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>  Concur. And fix that petscmg.h name at the same time :-)
>
>   Barry
>
> On Mar 13, 2011, at 1:54 PM, Jed Brown wrote:
>
>> The solvers all have DM members now, but they only depend on the generic DM interface. Currently all of DMDA and now DMMesh are piled into petscdm.h which means that all the solvers need to be rebuilt any time these implementations change (e.g. a new implementation-specific function is added). The user already needs to decide which DM to use (DMDA, DMMesh, etc) so it would be no hardship to include petscdmda.h instead of just petscdm.h. For user-defined implementations of DM, this is already necessary.
>>
>> In order to loosen the dependency of the solvers on DM, I propose distilling petscdm.h to be only the core DM functionality (roughly what is in _DMOps) and creating petscdmda.h and petscdmmesh.h for the DMDA* and DMMesh* functions. Note that there is already some precedence for this in petscmg.h (which perhaps should be named petscpcmg.h), though I think the case for separation is much stronger for DM.
>>
>> If this change is going to happen, it should be before the release.
>
>

Hey, What's the status of the rule that #include <petsc.h> should give
you all of PETSc? I've just tried to build petsc4py-dev, and things
failed really bad...


-- 
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
3000 Santa Fe, Argentina
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169



More information about the petsc-dev mailing list