VASP 专题

从VASP弹性常数到连续介质模型

将Si实际弹性张量导出为SI单位,再计算不同厚度悬臂梁的挠度和频率。

更新于 2026-10-25约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

VASP给出的弹性常数可以作为更大尺度力学模型的材料输入。本文从集群实算的Si弹性张量出发,导出SI单位材料文件,再用悬臂梁公式计算一个小例子,帮助理解原子尺度参数如何传递到器件尺度。

1. 先得到可用的弹性张量#

沿用Si弹性计算教程的有限应变结果:PBE PAW64、ENCUT=550 eV、EDIFF=1E-6;各应变下允许内部原子弛豫,自由原子力要求0.02 eV/Å。该原子尺度计算经Slurm完成,使用NVHPC25.3/CUDA12.8构建的vasp/6.6.1-p100。

本例输入为内部弛豫后的立方晶体C11、C12、C44,以及同一模型的质量密度。先检查弹性矩阵正定,再求逆得到柔度S,沿[100]方向的杨氏模量为1/S11。

得到E[100]=122.473313 GPa,密度2280.906 kg/m³。这里采用特定晶向的单晶模量,不能用多晶平均值直接替换后仍称为同一个模型。

2. 导出材料参数#

附件已有本例的ELASTIC.json。完成自己弹性教程中的提取后,可以换成自己的同格式结果,再运行:

module load ase/3.29.0
python export_continuum.py

输出CONTINUUM-MATERIAL.json包含6×6矩阵、密度、晶轴和约定:

字段 本例约定
弹性矩阵 Pa;原GPa数值乘10⁹
Voigt顺序 xx、yy、zz、yz、xz、xy
应变向量 εxx、εyy、εzz、2εyz、2εxz、2εxy
应力向量 σxx、σyy、σzz、σyz、σxz、σxy
密度 kg/m³
晶向 梁长沿Si [100]

不同有限元程序的剪切项顺序、工程剪切应变与张量剪切应变可能不同。导入前按目标程序调整,不能只复制36个数字。如果器件坐标与晶轴不同,还需旋转四阶弹性张量;本例没有做任意晶向旋转。

3. 计算三个厚度的悬臂梁#

模型长L=1 mm、宽b=100 μm,端部横向载荷F=10 μN,厚度t分别为10、20、40 μm。采用均匀Euler–Bernoulli梁、小变形、固定端无柔度的解析近似:

A = b t
I = b t³ / 12
端部挠度 δ = F L³ / (3 E I)
根部最大弯曲应力 σ = 6 F L / (b t²)
第一阶弯曲频率 f1 = 1.875104² / (2π L²) × sqrt(E I / (ρ A))

脚本同时生成CONTINUUM-DATA.json,数值如下:

厚度 / μm 端部挠度 / μm 最大弯曲应力 / MPa 第一阶频率 / kHz
10 3.266018 6.000 11.837
20 0.408252 1.500 23.674
40 0.051032 0.375 47.349

vasp-continuum-material 实算结果

在相同端部载荷下,厚度从10增加到20 μm,弯曲刚度增加8倍,挠度降为1/8;第一阶频率增加到2倍。这是给定梁模型的解析结果,其中材料参数来自真实DFT计算。

4. 换成自己的模型时检查什么#

先确认晶向、单位、剪切约定和密度,再确认结构尺度是否适合连续介质近似。本例的δ/L都小于1%,使用小挠度模型;厚梁、复杂夹持、残余应力、表面效应、有限温度或大变形需要更合适的模型。

本文没有进行有限元网格求解,也没有验证真实加工器件的强度或寿命。计算出的最大应力不是材料破坏强度,不能据此自动给出安全载荷。相场、压电或半导体器件还需要自由能、梯度系数、耦合张量等额外参数,单靠弹性常数无法补齐。

下载输入、结果与提取脚本(ZIP)

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗