用户工具

站点工具


atk:弹性常数

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
atk:弹性常数 [2018/05/16 14:50] – [方法论] fermiatk:弹性常数 [2018/08/22 21:39] (当前版本) – [弹性常数] fermi
行 1: 行 1:
 ====== 弹性常数 ====== ====== 弹性常数 ======
  
-Virtual NanoLab 和 Atomistix ToolKit 可以提供非常简单的方法计算**任意块体的弹性常数**。该方法具有普遍适用性,极易与密度泛函理论(ATK-DFT)、半经验方法(ATK-SE)、经典势(ATK-ForceField)结合使用。在本教程中,您将学习如何借助 ATK 计算弹性常数。+QuantumATK 提供非常简单的方法计算 **任意块体的弹性常数**。该方法具有普遍适用性,极易与密度泛函理论(ATK-DFT)、半经验方法(ATK-SE)、经典势(ATK-ForceField)结合使用。在本教程中,您将学习如何借助 QuantumATK 计算弹性常数。
  
 <WRAP center important 100%> <WRAP center important 100%>
行 14: 行 14:
 应力和应变张量总是组成对称的 3×3 矩阵,因此它们可以通过 Voigt notation 表示法用 6 个矢量简洁地表达。 应力和应变张量总是组成对称的 3×3 矩阵,因此它们可以通过 Voigt notation 表示法用 6 个矢量简洁地表达。
  
-$$\boldsymbol{\sigma} = ( \sigma_{xx},\sigma_{yy},\sigma_{zz},\sigma_{yz},\sigma_{xz},\sigma_{xy} ) ,$$+$$ 
 +\boldsymbol{\sigma} = ( \sigma_{xx},\sigma_{yy},\sigma_{zz},\sigma_{yz},\sigma_{xz},\sigma_{xy} ) , 
 +$$
  
  
  
-$$\boldsymbol{\varepsilon} = ( \varepsilon_{xx},\varepsilon_{yy},\varepsilon_{zz},2\varepsilon_{yz},2\varepsilon_{xz},2\varepsilon_{xy} ).$$+$$ 
 +\boldsymbol{\varepsilon} = ( \varepsilon_{xx},\varepsilon_{yy},\varepsilon_{zz},2\varepsilon_{yz},2\varepsilon_{xz},2\varepsilon_{xy} ). 
 +$$
  
 应力张量和给定应变矢量的线性关系可以表达为: 应力张量和给定应变矢量的线性关系可以表达为:
  
-$$\boldsymbol{\sigma} = \boldsymbol{C} \cdot \boldsymbol{\varepsilon} ,$$+$$ 
 +\boldsymbol{\sigma} = \boldsymbol{C} \cdot \boldsymbol{\varepsilon} , 
 +$$
  
 这里的 $\boldsymbol{C}$ 是包含**弹性常数**的 6×6 对称矩阵。 这里的 $\boldsymbol{C}$ 是包含**弹性常数**的 6×6 对称矩阵。
行 28: 行 34:
 随着晶体对称性的增高,矩阵 $\boldsymbol{C}$ 中独立项数目越少。例如,在立方晶体中只有 $C_{11}$、$C_{12}$ 和 $C_{44}$ 这 3 个独立项: 随着晶体对称性的增高,矩阵 $\boldsymbol{C}$ 中独立项数目越少。例如,在立方晶体中只有 $C_{11}$、$C_{12}$ 和 $C_{44}$ 这 3 个独立项:
  
-$$\begin{split}\begin{pmatrix}+$$ 
 +\begin{split}\begin{pmatrix}
 \sigma_1 \\ \sigma_1 \\
 \sigma_2 \\ \sigma_2 \\
行 53: 行 60:
 \varepsilon_5 \\ \varepsilon_5 \\
 \varepsilon_6 \\ \varepsilon_6 \\
-\end{pmatrix}\end{split}$$+\end{pmatrix}\end{split} 
 +$$
  
 为了获得弹性常数,需要在模拟的晶胞上沿选定的应变矢量上施加一个小的形变 $\eta$,计算产生的应力张量。通过拟合每个 Vogit 应力和对应的应变矢量组成的 $\sigma_i(\eta)$ 曲线就可得到线性应力分布情况。然后将弹性常数作为计算线性方程组的最小二乘解,同时考虑晶体的对称性。 为了获得弹性常数,需要在模拟的晶胞上沿选定的应变矢量上施加一个小的形变 $\eta$,计算产生的应力张量。通过拟合每个 Vogit 应力和对应的应变矢量组成的 $\sigma_i(\eta)$ 曲线就可得到线性应力分布情况。然后将弹性常数作为计算线性方程组的最小二乘解,同时考虑晶体的对称性。
行 80: 行 88:
 打开 VNL 的 **Builder** {{:atk:builder.png?direct&25|}} 并点击 {{:atk:arrow.png?direct&5|}} 从数据库中选择 “Silicon(alpha)” 添加到 Stash。然后发送结构到 **Script Generator** {{:atk:script_generator.png?direct&25|}} ,做如下操作: 打开 VNL 的 **Builder** {{:atk:builder.png?direct&25|}} 并点击 {{:atk:arrow.png?direct&5|}} 从数据库中选择 “Silicon(alpha)” 添加到 Stash。然后发送结构到 **Script Generator** {{:atk:script_generator.png?direct&25|}} ,做如下操作:
  
-♥ 添加一个新的计算器 {{:atk:calculator.png?direct&25|}} 模块 +  * 添加一个新的计算器 {{:atk:calculator.png?direct&25|}} 模块 
- +  选择 **ATK-ForceField** 和 “Stillinger_Weber_Si_1985” 势
-♥ 选择 **ATK-ForceField** 和 “Stillinger_Weber_Si_1985” 势+
  
 <WRAP center important 100%> <WRAP center important 100%>
行 88: 行 95:
 在 2017 年之前的 ATK 版本中,**ATK-ForceField** 计算器在 **ATK-Classical** 的下拉菜单中。 在 2017 年之前的 ATK 版本中,**ATK-ForceField** 计算器在 **ATK-Classical** 的下拉菜单中。
 </WRAP> </WRAP>
-♥ 点击 Optimize {{:atk:arrow.png?direct&5|}} OptimizeGeometry {{:atk:optimization.png?direct&25|}} 选项,打开页面并设置: +  * 点击 Optimize {{:atk:arrow.png?direct&5|}} OptimizeGeometry {{:atk:optimization.png?direct&25|}} 选项,打开页面并设置: 
- +    给最大力和最大应力设置足够的精确度,例如最大力为 0.001 eV/Å,最大应力为 0.001 eV/Å<sup>3</sup>;  
-◊ 给最大力和最大应力设置足够的精确度,例如最大力为 0.001 eV/Å,最大应力为 0.001 eV/Å<sup>3</sup>;  +    不勾选 “Constrain cell” 以实现晶胞矢量的优化;     
- +    选择优化方法为 **LBFGS**;
-◊ 不勾选 “Constrain cell” 以实现晶胞矢量的优化;    +
-  +
-◊ 选择优化方法为 **LBFGS**; +
 {{ :atk:optimizegeometry_new.png?direct&400 |}} {{ :atk:optimizegeometry_new.png?direct&400 |}}
  
-♥ 返回到之前的页面,点击 Analysis {{:atk:arrow.png?direct&5|}} ElasticConstants {{:atk:analysis.png?direct&25|}} 模块,打开设置分析的参数。+  * 返回到之前的页面,点击 Analysis {{:atk:arrow.png?direct&5|}} ElasticConstants {{:atk:analysis.png?direct&25|}} 模块,打开设置分析的参数。
  
 {{ :atk:elasticconstants_settings.png?direct&400 |}} {{ :atk:elasticconstants_settings.png?direct&400 |}}
行 152: 行 155:
  
 日志文件底部显示有弹性常数矩阵,且与使用了 Stillinger-Weber 势的文献中的结果高度吻合 <color #ed1c24>[Cow88]</color> 日志文件底部显示有弹性常数矩阵,且与使用了 Stillinger-Weber 势的文献中的结果高度吻合 <color #ed1c24>[Cow88]</color>
 +$$
  \begin{split}\begin{align}  \begin{split}\begin{align}
  C_{11} &= 151.4\, \mathrm{GPa}, \\  C_{11} &= 151.4\, \mathrm{GPa}, \\
行 158: 行 161:
  C_{44} &= 56.4\, \mathrm{GPa}.  C_{44} &= 56.4\, \mathrm{GPa}.
 \end{align}\end{split}     \end{align}\end{split}    
 +$$
  
  
行 214: 行 217:
 为了获得应变构形间受到应力数值上的精确差异,我们通常不得不使用比默认值更严谨的计算器设置。 为了获得应变构形间受到应力数值上的精确差异,我们通常不得不使用比默认值更严谨的计算器设置。
  
-♥ 选择计算器 ATK-DFT,设置如下图所示的 Basic 参数 +  * 选择计算器 ATK-DFT,设置如下图所示的 Basic 参数 
- +    设置网格截断能量为 300 Hartree; 
- ◊ 设置网格截断能量为 300 Hartree; +    设置 K 点取样为 15×15×15。
- +
- ◊ 设置 K 点取样为 15×15×15。 +
 {{ :atk:dft-basis.png?direct&600 |}} {{ :atk:dft-basis.png?direct&600 |}}
  
-♥ 在 Iteration control parameters 参数选项卡里 +  * 在 Iteration control parameters 参数选项卡里 
- +    设置 Tolerance 参数为 1.0e-08; 
-◊ 设置 Tolerance 参数为 1.0e-08; +    设置 Damping factor(阻尼系数)为 0.5,历史步数为 10。
- +
-◊ 设置 Damping factor(阻尼系数)为 0.5,历史步数为 10。+
            
 {{ :atk:dft-interactioncontrol.png?direct&600 |}} {{ :atk:dft-interactioncontrol.png?direct&600 |}}
  
-♥ 在 **Basis set/exchange correlation** 选项卡使用 PBEsol 泛函,它可以提供可靠的体模量及其相关量密度泛函理论假设。 +  * 在 **Basis set/exchange correlation** 选项卡使用 PBEsol 泛函,它可以提供可靠的体模量及其相关量密度泛函理论假设。 
- +    交换关联函数类型选 **GGA**; 
-◊ 交换关联函数类型选 **GGA**; +    在 Predefined functionals 列表中选择 **PBES**。
- +
-◊ 在 Predefined functionals 列表中选择 **PBES**。+
            
 {{ :atk:dft-exchangecorrelation.png?direct&600 |}} {{ :atk:dft-exchangecorrelation.png?direct&600 |}}
atk/弹性常数.1526453440.txt.gz · 最后更改: 2018/05/16 14:50 由 fermi

© 2014-2022 费米科技(京ICP备14023855号