<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18812"></HEAD>
<BODY>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>I have been looking 
at fluidanimate with an eye towards reducing the number of (or eliminating) 
critical sections. In performing this investigation I've noticed two issues. 
These issues had been reported earlier by Milo Martin (<A 
href="https://lists.cs.princeton.edu/pipermail/parsec-users/2008-August/000193.html">https://lists.cs.princeton.edu/pipermail/parsec-users/2008-August/000193.html</A>)</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>He mentioned his fix 
wasn't correct, but he may have subsequently corrected the problem. 
</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>The Cells2 and 
cnumPars2 are built at file load time and never changed afterwards. 
</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>As Milo pointed out, 
RebuildGrid is essentially performing a Reset Grid to initial values. IOW no 
advancement is occurring (particles are "vibrating" so to speak). 
</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>From my cursory look 
at the code, it seems like the author's intentions were for Cells2 and cnumPars2 
to contain the prior state  (i.e. read-in initial state and from 
integration step 2 onwards, the post AdvanceParticles state), and then to be 
used by RebuildGrid for preparing the grid for the next integration step. 
</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>To fix this (which I 
haven't done as of this writing) either</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>  
AdvanceParticles has to advance Cells into Cells2 (and copy new cnumPars to 
cnumPars2)</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial>or</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>  AdvanceFrame 
needs to add a new function CopyCellsAndcnumPars() following 
AdvanceParticles()</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>Not only were the 
initial states (p, v, hv) not updated but also the proximity pairs 
counts in cnumPars2 was not updated so the local particle density could not 
change.</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>After I examine this 
a bit further, I will try to report back my findings. (bug/noBug, if bug - bug 
fix)</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>It might be an 
interesting diagnostic to display the particles during integration using a 
relatively small set of particles. Coding errors (assuming this is an error) 
would quite easily be identified. Although this might not catch all errors 
in coding the fluid dynamic formulas.</FONT></SPAN></DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=359530917-24022010><FONT size=2 face=Arial>Jim 
Dempsey</FONT></SPAN></DIV></BODY></HTML>