Bug with LIGGGHTS

Submitted by marketos on Wed, 03/30/2011 - 17:30

Hi all,

I have identified a bug with LIGGGHTS, which is causing problems every time a run command is encountered in the input script. What I have seen is that the run command deletes all the forces and recalculates them, and I think that something is not done properly in the way the shear force gets calculated (ie in the way the last value of shear gets passed on to the pairs at the initial step after run Nsteps is found).

The file I attach reproduces this behaviour. It creates a text file which outputs the coordinate of one grain. If at the end of the input file you merge the run 5000 and run 5000 to a single run 10000 command you will see that the output in the text file is different, with a jump in particle position at the beginning of the second run 5000 command.

I have included comments in my input file, but basically what I am doing is just creating a packing, choosing walls and setting grain properties. I chose this configuration as I am not sure how clear the difference would be using different packings. I basically set the parameters to strange values so that I make sure I get no damping and I am not sure if the timestep is 100% correct, but this should not be an issue.

In order to solve this problem we need to check what happens with the fixes and neighbour list when a simulation is restarted with a run command.

A bit of looking into the code has pointed me to the function Verlet::setup . This gets run and as I understand it deletes all forces and recalculates them, but also builds the neighbour list again and maybe (not sure) remaps the atoms to processors etc..

Ideas/help on how to get rid of this bug are gratefully appreciated. I have already spent some time on it but did not get very far.

Thanks,

George

ckloss's picture

ckloss | Wed, 03/30/2011 - 21:18

Hi George,

thanks for looking into this! I already got an email from Steve Plimpton, he identified the issue. It was due to the fact that as you assumed, the shear history was not the most current one and also there is an additional increment to shear history for one time-step if you continue a with a second run command. This perfectly makes sense, and I will include the remedy he suggests into LIGGGHTS asap (presumably early next week)

Christoph

PS: also I took up your suggestion: the next version will contain a LAMMPS style contact law, where kn, kt etc are defined manually

marketos | Thu, 03/31/2011 - 18:26

Dear Christoph,

Thank you for spending time on the problem. What Steve Plimpton proposed as a solution for LAMMPS works fine there. Just be careful when porting his 31Mar11 patch as I think lines 56-60 of his LAMMPS pair_gran_hertz_history.cpp are accidentaly repeated, instead of some other lines of code (I already pointed this out to him through the LAMMPS forum).

Regards,

George

raguelmoon's picture

raguelmoon | Fri, 04/01/2011 - 14:55

Dear George and Christoph,
Is it useless to dump forces on mesh using these versions of LIGGGHTS?
Thanks,
Ram

Ram

marketos | Mon, 04/04/2011 - 12:31

Hi,
I have seen that the bug only gets activated when a run command is found in the input script. If you had only one run command I guess things should have been OK. But if you are worried, the best thing to do is to wait for the new version and see what the difference between new and old results is.
Regards,
George

ckloss's picture

ckloss | Mon, 04/04/2011 - 12:37

no - I do not think the differences on the force will be considerable
Christoph