velocity

Dear lammps users

i want to add several molecules in to my box every 1000 steps by using every option of run command, here is part of my input

units real
atom_style charge
boundary p p f

read_data data.mix
pair_style reax/c NULL


velocity all create 300.0 4928459 rot yes dist gaussian


run 500000 every 1000 “print ‘number = $n’” &

“if ‘$n<120’ then ‘variable s equal v_a/2-v_n/2’ ‘variable m equal round($s)’ &
‘create_atoms 0 random $m 457893 insertion mol mymol 23961’”

can anybody help me to set velocity for added molecules?

Best Regard.

Dear lammps users

i want to add several molecules in to my box every 1000 steps by using every
option of run command, here is part of my input

units real
atom_style charge
boundary p p f

read_data data.mix
pair_style reax/c NULL
....
....
velocity all create 300.0 4928459 rot yes dist gaussian
....
....
run 500000 every 1000 "print 'number = $n'" &
                "if '$n<120' then 'variable s equal v_a/2-v_n/2' 'variable m
equal round($s)' &
                'create_atoms 0 random $m 457893 insertion mol mymol 23961'"

can anybody help me to set velocity for added molecules?

why don't you use fix deposit?

i doubt that you can get a non-crashing simulation your way.

axel.

thanks for your reply ,i think i can not use fix deposite because the number of added molecule is a variable ,can you give me any suggestion to do this?

Best Regard.

thanks for your reply ,i think i can not use fix deposite because the number
of added molecule is a variable ,can you give me any suggestion to do this?

modify fix deposit so it works as you need it?

thanks for your solution,i have another question, when i run this system without creating molecule every thing is ok,but when run it according to last input i think there is something wrong,does lammps recognize that added atoms also use reax/c pair_style?

thanks for your solution,i have another question, when i run this system
without creating molecule every thing is ok,but when run it according to
last input i think there is something wrong,does lammps recognize that added
atoms also use reax/c pair_style?

are you using the current version of LAMMPS?

i use ‘lammps-30Jan14’ version.

i use 'lammps-30Jan14' version.

then try with the current version.
and if you still believe that LAMMPS doesn't function correctly,
please post a simple test input that reproduces the issue. nobody here
wants to investigate problems in older versions and without proof that
there is something not working as documented.

axel.

ok,thanks for your reply.

Best Regard.

Hi,

what do you mean by “something wrong”?

Oleg

12.04.2014, 17:15, “Negar Amiri” <amirinegar90@…16…>:

Hi
in fact without creating molecules,gas molecules move toward surface and dissociate,but when i add new molecules some of molecules dissociate at gas phase and some of added molecule are not molecular (atomic oxygen )

Best Regard

Hi
in fact without creating molecules,gas molecules move toward surface and dissociate,but when i add new molecules some of molecules dissociate at gas phase and some of added molecule are not molecular (atomic oxygen )

As i mentioned before, please provide a minimal input that demonstrates the bad behavior. Most likely, you are doing something wrong, but it is impossible to tell what with only such a vague description.

Axel

here is my input:

dimension 3
units real
boundary p p f

atom_style charge
read_data data.mix

displace_atoms all move 0.0 0.0 4.0 units box

pair_style reax/c NULL
pair_coeff * * ffield.reax Ni O

fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c

neighbor 2 bin
neigh_modify check yes

thermo 100
thermo_style custom step temp pe ke etotal vol press atoms
thermo_modify lost ignore flush yes

compute new3d all temp

timestep 0.1
region gas block -1 25 -1 26 34.5 50 units box
region insertion block 1 22 1 24 46 50 units box

group oxygen type 2
variable n equal count(oxygen,gas)
molecule mymol oxygen.txt
variable a equal 120

fix walls all wall/reflect zhi 50 units box
fix 777 all momentum 1 linear 0 0 1
velocity all create 300.0 5812775 temp new3d
fix 3 all nvt temp 300.0 300.0 10.0 drag 2.0
run 500000 every 100 “print ‘number = $n’” &
“if ‘$n<120’ then ‘variable s equal v_a/2-v_n/2’ ‘variable m equal round($s)’ &
‘create_atoms 0 random $m 457893 insertion mol mymol 23961’”

i have 1800 Ni atoms and 60 oxygen molecules in initial datafile.

data.mix (92.9 KB)

here is my input:

it is incomplete and cannot be run like this.

can you also please explain exactly why you don't use fix deposit.

in fact modifying fix deposit is difficult for me and i like to correct this input without modifying code. can you guide me which part is incomplete?

There is no data.mix, no ffield.reax and no oxygen.txt, that’s what is incomplete.

Anyway, it is likely that you have unphysical settings. Have you visualized the system? Does it run correctly without depositing molecules? How do you determine that molecules dissociate and there is atomic oxygen?

Regards,
Oleg

13.04.2014, 13:23, “Negar Amiri” <amirinegar90@…16…>:

in fact modifying fix deposit is difficult for me and i like to correct this input without modifying code.

I don’t see where you would need to modify fix deposit to do what this input does.

i attached data.mix, ffield.reax, oxygen.txt,
i have visualized the system via OVITO, i define cut off radii for O-O (I.41)
when O2 molecule reach the surface ,distance between 2 atoms(oxygen molecule) will increase and dissociate.about atomic oxygen when a new molecule inserts, distance between 2 atoms is more than bond length(not for all new molecules)

data.mix (92.9 KB)

ffield (25.2 KB)

oxygen.txt (124 Bytes)

i need to insert one new molecule when previous molecule reach the surface and dissociate,using fix deposit insert 1 molecule each t timesteps,in this input i defined a region that in the region molecules are in gas phase,every 100 step number of molecule in gas phase are counted and if this variable be less than initial value ,new molecules($m) will insert. molecules that are not in this region are bonded to surface

i think fix deposit can not do this without modifying.

Best Regard

i need to insert one new molecule when previous molecule reach the surface and dissociate,using fix deposit insert 1 molecule each t timesteps,in this input i defined a region that in the region molecules are in gas phase,every 100 step number of molecule in gas phase are counted and if this variable be less than initial value ,new molecules($m) will insert. molecules that are not in this region are bonded to surface

I don’t see how there would be any meaningful difference between the two variants at the time and length scales accessible to MD simulations.