On Thu, May 14, 2009 at 11:54 AM, Garth N. Wells <[email protected]> wrote: > > > 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.
As soon as someone updates dolfinutils in ufl and regenerates the header files. > > 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 > -- Ola Skavhaug _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
