常用单位转换

这是一篇关于原子单位和常用物理单位转换的博客,主要突出实用性,方便查阅,随时更新。

Read More

使用matplotlib制作动态图

一、简介

matplotlib(https://matplotlib.org/)是一个著名的python绘图库,由于其灵活强大的绘图功能使得在python中可视化变得非常容易,关于matplotlib的基础知识这里不再介绍,有疑问可以去官网翻Tutorialsexample学习。由于我们实际使用时常常是绘制静态图,忽略了matplotlib的动态图生成功能,同时matplotlib生成动态图的功能不是非常友善,因此大部分人在真的需要制作动态图时都会选择先用matplotlib生成一系列静态图片,然后再用其它相对比较容易使用的第三方python库生成动态图,如imageio(https://imageio.readthedocs.io/en/stable/#), 或者使用其它工具,如Matlab。这里打算简单介绍一下在matplotlib库中制作动态图的方法。

Read More

VASP计算材料的弹性矩阵和杨氏模量

一、从1D到3D材料的胡克定律(Hooke’s law)

1.1D材料的胡克定律

1D材料的胡克定律也就是我们所熟知的线弹性模型,即是我们初中阶段就学习过的F=kΔxF=k\Delta{x},用更加标准和统一的形式可以写作:

σ=Cϵ\sigma = C\epsilon

对于1D材料,其中三个关键参数分别为:

  • σ\sigma:应力,标量,SI制下的单位为NN
  • CC:弹性常数,标量,SI制下的单位为NN
  • ϵ\epsilon:应变,标量,表达式为 ll0l0=Δll0\frac{l-l_0}{l_0}=\frac{\Delta{l}}{l_0}
    值得注意的是,考虑到在变形过程中材料的弹性常数并不是恒定的,因此在这里计算应力和应变有两种方法并且通常存在一定差别,这就是我们常说的工程应力、工程应变和真应力、真应变,具体可以参考这篇帖子:https://www.zhihu.com/question/294496637
Read More

pytorch 的自动求导功能简介

自动求导是 pytorch 的一项重要功能,它使得 pytorch 能够灵活快速地构建神经网络模型。反向传播算法是优化神经网络模型参数的一个重要方法,在反向传播过程中需要不断计算损失函数对参数的导数,然后更新相应的模型参数,首先简单介绍一下反向传播算法。

Read More

四阶龙格库塔方法求解一次常微分方程组-python实现

一、前言

之前在博客发布了关于使用四阶龙格库塔方法求解一次常微分方程组的文章,由于代码缺少具体的验证,部分朋友可能存在疑问,因此这里打算再重新写一篇博客来验证一下程序的正确性,另外,这里是使用python语言来实现的。

Read More

Python 中的函数装饰器简介

1.装饰器(decorator)简介

装饰器是 Python 中一个非常有用和强大的工具,它的作用对象是函数,实现的功能是在我们调用函数之前和之后再为函数添加一些额外的功能。通过函数装饰器可以有效地提高代码的灵活性,复用能力,以及简化代码。

Read More

高斯过程回归(Gaussian Processes Regression, GPR)简介

一、高斯过程简介

高斯过程是一种常用的监督学习方法,可以用于解决回归和分类问题。
高斯过程模型的优点有:

  • 预测对观察结果进行了插值
  • 预测的结果是概率形式的
  • 通用性:可以指定不同的核函数(kernels)形式

高斯过程模型的确定包括:

  • 它们不是稀疏的,即它们使用整个样本/特征信息来执行预测
  • 高维空间模型会失效,高维也就是指特征的数量超过几十个

值得注意的是,高斯过程模型的优势主要体现在处理非线性小数据问题上。

Read More

VASP官网关于IBRION参数的说明

IBRION 参数是 VASP 计算中一个使用频率较高的参数,其功能涉及到离子弛豫、分子动力学和声子计算,同时 VASP Wiki上关于参数的使用给出了非常详细的说明,这里打算把官网的说明简单翻译一下,同时在适当地方可能加入一点注释,主要是为了加深自己的理解,这是原文地址:https://www.vasp.at/wiki/index.php/IBRION

Read More