Calculate contact area of indentation

Dear Axel, I am sorry to forgot to cc the last mail to the list.

Dear Axel, I am sorry to forgot to cc the last mail to the list.

From: Weilin Deng <[email protected]...>
Date: 18 November 2013 19:42
Subject: Re: [lammps-users] Calculate contact area of indentation
To: Axel Kohlmeyer <[email protected]>

Dear Axel,

Thanks a lot for your advice.

In the manual, "A spherical indenter exerts a force of magnitude: F =
-k*(r-R)^2 on each atom where K is the specified force constant, r is the
distance from the atom to the center of the indenter, and R is the radius of
the indenter. The force is repulsive and F(r) = 0 for r > R." Thus, I can
count the number of atoms with distance r < R and treat them as contacting
atoms since they are directly subjected force from the indenter based on the
above explanation. The atom radius is sqrt(3)*a/8 for diamond structure,
where a is the lattice constant.

My improved solution is that: draw a polygon with vertices at the centers of
contacting atoms (identified based on the above criterion) and then
calculate the surface area of the polygon. I thinks this idea is similar to
your 2nd one. Admittedly, the obtained contact area make sense

this idea shares similarities with both suggestions, but it doesn't
address the concerns i raised. even if you have a flat and densely
packed surface, your atoms don't cover it completely. and what if you
have a non-flat surface with steps? and if you push the atoms back,
the surface should grow, but the number of atoms in contact (initially
at least) will stay the same.

check out the animation here for an example. you can clearly see atoms
that are not fully exposed to the indenter, but partially obscured.

you also have to factor in that i chose the atomic radius to be larger
than your lattice constant derived number for a nicer visualization.
those atoms in the visualization do form a dense surface, but those
radii also do overlap.

So, first of all, I have to differentiate the contacting and non-contacting
atoms. However, I just do not know how to write the LAMMPS scripts to
realize this idea. Could you give me a hint?

to count atoms within a given distance from a fixed point in space,
you can define an atom style variable and use a logical and then do a
compute reduce. but it is not going to give out a consistent answer
for the reasons i outlined in my two e-mails.


Dear Axel,

I understand what you mean with the help of the animation. At present, I have no better idea regarding the definition of contact area at nanoscale yet. So I will first try with the current scheme. Thanks again.



Mark Robbins at JHU, Bo Persson and Martin Muser have a ton of papers on this topic. The answer to all your Qs are there.

If you also define a region that is the size of the indenter,

you can easily count the # of atoms in the region

at any timestep and output it. There is a varaible

function that will do this. As you say that will also
tell you how many atoms are being pushed on directly
by the indenter at that timestep.


Dear Steve,

Thanks a lot.

One more question is that: does the indenter (i.e. A sphere indenter on the sample with the command “fix 1 all indent $k sphere …”. ) have compliance or it is just a rigid one applied to the sample? I doubt this because when I move the indenter down with a displacement of 12 A, but the atom beneath the apex of the indenter just moves down with a displacement of about 4 A from the original surface of the sample.

the relative script section is as following:

Make sure you read the works of the people I mentioned. Despite having a full bulletproof lammps input deck your contact area definition could be bogus. Contact area at the atomic level has nothing to do with the macroscopic definition of contact. This will become more obvious as your surface topology becomes more complex and you move from hard-wall to finite range potentials. You could define contact by just analyzing the atomic pressure distribution normal to the interface without having to measure distances between indenter and substrate.
Avoid rediscovering the wheel and/or getting smashed by your potential future reviewers.

I don’t know what “compliance” means.

The indenter is just a geometric definition, e.g.
a sphere or radius r, centered on a point. There
is no “particle” or any other simulation object

associated with it.