当前位置: 首页 > news >正文

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命令使用方法。

相关文章:

Phono3py hdf5文件数据读取与处理

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

React 底部加载组件(基于antd)

底部加载组件的意义在于提供一种流畅的用户体验,以便在用户滚动到页面底部时自动加载更多内容。这样可以让用户无需离开当前页面,就能够无缝地浏览更多的内容.通过底部加载组件,可以分批加载页面内容,减少一次性加载大量数据对页面…...

将HTML转换为PDF:使用Spire.Doc的详细指南(一) 试用版

目录 引言 1. 为什么选择 Spire.Doc? 1.1 主要特点 1.2 适用场景 2. 准备工作 2.1 引入 Spire.Doc 依赖 2.2 禁用 SSL 证书验证 3. 实现功能 3.1 主类结构 3.2 代码解析 4. 处理图像 5. 性能优化 5.1 异步下载图像 示例代码 5.2 批量处理优化 示例代…...

数据结构经典算法总复习(下卷)

第五章:树和二叉树 先序遍历二叉树的非递归算法。 void PreOrderTraverse(BiTree T, void (*Visit)(TElemType)) {//表示用于查找的函数的指针Stack S; BiTree p T;InitStack(S);//S模拟工作栈while (p || !StackEmpty(S)) {//S为空且下一个结点为空,意味着结束遍…...

mac 安装graalvm

Download GraalVM 上面链接选择jdk的版本 以及系统的环境下载graalvm的tar包 解压tar包 tar -xzf graalvm-jdk-<version>_macos-<architecture>.tar.gz 移入java的文件夹目录 sudo mv graalvm-jdk-<version> /Library/Java/JavaVirtualMachines 设置环境变…...

【SH】在Ubuntu Server 24中基于Python Web应用的Flask Web开发(实现POST请求)学习笔记

文章目录 Flask开发环境搭建保持Flask运行Debug调试 路由和视图可变路由 请求和响应获取请求信息Request属性响应状态码常见状态码CookieSession 表单GET请求POST请求 Flask 在用户使用浏览器访问网页的过程中&#xff0c;浏览器首先会发送一个请求到服务器&#xff0c;服务器…...

一些经济政治学类书籍推荐 --- 以及与之相关我的经历和理解

我给所开设的兴趣专栏_墨#≯的博客-CSDN博客&#xff0c;的介绍是&#xff1a; 聊聊关于文学、经济(股票等)、法律方面的个人感受与理解。 不过目前已有的两篇以及现在在写的这篇都是经济相关的&#xff0c;其实专栏开设的9月至今&#xff0c;我也看了好几本文学相关的书&#…...

设计模式之 abstract factory

适用场景 一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库&#xff0c;而只想显示它们的接口而不是实现时 架构演示 首先client这个东西可以接触到…...

汽车IVI中控开发入门及进阶(三十八):手机投屏HiCar开发

手机投屏轻松实现手机与汽车的无缝连接,导航、音乐、通话等功能应有尽有,还支持更多第三方应用,让车载互联生活更加丰富多彩。 HiCar在兼容性和开放性上更具优势。 手机投屏可以说是车机的杀手级应用,大大拓宽了车机的可用性范围。其中华为推出的HiCar就是非常好用的一种。…...

Springmvc,spring ,mybatis,整合,ssm

上一章内容&#xff1a; 1.spring框架:作用 开源的框架--提供IOC和AOPIOC控制反转 把创建对象的权力交于spring创建&#xff0c;并管理对象的生命周期&#xff0c;通过DI完成对象属性的注入。 ​ 2. spring配置中<bean>也可以使用注解Component Controller Service Repo…...

《庐山派从入门到...》板载按键启动!

《庐山派从入门到...》板载按键启动&#xff01; 《庐山派从入门到...》板载按键启动&#xff01; 视频内容大致如下 我们之前了解了GPIO的输出模式使用方法&#xff0c;并且成功点灯&#xff0c;很明显本篇要来分享的自然是GPIO的输入模式 正好回顾一下之前学的python基础包…...

Mapbox-GL 中 `token` 的使用

Mapbox-GL 是一个开源的 JavaScript 库&#xff0c;允许开发者在网页上渲染交互式地图。token 在 Mapbox 中主要是指 access token&#xff0c;它用于身份验证和授权&#xff0c;确保应用程序能够访问 Mapbox 的地图服务。 下面详细解析 Mapbox GL 中 token 的使用&#xff0c…...

Flutter组件————PageView

PageView 可以创建滑动页面效果的widget&#xff0c;它允许用户通过水平或垂直滑动手势在多个子页面&#xff08;child widgets&#xff09;之间切换。每个子页面通常占据屏幕的全部空间。 参数 参数名类型描述childrenList<Widget>包含在 PageView 中的所有子部件&am…...

c#自定义事件

自定义事件类 定义一个自定义事件参数类 为了传递更多的信息&#xff0c;我们定义一个自定义的事件参数类 public class CustomEventArgs : EventArgs {public string Message { get; set; } } 3. 定义一个发布者类 接下来&#xff0c;我们定义一个发布者类&#xff0c;包含…...

【读书笔记】《论语别裁》寂寞的享受

1.内容摘要 在《论语别裁》中&#xff0c;第一章《学而》探讨了做学问的孤独与坚持。作者强调&#xff0c;真正的学者在追求知识时&#xff0c;必须保持“仁”与“义”的核心价值观&#xff0c;愿意为自己的信念与理想而牺牲。他以孔子为例&#xff0c;描绘了孔子一生的寂寞与…...

Oracle筑基篇-调度算法-LRU的引入

常见的调度算法 图1 调度算法思维导图 一、LRU算法的典型使用场景 1. 操作系统中的页面置换 什么时候用到页面置换算法呢&#xff1f; 当CPU发出指令需要访问某个地址时&#xff0c;若该地址在TLB&#xff08;Translation Lookaside Buffer&#xff0c;快表&#xff09;或页…...

单元测试-Unittest框架实践

文章目录 1.Unittest简介1.1 自动化测试用例编写步骤1.2 相关概念1.3 用例编写规则1.4 断言方法 2.示例2.1 业务代码2.2 编写测试用例2.3 生成报告2.3.1 方法12.3.2 方法2 1.Unittest简介 Unittest是Python自带的单元测试框架&#xff0c;适用于&#xff1a;单元测试、Web自动…...

linux驱动:6ull(3)自动分配设备号来创建led驱动

在 linux驱动&#xff1a;6ull&#xff08;2&#xff09;的文章代码上进行更改 步骤&#xff1a; 创建入口函数和出口函数定义一个设备结构体和创建一个led设备在入口函数init中添加初始化led的gpio在入口函数init中添加自动分配设备号来创建led字符设备在出口函数中取消led的…...

GM_T 0039《密码模块安全检测要求》题目

单项选择题 根据GM/T 0039《密码模块安全检测要求》,送检单位的密码模块应包括()密码主管角色。 A.一个 B.两个 C.至少一个 D.至少两个 正确答案:C 多项选择题 根据GM/T 0039《密码模块安全检测要求》,关于非入侵式安全,以下属于安全三级密码模块要求的是()。 …...

第四届电气工程与控制科学

重要信息 官网&#xff1a;www.ic2ecs.com 时间&#xff1a;2024年12月27-29日 简介 第四届电气工程与控制科学定于2024年12月27-29日在中国南京召开。主要围绕“电气工程“、”控制科学“、”机械工程“、”自动化”等主题展开&#xff0c;旨在为从电…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...