用pymatgen生成晶格

若材料属于立方晶系,则代码可以直接写成:

lattice = mg.Lattice.cubic(11.852)  #括号里面的为晶格常数

若材料属于四方晶系(tetragonal),四方晶系有以下特点:
a=b≠c
α=β=γ=90°
因此代码如下:

lattice = Lattice.from_parameters(a=12.03, b=12.03, c=23.96, alpha=90, beta=90, gamma=90)

若材料属于单斜晶系(monoclinic),单斜晶系有以下特点:
a≠b≠c
α=γ= 90°,β≠90°
因此代码如下:

lattice = Lattice.from_parameters(a=7.20, b=6.58, c=11.64, alpha=90, beta=90.580, gamma=90)

若不知道晶体的点群符号(space group)怎样表示,可以输入其数字代码,如不知道P21/m怎么表示,但其数字代码为11,代码如下:

SpaceGroup.int_number = 11
structure = Structure.from_spacegroup(11, lattice, [specie1,specie2...],[...])

下图是官网介绍,若我们不知道symbol是什么,可用int_number
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要用Matlab画金刚石晶格,可以通过绘制其基本单元格来实现。金刚石晶格结构由两种原子组成,分别是碳-碳键和碳-碳键。碳-碳键构成了金刚石的CC框架,而碳-碳键则位于框架内的空隙。 首先,我们可以定义一个基本单元格的坐标系,其中一个碳原子位于原点(0,0,0),另一个碳原子位于(0.25,0.25,0.25)。然后,我们可以将这两个碳原子连接起来,使用线段来表示碳-碳键。如此重复构建基本单元格,直到得到所需的晶格。 使用Matlab的plot3函数可以绘制晶格中的线段。以下是一个简单的示例代码: ```matlab % 设置绘图窗口 figure hold on grid on axis equal % 定义基本单元格中两个碳原子的坐标 coord1 = [0, 0, 0]; coord2 = [0.25, 0.25, 0.25]; % 绘制基本单元格中的线段 line([coord1(1), coord2(1)], [coord1(2), coord2(2)], [coord1(3), coord2(3)], 'Color', 'k', 'LineWidth', 1); % 复制基本单元格并构建整个晶格 for i = -5:5 for j = -5:5 for k = -5:5 if (i+j+k) ~= 0 % 排除不在晶格上的原子 continue end % 平移基本单元格并绘制线段 coord_translated = [coord1(1)+i, coord1(2)+j, coord1(3)+k]; line([coord_translated(1), coord_translated(1)+coord2(1)], [coord_translated(2), coord_translated(2)+coord2(2)], [coord_translated(3), coord_translated(3)+coord2(3)], 'Color', 'k', 'LineWidth', 1); end end end % 设置坐标轴标签 xlabel('x') ylabel('y') zlabel('z') % 设置图像标题 title('金刚石晶格') % 显示图像 hold off ``` 运行以上代码,即可在Matlab中绘制出金刚石晶格的图像。绘制结果中会显示金刚石晶格的CC框架以及框架内的碳原子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值