problem with boundary or velocity command

Dear Lammps experts,

I have a problem in stretching of the anatase in tenisle test. Actuallz, I think that as I apply the periodic boundarz conditions in all x,y,z directions I cannot see the stretching of the sample.Neverhterles,I cannot omit the periodic boundary conditions becaue of the type of phase field computation.

Please let me know whether you have any suggestion.

input file

#Phase 1 ------------------------------------------Simulation main setup-------------------------------------------------
dimension 3
units real
atom_style charge
boundary p p p

variable lz0 equal 60

#simulation box
region box block 0 15.144 0 11.358 0.0 70 units box
create_box 2 box #2 is number of atoms

it was very difficult to finally find these positions

lattice custom 1 a1 3.786 0.00000 0.00000 a2 0.0000 3.786 0.00000 a3 0 0 9.514 &
basis 0.0000 0.2500 0.3750 &
basis 0.0000 0.7500 0.6250 &
basis 0.5000 0.7500 0.8750 &
basis 0.5000 0.2500 0.1250 &
basis 0.0000 0.0000 0.1700 &
basis 0.0000 0.7500 0.4200 &
basis 0.5000 0.2500 0.3300 &
basis 0.5000 0.7500 0.0800 &
basis 0.500 0.5000 0.6700 &
basis 0.500 0.2500 0.9200 &
basis 0.000 0.7500 0.8300 &
basis 0.000 0.2500 0.5800
mass 1 47.86000
mass 2 15.99940

#Phase 2 -------------------------------------------------------tensile model design---------------------------------------------------------

region top_edge block 0 15.144 0 11.358 58 ${lz0} units box
create_atoms 2 region top_edge &
basis 1 1 &
basis 2 1 &
basis 3 1 &
basis 4 1 &
basis 5 2 &
basis 6 2 &
basis 7 2 &
basis 8 2 &
basis 9 2 &
basis 10 2 &
basis 11 2 &
basis 12 2
group top_edge region top_edge
set type 1 charge 2.196
set type 2 charge -1.098
#group model union particle substrate

region middle block 0 15.144 0 11.358 2 58 units box
create_atoms 2 region middle &
basis 1 1 &
basis 2 1 &
basis 3 1 &
basis 4 1 &
basis 5 2 &
basis 6 2 &
basis 7 2 &
basis 8 2 &
basis 9 2 &
basis 10 2 &
basis 11 2 &
basis 12 2
group middle region middle
set type 1 charge 2.196
set type 2 charge -1.098
#group model union particle substrate

region bottom_edge block 0 15.144 0 11.358 0 2 units box
create_atoms 2 region bottom_edge &
basis 1 1 &
basis 2 1 &
basis 3 1 &
basis 4 1 &
basis 5 2 &
basis 6 2 &
basis 7 2 &
basis 8 2 &
basis 9 2 &
basis 10 2 &
basis 11 2 &
basis 12 2
group bottom_edge region bottom_edge
set type 1 charge 2.196
set type 2 charge -1.098
#group model union particle substrate

#Phase 3----------------------------------------Buckingham Potential-----------------------------------------------

pair_style buck/coul/long 15.0
pair_coeff 1 1 717647.40 0.154 121.067
pair_coeff 1 2 391049.10 0.194 290.331
pair_coeff 2 2 271716.30 0.234 696.888

neighbor 2.0 bin # skin distance for real units is by default 2.0
neigh_modify every 1 delay 0 check yes

kspace_style pppm 0.0001

#----Phase 5-------------------------------------Initial Equilibration at 300K: you can apply NVT or NPT----------------------------------------

timestep 1.0 # or 2

velocity all create 300 12345 mom yes rot no

fix 1 middle nvt temp 300.0 300.0 100.0
fix 2 bottom_edge setforce 0.0 0.0 0.0
fix 3 top_edge setforce 0.0 0.0 0.0

thermo 100
run 3000
unfix 1

#----Phase 6---------------------------------------tension phase: NVT and NVE are not allowd because of constant volume during stretching--------------------
variable rate equal 0.01

velocity top_edge ramp vz 0 {rate} z 58 59 sum yes #fix 4 top_edge move linear 0 0 {rate} units box
#fix 5 middle nve !Achtung! volume is not constant during stretching
fix 6 middle temp/rescale 100 300.0 300.0 10.0 1.0

compute stpa middle stress/atom NULL
compute stgb middle reduce sum c_stpa[3]
variable szz equal c_stgb/vol

thermo 100
thermo_style custom step lx xhi v_szz temp

dump 2 all xyz 100 dump.txt
run 5000

The way to stretch a periodic box during a run is with fix deform.

Steve

if I apply fix deform, do I also apply fix nve and fix temp. Because the
tensile process is nonequilibrium MD.
Bahman Daneshian

You do need to also apply fix nve. Don’t know what fix temp is.

Steve

I mean applying both of fix nve and fix temp/rescale for keeping temperatur at 300k during stretching are required?

yes, you can do that if you wish.

Steve

Thank you. another important question, why people run simulations for too long times(250000 steps) even when the potential energy reaches to the equilibrium state just after for example 10000 steps of 1 microsecond?

As I remember from the text book it is just important to reach the equilibrium condition at your defined condition.

Thank you. another important question, why people run simulations for too
long times(250000 steps) even when the potential energy reaches to the
equilibrium state just after for example 10000 steps of 1 microsecond?

​the fact, that the potential energy reaches a plateau is a requirement for
equilibrium, but no proof of it. your system may be trapped​ in a
meta-stable state.
i seriously doubt you are using "microsecond" time steps.

As I remember from the text book it is just important to reach the

equilibrium condition at your defined condition.

​yes, but it is next to impossible to prove that you have reached it.

axel.​