load displacement values

Hi,

I am working on a nano-indentation problem using a berkovich indentor. Dimensional parameters are not exact yet. But I am trying towrite the script to obtain the force on the indentor with its displacement.

This is how my current input file looks like:

#3d indent simulation singlecrystal

dimension 3
boundary p p s
atom_style atomic
units metal

#Create Geometry

#Simulation box

lattice fcc 3.615
region box block -45.188 45.188 -45.188 45.188 -54.225 36.15 units box
create_box 2 box

#Sample

lattice fcc 3.615
region mybox block -45.188 45.188 -45.188 45.188 -54.225 -10.845 units box
create_atoms 1 region mybox

#Identify bottom layer and movable copper atoms

region bottom block INF INF INF INF INF -43.380 units box
group bottom region bottom #Bottom layer
group sample region mybox #Sample
group mobile subtract sample bottom
region thermoatoms block INF INF INF INF -43.380 -30.728 units box
group thermoatoms region thermoatoms

#Masses

mass 1 63.546
mass 2 12.011

Potentials

pair_style hybrid morse 4.5 eam
pair_coeff * * eam Cu_u6.eam
pair_coeff 1 2 morse 4.5 0.087 5.14 2.05

neighbor 2.0 bin
neigh_modify delay 5 exclude type 2 2

minimize 1.0e-4 1.0e-6 100 1000
fix 1 mobile nvt temp 300.0 300.0 0.01

compute samptemp sample temp

timestep 0.001
thermo 100
thermo_style custom step press c_samptemp
#run 1000

unfix 1

reset_timestep 0

#Diamond Indentor

variable x equal 1
lattice none
lattice diamond 3.3
region plane1 plane 0 0 0 4.996 2.88 -9.610 side out move NULL NULL v_x
region plane2 plane 0 0 0 0 -5.769 -4.8052 side out move NULL NULL v_x
region plane3 plane 0 0 0 -4.996 2.88 -9.610 side out move NULL NULL v_x
region plane4 plane 0 0 10.0 0 0 1 side out units box move NULL NULL v_x
region myindentor intersect 4 plane1 plane2 plane3 plane4
create_atoms 2 region myindentor

fix 3 mobile nve
fix 2 bottom setforce 0.0 0.0 0.0
fix 4 thermoatoms temp/rescale 10 300.0 300.0 0.01 1.0
fix 5 indentor wall/region myindentor harmonic 100.0 0.0 7.0
#fix 6 indentor move linear NULL NULL 1.0 units box

dump 1 all xyz 100 dump.indent.xyz
dump 2 sample xyz 100 dump.sample.xyz

#velocity indentor set 0 0 -1.0 sum no units box
thermo_style custom step f_5 press c_samptemp
run 22000

Now, on running, ERROR :lost atoms is coming. I have also tried fix rigid but it is also showing the same error. I think on moving the indentor it is crossing the defined region and thus the error lost atoms. Is it correct? Please correctme if I am wrong and how should i approach to get the correct force values.

Thanks in advance

Yours Sincerely

Ayush Suhane

Dept.of Metallurgical Engineering

IIT(BHU)

Hi,

[...]

Now, on running, ERROR :lost atoms is coming. I have also tried fix rigid
but it is also showing the same error. I think on moving the indentor it is
crossing the defined region and thus the error lost atoms. Is it correct?

don't know. lost atoms can have many reasons. the manual lists several
possible reasons, explanations and how to address them. don't just
guess and hope for somebody confirming it, but you can systematically
address them one by one.

Please correctme if I am wrong and how should i approach to get the correct
force values.

this is not how things work here. "lost atoms" almost always means
that you are doing something wrong. which in turn means, that you have
to debug your input, which is done by visualizing what happens and
then gradually removing entries until you find the entry that triggers
the lost atoms and *then* work on understanding why by modifying this
one setting and comparing how this affects the rest.

axel.

Thanks Axel.

I am facing problem in setting up the simulation. As you have suggested I am going stepwise to understand the problem. Without using Indentor, first I am trying to equilibrate the sample using time integration fixes.

For thermostatting, I have fixed layers of atoms at the bottom, then some layers of free atoms maintaining the temperature and finally free atoms at the surface which are to be nano-indented.

Still there seems to be a problem of lost atoms. I am unable to figure out why?

Here’s the input file:

#3d indent simulation singlecrystal

dimension 3
boundary p p s
atom_style atomic
units metal

#Create Geometry

#Simulation box

lattice fcc 3.615
region box block -45.188 45.188 -45.188 45.188 -54.225 36.15 units box
create_box 2 box

#Sample

lattice fcc 3.615
region mybox block -45.188 45.188 -45.188 45.188 -54.225 -10.845 units box
create_atoms 1 region mybox

#Identify bottom layer and movable copper atoms

region bottom block INF INF INF INF INF -43.380 units box
group bottom region bottom #Bottom layer
group sample region mybox #Sample
region thermoatoms block INF INF INF INF -43.380 -25.305 units box
group thermoatoms region thermoatoms
group mobile subtract sample bottom thermoatoms

#Masses

mass 1 63.546

#Potentials

pair_style hybrid morse 4.5 eam
pair_coeff * * eam Cu_u6.eam
pair_coeff 1 2 morse 4.5 0.087 5.14 2.05

neighbor 2.0 bin
neigh_modify delay 5 exclude type 2 2
velocity sample create 300.0 118732
fix 1 mobile nve
fix 2 thermoatoms nvt temp 300.0 300.0 0.01
fix 3 bottom setforce 0.0 0.0 0.0

timestep 0.001
thermo 100
run 10000

I couldnot use visualization as it breaks at first time step only.

-Ayush Suhane

Thanks Axel.

I am facing problem in setting up the simulation. As you have suggested I am
going stepwise to understand the problem. Without using Indentor, first I am
trying to equilibrate the sample using time integration fixes.

For thermostatting, I have fixed layers of atoms at the bottom, then some
layers of free atoms maintaining the temperature and finally free atoms at
the surface which are to be nano-indented.

Still there seems to be a problem of lost atoms. I am unable to figure out
why?

with your setup, there are only a few possible reasons like too large
a time step or overlapping atoms at the periodic boundaries.

[...]

I couldnot use visualization as it breaks at first time step only.

you can always use the write_dump command to write out a single frame.
it makes the second possible reason most likely. you should see that
already from a excessively high potential/total energy. outputting the
forces to a dump should very quickly tell you, whether this is the
case.

to avoid this, it is usually better to use "units lattice" for the
region commands, and shift the box used to create atoms a little bit
to avoid ambiguities resulting from placing atoms exactly on the
boundary of the region.

axel.