how to have a uniaxial stress while using fix deform

Dear Lammps Users,

I’m trying to obtain stress-strain curve of a 2D material such as graphene but anisotropic one which means it’s young modulus deffer in x axis and y axis, to do so I used fix deform to perform an engineering strain in one direction on my system and computing stress as below.

echo screen

boundary p p s
atom_style atomic
units metal

read_data datafile
mass * 30.974

pair_style eam/alloy
pair_coeff * * FeP.lammps.eam P

dump mydump1 all atom 3000 dump.lammpstrj

velocity all create 300 94621546 rot yes mom yes

thermo 1000
thermo_style custom step temp lx ly lz vol
timestep 0.001

compute stress all stress/atom virial
compute Rstress all reduce sum c_stress[2]
variable ystrs equal -c_Rstress/lx/ly/5.58/10000
variable ystrain equal (ly-97.709)/97.709*100
fix avg1 all ave/time 3 1000 3000 v_ystrs v_ystrain file ystrs.txt

fix NPT all npt temp 300 300 0.1 x 0 0 1 y 0 0 1
run 9000

unfix NPT

fix 1 all deform 1 y erate 0.0002 remap v
fix NVT all nvt/sllod temp 300 300 0.1

run 10000000

In fact I want the other direction stress-free but I found out when I use fix deform in x direction the other side remain fix and if I use it I have negative stress on the other direction too. but I want it to be stress-free like when we use NPT.

Is there any approach to solve this problem? or any other method to use for this problem?


NVT is the command keeping your non-deformed dimension fixed. If you want it to be stress-free like NPT, then use NPT (or equivalent) on that dimension. Note that if you use NPT, you will need to omit the portion of the command controlling the deformed dimension.

Keep in mind you need to verify that this works correctly for your system…