大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
本文是薄膜渗透过滤的最后一篇文章:不同孔隙率薄膜建模。
孔隙或空位缺陷的建模原理比较简单:删除一定数量的原子就可以。
lammps自带delete_atoms可以随机删除一定比例的原子,如果对孔隙或空位的形状、尺寸等有特殊需求,需要用编程的方法删除原子。
delete_atoms porosity命令可随时产生设定比例的原子,如删除50%的原子:
delete_atoms porosity membrane 0.5 482793
- membrane为原子组
0.5为删除原子的比例 482793为随机数种子,取任一正整数即可。
初始模型和删除50%原子后的薄膜对比:
模拟结果为:
模拟in文件为:
#编写:Simon Gravelle
boundary s p p
pair_style lj/cut 2.5
neigh_modify every 1 delay 5 check yes
#读取模型文件
read_data data.lammps
region right block 0 INF INF INF INF INF
#原子分组
group solid type 1 2 3
group piston_right type 3
group membrane type 2
group piston_left type 1
group fluid type 4 5
group solvent type 4
group solute type 5
#排除墙原子之间的作用力
neigh_modify exclude group solid solid
#按比例删除薄膜原子
region membrane block -0.25 0.25 INF INF INF INF
delete_atoms porosity membrane 0.5 482793
#温度初始化
velocity fluid create 1.0 4928459 mom yes rot yes dist gaussian
fix mynve all nve
compute temperature_fluid fluid temp
fix mylgv fluid langevin 1.0 1.0 0.1 1530917 zero yes
fix_modify mylgv temp temperature_fluid
thermo_modify temp temperature_fluid
#固定薄膜
fix mysf1 membrane setforce 0 0 0
fix mysf2 piston_left setforce NULL 0 0
fix mysf3 piston_right setforce NULL 0 0
#两侧施加压力
variable F equal 0.01
fix myaf1 piston_left aveforce ${
F} NULL NULL
fix myaf2 piston_right aveforce -${
F} NULL NULL
#统计过滤后的溶质和溶剂原子数量
variable solvent_right equal count(solvent,right)
variable solute_right equal count(solute,right)
variable position_piston_left equal xcm(piston_left,x)
variable position_piston_right equal xcm(piston_right,x)
#输出统计记过
fix myat1 all ave/time 10000 1 10000 v_solvent_right file solvent_right.dat
fix myat2 all ave/time 10000 1 10000 v_solute_right file solute_right.dat
fix myat3 all ave/time 10000 1 10000 v_position_piston_left file position_piston_left.dat
fix myat4 all ave/time 10000 1 10000 v_position_piston_right file position_piston_right.dat
fix myat5 all ave/time 10 1000 10000 f_mysf1[1] file force_membrane.dat
#输出轨迹文件
dump mydmp all atom 10000 dump.xyz
thermo 10000
run 5000000
公众号:lammps加油站
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197630.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...