最近在用LAMMPS进行DEM模拟。大约2000个粒子被放置在一个固定体积V的周期盒子中。通过Lees-Edwards边界条件,粒子在剪切速率下进行均匀稳定的简单剪切。势函数考虑hooke(参考命令:pair_style granular或者pair_style hooke)
剪切过程中,温度远远高于设定的温度值,请问各位这是什么原因导致的呢,是不是我的in文件有问题?
试过直接设定想要的盒子尺寸(2000个粒子,体积分数为0.51,直径为1,盒子的尺寸为12.712.712.7),而不加change_box all x scale 0.5 y scale 0.5 z scale 0.5,并且只计算比较小的剪切速率,相当小时温度可以稍微降下来,但是插入的粒子数达不到2000。并且想算较大的剪切速率的还是不行。
以下是我的in文件
以下是我的in文件
################################################
variable d equal 1.0
variable rc equal 1.25*${d}
variable density equal 1.0
variable H equal 25.42
variable L equal 25.42
############ 模型初始化(单位:微米)#############
units micro
boundary p p p
atom_style sphere
region box block 0 ${L} 0 ${L} 0 ${H}
create_box 1 box
create_atoms 1 random 2000 12345 NULL overlap 1 maxtry 500
neighbor 0.2 bin
neigh_modify every 1 delay 0 check yes
############ 设置颗粒属性 ##########
set atom * diameter ${d} density ${density}
############ 势函数参数 #############
variable kn equal 1e4
variable kt equal 3e3
variable e equal 0.7
variable miu equal 0.1
variable shearvel equal 0.02
variable dt equal 2e-5
variable steps1 equal 1000
variable steps2 equal 10000
variable steps3 equal 1000
variable steps4 equal 50000
############ 势函数 ############
pair_style granular
pair_coeff * * hooke ${kn} ${e} tangential linear_history ${kt} 0.0 ${miu} damping tsuji
comm_modify vel yes
############ 温度初始化 ############
velocity all create 300 1231
########################################
compute s all stress/atom NULL
compute p all reduce sum c_s[1] c_s[2] c_s[3]
variable stressx equal c_p[1]/(vol)
variable stressy equal c_p[2]/(vol)
variable stressz equal c_p[3]/(vol)
variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol)
############# 驰豫 #####################
fix 1 all npt temp 300.0 300.0 $(10*dt) iso 0 0 1000 drag 2
fix 2 all momentum 1 linear 1 1 1
dump 1 all custom 5000 npt1-hooke.xyz id type x y z
thermo_style custom step temp press
thermo 100
timestep ${dt}
reset_timestep 0
run ${steps1}
unfix 1
unfix 2
undump 1
############## 剪切 #####################
change_box all x scale 0.5 y scale 0.5 z scale 0.5
change_box all triclinic
fix 1 all nvt/sllod temp 300 300 $(100*dt)
fix 2 all deform 1 xz erate ${shearvel} units box remap v
fix stress all print 100 "${press} ${stressx} ${stressy} ${stressz}" file stress-hooke.dat screen no
dump 2 all atom 100 dump-hooke.shear
dump 1 all custom 10 shear-hooke.xyz id type x y z vx vy vz fx fy fz diameter
timestep ${dt}
reset_timestep 0
run ${steps4}
#min_style cg
minimize 1e-4 1e-6 10000 10000