We need to have periodic boundary constraint equation directions be decided by a more objective standard, not just by a "who gets there first" system, or we can end up creating recursive constraints when running threaded or on a distributed mesh.
We need to have periodic boundary constraint equation directions be
decided by a more objective standard, not just by a "who gets there
first" system, or we can end up creating recursive constraints when
running threaded or on a distributed mesh.

We're still not quite good enough for distributed mesh work (there's
still ambiguity on the DoFs where two different periodic boundaries
meet), but disambiguating the directions within each boundary should
be enough to fix the "race condition->recursive constraint->infinite
loop" situation we were seeing when running periodic BCs threaded.



git-svn-id: e88a1e38e13faf406e05cc89eca8dd613216f6c4@5895 434f946d-2f3d-0410-ba4c-cb9f52fb0dbf

pbauman/libmesh,libMesh/libmesh,vikramvgarg/libmesh,vikramvgarg/libmesh,dmcdougall/libmesh,giorgiobornia/libmesh,balborian/libmesh,dschwen/libmesh,libMesh/libmesh,benkirk/libmesh,hrittich/libmesh,coreymbryant/libmesh,dknez/libmesh,benkirk/libmesh,balborian/libmesh,pbauman/libmesh,friedmud/libmesh,BalticPinguin/libmesh,benkirk/libmesh,dmcdougall/libmesh,BalticPinguin/libmesh,dknez/libmesh,hrittich/libmesh,hrittich/libmesh,pbauman/libmesh,pbauman/libmesh,roystgnr/libmesh,jwpeterson/libmesh,cahaynes/libmesh,libMesh/libmesh,coreymbryant/libmesh,benkirk/libmesh,coreymbryant/libmesh,jwpeterson/libmesh,dschwen/libmesh,benkirk/libmesh,90jrong/libmesh,giorgiobornia/libmesh,benkirk/libmesh,dmcdougall/libmesh,hrittich/libmesh,aeslaughter/libmesh,giorgiobornia/libmesh,90jrong/libmesh,svallaghe/libmesh,jwpeterson/libmesh,BalticPinguin/libmesh,90jrong/libmesh,dmcdougall/libmesh,jwpeterson/libmesh,friedmud/libmesh,cahaynes/libmesh,balborian/libmesh,libMesh/libmesh,90jrong/libmesh,roystgnr/libmesh,giorgiobornia/libmesh,jwpeterson/libmesh,capitalaslash/libmesh,aeslaughter/libmesh,giorgiobornia/libmesh,dknez/libmesh,giorgiobornia/libmesh,balborian/libmesh,friedmud/libmesh,cahaynes/libmesh,balborian/libmesh,dknez/libmesh,svallaghe/libmesh,pbauman/libmesh,balborian/libmesh,balborian/libmesh,capitalaslash/libmesh,capitalaslash/libmesh,hrittich/libmesh,dschwen/libmesh,BalticPinguin/libmesh,svallaghe/libmesh,jwpeterson/libmesh,capitalaslash/libmesh,dschwen/libmesh,dknez/libmesh,svallaghe/libmesh,dknez/libmesh,libMesh/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,hrittich/libmesh,friedmud/libmesh,dknez/libmesh,aeslaughter/libmesh,svallaghe/libmesh,friedmud/libmesh,90jrong/libmesh,svallaghe/libmesh,vikramvgarg/libmesh,cahaynes/libmesh,libMesh/libmesh,vikramvgarg/libmesh,aeslaughter/libmesh,cahaynes/libmesh,dknez/libmesh,90jrong/libmesh,svallaghe/libmesh,roystgnr/libmesh,friedmud/libmesh,BalticPinguin/libmesh,capitalaslash/libmesh,dschwen/libmesh,capitalaslash/libmesh,vikramvgarg/libmesh,jwpeterson/libmesh,vikramvgarg/libmesh,coreymbryant/libmesh,coreymbryant/libmesh,svallaghe/libmesh,BalticPinguin/libmesh,cahaynes/libmesh,dschwen/libmesh,vikramvgarg/libmesh,aeslaughter/libmesh,aeslaughter/libmesh,giorgiobornia/libmesh,benkirk/libmesh,90jrong/libmesh,balborian/libmesh,dschwen/libmesh,pbauman/libmesh,benkirk/libmesh,capitalaslash/libmesh,90jrong/libmesh,balborian/libmesh,dmcdougall/libmesh,coreymbryant/libmesh,pbauman/libmesh,roystgnr/libmesh,vikramvgarg/libmesh,aeslaughter/libmesh,dmcdougall/libmesh,hrittich/libmesh,aeslaughter/libmesh,jwpeterson/libmesh,pbauman/libmesh,dmcdougall/libmesh,roystgnr/libmesh,roystgnr/libmesh,dschwen/libmesh,friedmud/libmesh,coreymbryant/libmesh,friedmud/libmesh,dmcdougall/libmesh,hrittich/libmesh,capitalaslash/libmesh,benkirk/libmesh,vikramvgarg/libmesh,cahaynes/libmesh,coreymbryant/libmesh,giorgiobornia/libmesh,libMesh/libmesh,svallaghe/libmesh,aeslaughter/libmesh,hrittich/libmesh,pbauman/libmesh,giorgiobornia/libmesh,BalticPinguin/libmesh,90jrong/libmesh,cahaynes/libmesh,balborian/libmesh,roystgnr/libmesh,friedmud/libmesh,libMesh/libmesh