simulating sputter deposition

Dear LAMMPS users,

I am trying to simulate sputter deposition of C.
I have prepared this script, but if gives me error “deposition region extends outside simulation box”

You don't need atom_style full for pair_style airebo; "atomic" is fine.

Your box has only 10 lattices in each direction (the "region box"
command), and yet you defined three regions with more than 10
lattices. I believe the unit you wanted for these three regions are
angstroms, instead of lattices. If so, add "units box" to the end of
region commands, then you won't see the error message.

If you don't want H, don't use H in your pair_coeff command, and make
sure you create only one type of atom. If you wish to model metals,
you need a force field that describes the interaction between the
substrate and the deposits. Definitely not with airebo.

Cheers,
Ray

Hello Ray,

Thanks for your suggestions, but I still get errors.
I changed the atom type to C only, now gives “Incorrect argument for pair coefficient” and
added “units box’ after region command, but teh same wrror, " deposition region outside simulation box”.

I have more question : Do I need to create incident atoms ?
How do I change the energy of the incident atoms and the angle of incidence ?
Here is the modified input file:

sputter deposition

units real
atom_style atomic
boundary p p s
lattice fcc 4.05
region box block 0 10 0 10 0 10
create_box 2 box
pair_style airebo 3.0
pair_coeff * * …/lammps-31Jul12/potentials/CH.airebo C

region fixlayer block INF INF INF INF INF 5 units box
region thermolayer block INF INF INF INF 5.05 25.05 units box
region sputter block INF INF INF INF 25.1 40.5 units box
region model block INF INF INF INF 0.0 40.5 units box
create_atoms 1 region model
neigh_modify delay 0
group fixed region fixlayer
group therm region thermolayer
group disk region sputter
fix 6 disk deposit 10 4 10 12345 region sputter vz -1.0 -0.8
thermo_style custom step atoms temp epair etotal press
thermo 10
thermo_modify temp add
dump 1 all atom 10 deposit.xyz
run 10000

In the create_box command, you specified that there will be two types of atoms in the simulation. So not specifying what the second atom is will give this error.

Just change 2 with 1 in the create_box command.

Saransh

Hi Mousumi,

There are no less than 10 errors in your input script. I suggest you
familiarize yourself with LAMMPS by going through some examples in the
/examples directory.

See comments and corrections below.

Thanks,
Ray

Hello Ray,

Thanks for your suggestions, but I still get errors.
I changed the atom type to C only, now gives "Incorrect argument for pair
coefficient" and
added "units box' after region command, but teh same wrror, " deposition
region outside simulation box".

I have more question : Do I need to create incident atoms ?

fix deposit creates them for you. Please see fix deposit doc page.

How do I change the energy of the incident atoms and the angle of incidence?

You can change them by using vx, vy, and vz keywords to the fix
deposit command.

Here is the modified input file:

# sputter deposition
units real

AIREBO uses units "metal"

atom_style atomic

boundary p p s
lattice fcc 4.05
region box block 0 10 0 10 0 10
create_box 2 box

Since you have only one type of atom, which is C, then why did you put
"2" here? This "2" creates two types of atoms. Please see create_box
doc page.

pair_style airebo 3.0

AIREBO is designed and fitted with LJ and Torsion on. Why not use
them? "pair_style airebo 3.0 1 1"

pair_coeff * * ../lammps-31Jul12/potentials/CH.airebo C

region fixlayer block INF INF INF INF INF 5 units box
region thermolayer block INF INF INF INF 5.05 25.05 units box
region sputter block INF INF INF INF 25.1 40.5 units box

I find changing the INFs to actual boundaries gets rid of the error
message "deposition region outside simulation box". (region sputter
block 0 40.50 0 40.50 25.1 40.50 units box)

region model block INF INF INF INF 0.0 40.5 units box

create_atoms 1 region model
neigh_modify delay 0
group fixed region fixlayer
group therm region thermolayer
group disk region sputter
fix 6 disk deposit 10 4 10 12345 region sputter vz -1.0 -0.8

Again, you have only one type of atom; why use "4" when it should be
strictly "1"? Please see fix deposit doc page.

Besides, this is your only fix, which is wrong. You need at least a
"fix nve" to integrate the atoms. To make a physically meaningful
model, you also need a thermostat region (or a so-called heat bath).

thermo_style custom step atoms temp epair etotal press
thermo 10
thermo_modify temp add

Cannot find a group named "add".

Hello Ray,

Thank you very much for the comments and suggestions. Yes I need to look at LAMMPS comments more carefully.
I modified the script and it works now, but I do not see any atom depositing. Actually atom number changes in the initial steps, and then again in the final steps.
So visualization in VMD also a problem when the atom number is not fixed, I manualy removed some steps to get VMD visualization.

But I do not see any atom depositing. I wonder what is missing. Is theer a way I can keep the atom number fixed ?

Here is the script that I prepared:

sputter deposition

units metal
atom_style atomic
boundary p p s
lattice diamond 4.05
region box block 0 10 0 10 0 10
create_box 1 box
mass 1 12.0
pair_style airebo 3.0 1 1

pair_coeff * * …/lammps-31Jul12/potentials/CH.airebo C
region fixlayer block 0.0 40.50 0.0 40.50 0 3.0 units box
region thermolayer block 0.0 40.50 0.0 40.50 3.0 25.05 units box
region sputter block 0.0 40.50 0.0 40.50 25.05 40.50 units box

region model block 0.0 40.50 0.0 40.50 0.0 40.5 units box
create_atoms 1 region model
neigh_modify delay 0
group fixed region fixlayer
group therm region thermolayer
group disk region sputter

fix freeze fixed setforce 0.0 0.0 0.0
fix 1 therm nve
fix 7 therm temp/rescale 100 300 300 10 0.5

fix 6 disk deposit 10 1 10 12345 region sputter vz -1.0 -0.8 units box

log log_sputter.out
thermo_style custom step atoms temp etotal press ke pe evdwl ecoul
thermo 10

#thermo_modify lost ignore flush yes
dump 5 all xyz 10 deposit.xyz
run 10000

Hello Ray,

Thank you very much for the comments and suggestions. Yes I need to look at
LAMMPS comments more carefully.
I modified the script and it works now, but I do not see any atom
depositing. Actually atom number changes in the initial steps, and then
again in the final steps.

read the documentation again and experiment with the deposit fix in a
more systematic way. it does what the docs say and if things dont'
work the way you expect, that is usually because you don't tell LAMMPS
correctly what you want.

So visualization in VMD also a problem when the atom number is not fixed, I
manualy removed some steps to get VMD visualization.

But I do not see any atom depositing. I wonder what is missing. Is theer a
way I can keep the atom number fixed ?

huh? how should that be possible?
you are depositing atoms and want to keep their number constant. impossible.
there are some workarounds to visualize trajectories with a variable
number of atoms in VMD, but they are hacks. i implemented two of them
myself. you can find discussions of them in the VMD mailing list
archives. i don't want to repeat it again. google is your friend.

alternately, you may try out other viz tools that don't have VMD's
optimization/limitation.

axel.

Mousumi,

As Axel mentioned, fix deposit does exactly what you told it to do:
insert a total of 10 atoms, which are atom type 1, and insert an atom
every 10 steps. I can visualize the inserted atom without any problem
(I added dump cfg to your script and visualized with AtomEye). I
strongly suggest you read the doc page more carefully.

In addition, I can't help but notice more errors and inappropriate settings:

1. Diamond has a lattice constant of 3.57 angstroms; why build a
diamond with 4.05?
2. You need to apply fix nve to group all, not just to group therm.

Ray

Hello Ray,

Thanks for useful comments.
I can see my simulation working now.

But I have a question about how I select/change the energy of the incident atoms.
Say for example now I am using a velocity vz = 1 Angstrom/ps, so I need to know the force ( ev/angstrom) on the atom to get the energy in ev/ps.
What I find that the force for each atom deposited is different.

Could you please tell me how do I change/set a specific energy for each incident atom?

Regards
Mousumi

Comments, below.

Ray

Hello Ray,

Thanks for useful comments.
I can see my simulation working now.

But I have a question about how I select/change the energy of the incident
atoms.
Say for example now I am using a velocity vz = 1 Angstrom/ps, so I need to
know the force ( ev/angstrom) on the atom to get the energy in ev/ps.

Why do you need to know "energy/distance" to get "energy/time"?

"E=1/2*m*v^2=3/2*k_B*T" gives you the energy and temperature of the
incident atoms from v. Depending on the temperature, deposition is
either "thermal" or "hyper thermal".

Hello Ray,

Thank you very much for the reply. Sorry that I missed this obvious point.
I have another question:
I want to simulate sputter deposition of Fe-Pt system. Do you think I can use meam potential to simulate this process ?
I tried with meam potential, but gives error “invalid pair style”.
So I tested with Ni Al system with eam potential. It works fine. So why is the error for Fe-Pt system ? Does it mean that my LAMMPS is not compiled with meam potential or something else ?

Thanks for your suggestions.

Regards
Mousumi

Here is the script.

sputter deposition

units metal
atom_style atomic
boundary p p f

lattice fcc 3.85
region box block 0 10 0 10 0 15
create_box 2 box
create_atoms 2 box

pair_style eam/alloy
pair_coeff * * …/lammps-31Jul12/potentials/NiAlH_jea.eam.alloy Ni Al

#pair_style meam
#pair_coeff * * …/lammps-31Jul12/potentials/library.meam Fe Pt NULL Fe Pt

region fixlayer block 0.0 38.5 0.0 38.5 0 3.0 units box
region thermolayer block 0.0 38.5 0.0 38.5 3.0 25.0 units box
region sputter1 block 0.0 38.5 0.0 38.5 25.05 38.5 units box
region sputter2 block 0.0 38.5 0.0 38.5 25.05 57.75 units box
neigh_modify delay 0
group fixed region fixlayer
group therm region thermolayer
group disk region sputter1
delete_atoms region sputter2

fix freeze fixed setforce 0.0 0.0 0.0
fix 1 all nve
fix 7 therm temp/rescale 100 300 300 10 0.5

log log_sputter.out
thermo_style custom step atoms temp etotal press ke pe evdwl ecoul vol
thermo 10

dump 4 all custom 10 sputterFePt1.dump id xs ys zs
fix 6 disk deposit 500 2 10 12345 region sputter1 vz -100.0 -100.0 units box
thermo_modify lost ignore flush yes
run 5000

Comments and replies below, thanks.

Ray

I want to simulate sputter deposition of Fe-Pt system. Do you think I can
use meam potential to simulate this process ?

I'd suggest you start by searching the Literature if a MEAM potential
has been parameterized for such purpose. If there is one and you
managed to obtain the parameter files, then yes, you can use LAMMPS.

I tried with meam potential, but gives error "invalid pair style".

Have you read pair_style meam doc page throughly? The answer to this
question is in the doc page.

So I tested with Ni Al system with eam potential. It works fine. So why is
the error for Fe-Pt system ? Does it mean that my LAMMPS is not compiled
with meam potential or something else ?

Also verify that this particular EAM potential is appropriate for such purpose.

Dear Lammps users,

I am simulation sputter deposition of C.
I have fixed layer (3a), then thermal bath layer (20 A ) and a free layer 10A thick.
I deposit 1 particle every 10000 steps, and during simulation I am keeping the Thermal bath layer at temp 300 K by temp rescaling. I am using Timestep 0.25 fs.
I initially started with 8000 atoms and during simulation there are some temperature spikes and I lost about 2000 atoms in some intermediate steps.

I can see some particle depositing on surface but
my question is: is this a normal behavior of loosing so many particles ?
I can see that the density of the thermal bath layer also has gone down.

Need some suggestions.

Thanks
Mousumi

If you're visualizing your system, then
which atoms are you losing and where
are they going? E.g. out the top of your box?

Steve

Hello Steve,

Yes, the atoms are moving out of simulation box during the two temperature spikes ( about 10000 K).
They are mostly from top free layer. But the thermostat layer is also lost the initial structure, so atoms are displaced.
The simulation cell has dimension ~ 35x35x60 in which in z direction atoms are packed up to 35 A and then I kept 25 A vacuum above top layer to simulate a free surface.
I am not sure if this is causing some problem. Simulation cell is periodic in x, y direction and fixed in z direction.

Thanks for your suggestions.

Regards
Mousumi

So you need to figure out why the temperature is spiking and the
system displacing. If your deposition is too aggressive and a
pair of atoms is nearly overlapped, that can cause a temp spike.
If you are imparting momentum to the substrate, it can drift
over time. Depending on your boundary conditions, that can
cause lost atoms.

Steve