m0_50349858 2024-02-06 09:58 采纳率: 53.8%
浏览 65
已结题

lammps密度的输出

怎么在下面的代码中,补充让它也输出熔化过程时原子密度,现在是输出了步数,温度,势能动能压力等,我想加上一个密度。谢谢。

#初始模拟系统设置
units                         metal
boundary                      p p p
atom_style                    atomic
neighbor                  2  bin
timestep                      0.001
 
#读取data
read_data                  final.lmp
 
#设置原子摩尔质量
 
mass          1 55.845    #Fe
mass          2 52         #Cr
mass          3 58.69    #Ni
mass          4 55.845    #Fe
mass          5 54.938    #Mn
mass          6 58.93    #Co
mass          7 52         #Cr
 
 
pair_style     meam/c
pair_coeff     * * library.meam  Co Ni Cr Fe Mn CoNiCrFeMn.meam Fe Cr Ni Fe Mn Co Cr
 
 
 
#热力学输出
thermo        100
thermo_style    custom step temp pe ke press
#能量最小化
dump        1 all atom 10 mini.xyz
min_style cg
minimize        1e-15 1e-15 10000 10000
undump            1
reset_timestep        0
 
 
#温度初始化
velocity                   all create 300 88989
 
 
#nvt系综下驰豫
dump                     1 all custom 10000  r.xyz id type x y z
fix                        1 all npt temp 300 300 0.1 x 0 0 1 y 0 0 1
run                       5000
undump                     1
unfix                      1
reset_timestep             0
write_data           r.lmp
 
dump                     1 all custom 10000 melt.xyz id type x y z
fix                        1 all nvt temp 300 3000 0.1
run                       300000
undump                     1
unfix                     1
reset_timestep           0
write_data           melt.lmp


  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-06 09:59
    关注

    引自免费微信小程序:皆我百晓生

    在LAMMPS中,要输出原子密度,你需要添加一个计算原子数密度的指令和将其加入到thermo_style自定义输出中。以下是修改后的代码:

    # ... 上面的设置保持不变 ...
    
    # 计算并输出密度(假设模拟盒子是立方体)
    compute 1 all density
    
    # 热力学输出,增加密度至thermo_style custom
    thermo_style    custom step temp pe ke press density
    
    # ... 下面的模拟过程保持不变 ...
    
    # 在nvt驰豫阶段之前添加计算密度的指令
    dump        1 all atom 10000 r.xyz id type x y z density
    # ... 下面的nvt驰豫阶段以及后续的熔化过程保持不变 ...
    

    这段代码首先创建了一个名为1的计算对象来计算整个系统的密度(compute 1 all density)。然后,在thermo_style custom设置中加入了density关键字以输出每步的密度信息。

    注意:在LAMMPS中,density计算默认基于系统总体积和总粒子数,因此对于非等温非体积变化的模拟(如NVT),密度通常是个恒定值。若模拟中有体积变化(例如使用了NPT ensemble),则密度会随时间变化。

    另外,在dump命令行中,我添加了density以便在dump文件中记录每个时间步的密度信息。但请注意,LAMMPS的标准dump格式不直接支持density属性的输出,这里假设的是用户希望在dump文件中通过其他方式间接获取密度数据(例如通过已知体积和总粒子数)。如果确实需要在dump文件中直接显示密度,则可能需要编写自定义输出脚本或后处理程序。

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

报告相同问题?

问题事件

  • 系统已结题 2月14日
  • 已采纳回答 2月6日
  • 创建了问题 2月6日

悬赏问题

  • ¥15 Kylin-Desktop-V10-GFB-Release-JICAI_02- 2207-Build14-ARM64.iso有没有这个版本的系统啊
  • ¥15 能不能通过蓝牙将传感器数据传送到手机上
  • ¥20 100元python和数据科学实验项目
  • ¥15 根据时间在调用出列表
  • ¥15 FastReport.community 编辑,table只显示“每页”最顶部和底部横线
  • ¥15 R 包chipseeker 安装失败
  • ¥15 Veeam Backup & Replication 9.5 还原问题
  • ¥15 vue-print-nb
  • ¥15 winfrom的datagridview下拉框变成了黑色,渲染不成功
  • ¥20 利用ntfy实现短信推送