Phono3py hdf5文件数据读取与处理

Phono3py是一个主要用python写的声子-声子相互作用相关性质的模拟包,可以基于有限位移算法实现三阶力常数和晶格热导率的计算过程,同时输出包括声速,格林奈森常数,声子寿命和累积晶格热导率等参量。

相关介绍和安装请参考往期推荐。

phono3py快速安装教程

QE+phono3py 热导率计算

VASP+phono3py:快速计算晶格热导率

理论到实践:VASP+Phono3py计算Phonon Lifetime

phonopy 和 phono3py 安装教程Phonopy-Spectroscopy计算材料红外和Raman光谱

在phonopy和phono3py的计算过程中,会将过程文件和结果文件写入到hdf5的格式文件中,以此来方便程序读入和写入,phonopy有关的诸多输出量可以通过额外设置获得文本文件,并用于数据处理,phono3py则不能自主输出文本数据。但是在phono3py介绍网址上有如何读取hdf5文件的说明。

http://phonopy.github.io/phono3py/hdf5_howto.html

本文则以此来介绍读取phono3py计算完晶格热导率后的数据读出。

生成有限位移文件后,并通过VASP计算获得力常数fc3.hdf5fc2.hdf5后,进行热导率计算,采用11×11×11的网格,

phono3py-load --mesh 11 11 11 --br

有关计算结果会被写入到 kappa-m111111.hdf5中,首先通过pip安装 ipython

pip install ipython 

随后打开ipython编辑器

ipython

图片

随后输入(In [1]:是ipython的输入提示,只需要输入冒号后面的部分就行)

In [1]: import h5pyIn [2]: f = h5py.File("kappa-m111111.hdf5")In [3]: list(f)

则输出kappa-m111111.hdf5中包含的数据的title

Out[3]:['frequency', 'gamma', 'group_velocity', 'gv_by_gv', 'heat_capacity', 'kappa', 'kappa_unit_conversion', 'mesh', 'mode_kappa', 'qpoint', 'temperature', 'weight']

获得热导率张量

In [4]: f['kappa'].shapeOut[4]: (101, 6)
In [5]: f['kappa'][:]Out[5]:array([[  0.00000000e+00,   0.00000000e+00,   0.00000000e+00,          0.00000000e+00,   0.00000000e+00,   0.00000000e+00],       [  2.11702476e+05,   2.11702476e+05,   2.11702476e+05,          6.64531043e-13,   6.92618921e-13,  -1.34727352e-12],       [  3.85304024e+04,   3.85304024e+04,   3.85304024e+04,          3.52531412e-13,   3.72706406e-13,  -7.07290889e-13],       ...,       [  2.95769356e+01,   2.95769356e+01,   2.95769356e+01,          3.01803322e-16,   3.21661793e-16,  -6.05271364e-16],       [  2.92709650e+01,   2.92709650e+01,   2.92709650e+01,          2.98674274e-16,   3.18330655e-16,  -5.98999091e-16],       [  2.89713297e+01,   2.89713297e+01,   2.89713297e+01,          2.95610215e-16,   3.15068595e-16,  -5.92857003e-16]])

获得温度的张量

In [6]: f['temperature'][:]Out[6]:array([    0.,    10.,    20.,    30.,    40.,    50.,    60.,    70.,          80.,    90.,   100.,   110.,   120.,   130.,   140.,   150.,         160.,   170.,   180.,   190.,   200.,   210.,   220.,   230.,         240.,   250.,   260.,   270.,   280.,   290.,   300.,   310.,         320.,   330.,   340.,   350.,   360.,   370.,   380.,   390.,         400.,   410.,   420.,   430.,   440.,   450.,   460.,   470.,         480.,   490.,   500.,   510.,   520.,   530.,   540.,   550.,         560.,   570.,   580.,   590.,   600.,   610.,   620.,   630.,         640.,   650.,   660.,   670.,   680.,   690.,   700.,   710.,         720.,   730.,   740.,   750.,   760.,   770.,   780.,   790.,         800.,   810.,   820.,   830.,   840.,   850.,   860.,   870.,         880.,   890.,   900.,   910.,   920.,   930.,   940.,   950.,         960.,   970.,   980.,   990.,  1000.])

获得特定温度热导率和模式热导率(需提前定义)

In [7]: f['kappa'][30]Out[7]:array([  1.09089896e+02,   1.09089896e+02,   1.09089896e+02,         1.12480528e-15,   1.19318349e-15,  -2.25126057e-15])In [8]: f['mode_kappa'][30, :, :, :].sum(axis=0).sum(axis=0) / weight.sum()Out[8]:array([  1.09089896e+02,   1.09089896e+02,   1.09089896e+02,         1.12480528e-15,   1.19318349e-15,  -2.25126057e-15])

计算声子寿命

In [9]: g = f['gamma'][30]In [10]: import numpy as npIn [11]: g = np.where(g > 0, g, -1)In [12]: lifetime = np.where(g > 0, 1.0 / (2 * 2 * np.pi * g), 0)

声子群速和热容等数据处理方式同理。

具体修改请查看h5py使用方法和hdf5格式文件读取以及ipython命令使用方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7下docker 容器实现redis主从同步

1.下载redis 镜像 docker pull bitnami/redis2. 文件夹授权 此文件夹是 你自己映射到宿主机上的挂载目录 chmod 777 /app/rd13.创建docker网络 docker network create mynet4.运行docker 镜像 安装redis的master -e 是设置环境变量值 docker run -d -p 6379:6379 \ -v /a…

ManimCommunity 设置背景颜色

ManimCommunity 设置背景颜色 flyfish 主要是这句 self.camera.background_color WHITE 完整代码 class OpeningManim(Scene):def construct(self):self.camera.background_color WHITE title Tex(r"This is some \LaTeX")basel MathTex(r"\sum_{n1}^\in…

【数值特性库】入口文件

数值特性库入口文件为lib.rs。该文件定义一系列数字特性的trait(特征),这些特性可以被不同的数字类型实现,从而提供一套通用的数值操作方法。下面是对代码中关键部分的解释: 一、基础设置 #![doc(html_root_url “h…

matlab绘图时设置左、右坐标轴为不同颜色

目录 一、需求描述 二、实现方法 一、需求描述 当图中存在两条曲线,需要对两条曲线进行分别描述时,应设置左、右坐标轴为不同颜色,并设置刻度线,且坐标轴颜色需要和曲线颜色相同。 二、实现方法 1.1、可以实现: 1…

【数据可视化复习方向】

1.数据可视化就是数据中信息的可视化 2.数据可视化主要从数据中寻找三个方面的信息:模式、关系和异常 3.大数据可视化分类:科学可视化、信息可视化、可视分析学 4.大数据可视化作用:记录信息、分析推理、信息传播与协同 5.可视化流程&…

「配置应用的可见性」功能使用教程

引言 对于「应用可见性」这一概念,可能很多开发者小伙伴还不是很熟悉。简单举一个很典型的场景例子,当你开发的应用需要调起第三方应用时,这里就涉及到应用可见性的问题了,如果不配置相关的应用可见性,则你的应用是无…

Pytorch | 从零构建ResNet对CIFAR10进行分类

Pytorch | 从零构建ResNet对CIFAR10进行分类 CIFAR10数据集ResNet核心思想网络结构创新点优点应用 ResNet结构代码详解结构代码代码详解BasicBlock 类ResNet 类ResNet18、ResNet34、ResNet50、ResNet101、ResNet152函数 训练过程和测试结果代码汇总resnet.pytrain.pytest.py 前…

安装MongoDB,环境配置

官网下载地址:MongoDB Shell Download | MongoDB 选择版本 安装 下载完成双击打开 点击mongodb-windows-x86_64-8.0.0-signed 选择安装地址 检查安装地址 安装成功 二.配置MongoDB数据库环境 1.找到安装好MongoDB的bin路径 复制bin路径 打开此电脑 -> 打开高级…

7.C语言 宏(Macro) 宏定义,宏函数

目录 宏定义 宏函数 1.注释事项 2.注意事项 宏(Macro)用法 常量定义 简单函数实现 类型检查 条件编译 宏函数计算参数个数 宏定义进行类型转换 宏定义进行位操作 宏定义进行断言 总结 宏定义 #include "stdio.h" #include "string.h" #incl…

基于高云GW5AT-15 FPGA的SLVS-EC桥MIPI设计方案分享

作者:Hello,Panda 一、设计需求 设计一个4Lanes SLVS-EC桥接到2组4lanes MIPI DPHY接口的电路模块: (1)CMOS芯片:IMX537-AAMJ-C,输出4lanes SLVS-EC 4.752Gbps Lane速率; (2&…

【漏洞复现】CVE-2023-29944 Expression Injection

漏洞信息 NVD - cve-2023-29944 Metersphere v1.20.20-lts-79d354a6 is vulnerable to Remote Command Execution. The system command reverse-shell can be executed at the custom code snippet function of the metersphere system workbench. 背景介绍 MeterSphere is…

Spring基础分析11-表单处理与验证

大家好,今天和大家一起讨论一下Spring的表单处理与验证相关内容~ 在现代Web开发中,表单处理和验证是至关重要的功能。Spring框架提供了一套强大的机制来处理和验证表单数据,使得我们能够更加专注于业务逻辑的实现,而不需要担心底…

在VBA中结合正则表达式和查找功能给文档添加交叉连接

在VBA中搜索文本有两种方式可用,一种是利用Range.Find对象(更常见的形式可能是Selection.Find,Selection是Range的子类,Selection.Find其实就是特殊的Range.Find),另一种方法是利用正则表达式,但…

AW36518芯片手册解读(3)

接前一篇文章:AW36518芯片手册解读(2) 二、详述 3. 功能描述 (1)上电复位 当电源电压VIN降至预定义电压VPOR(典型值为2.0V)以下时,该设备会产生复位信号以执行上电复位操作&#x…

路径规划之启发式算法之二十一:禁忌搜索算法(Tabu Search,TS)

禁忌搜索算法(Tabu Search,TS)是一种元启发式(meta-heuristic)随机搜索算法,由美国科罗拉多大学教授Fred Glover在1986年左右提出。它主要用于解决优化问题,特别是那些具有大规模搜索空间的问题。禁忌搜索算法的核心思想是通过引入一种灵活的“记忆”技术,即禁忌表(Ta…

Linux中更改某些软件的设置(树莓派系统可用)

文章目录 描述方法: 描述 在Linux或者树莓派的系统中,要更改某个文件的设置,一般需要去更改该文件对应的配置文件, 一般来说,Linux中的配置文件大多位于/etc目录下。这个目录包含了各种各样的重要配置文件&#xff0…

【mysql】唯一性约束unique

文章目录 唯一性约束1. 作用2. 关键字3. 特点4. 添加唯一约束5. 关于复合唯一约束 唯一性约束 1. 作用 用来限制某个字段/某列的值不能重复。 2. 关键字 UNIQUE3. 特点 同一个表可以有多个唯一约束。唯一约束可以是某一个列的值唯一,也可以多个列组合的值唯一。…

【人工智能】用Python实现情感分析:从简单词典到深度学习方法的演进

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 情感分析是自然语言处理(NLP)中的一个重要任务,其目的是通过分析文本内容,识别出其中的情感极性,如正面、负面或中性。随着技术的不断…

实操给桌面机器人加上超拟人音色

前面我们讲了怎么用CSK6大模型开发板做一个桌面机器人充当AI语音助理,近期上线超拟人方案,不仅大模型语音最快可以1秒内回复,还可以让我们的桌面机器人使用超拟人音色、具备声纹识别等能力,本文以csk6大模型开发板为例实操怎么把超…

SYD881X RTC定时器事件在调用timeAppClockSet后会出现比较大的延迟

RTC定时器事件在调用timeAppClockSet后会出现比较大的延迟 这里RTC做了两个定时器一个是12秒,一个是185秒: #define RTCEVT_NUM ((uint8_t) 0x02)//当前定时器事件数#define RTCEVT_12S ((uint32_t) 0x0000002)//定时器1s事件 /*整分钟定时器事件,因为其余的…