Hi, I’m trying to use the JKR contact model after initially using Hertz, but have run into the following error: “ERROR on proc 1: Neighbor history overflow, boost neigh_modify one (src/fix_neigh_history.cpp:392)”
The script is as such:
variable file_data string "./test.txt"
atom_modify map yes
units lj
dimension 3
atom_style sphere
read_data ${file_data}
change_box all triclinic boundary p p p
variable E equal 5
variable Pmin equal 1e-6
variable Pdamp equal 1000
variable stepsize equal 100
variable v equal 0.15
variable E_eff equal ${E}/(2*(1-${v}^2))
variable en equal 0.5
variable kn equal 4/3*${E_eff}
variable delta_t equal 0.1
pair_style granular
pair_coeff 1 1 hertz ${kn} ${en} tangential linear_nohistory 1 0.3 damping tsuji
variable skin equal 1
neighbor ${skin} multi
neigh_modify delay 0 every 1 check yes collection/interval 3 10 22 40
comm_modify mode multi vel yes reduce/multi
thermo_style custom step press temp density
thermo 100
fix NVe all nve/sphere
timestep ${delta_t}
run 5000
pair_coeff 1 1 jkr ${E} ${en} 0 0.01 tangential linear_nohistory 1 0.3 damping tsuji
run 25000
unfix NVE
with the data file containing atom coordinates etc:
1 1 39.02512328776685 1 222.66724026475285 398 231.62420724005202
2 1 38.68005173313877 1 306.83062506001045 413 175.5597411390237
3 1 38.63948120928962 1 127.77157077968695 171 154.08893387407437
4 1 38.63732009325187 1 118.34204470483316 380 193.5892879332805
5 1 38.559038662172554 1 416.33239736872576 301 48.1063593905061
6 1 38.222491146871754 1 129.89002558639098 299 354.4014029537014
I’d be very thankful for any advice.
As a first step, I would “boost neigh_modify one” as suggested by the error message, see neigh_modify command — LAMMPS documentation.
Hi, sadly that doesn’t seem to have any effect.
Did you make it big enough, e.g.
neigh_modify one 100000 page 1000000
JKR is an odd duck when it comes to neighbor lists, especially with the multi option. So if boosting one and page doesn’t work there may be something else going awry. Few questions:
- How many atoms are there in the system?
- What is the size distribution (power law, gaussian, etc)?
- How many processors are being used?
- When is the error showing up? During initialization or at a later timestep?
If you can share a data file that reproduces the error relatively quickly when running in serial, I may be able to take a look at it.
The simple script above, with 6 atoms reproduces the error i get. The size distribution otherwise is log-normal, running on 8 processors. The error shows up in the script above after changing the contact model to JKR.
Have you tried running in serial or on fewer processors?
6 atoms is a conveniently small number, hopefully that helps narrow down the issue. Can you share the actual data file though? I need box dimensions, etc. to try and diagnose the issue.
Yeah the error happens for serial execution as well. My LAMMPS version is 8 Feb 2023. Here is the data file:
LAMMPS file containing particle data
6 atoms
1 atom types
0 442.17652217373666 xlo xhi
0 442.17652217373666 ylo yhi
0 442.17652217373666 zlo zhi
0 0 0 xy xz yz
Atoms #sphere
1 1 39.02512328776685 1 222.66724026475285 398.6810902479703 231
2 1 38.68005173313877 1 306.83062506001045 413 175.5597411390237
3 1 38.63948120928962 1 127.77157077968695 171 154.08893387407437
4 1 38.63732009325187 1 118.34204470483316 380 193.5892879332805
5 1 38.559038662172554 1 416.33239736872576 301 48.1063593905061
6 1 38.222491146871754 1 129.89002558639098 299 354.4014029537014
With the current development version I get this error instead:
ERROR: Cannot use tsuji model with a cohesive normal model, jkr (src/GRANULAR/granular_model.cpp:257)
Last command: pair_coeff 1 1 jkr ${E} ${en} 0 0.01 tangential linear_nohistory 1 0.3 damping tsuji
This looks like older versions of LAMMPS were trying to access data that wasn’t there because of an incompatible setting and thus produce a bogus error message.
I think Axel is correct. Swapping to a different damping model, I see no errors in the current version of LAMMPS. This error message was likely fixed in a recent clean up of the GRANULAR package.
Please let me know if you see any other issues with JKR + multi. At some point in the future, I plan to revamp JKR’s neighbor lists.
Oh ok, thank you very much for the help!