fix deposit and prism simulation box

Hi to everybody,

is someone familiar with using fix deposit in a simulation box consisting of a prism. I ask, because I'm not quite sure, if the atoms are created homogenously above the surface area (which is perpendicular to the z-direction). The whole box is created within the following region:

region sim_domain prism 0 \{xhi\} 0 {yhi} \{zlo\} {zhi} 0 ${xz} 0 units box.

The region for the deposition area is then defined like this:
variable xhi equal "xhi"
variable xz equal "xz"
variable xhixz equal \{xz\}\+{xhi}
variable ylo equal "ylo"
variable yhi equal "yhi"
region dep_area block \{xz\} {xhixz} \{ylo\} {yhi} \{zdep\_lo\} {zhi} units box

The problem is, that atoms created along the x-direction seem (suggested by the simulation results) not to be created to the whole extend of the simulation box, meaning at the boundary of the box no atoms are produced.
So the question would be, if someone did similiar stuff with deposition in a prism box, did I define the deposition region correctly? Or should I consider something else?

Best regards,
Andreas Rühl

region sim_domain prism 0 {xhi} 0 {yhi} {zlo} {zhi} 0 {xz} 0 units box region dep_area block {xz} {xhixz} {ylo} {yhi} {zdep_lo} ${zhi}

One of these commands uses box units, the other lattice units.
Is it possible that is why the desposition region is not what you
expect it to be?


Hi Steve,

No, somehow I didn't copy the "units box" part, sorry. So the command actually looks like this:

region dep_area block \{xz\} {xhixz} \{ylo\} {yhi} \{zdep\_lo\} {zhi} units box

And here, for the sake of completeness, the deposition command:

fix dep_id top deposit \{n\_adatoms\} {t_adatoms} \{d\_cycle\} 457392245 region dep\_area near {r_min} &
vz \{vz\_lo\} {vz_hi} units box


I don’t see any problems with the simple test script appended below

in the current version. I’m not moving the atoms after insertion
so after 1000 are inserted you see what volume they fill. It looks
like the entire top portion of the simulation box is filled. Note that depending
on how you visualize you have to realize that the simulation box
itself is tilted. So if you draw a simple bounding box around
the simulation domain (using the bounds printed in a dump file,
for example), it will look like part of the upper simulation box is
empty, b/c the actual simulation box is a tillted prism within
an orthogonal bounding box. I.e. the simulation box does not
fill the bounding box.

That is with the dep_area region = prism. If you use dep_area = block

(commented out), then you will get a deposition error b/c atoms
are being inserted outside the tilted simulation box. The code
is not clever enough to check that a deposition region is entirely inside
a tilted simulation box. It just checks against the larger bounding
box. I’ll add a warning to the doc page about that.

But if you use a smaller “block” region for insertion into a prism
simulation box, then you will have the problem of not

filling the simulation domain with inserted particle.

So you really should use a prism insertion region to insert into a prism

simulation box, if you want to filll the top uniformly.


test script

units metal
atom_modify sort 0 0.0

boundary p p fm
region sim_domain prism 0 10 0 10 0 10 0 5 0 units box
create_box 1 sim_domain

region dep_area prism 2.5 12.5 0 10 5 10 0 2.5 0 units box
#region dep_area block 5 15 0 10 8 10 units box

mass * 1.0

fix dep all deposit 1000 1 1 358783 region dep_area near 0.1 units box

thermo 1
thermo_style custom step atoms vol

dump 1 all atom 1 tmp.dump

run 1000

Hi Steve,

I just wanted to give you a short feedback, now that I was finally able to come back to this problem again.

Thanks for the advice, you were right if you're working with a prism simulation box one should use also a prism deposition area.

Like I wrote before I used block for defining the deposition region and it only worked, because I enabled the "lost ignore" option from thermo_modify.
With that you also fill the deposition region uniformly (checked with your attached test script), but then you will have less adatoms in your simulation as you're loosing quite a bit atoms cause there are outside the simulation box.
So it's better to use a prism region as a deposition area when using prism simulation (like you advised)