本帖最后由 李海波 于 2023-2-11 11:37 编辑
最近在用LAMMPS进行DEM模拟。大约2000个粒子被放置在一个固定体积V的周期盒子中。通过Lees-Edwards边界条件,粒子在剪切速率file:///C:/Users/LHB/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png下进行均匀稳定的简单剪切。势函数考虑hooke(参考命令:pair_style granular或者pair_style hooke)。 遇到几个问题,想请教一下个欸我i大佬: - 剪切过程中,温度远远高于设定的温度值,对压力的计算结果影响大吗?目前怀疑是碰撞力太大或者剪切速度太大导致的,但是这些数是根据文献确定的。
- change_box all x scale 0.5 y scale 0.5 z scale 0.5 这一语句是不是有问题?因为有这一语句时,我改变任何参数都解决不了温度急剧上升的问题。把他去掉,并且在比较低的剪切速率下可以稳定住温度。但是这样的话,我一开始的盒子就要设置成12.71×12.71×12.71,插不进去2000个颗粒。
- 文献中经常会提到的LE边界条件在lammps中要怎么实现呢?
以下是我的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}
复制代码
|