[petsc-dev] coordinates stored twice in snes ex12?

Geoffrey Irving irving at naml.us
Tue Nov 19 15:19:06 CST 2013


On Tue, Nov 19, 2013 at 1:14 PM, Matthew Knepley <knepley at gmail.com> wrote:
> On Tue, Nov 19, 2013 at 1:14 PM, Geoffrey Irving <irving at naml.us> wrote:
>>
>> It looks like when ex12 clones the DM, it reuses the mesh data
>> structure but copies the coordinate vector.  Is there a reason it
>> can't reuse that storage?  Given that the PetscFEM routines accept the
>> same position array for dependent and auxiliary fields, does it even
>> make sense to have distinct coordinate arrays?
>
>
> Yes, this is lazy. It could be replaced by
>
> DMGetCoordinateSection(dm, &s)
> DMGetCoordinatesLocal(dm, &c)
> DMSetCoordinateSection(dmAux, s)
> DMSetCoordinatesLocal(dmAux, c)

Does it matter that dm's section knows about boundary conditions, and
dmAux's currently doesn't?  This change would mean that both sections
know about boundary conditions.

Should I make this change to ex12 and remove the SetupMaterialSection
function entirely, or should I only use it in my own code?

Thanks,
Geoffrey



More information about the petsc-dev mailing list