← Back to team overview

dolfin team mailing list archive

Re: [HG DOLFIN] Remove debug output.

 



Anders Logg wrote:
On Thu, May 14, 2009 at 09:15:08AM +0100, Garth N. Wells wrote:

Ola Skavhaug wrote:
On Thu, May 14, 2009 at 9:36 AM, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
Something in the recent change sets has broken some demos, for example

    demo/pde/advection-diffusion/cpp

Garth
OK, I think I know what's breaking it. The dofmap gets the wrong
global dimension, and we are changing some of the logic there. I will
need to dig a little deeper.

The problem is that the code

   // Initialize mesh entities used by dof map
   for (uint d = 0; d <= mesh.topology().dim(); d++)
     if (ufc_dof_map->needs_mesh_entities(d))
     {
       mesh.init(d);
       if (d > 0 && parallel)
         MeshPartitioning::number_entities(const_cast<Mesh&>(mesh), d);
     }

inside DofMap::init(const Mesh& mesh) has been commented out. Mesh entities which are required for the dof map are not being initialised.

Can this code just be 'turned' back on?

The plan is for this to happen in the constructor of FunctionSpace
instead. There are now two different constructors, one const and one
non-const.

The non-const version should check which entities are needed and if they
are not there compute them. This means calling mesh.init(d) and if
running in parallel also number_entities which computes global indices
for all entities. The global indices are stored in MeshData with keys
"global entity indices 0", "global entity indices 1" etc.

The const version should check which entities are needed and if they
are not there give an error message.

This will require modifying the generated DOLFIN wrapper code (in
dolfin_utils) to generate both constructors.

When this works, we can remove the const-casts for init() in Mesh.


When will it work? At the moment DOLFIN is broken.

Garth

It's more honest if we make the const really mean const.



------------------------------------------------------------------------

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev




Follow ups

References