[lammps-users] Ask a question about PRD command


Recently I’m trying to run a simple simulation with PRD command, but I’ve met a problem that I canno solve.

The problem is that during the PRD command, it will do the velocity randomization for the whole system, however, for some case, I do not want the velocity randomization applying to each atom. For example, in the simple case that I ran, I put one single Ni atom on the Cu substrate in which I fix two layers at the bottom. Everything goes well until the PRD command. The velocity randomization disturbs the fixed bottom layers of the Cu substrate, therefore, the whole structure is destroyed and sometimes, the atoms are lost.

Another question, should I run PRD under the NVE ensemble and is it ok to use some thermostat to control the temperature in the PRD command, like fix temp/rescale?

Unless to modify the PRD command, I’m really not sure if there’s a simple way to figure this problem out. Hope someone can help me. Thanks so much!!!

Nick Yang

PS: The following is the script.

#-------------------- 3d simulation of Ni and Cu ------------

units metal
atom_style atomic
boundary p p f

neighbor 2.0 bin
neigh_modify delay 2

timestep 0.002

#-------------------- create geometry---------------------

lattice fcc 3.6150
region cu_sub block 0 5 0 5 0 1 units lattice
region box block 0 5 0 5 -5 6 units lattice

create_box 2 box
create_atoms 2 region cu_sub
create_atoms 1 single 2 2 2

mass 1 58.710
mass 2 63.550

EAM potential

pair_style eam/opt
pair_coeff 1 1 Ni_u3.eam
pair_coeff 2 2 Cu_u3.eam

define groups

changed such that all Cu atoms are frozen

group cu_freeze region cu_sub
group g_ni type 1
group g_cu type 2

atom_modify first g_ni

#---------------- minimization ------------

min_style cg
minimize 0 0 10000 10000

#---------------- fix and compute ---------------------

compute 1 g_ni group/group g_cu
compute 2 all event/displace 0.5

thermo 1000
thermo_style custom step temp pe c_1 c_2

fix 1 g_cu setforce 0.0 0.0 0.0

velocity all create 300.0 4928459
velocity g_cu set 0.0 0.0 0.0

#---------------- thermal equilibrium ---------------------

dump 1 all atom 1000 md_nve.dump

fix NVE all nve
run 20000

#--------------- run prd ------------------------

fix 2 all temp/rescale 10 300 300 1.0 1.0

prd 500000 100 10 100 1000 2 77777

If you want your bottom 2 layers to stay fixed, then
don't time integrate them, Then it won't matter if
their velocity gets reset by the PRD part.

The example script in examples/prd/in.prd runs
PRD with NVT.


2010/9/18 Lingqi Yang <[email protected]...>: