> 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

Reply via email to