[lammps-users] Question about PRD

Dear LAMMPS users,

I’m trying to simulate a simple surface diffusion problem by using PRD method. Regarding the use of PRD in LAMMPS, I encountered some problems, so, I want to share these in this community.

My questions are…

  1. PRD calculation with the below input scirpt was terminated after only 1 trial. I couldn’t find the reason. Is anybody know?
  2. If the number of atoms assigned to each processors are too big, is it possible for this calculation to terminate without error message? Is there any limit number of atoms per CPU dealing with PRD calculation?
  3. From the example file of “in.prd”, the output file is written like this;

Step Clock Event Correlated Replica
1000 0 0 0 0
1100 400 1 0 0
1200 500 2 1 0
1500 1400 3 0 1
2000 3100 4 0 1
2900 6400 5 0 3
Loop time of 20.2925 on 4 procs for 2000 steps with 511 atoms

According to this output, final value of clock is 6400, which means 6.4 pico seconds if I used 1fs dtime. Am I right?

The log.lammps.0 fils is as follows;
##########################3
LAMMPS (15 Jan 2010)
Processor partition = 0
processors 4 2 1
units metal
boundary p p p
atom_style atomic
atom_modify map array sort 0 0.0
read_restart restart.200CuCu111
orthogonal box = (0 0 0) to (88.5491 81.793 50)
4 by 2 by 1 processor grid
15560 atoms
reset_timestep 0
group g_Cu type 1
15360 atoms in group g_Cu
group g_DCu type 2
200 atoms in group g_DCu
pair_style eam
pair_coeff * * Cu_u3.eam
mass 1 63.546
mass 2 63.546
compute myT g_film temp
compute_modify myT dynamic yes
compute mype all pe
thermo 10
thermo_style custom step atoms c_myT temp c_mype pe
thermo_modify norm yes
fix 1 all nve
fix 2 g_fix setforce 0 0 0
fix 3 g_heat temp/berendsen 300 300 0.01
run 1000
Memory usage per processor = 2.34204 Mbytes
Step Atoms myT Temp mype PotEng
0 15560 299.57929 274.82965 -3.4313182 -3.4313182
10 15560 300.4109 275.47699 -3.4313642 -3.4313642
: : : : : :
990 15560 298.49522 273.97127 -3.4315279 -3.4315279
1000 15560 297.92482 273.42662 -3.4314008 -3.4314008
Loop time of 9.08239 on 8 procs for 1000 steps with 15560 atoms
Pair time () = 8.23941 (90.7185) Neigh time () = 0.0149421 (0.164518)
Comm time () = 0.494239 (5.44172) Outpt time () = 0.0136184 (0.149942)
Other time (%) = 0.320179 (3.52527)
Nlocal: 1945 ave 1988 max 1918 min
Histogram: 3 0 0 0 2 1 1 0 0 1
Nghost: 3380.75 ave 3405 max 3347 min
Histogram: 1 0 0 1 0 2 1 2 0 1
Neighs: 113941 ave 116805 max 111982 min
Histogram: 2 1 0 0 1 3 0 0 0 1
Total # of neighbors = 911528
Ave neighs/atom = 58.5815
Neighbor list builds = 2
Dangerous builds = 0
reset_timestep 0
compute 1 all event/displace 1.4
dump mydump all custom 1 dump_*.dat type x y z
prd 2000 100 10 10 100 1 790316 temp 300.0 min 1e-05 1e-05 100 100
Memory usage per processor = 3.77755 Mbytes
Step Atoms myT Temp mype PotEng
0 15560 297.92482 273.42662 -3.4314008 -3.4314008
10 15560 297.92482 273.42662 -3.467186 -3.467186
15 15560 297.92482 273.42662 -3.4674246 -3.4674246
Loop time of 0.171202 on 8 procs for 15 steps with 15560 atoms

2. If the number of atoms assigned to each processors are too big, is it
possible for this calculation to terminate without error message? Is there
any limit number of atoms per CPU dealing with PRD calculation?

no limit

According to this output, final value of clock is 6400, which means 6.4 pico
seconds if I used 1fs dtime. Am I right?

yes

Steve