LHB_SCZ 2023-02-10 16:53 采纳率: 20%
浏览 153
已结题

lammps做剪切过程中温度变化很大怎么办(语言-c++)

最近在用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。并且想算较大的剪切速率的还是不行。

img

以下是我的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

  • 写回答

9条回答 默认 最新

  • 哲大大哦 2023-02-12 02:44
    关注

    这个问题很可能是因为模拟条件不适当导致的。有几点可以考虑改进:

    考虑使用不同的随机初始速度来初始化粒子,例如:velocity all create 300 1231,可以尝试使用其他速度,例如:velocity all create 300 123
    
    可以适当调整 NPT 温度调节的参数,例如增加 drag 值,或者增加控制温度的频率。
    
    如果剪切速率较大,可以考虑使用 Verlet 数值积分,而不是 velocity-Verlet 数值积分。
    
    可以尝试使用不同的粒子间作用力(如 Hertz-Mindlin 或者 Mohr-Coulomb 粒子间作用力)来替换默认的 Hooke 粒子间作用力。
    

    这些都是可以考虑的改进方法,但并不能保证解决问题,因为还需要根据具体情况进行调整。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 2月22日
  • 已采纳回答 2月14日
  • 修改了问题 2月10日
  • 修改了问题 2月10日
  • 展开全部

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用