Dear all,
I have a problem in my simulation that I do not know its reason. I should study the behavior of my system during heating after unloading the applied tensile load in low temperature. I have periodic boundary condition in three dimensions and the tensile load is applied in the Z direction. I use “ fix deform “ in order to apply tensile deformation up to a specific strain value. In addition, I do unloading by making that fix deform “ unfix ” after reaching the desirable strain value.
The problem is that after unloading and during the subsequent heating, the deformed system returns to its original shape in an unusual way. For example when the tensile strain is that much that necking happens in the system, the two parts of the system ( the left and the right sides of the neck ) begin to come toward each other!! It is the strange problem that I cannot resolve.
The input script is below. Please tell me where I have made a mistake and if I have used an improper command in lammps for the purpose I have explained above.
#cutoff=4.2
units metal
boundary p p p
lattice bcc 3.015
variable lx equal 30
variable ly equal 30
variable lz equal 90
variable lz2 equal {lz}-10
variable lx2 equal {lx}-10
variable ly2 equal {ly}-10
region box block 0 {lx} 0 {ly} 0 {lz} units box
region box2 block 1 28 1 28 1 88 units box
region g block 10 {lx2} 10 {ly2} 10 ${lz2} units box
create_box 2 box
create_atoms 1 region box basis 2 2
group box2 region box2
group g region g
#Potential
pair_style eam/fs
pair_coeff * * NiTi.FS Ni Ti
timestep 0.001
thermo_style custom step temp pe press lx ly lz
thermo 100
initial velocities
velocity all create 400.0 5812775 units box
fix 1 all npt temp 400 400 0.01 aniso 0.0 0.0 10 drag 0.2
dump a box2 atom 1000 dump.indent
dump t box2 atom 5000 dump-box2-total.indent
dump k all atom 5000 dump-all-total.indent
compute RDF g rdf 400
fix b all ave/time 1000 1 1000 c_RDF file tmp.rdf mode vector
run 0
uncompute RDF
unfix b
compute RDFF g rdf 400
fix d all ave/time 1000 1 1000 c_RDFF file tmp2.rdf mode vector
variable s equal step
variable t equal temp
variable v equal vol
variable p equal pe
variable l equal lz
fix def2 all print 10 “{s} {v} {p} {t} ${l}” file melt.dat screen no
equilibration
run 50000
unfix 1
fix def3 all print 10 “{s} {v} {p} {t} ${l}” file melt2c.dat screen no
undump a
dump 2 box2 atom 4000 dump2c.indent
uncompute RDFF
unfix d
compute RDFFF g rdf 400
fix c all ave/time 1000 1 1000 c_RDFFF file tmp3c.rdf mode vector
cooling cycle
variable a loop 391
label loop1
variable T equal 400-($a-1)*1
fix 2 all npt temp $T $T 0.01 aniso 0.0 0.0 10 drag 0.2
run 1000
unfix 2
next a
jump in.tensile loop1
fix 3 all npt temp 10 10 0.01 aniso 0.0 0.0 10 drag 0.2
run 40000
unfix 3
undump 2
dump 3 box2 atom 1000 dump-l.indent
dump 4 all atom 1000 dump-l-all.indent
uncompute RDFFF
unfix c
compute RDFFFF g rdf 400
fix e all ave/time 1000 1 1000 c_RDFFFF file tmp-l.rdf mode vector
unfix def3
fix def4 all print 10 “{s} {v} {p} {t} ${l}” file melt-l.dat screen no
Store final cell length for strain calculations
variable tmp equal “lz”
variable L0 equal {tmp}
print "Initial Length, L0: {L0}"
#tensile loading till necking happens in the system
fix 1 all nvt temp 10 10 1.0
variable srate equal 1.0e9
variable srate1 equal “v_srate / 1.0e12”
fix 2 all deform 1 z erate ${srate1} units box
Output strain and stress info to file
variable strain equal “(lz - v_L0)/v_L0”
variable stress equal “-pzz/10000”
fix fprint1 all print 100 “{strain} {stress}” file S_S.data screen no
fix fprint2 all print 100 “{strain} {stress}” file S_S-total.data screen no
run 170000
unfix 1
#unloading
unfix 2
unfix fprint1
undump 3
undump 4
dump 5 box2 atom 1000 dump3h.indent
dump 66 all atom 1000 dump3h-all.indent
uncompute RDFFFF
unfix e
compute RDFFFFF g rdf 400
fix e all ave/time 1000 1 1000 c_RDFFFFF file tmp4h.rdf mode vector
unfix def4
fix def5 all print 10 “{s} {v} {p} {t} ${l}” file melt3h.dat screen no
heating cycle
variable a loop 391
label loop2
variable T equal 10+($a-1)*1
fix 2 all npt temp $T $T 0.01 aniso 0.0 0.0 10 drag 0.2
run 2000
unfix 2
next a
jump in.tensile loop2
fix 3 all npt temp 400 400 0.01 aniso 0.0 0.0 10 drag 0.2
run 100000
Any help is appreciated,
Nazanin