PFC2D/PFC3D 3.10 Modification List for pfc2d.exe and pfc3d.exe. Type PRINT VERSION to display version information in format of 3.10-XXX, where XXX is sub-version number. ======================================================================== Sub-Version Number Date Description 257 08/22/05 Version 3.10 released to users on Itasca CD 17A. 258 09/21/05 BUG FIX to plotting logic: Crash occurred if the plot window was brought to front at exactly the wrong time during plotting. 259 10/05/05 Version 3.10 placed on Itasca CD 18A. Updated security logic - network support in same executable. Note that new security drivers are required - which are available on our website. 260 10/27/05 Fixed problem restoring pre-259 save files. 262 11/10/05 Fixed problem when printing FISH arrays containing character strings. 263 11/11/05 Fixed security check in FLUID command. 264 12/01/05 Fix bug: display serial number in Help->About dialogue. Fix bug: read customer information (SET {cust1, cust2}) from Windows registry during code startup. 265 12/07/05 Fix bug: memory leak when using user-written contact models. 266 01/10/06 Enhance parallel-processing option to support GROUPs. 267 01/26/06 Fix bug: Only delete clumps by the DELETE CLUMP command, and not when last ball used by a clump is deleted. 268 01/31/06 Fix bug in C++ option: TITLE command works correctly. Modify structure of user{2,3}dproj directories. 269 02/14/06 BUG FIX to plotting logic: redraw all plot-items in views automatically, and do not leave out balls if walls present. This bug was introduced into 3.10-258. 270 skipped 271 02/22/06 Support debug compile for C++ user-written code option. 272 03/22/06 Security logic startup: added informational message about compatibility with Windows Remote Desktop. 273 04/03/06 Fix bug (PFC2D fluid option only): porosity calculation. 274 07/07/06 Improve pressure BC (PFC fluid option only). 275 07/10/06 (1) Make FISH intrinsics w_radvel and w_radfob available for circle (2D) walls. (2) Add FISH intrinsics w_posend1 and w_posend2. 276 07/11/06 Fix bug when saving FISH variables that point to objects that have been deleted. For user-defined CPP code: FISH variables that point to user-defined memory-allocated objects will not save/restore properly. 277 07/25/06 Fix bug in clump logic: ignore null clumps (those with no balls). 278 08/08/06 Update security logic to support Windows Remote Desktop. Users must update their security drivers to >= 7.3.0. 279 08/22/06 Fix bug in fluid option and FluidCell plotting span. Reset damping constants at user-written ball-ball contacts based on estimated Kn and Ks from the user-written model. 280 09/14/06 Fix bug in fluid option (PFC2D only): calculate porosity in cell. 281 09/14/06 Fix bug for user-written C++ option: provide proper security.lib in user{2,3}dproj\lib directory. 282 09/20/06 Add thermal option to gold keys and demo mode. 283 skipped 284 10/31/06 Modify b_stress FISH intrinsic account for all ball contacts (ball-ball and ball-wall). 285 12/08/06 Version 3.10-285 placed on Itasca CD 19A. 286 01/10/07 Add FISH intrinsics for AC/DC multi-process mode. 287 01/18/07 Fix bug in AC/DC logic, PFC3D only: commands PROPERTY ZVEL and PROPERTY ZDISP now work properly. 288 02/27/07 Modify parallel-option behavior so that a key need only be present on the master machine during parallel startup (PAR START command) and cycling. Previous behavior required a key on each machine during its startup. 289 03/12/07 Fix bug that only affects PFC2D/3D thermal option. Before the fix, thermal pipes were activated between balls and general walls and these walls gave a zero temperature boundary condition. After the fix, thermal pipes are only activated between balls and walls if wall temperature is set (via WALL id=X temp=tval). Wall temperatures are printed by PRINT WALL PROP command, and the temperature is either "not set", in which case the wall acts as an adiabatic boundary, or equal to the specified value. 290 03/31/07 Fix bugs in parallel option: (1) balls, and associated contacts migrate properly across partitions, and (2) ball plot item displays balls properly after cycling (they were disappearing). 291 04/13/07 Fix bug in PFC2D that sometimes caused large spurious forces to act on balls lying on the "reverse" side of walls. 292 04/23/07 Use default window position if unable to get last position from Windows registry --- previous behavior: error msg. 293 04/25/07 Fix bug in IV plotting: ball plot item now displays balls properly after cycling (they were disappearing). 294 05/22/07 Make the code function properly with older keys. 295 06/06/07 Do nothing if unable to read ITASCA system variable from Windows registry at HKEY_CURRENT_USER --- previous behavior: error msg. 296 06/21/07 Fix bug in multi-process mode such that slave-balls maintain their correct entries in the cell space as they move. Before the fix, slave-balls were not migrating across the cell space. If a slave ball moved out of its original cell, its entry in that cell was not removed. If that slave ball was then deleted, that entry became a dangling pointer which could cause a crash whenever it was referenced. 297 07/02/07 Enhance logfile capability so that informational and error messages now get written to the logfile. 298 08/09/07 Enhance parallel-processing option: slave processes are forced to wait until master completes the SAVE and RESTORE operations. Previous implementation did not enforce this condition, and thus, if slaves continued their execution and sent/received data while a SAVE or RESTORE operation was still in progress, then the error: "Communications buffer overflow" occurred. 299 08/22/07 Fix bug in computation of critical timestep when viscous damping is active. Let dt0 denote the critical timestep without viscous damping, and let dtV denote the critical timestep with viscous damping active. Previous implementation sometime gave dtV > dt0 (for cases with damping constants less than about 0.2), and this made the mechanical computation nearly unstable. The bug fix sets the final dt = min( dtV, dt0 ), which means that the critical timestep is never able to be larger than its value without viscous damping. 300 08/23/07 Fix bug in JSET command. Some of the JSET command parameters are specified in terms of mean and standard deviation, and the related JSET properties are drawn from either a uniform or a Gaussian distribution. In the previous implementation, the property values for the case of a uniform distribution were being computed using: v = m + 2*(phi - 0.5)*d, where m and d are the mean and standard deviation, respectively, and phi is a number between 0 and 1 drawn from a uniform distribution. The corrected implementation uses the expression: v = m + 2*(phi - 0.5)*d*sqrt(3.0), where sqrt(3.0) is the square root of three. 301 12/17/07 Updated security logic to support new demonstration version standard. The presense of a CFG file (named PFC2Ddemo.cfg) indicates "demo" mode which allows cycling of small models (PFC2D: 1000 balls or less, PFC3D: no demo mode). This corresponds largely to the old "student" license. 302 05/20/08 Fixed divide-by-zero errors in contact model "softening" (called Displacement Softening Model in 3.1 manual). 303 05/29/08 Modify force-displacement logic to skip all calculations for the "softening" contact model if there is no overlap and the model is in its fully broken state. 304 06/04/08 Fix bug in periodic-space logic to prevent balls from losing their EXTRA and GROUP data when switching state (regular/controller/slave). 305 11/26/08 Fix the cell-space ball-removal bug that was causing the code to freeze when periodic space was active.