Dear Ray, and LAMMPS users,
Hi,
I’m using LAMMPS to simulate the failure behavior of my ceramic system. To make sure of the validity of structure, potential and etc I first tried to calculate the elastic constants using the codes that is available in Example directory. By doing so, I obtained the correct value for elastic constants. I also checked the lattice constants, and even P.E. of the structure and compared it with the literature and all of the works fine. Up to here everything was calculated in ( P P P ) as bulk material. Then I started a new simulation using ( P P S ) because I want to work on nanomembrane ( Finite thickness in z ). Then I used the below code:
#INITIALIZATION
units metal
boundary p p s
atom_style atomic
#atom_modify map array
#box tilt large
read_data Si3N4.in
pair_style tersoff
pair_coeff * * SiN.Tersoff N Si
------------------------- Minimization ---------------------------------
#replicate 10 6 5
compute stress all stress/atom NULL
compute stress1 all reduce sum c_stress[1]
compute stress2 all reduce sum c_stress[2]
compute stress3 all reduce sum c_stress[3]
compute stress4 all reduce sum c_stress[4]
compute stress5 all reduce sum c_stress[5]
compute stress6 all reduce sum c_stress[6]
thermo 1
thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp
fix 2 all box/relax x 0 y 0 vmax 0.001
min_style sd
minimize 1.0e-25 1.0e-25 100000 100000
unfix 2
write_data Min.in
------------------------- Equilibration ( NPT ) ---------------------------------
reset_timestep 0
velocity all create 100 277387
fix 1 all npt temp 100 300 0.1 x 0 0 1.0 y 0 0 1.0 drag 0.3
thermo 1000
thermo_style custom step lx ly lz press pxx pyy pzz pxy pxz pyz pe temp
dump q2 all custom 1000 dump.npt.*.cfg id type xs ys zs c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
#dump_modify q2 element N Si
run 100000
undump q2
unfix 1
write_data EQ2.in
------------------------- Deformation ---------------------------------
reset_timestep 0
variable tmp equal “lx”
variable L0 equal {tmp}
print "Initial Length, L0: {L0}"
fix 1 all npt temp 300 300 0.1 y 0 0 1.0 drag 0.3
fix 2 all deform 1 x erate 0.0001 units box remap x
variable strain equal “(lx - v_L0)/v_L0”
variable p1 equal “v_strain”
variable p2 equal “-pxx/10000”
variable p3 equal “-pyy/10000”
variable p4 equal “-pzz/10000”
variable p5 equal “-pxy/10000”
variable p6 equal “-pxz/10000”
variable p7 equal “-pyz/10000”
thermo 5000
thermo_style custom step v_strain temp v_p1 v_p2 v_p3 v_p4 v_p5 v_p6 v_p7 ke pe press
dump 1 all custom 5000 dump.tensile.*.cfg id type xs ys zs c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
#dump_modify 1 element N Si
fix def1 all print 500 “{p1} {p2} {p3} {p4} {p5} {p6} ${p7}” file Final.dat screen no
run 150000000
write_data Def.in
But, the stress strain curve that I obtain is not in good agreement with Literature, especially the stress value at fracture point is too high. As you can see I used -Pxx as the true stress. I wonder if you could please help me out with it.
Thanks,
Ali