Dir sir,

I am doing cascade overlap in SiC using LAMMPS(1 July 2012). I need to give a random Si atom kinetic energy of 10 keV in a random direction. I have generate a random number using a random function to be the id of the selected atom. I have tried to scale the atom with a high temperature of 23.2e7 K corresponding to kinetic energy of 10 keV. An Error comes which is “ERROR: Attempting to rescale a 0.0 temperature (velocity.cpp:642)”.

My question is how can i realise the object of ‘Select a random atom kinetic energy of 10 keV in a random direction’ using LAMMPS. Any suggestions? Thanks a lot.

Here is an input script of my test:

units metal #sets units to ‘metal’ units -distance Angstrom time ps

dimension 3

boundary p p p #periodic BCs on x,y,z plane faces

atom_style atomic

neighbor 1.0 bin #sets maximum neighbor search radius to cutoff+value, using bin-sort algorithm

#check if neighbor list should be rebuilt every 5 steps

neigh_modify delay 5 check yes

#Creat geometry using internal stuff

#use diamond lattice with an 8 atoms basis to construct 3C-SiC structure

lattice diamond 4.359

region box block 0 10 0 10 0 50

create_box 2 box

create_atoms 2 box basis 1 2 basis 2 2 basis 3 2 basis 4 2 basis 5 1 basis 6 1 basis 7 1 basis 8 1 #create atoms

mass 1 12.0 #type 1 = C

mass 2 28.4 #type 2 = Si

variable i loop 2 #test use

label loopa

variable randomN equal round(random(0,40000,2987659))

variable randomPKAid equal round(random(0,40000,{randomN}))
group randomPKA id {randomPKAid}

velocity randomPKA scale 23.2e7

#the next loop

clear

next i

jump SELF loopa