Hi all,

I have created my own graphene sheet (made up with only carbon atoms in 2D) and try to observe the mechanical behaviour as I apply constant tensile loading. However, I'm facing this problem that when I apply tensile loading, the atoms move randomly in x y z directions instead of moving in the direction that I apply tensile loading.

Could someone be able to help figuring out the problem of my code?

My boundary condition is :
dimension 3
boundary p m m
units metal
atom_style atomic

pair_style airebo 1.92 1 1
pair_coeff * * CH.airebo C

fix 1 all nve
fix 2 all deform 100 x erate 0.005

Thank you.

Regards,

Dong-Suk Kim

Hi...

I would use periodic boundary conditions in all the directions, and
maybe re-scaling the size of the computational in such a way there are
no empty gaps between the carbon atoms and the box ....maybe the
computational box is too big ...

Hi Oscar,

Thank you for your comment! I tried both changing boundary setting to boundary p p p and reducing the empty gap between the carbon atoms and the box, but still did not work.

I can provide the whole code if it could help solving this problem.

Dong-Suk Kim

You are extending the box in x via the fix deform
command which operates during a run. So during
dynamics the atoms may also move in y,z. I'm not
clear why you think this shouldn't happen.

Steve

Oscar, I have tried both changing boundary condition to boundary p p p and reducing the empty gap between the carbon atoms and the box, but still did not work.

Steve, I understand that the atoms can also move in y and z directions.
What I want to do in this simulation is to apply tensile loading to the sheet in x axis so the sheet will stretch out in x axis. However, what I see now is only the box is stretching in x axis but the atoms move randomly.

The pressure in x, y axis also changes randomly (fluctuating from negative values to positive values). I was expecting to see that only pressure in x axis is consistently increasing and little pressure changes in y and z directions.

Dong-Suk Kim

Quoting Steve Plimpton <[email protected]>:

If you are stretching a fully periodic box in x, then the
pressure in the y and z directions will likely change as well.
And if the atoms are at finite temperature then they
will move in all 3 directions - not sure what you mean
by random or how you would distinguish that from thermal
motion.

Steve

Hi,

If you run the simulation using (NPT), then the pressure along the y
and z directions can be set to an arbritary value, let say for
convinience that is set to zero.,then the "y" and "z" box length will
change to mantain a constant pressure . The pressure should fluctuate
in a oscilatory behavior (small fluctuations). Your running the
simulations using NVE , so my guess is that the pressure should also
increase along "y" and "z" as well (Pyy, Pzz).

That's all i can think....

Oscar G.

I guess your simulation has no periodicity in x direction. Purely using PBC on one direction does not guarantee that. From what you said, I guess you misunderstood what PBC means in MD. The vacuum between you “real” boundary and box boundary will not actually stretch your model at all unless you fix the “real” boundaries.

Best,

AC

Hi AC,

Thank you for your comment. Can I ask you one more question?
How can I stretch my "real" boundary with using fix deform command? or are there commands that stretch the real boundary other than fix deform command?

Regards,

Dong

Hi AC,

Thank you for your comment. Can I ask you one more question?
How can I stretch my "real" boundary with using fix deform command? or are there commands that stretch the real boundary other than fix deform command?

Regards,

Dong

Quoting Albert Cao <[email protected]...>:

Hi Oscar,

Thank you for the comment!
I'm going over the explanation and previous examples from the forum but having hard time to find the proper setting for my simulation.

Could anyone explain how fix npt command work? It looks like the way how fix npt command works has changed as LAMMPS gets updated. Should I use fix npt with aniso option?

What I want to do is apply uniaxial loading on x-axis so I can apply tensile loading on my 2D graphene sheet. I'm using fix deform erate command to apply the loading and what I expect to see is the atoms stretch in x axis as the simulation box stretches out in x axis. I would need to analyse pxx values in order to find the relationship between strength and strain rate. Pxx values should be increasing as I apply tensile loading.

However, what I see now is that the simulation box is stretching out in x axis but the sheet remain in the original shape. Also, the pxx values only fluctuate but does not increase as I expected.

Albert Cao also mentioned that "your simulation has no periodicity in x direction. Purely using PBC on one direction does not guarantee that. From what you said, I guess you misunderstood what PBC means in MD. The vacuum between you "real" boundary and box boundary will not actually stretch your model at all unless you fix the "real" boundaries."

What other commands should I use in order to stretch my "real boundary", if fix deform erate command can't?

Regards,

Dong

Quoting Oscar Guerrero <[email protected]...>:

There is an alternative way to "stretch your real boundary". Please see
"Heo and Sinnott, J. nanosci. nanotech., 7 1518 (2007)"

Basically you place your graphene sheet in a big box so that the sheet is
not periodic. Then assign "fixed not moving", "thermostated", NVE,
"thermostated" and "rigid moving" regions along the x axis. Apply the
command "fix move" to move the "rigid moving" region in a velocity of your
choice and simply measure the Pxx from the NVE region. Make sure NVE and
thermostats are large enough.

Ray

Could anyone explain how fix npt command work? It looks like the way how fix npt command works has changed as > LAMMPS gets updated. Should I use fix npt with aniso option?

See the doc page and the papers it cites. Any changes in NPT
over time have been improvements, so always use the current
version.

Steve