> The patch is committed now, but I'm afraid I don't yet understand > under what circumstances the second half of those if statements will > trigger. Surely if you add a new element to an existing mesh then it > won't have an old_dof_object at all, but if it does have an > old_dof_object then there should be valid dofs on it for every System. > Or are you looking at adding a new System to a problem as well as new > elements?
No, but the thing is that EquationSystems::reinit() iterates over all systems, calling sys.get_dof_map().distribute_dofs(_mesh) followed by sys.restrict_vectors() for each system. DofMap::distribute_dofs(_mesh) calls DofMap::reinit(mesh), which clears the old_dof_object, while the first system is being processed. For all subsequent systems in the iteration, there will thus already exist an old_dof_object, but it won't contain the dofs for these subsequent systems yet, which is what I'm checking. Roman ------------------------------------------------------------------------------ What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
