Lammps将当前体系温度作为输入,循环升温

关注 M r . m a t e r i a l   , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 多 \color{blue}{多} 精 \color{orange}{精} 彩 \color{green}{彩}


主要专栏内容包括:
  †《LAMMPS小技巧》: ‾ \textbf{ \underline{\dag《LAMMPS小技巧》:}}  LAMMPS小技巧》: 主要介绍采用分子动力学( L a m m p s Lammps Lammps)模拟相关安装教程、原理以及模拟小技巧(难度: ★ \bigstar
  ††《LAMMPS实例教程—In文件详解》: ‾ \textbf{ \underline{\dag\dag《LAMMPS实例教程—In文件详解》:}}  ††LAMMPS实例教程—In文件详解》: 主要介绍采用分子动力学( L a m m p s Lammps Lammps)模拟相关物理过程模拟。(包含:热导率计算、定压比热容计算,难度: ★ \bigstar ★ \bigstar ★ \bigstar
  †††《Lammps编程技巧及后处理程序技巧》: ‾ \textbf{ \underline{\dag\dag\dag《Lammps编程技巧及后处理程序技巧》:}}  †††Lammps编程技巧及后处理程序技巧》: 主要介绍针对分子模拟的动力学过程(轨迹文件)进行后相关的处理分析(需要一定编程能力。难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  ††††《分子动力学后处理集成函数—Matlab》: ‾ \textbf{ \underline{\dag\dag\dag\dag《分子动力学后处理集成函数—Matlab》:}}  ††††《分子动力学后处理集成函数—Matlab》: 主要介绍针对后处理过程中指定函数,进行包装,方便使用者直接调用(需要一定编程能力,难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  †††††《SCI论文绘图—Python绘图常用模板及技巧》: ‾ \textbf{ \underline{\dag\dag\dag\dag\dag《SCI论文绘图—Python绘图常用模板及技巧》:}}  †††††SCI论文绘图—Python绘图常用模板及技巧》: 主要介绍针对处理后的数据可视化,并提供对应的绘图模板(需要一定编程能力,难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  ††††††《分子模拟—Ovito渲染案例教程》: ‾ \textbf{ \underline{\dag\dag\dag\dag\dag\dag《分子模拟—Ovito渲染案例教程》:}}  ††††††《分子模拟—Ovito渲染案例教程》: 主要采用 O v i t o \rm Ovito Ovito软件,对 L a m m p s \rm Lammps Lammps 生成的轨迹文件进行渲染(难度: ★ \bigstar ★ \bigstar )。

  专栏说明(订阅后可浏览对应专栏全部博文): ‾ \color{red}{\textbf{ \underline{专栏说明(订阅后可浏览对应专栏全部博文):}}}  专栏说明(订阅后可浏览对应专栏全部博文):
注意: \color{red} 注意: 注意:如需只订阅某个单独博文,请联系博主邮箱咨询。 l a m m p s _ m a t e r i a l s @ 163. c o m \rm lammps\_materials@163.com lammps_materials@163.com

♠ \spadesuit † \dag 开源后处理集成程序:请关注专栏《LAMMPS后处理——MATLAB子函数合集整理》
♠ \spadesuit † \dag † \dag 需要付费定制后处理程序请邮件联系: l a m m p s _ m a t e r i a l s @ 163. c o m \rm lammps\_materials@163.com lammps_materials@163.com



#--------------------------------------------------------------#
#      500-1000 1000-1500 1500-2000 2000-2500 2500-3000 
#--------------------------------------------------------------#
variable         KB           equal  8.625e-5

variable         2ns          equal  2000/${TS}

variable         per_loop_run equal  ${2ns}/10
#--------------------------------------------------------------#
###################
#     run 2       #
###################

variable          temp_incr loop 5 
label             loop

variable          temp_now equal (ke(all)/count(all)/${KB}/1.5)

print             "######################"
print             "Current temperature is: ${temp_now}"
print             "######################"

variable          current_target_temp equal (${temp_incr}+1)*500

fix               1    all nvt temp ${temp_now} ${current_target_temp}  ${Tdamp} 
#fix               1   all temp/rescale 1 ${temp_now} ${current_target_temp} 0 1

dump              loop all custom 10000 dump.${temp_incr}               &
                  id type x y z vx vy vz fx fy fz c_ke c_pe c_2[*]

thermo_style      custom step temp press ke  pe  vol  density 

timestep          ${TS}
run              ${per_loop_run}

#run              1

undump            loop 

unfix             1

next  temp_incr
jump  SELF loop
#--------------------------------------------------------------#

请添加图片描述
在这里插入图片描述

Python可以通过编写脚本来作为Lammps(Large-scale Atomic/Molecular Massively Parallel Simulator,大型原子/分子并行模拟器)的输入Lammps支持读取来自多种格式的数据文件,包括Python脚本中定义的变量和命令集合。以下是使用Python与Lammps交互的基本步骤: 1. **定义系统信息**:首先,在Python中创建一个包含系统的描述,例如原子的位置、类型、键合信息等。你可以使用numpy数组或者其他数据结构来组织这些数据。 ```python import numpy as np # 创建原子位置矩阵 positions = np.array([[x, y, z] for x, y, z in ...]) # 定义原子类型 types = [type_i for type_i in ...] # 可选:定义额外的lmp变量,如边界条件、单元格等 cell = [[a, b, c], [a1, b1, c1], [a2, b2, c2]] ``` 2. **将数据保存到文本文件**:然后将这些数据保存到`.dat`或`.in`文件中,这是Lammps期望的格式,比如用`write_data()`函数: ```python with open('system.data', 'w') as f: f.write(f"units metal\n") f.write(f"atom_style atomic\n") # 写入原子坐标、类型等数据 for pos, typ in zip(positions, types): f.write(f"{typ} {pos[0]} {pos[1]} {pos[2]}\n") ``` 3. **编写控制文件**:同时或随后,编写一个包含Lammps指令的控制文件(`.in`),调用上述的数据,并设置其他运行参数。 ```python with open('run.in', 'w') as f: f.write("pair_style lj/cut 1.0\n") f.write("read_data system.data\n") f.write("run 10000\n") ``` 4. **执行Lammps**:最后,使用命令行工具(如bash或Python shell)调用Lammps,并指定刚才创建的输入文件: ```shell lmp < run.in ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. Material

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值