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 <[email protected]> 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 > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
