📄 changelog
字号:
(3) Add random number generator to parse.cMarch 26, 1998Version 2.4.35 (1) Removed change (2) above from version 2.4.34, and added 0.5 in input function of RCV and COR.March 26, 1998Version 2.4.34 (1) Fixed bad bug that happens with FILL command. In cdfill.c called AddParticle() which called ReallocateParticle() in cdalloc.c. The problem was that when ReallcateParticle() allocated new storage, it would update the value of a->np. But AddParticle() did not anticipate that, and it would increment a->np, resulting in an extra particle with coordinate 0.0.0 inserted in array. (2) Found that WRITE RCV and WRITE COR always have negative error. Have added 0.5 floating value version of integer coordinate, this rounds it properly. March 20, 1998Version 2.4.33 (1) Fixed AddPariticle() routine in cdfill.c. It mistakenly incremented a->np before calling RealloateParticle(), but that function expected a->np to hold the old number of particles. (2) In CalcAngularVelocity() in cditemp.c, was incorrectly using if (Select[ipart]) instead of if (IS_SELECT2(Select,ipart)). (3) In cdalloc.c, ReallocateParticle(), add particles in groups of no less than 1024 (NUM_ALLOC_INC).March 11, 1998Version 2.4.32 (1) Remove annoying debugin message (done?). (2) Perform particle wrap before WRITE PARTICLE (Problem reported by Mario G. Del Popolo) (3) Correct WRITE TEMP command to correct for fixed particles. (Problem reported by Mario G. Del Popolo) (4) Fix read_constrain(). Previously assume each call was the first call to read_constrain() and it would re-allocate the a->cons[] array. Now it checks to see if array is needed before doing the reallocation.Feb 4, 1998Version 2.4.31 (1) Added test for PRESSURE CLAMP with no repeating boundaries in cdmd.c CheckSimpleErrors(). (2) Add Stillinger-Weber Potential (cdstil.c).Feb 2, 1998Version 2.4.30 (1) WRITE STATE command previously appended blanks to end of output file name if present in *.xm file. This is now fixed. (2) In cdcsi.c, replace dynamics with static allocation for BondZetaD_m, BondVector_m, TotalCutoff_m, TotalCutoffSqr_m (3) In cdeam.c, re-arrange Embedding calculation so that "Electron Density Out of Range" error accompanied by index of offending atom.Jan 27, 1998Version 2.4.29 (1) Fixed error in units for PRESSURE EXTPRESSUREJan 27, 1998Version 2.4.28 (1) Used new -c command line option to find memory leak, was in neigh.c. NeighRadSqr[] was ALLOCATE()'ed at line 281, but was never FREE()'ed.Jan 26, 1998Version 2.4.27 (1) Add -c command line option to dump memory informationJan 7, 1998Version 2.4.26 (1) Add pair potential to Tersoff. Can have up to 5 atom types. Types 1,2 are C,Si, and can additionally include pair potentials. Types 3,4,5 are pair only. (2) Updated cddoc.c to include missing commands. (3) Renamed VOLUME command PRESSURE (VOLUME still works though). (4) Added external pressure to PRESSURE CLAMP command.Dec 26, 1997Versoin 2.4.25 (1) Fix compiler warnings from Borland C++ 4.02 (2) Fix error reported by R. Ge (Dec 24, 1997)Dec 16, 1997Version 2.4.24 (1) cwrite.c, neigh.c cdsearch.c - replace bondd() in bondsub.c with CalcNeighborPerAtom() from neigh.c - Add SEL option to WRITE RDF command. (2) Add SEL option to ENERGY command (now WRITE ENERGY and WRITE EPOT are identical).Dec 12, 1997Version 2.4.23 (1) cdstate.c - correct storage of Volume Clamp infoDec 11, 1997Version 2.4.22 (1) cdstate.c - correct storage of a->UseClamp[] and stuff.Nov 20, 1997Version 2.4.21 (1) cdsubs.c - correct read_clamp(). Was not working without SEL option. (2) cdmd.c - correct ClampVolume() to only scale box directions with repeating boundary conditionsNov 19, 1997Version 2.4.20 (1) Change VOLUME CLAMP command to use B instead of C11,C12,C13,C22..Nov 17, 1997Version 2.4.18 (1) cdsubs.c - corrected read_volume() command. Forgot to read parameters correctly.Nov 17, 1997Version 2.4.19 (1) particile.h - add IsInitializedSurface (2) cdalloc.c - initialize surf[] to true, IsInitializedSurface to false (3) cdsubs.c - read_box() Set surf[] to false if first box call and (4) cdsubs.c - read_surf() Set IsInitializedSurface to TRUENov 14, 1997Version 2.4.17 (1) cdfill.c - fix Orientation calculation. Was using Orient_m instead of OrientToReal_m and ...Oct 31, 1997Version 2.4.16 (1) Add FILL command (2) Add multiple temperature CLAMPs (3) Add VOLUME CLAMP (not done yet) (4) correct cddoc.c, #define INT4 long -> #define INT4 int The previous version did not work on DEC Alpha. The new one should work on DEC, Linux, AIX (but probably not 16bit DOS). (5) plotc.c - initialize PlotInfo structure so that UseBond and UseDisplacement are explicitly intialized to FALSE (before this seemed to happend automatically on Linux, AIX, but not on DEC ALPHA). (6) plotc.c - replace single call to gr_setrgbcolor() to gr_setcolor(). This prevents mis-setting colors in static variable within gr_setcolor(). When gr_setrbgcolor() was called directly, color commands got out of sync. (7) grdevsub.c - change PS header so that Ghostview can recognize pages and present on-screen page list.Oct 7, 1997Version 2.4.15 (1) In cdcsi.c GetEnergy() ASSERT to check that different energy sums give same answer failed when energy is zero. Have fixed it by changing v1 < v2 to v1 <= v2. (2) Add VOLUME QUENCH command to quench volume.Sep 15, 1997Version 2.4.14 (1) Found similar problems to those fixed in previous version. Have fixed them all by having strhed() truncate all white-space from end of tail string. (2) In plot.c when error messages were printed program was not ending. Have inserted calls to CleanAfterError() after all such error messages.Sep 12, 1997Version 2.4.13 (1) Uncovered bug, FIX, ECHO and REFSTEP commands. When reading option used (!strcmpi(instr,"ON")) for example. The problem is sometimes there is a trailing blank(s) on instr which would miss a match between "ON" and "ON ". Solution is to use tokstr = strhed(&instr) which would truncate trailing blanks.Sep 11, 1997Version 2.4.12 (1) Uncovered bug, SURFACE command was not reseting neighbor list.Sep 8, 1997Version 2.4.11 (1) There was a bug when calling READ from within a REPEAT statement - the REPEAT statement would treat the EOF of the READ file as an END command. Fixed by having read_read() scan entire file and remove it from list before returning. Previously, read_read() simply added file to the list and let subsequent code deal with closing the file. (2) Added ERASE file command. (3) Added options AVG, MIN, MAX to WRITE PARTICLE, VELOCITY, FORCE (4) Added WRITE POSITION alias for WRITE PARTICLE (5) In cdmd.c ClampVelocity() VelocityFactor calculated using VelocityFactor = exp (0.5*log(s->tempc/CurrentTemp)/s->cstep); This would return NaN when s->tempc=0. Changed to VelocityFactor = pow( s->tempc/CurrentTemp, 1.0/(2*s->cstep)); (6) In cdmd.c ClampVelocity(). Was using IS_SELECT(ipart) instead of IS_CLAMP(ipart) when adjusting atom velocities.Sep 4, 1997Version 2.4.10 (1) Per requiest of Francios-Xavier and Selena Zajac, altered the SELECT NEAR command, adding options SET and INDEX, POINT, and when called without options using the first selected atom.August 25, 1997Version 2.4.9 (1) Update cddoc.c to reflect latest changes in commands. (2) Update DUP command to include duplication of mass[] info. (3) EAM POTENTIAL CLEAR command was fixed. The string LeadingTokenPtr was not re-loaded after testing positive for string "CLEAR". (4) There was a bug in WRITE EATOM command - it tried to use a->v[] to calculate Kinetic Energy even when a->v[]==NULL. (5) Added nrand() routine to cdsubs.c to calculate normally distributed random numbers. This is now the default velocity generator called by itemp(). The previous generator - randfloat() - is specified the OLD option to the ITEMP command. (6) Update DUP command to include duplication of velocity and higher derivatives. (7) Modify format of POTENTIAL SCALE command from POTENTIAL SCALE PAIR 1 1 scale to POTENTIAL SCALE scale PAIR 1 1 (8) Update ITEMP to zero higher derivatives when initializing velocity. (9) Fix WRITE RDF command to use no types. (10) Add SEL option to WRITE TEMP, EPOT, EKINAugust 18, 1997Version 2.4.8 (1) In cdeam.eam include FREE() Rc_m[] and RcSqr_m[] in _free_eam() function. (2) Add ability to use atom coordinates symbolically as variables X,Y,Z in CONSTRAIN command (analogous to X,Y,Z in DAMP, EXTFORCE, EXTSPRING, and MOVE commands. Add EvaluateFormula() to cdsubs.h. (3) Corrected csi_calcforce(), was not initailized AtomBondEnergy. (4) Optimized EvaluateFormula() function. Previously XMD was taking 0.52sec to move 4000 particles with MOVE 0.1 0.1 0.1. Now it takes 0.02sec. Change involved calling AssignVariable() function from parse.c to set X=?, Y=?, Z=?. Previously was setting three separate strings "X=?", "Y=?", etc. and calling dblstrf() three separate times.August 13, 1997Version 2.4.7 (1) Correct SELECT command that prevented combination of previous selections with current selection (the AND, OR and XOR options) (2) Correct REMOVE command - it was not saving tag() information. This was corrected by modifying CopyParticle() in cdalloc.c. Also, tag() was improperly handled in other cdalloc.c functions. In particular, whatever is done to a->Selection() should also be done to a->tag() (with the exception that a->Selection() is allocated by default, a->tag() only when needed). (3) Modified readstate() to correctly update a->IsInitializedMass and a->IsInitializedPotential flag. Also in readarray() use FREE() on array before ALLOCATE(). This removed annoying message. (4) Added KE to WRITE EATOM command. (5) WRITE EATOM and WRITE EPOT now perform energy calculation (instead of just printing most recent values).August 11, 1997Version 2.4.6 (1) Add auxillary pair potential to cdcsi.c (2) In cdeam.c was freeing a pointer twice, which ultimately resulted in a run-time segmentation fault.10 Jun 1997Version 2.4.1 (1) Add CLAMP SEL command (lost original version, not fully restored yet)Version 2.4.2 (1) Add PLOT SIZE command (2) Redirected all messages that were sent to stderr to stdout. (3) Removed need for allocate command.Version 2.4.3 (1) Add select option to ITEMP command.Version 2.4.4 (1) Correct bug with SELECT SET command. Caused by misplaced ")" in IS_SET() macro.Version 2.4.5 (1) Correct bug with DUP command. read_dup() was not recorder new number of particles in variable a->np. I have put an error checking statement in cdcsi.c GetEnergy() to stop the program when the radius is zero.20 May 1997Version 2.3.13 (1) Uncovered bug in cdcsi.c. When two particles had zero radius between them, division by zero happened in GetEnergy(). Strangely enough, S. Wang had an input file that would trigger this bug on Rose, but not on Aster. I assume that there was a differnce in round-off error between the two machines when the second particle was wrapped in coincidence with the first. On ROSE (a P5-133) the radius was observed to be exactly zero. On ASTER (a P6-200) I assume there was a slight round-off error which made the separation other than zero.23 Apr 1997Version 2.3.11 (1) Corrected bug in PLOT SYMBOL FILL command. Previously "FillFlag" variable was uninitialized.12 May 1997Version 2.3.12 (1) Correct REPEAT { CORE | RCV } command. Did not properly initialize UseSkip. This caused routine to implement step skipping with bogus value of Step increment.3 Apr 1997Version 2.3.10 (1) Added REPEAT RCV option. Previously had REPEAT COR option.26 Mar 1997Version 2.3.9 (1) Corrected SELECT PLANE command to read plane normal as float instead of integer. (2) Added a color option to PLOT SYMBOL command. This involved modifying plot.c, grdevsub.c and grdevsub.h4 Feb 1997Version 2.3.8 (1) Added the WAVE command for S. Wang's stacking fault simulations.5 Feb 1997Version 2.3.7 (1) Found that ReadCorFile() was not setting a->boxflag TRUE. This resulting in the diabling of the WrapParticle() function. Have added line a->boxflag=TRUE; to ReadCorFile().3 Feb 1997Version 2.3.6 (1) Replaced older neigh.c neighbor routine with simplified routine, because Elena's run (see aster://~/cdev/bug/bug2) would have an abrupt rise in the total energy at around step 361. The simplification involved removing a mapping from real to integer coorrdinates before sorting. This might have been efficient in older processors, but not was just making the routine harder to understand and probably hiding a bug. (2) WRITE STRESS command now prints stress*vol/np like ssave has always done. (3) In cdmd.c Stress[] had wrong sign in formula for BoxForce[]. (4) If starting a run by reading particles from a COR file, XMD would give an error when you tried to use them, saying that they were not initialized. Have corrected this by setting the initialization flag in ReadCorFile() function.28 Jan 1997 (1) Repleced cell4.c with older neigh.c neighbor routine because (a) there was a failed assertion when doing a run of Elena's (b) S. Wang's run would take forever when a particle left the surface of the material and floated away. This would cause the neighbor routine in cell4.c to work very hard in created a large neighbor of cells, most of which were empty. (2) Added WRAP routine to read_particle and read_surface that also prints out warning when particles have been wrapped.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -