[petsc4py] What should be the 'default' communicator?
Barry Smith
bsmith at mcs.anl.gov
Tue Aug 26 09:01:31 CDT 2008
You have to do what you have to do; if this is the only way
then it is the only way, so I have to live with it.
Barry
On Aug 26, 2008, at 8:54 AM, Lisandro Dalcin wrote:
> On Tue, Aug 26, 2008 at 10:24 AM, Barry Smith <bsmith at mcs.anl.gov>
> wrote:
>> This seems a fundamental stupidity of python. Why can't you make
>> this
>> PETSc thing
>> be a python class where the default_comm is a property?
>>
>
> In general, such approach is not convenient. Modules are tightly
> releated to 'import' statements. Modules provide a 'namespace' for all
> stuff you put inside them.
>
> Barry, see my current inplementation:
>
>
> from petsc4py import PETSc
>
> saved_comm = PETSc.Sys.getDefaultComm()
> PETSc.Sys.setDefaultComm(PETSc.COMM_SELF)
> # do stuff....
> PETSc.Sys.setDefaultComm(saved_comm)
>
> Do it looks too bad?. I do not expect this pattern to be used all over
> user code. Trying to hack/emulate what you want (using a class
> instance) will complicate too much the implementation, and the final
> result could be 'unnatural' for end users. For example,
>
> from petsc4py.PETSc import Vec, Mat
>
> is expected to work, but that will not work if 'PETSc' is a class
> instance.
>
>
>
>
> --
> Lisandro Dalcín
> ---------------
> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594
>
More information about the petsc-dev
mailing list