Help -- system with pair_style lj/cut/coul/long working slowly with pppm at high accuracy

I am working on “Polyelectrolytes in salt solutions using LAMMPS” where I am using truncated-shifted LJ-potential.

When I am going for lj/cut/coul/cut and not accounting for long-range interactions, the system is working fine.

The issue is that when I am accounting for long-range interactions and using " lj/cut/coul/long " and kspace_style as pppm with an accuracy of 1e-5, there is a considerable decrease in the number of time steps performed per second.

Please help me with this by giving some valuable suggestions

Awaiting and looking forward to your valuable response.

Here’s the LAMMPS script for the particular system.


variable fname index finalsizefixed1.lmp
variable simname index finalfixed1
units lj
boundary p p p
atom_style full
log log.{simname}.txt read_data {fname}

pair_style lj/cut/coul/long 2.5 5
#pair_style lj/cut 1.0
#kspace_style pppm 1.0e-5
pair_coeff 1 1 0.3 1.0 2.5
pair_coeff 2 2 1.0 1.0 1.12
pair_coeff 1 2 1.0 1.0 1.12
pair_coeff 1 3 1.0 1.0 1.12
pair_coeff 1 4 1.0 1.0 1.12
pair_coeff 2 3 1.0 1.0 1.12
pair_coeff 2 4 1.0 1.0 1.12
pair_coeff 3 4 1.0 1.0 1.12
pair_coeff 3 3 1.0 1.0 1.12
pair_coeff 4 4 1.0 1.0 1.12
pair_modify shift yes

bond_style fene #check
bond_coeff 1 30.0 1.2 1.5 1.0
special_bonds lj 0.0 1.0 1.0 #check
special_bonds coul 0.0 1.0 1.0 #check

angle_style cosine/delta
angle_coeff 1 6 0.0

velocity all create 1.0 4928459 rot yes dist gaussian

fix 1 all nvt temp 1.0 1.0 1000

thermo_style custom step temp pe ke press spcpu
thermo 100
timestep 0.001 #fs
dump 1 all dcd 1000 traj.dcd
dump_modify 1 unwrap yes
minimize 1.0e-4 1.0e-6 100 1000
run 5000000 #steps @ timestep 1fs => 1ns
write_restart restart.${simname}
print “Done”

I am working on “Polyelectrolytes in salt solutions using LAMMPS” where I am using truncated-shifted LJ-potential.

When I am going for lj/cut/coul/cut and not accounting for long-range interactions, the system is working fine.

The issue is that when I am accounting for long-range interactions and using " lj/cut/coul/long " and kspace_style as pppm with an accuracy of 1e-5, there is a considerable decrease in the number of time steps performed per second.

why is that an issue? i would say that this is expected behavior. when using long-range coulomb interactions, you have to do significant additional computations. so a decrease in performance versus a (shifted) cutoff is expected. the question is: how much of a slowdown, do you observe? and how large is your system versus how many MPI ranks are you using? and what kind of communication hardware are you using? there are multiple ways to tweak the performance of PPPM.

axel.