lammps蒙特卡洛MC模拟案例

学术   科技   2024-08-20 10:00   山东  
大家好,我是小马老师。
本文介绍lammps和蒙特卡洛(MC)相结合的模拟方法。
MC是一种随机模拟方法,可以模拟一定区域内的随机原子交换过程。在lammps中,和MC相关的模拟命令有三个:fix gcmc、fix atom/swap、fix sgcmc
本文主要介绍fix sgcmc命令。sgcmc命令可应用到合金的模拟中,如短程有序模拟。
fix sgcmc语法格式:
fix ID group-ID sgcmc every_nsteps swap_fraction temperature deltamu ...
  • ID, group-ID:fix命令的id和原子组的id
  • sgcmc:该命令的关键词
  • every_nsteps:每隔every_nsteps步执行一次MC循环
  • swap_fraction:每一个MC循环周期内执行的交换步数的比例
  • temperature:MC循环中的温度,通常这个温度与MD模拟的温度相同,也可不同
  • deltamu:化学势差
在一个lammps模拟中,mc和md可同时存在,间隔运行,所以设置fix sgcmc命令的同时,可以同时设置系综(nve、nvt或者npt)。
fix mc all sgcmc 50 0.1 400.0 -0.55fix 1 all nvt temp 300 300 0.1
以上命令表示,每运行50步nvt的MD就执行一次MC的运行。MC的温度为400K,MD的运行温度为300K。
lammps官网自带案例中也有一个fix sgcmc的案例,主要模拟FeCu合金的MC建模。
MC运行间隔为100步,最终的浓度比例为0.02,也就是2%的Fe原子交换为Cu原子。
模拟结果:

in文件代码:
# general variablesvariable        temperature equal 700variable        size equal 20# variables for 'fix sgcmc'variable        nsteps_mc     equal 100variable        swap_fraction equal 0.2variable        temperature_mc equal ${temperature}variable        deltamu equal -0.70variable        target_concentration equal 0.02variable        kappa equal 1e3# general settingsunits           metalatom_style      atomic# set up structureboundary        p p plattice         bcc 2.88region          box block 0 ${size}  0 ${size}  0 ${size}create_box      2 boxcreate_atoms    1 boxreset_timestep  0timestep        0.0025# set up interactionpair_style      eam/fspair_coeff      * * FeCu.pasianot.eamfs Fe Cu# initialize velocitiesvariable        double_temp equal ${temperature}*2velocity        all create ${double_temp} 428459 dist gaussian# what and how to runfix             integrate all npt &                temp ${temperature} ${temperature} 1.7 &                aniso 0.0 0.0 1.5fix             mc all sgcmc ${nsteps_mc} ${swap_fraction} ${temperature_mc} ${deltamu} &                randseed 324234 &                variance ${kappa} ${target_concentration}
# set up outputthermo 100thermo_style custom step temp atoms pe press & lx ly lz f_mc[1] f_mc[2] f_mc[3] f_mc[4]dump 1 all custom 100 mc.dump id type x y z
run 10000


如果在lammps学习过程中有模拟方面的问题,可以联系我!

---------- End -----------

报名一对一培训课程可领完整版《lammps中文教程》,配套学习更轻松!

自编lammps教程第3版发布,600页,上册免费领

扫码领取粉丝专属优惠券↓↓↓

免费试听:Cu融化模拟代码编写及启动运算方法
课程介绍:lammps一对一入门与进阶课程
lammps科研合作、培训、咨询请加:
微信:lammps365
QQ群:236862503

lammps加油站
免费分享lammps教程和lammps案例代码,专属一对一lammps培训
 最新文章