【程序分享】Warren Cowley Parameters 程序:表征短程有序的化学基序

图片


================================

分享一个 Warren Cowley Parameters 程序:表征短程有序的化学基序

感谢论文的原作

================================

主要内容

“晶体材料的化学成分具有原子尺度的波动,可调节各种中尺度特性。建立此类材料的化学-微结构关系需要对这些化学波动进行适当的表征。然而,目前的表征方法(如 Warren-Cowley 参数)只能部分利用局部化学图案所包含的完整化学和结构信息。在此,我们介绍一种基于 E(3)- 等变图神经网络的框架,它能够完全识别任意化学元素数量的任意晶体结构中的化学图案。这种方法自然而然地为量化化学复杂材料中的化学短程有序(SRO)提供了一种适当的信息论度量,并为化学空间提供了一种精简但完整的表征。我们的框架可以将任何原子间性质与其相应的局部化学主题相关联,从而为探索化学复杂材料的结构-性质关系提供了新的途径。我们使用 MoTaNbTi 高熵合金作为测试系统,通过评估与每个化学主题相关的晶格应变,以及计算化学波动长度尺度的温度依赖性,展示了这种方法的多功能性。”——取自文章摘要。

================================

Figure 1

图片

Figure 2

图片

Figure 3

图片

Figure 4

图片

Figure 5

图片

Figure 6

图片

Figure 7

图片

WarrenCowleyParameters

 

 

OVITO Python modifier to compute the Warren-Cowley parameters, defined as:

α i j m = 1 − p i j m c j ,

where m denotes the m-th nearest-neighbor shell, p i j m is the average probability of finding a j-type atom around an i-type atom in the m-th shell, and c j is the average concentration of j-type atom in the system. A negative α i j m suggests the tendency of j-type clustering in the m-th shell of an i-type atom, while a positive value means repulsion.

from ovito.io import import_fileimport WarrenCowleyParameters as wc
pipeline = import_file("fcc.dump")mod = wc.WarrenCowleyParameters(nneigh=[0, 12, 18], only_selected=False)pipeline.modifiers.append(mod)data = pipeline.compute()
wc_for_shells = data.attributes["Warren-Cowley parameters"]print(f"1NN Warren-Cowley parameters: \n {wc_for_shells[0]}")print(f"2NN Warren-Cowley parameters: \n {wc_for_shells[1]}")

Installation

For a standalone Python package or Conda environment, please use:

pip install --user WarrenCowleyParameters

For OVITO PRO built-in Python interpreter, please use:

ovitos -m pip install --user WarrenCowleyParameters

If you want to install the lastest git commit, please replace WarrenCowleyParameters by git+https://github.com/killiansheriff/WarrenCowleyParameters.git.

图片

================================

图片

以上是我们分享的一些经验或者文章的搬运,或有不足,欢迎大家指出。若留言未回复,重要的消息可以留言再提醒一下,因为超过 48 小时不可回复。

如有侵权,请联系我们立马删除!

👇

文章题目:

Chemical-motif characterization of short-range order with E(3)-equivariant graph neural networks

👇

  1. 键序参数分析程序——Bond Order Parameters

  2. 一个用于分析轨迹文件(LAMMPS)的VMD插件:可分析数密度、质量、电荷和电子分布

  3. 晶体结构轨迹(VASP、LAMMPS)分析后处理程序 ISAACS

  4. 安装教程:结构轨迹后处理程序ISAACS

  5. TPMD 程序:利用分子动力学轨迹研究速率过程并进行温度编程分子动力学计算的工具包

  6. 【程序分享】bop 程序 :分子动力学模拟中进行键序参数分析—Bond Order Parameters(一)

  7. 【程序分享】bopcalc 程序:一种评估分子动力学模拟中键序参数的高效方法(二)

  8. 【程序分享】AACSD 程序: 用于晶体结构和缺陷的原子分析平台

  9. 【程序分享】AADIS 程序:位错特征和分布的原子分析平台

  10. 【程序分享】SPaMD studio 程序:(VASP + LAMMPS) 原子建模、模拟、分析和可视化的集成平台

内容概要:该论文研究了一种基于行波理论的输电线路故障诊断方法。当输电线路发生故障时,故障点会产生向两侧传播的电流和电压行波。通过相模变换对三相电流行波解耦,利用解耦后独立模量间的关系确定故障类型和相别,再采用小波变换模极大值法标定行波波头,从而计算故障点距离。仿真结果表明,该方法能准确识别故障类型和相别,并对故障点定位具有高精度。研究使用MATLAB进行仿真验证,为输电线路故障诊断提供了有效解决方案。文中详细介绍了三相电流信号生成、相模变换(Clarke变换)、小波变换波头检测、故障诊断主流程以及结果可视化等步骤,并通过多个实例验证了方法的有效性和准确性。 适合人群:具备一定电力系统基础知识和编程能力的专业人士,特别是从事电力系统保护与控制领域的工程师和技术人员。 使用场景及目标:①适用于电力系统的故障检测与诊断;②能够快速准确地识别输电线路的故障类型、相别及故障点位置;③为电力系统的安全稳定运行提供技术支持,减少停电时间和损失。 其他说明:该方法不仅在理论上进行了深入探讨,还提供了完整的Python代码实现,便于读者理解和实践。此外,文中还讨论了行波理论的核心公式、三相线路行波解耦、行波测距实现等关键技术点,并针对工程应用给出了注意事项,如波速校准、采样率要求、噪声处理等。这使得该方法不仅具有学术价值,也具有很强的实际应用前景。
<think>好的,我现在要帮用户分析他们提供的LAMMPS脚本中的RDF输出文件rdf_temp_i.dat的各列数据。首先,我需要回忆一下LAMMPS中compute rdf和fix ave/time的用法。 用户脚本里,compute j_x${i} all rdf 100 1 1,这里的参数是每100个bin,计算类型1和类型1之间的RDF。然后fix ave/time用来平均数据,每100步采样一次,共5次,每1000步输出一次到文件。所以输出的rdf_temp_i.dat应该包含不同温度下的径向分布函数数据。 通常,compute rdf的输出包括每个bin的中间位置,g(r)的值,以及协调数coordination number。具体来说,LAMMPS文档中提到,compute rdf会生成N+1列数据,其中N是原子类型对的数量。在这里,用户只计算了类型1和类型1之间的RDF,所以N=1,因此总共有3列数据:第一列是r的中间值,第二列是g(r),第三列是协调数。不过需要确认是否还有其他列。 另外,fix ave/time这里用了c_j_x${i}[*],这会收集compute rdf的所有输出列。因此,每个rdf_temp_i.dat文件中的列数应该与compute rdf的输出一致。根据LAMMPS的compute rdf文档,每个类型对会有三列:r, g(r), 协调数。如果有多个类型对,比如类型1-1、1-2等,就会依次排列。但用户这里只有类型1和1,所以应该只有这三列。 需要再仔细核对一下compute rdf的文档。例如,对于单类型对的情况,输出是r,g(r),coordination数。如果是多对,比如两种原子类型,可能会有更多的列。但在此例中,用户指定的是1和1,所以每行应该有这三列。 总结起来,rdf_temp_i.dat的每列应该是: 第1列:径向距离r(单位:Å) 第2列:径向分布函数g(r)在该r处的值 第3列:协调数(即到该r处为止的平均原子数) 用户可能需要确认单位是否为埃,因为LAMMPS中的单位取决于units的设置,这里是metal单位,所以长度单位是埃。 另外,用户可能想知道每一列对应的物理意义,以及数据是如何生成的。比如,每个r的间隔是根据参数100来分的,所以总共有100个bin,覆盖从0到截断半径的距离。这里的截断半径可能由势函数决定,或者由pair_style eam的截断半径决定,但compute rdf默认可能使用整个盒子的一半?或者有其他设置?不过用户的问题是关于列的含义,所以可能不需要深入这个细节。 最后,需要确认是否在输出中还有其他列,比如时间步长或者其他参数。不过根据fix ave/time的设置,mode vector应该是将每次采样的数据作为向量处理,即每个时间点的数据会被平均,然后按列保存。但在这里,compute rdf的输出已经是每个r对应的三个值,所以每行对应一个r值,而每列对应不同数据。 所以最终结论是:每列依次是r,g(r),协调数。</think>在LAMMPS的`rdf_temp_i.dat`文件中,每列数据的含义如下(以具体列数为序): --- ### **列数据解析** 1. **第1列**:`径向距离 r` - 单位:埃(Å,由`units metal`决定) - 表示原子间的径向距离,其范围由体系尺寸和`compute rdf`的截断半径自动确定。 2. **第2列**:`径向分布函数 g(r)` - 无量纲量 - 描述距离为`r`时原子分布的密度相对于理想均匀分布的比值。 - 典型特征: - `g(r)=1` 表示完全无序(理想气体); - 峰值表示特定距离处原子排列的周期性(如晶体或液体短程有序)。 3. **第3列**:`配位数(Coordination Number)` - 单位:原子个数 - 表示以某个原子为中心、半径为`r`的球壳内其他原子的平均数量。 - 积分公式: $$ n(r) = 4\pi \int_0^r \rho g(r') r'^2 dr' $$ 其中 $\rho$ 为原子数密度。 --- ### **数据生成逻辑** 1. **参数设置** - `compute j_x${i} all rdf 100 1 1` - `100`: 将径向距离划分为100个统计区间(bin); - `1 1`: 计算类型1原子与类型1原子之间的RDF。 2. **数据平均** - `fix ave/time` 每100步采样1次,累计5次采样后输出平均值,最终生成包含100行(每个bin一行)的`rdf_temp_i.dat`文件。 --- ### **应用示例** - **液态/固态判断**:通过`g(r)`的峰形可区分液态(宽峰)和晶体(尖锐峰)。 - **相变分析**:升温过程中`g(r)`峰消失反映熔化现象。 - **配位数计算**:取第一个极小值对应的`n(r)`为最近邻配位数。 若需进一步分析,建议用可视化工具(如Ovito)观察RDF曲线。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值