はじめに#
弾性係数テンソル(Elastic tensor)は固体において重要な物理量です。
ElasticTensorFeature
は、微小ひずみに対する応力を計算し、弾性係数テンソルを求めます。
体積弾性率、ヤング率、ポアソン比などさまざまな力学特性が弾性係数テンソルから計算することができます。
計算手法#
弾性係数テンソルは以下のように計算します。
-
まず、入力構造の原子位置とセル形状の両方を最適化します。
-
格子ベクトルにひずみを加えます。
-
格子形状を固定しながら原子位置のみを緩和し、変形に伴う応力を計算します。
-
ひずみと応力の関係を線形フィッティングすることで、6×6の弾性係数テンソルを求めます。
S_{11}\
S_{22}\
S_{33}\
S_{23}\
S_{13}\
S_{12}\
end{bmatrix} = begin{bmatrix}
C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & C_{16} \
C_{21} & C_{22} & C_{23} & C_{24} & C_{25} & C_{26} \
C_{31} & C_{32} & C_{33} & C_{34} & C_{35} & C_{36} \
C_{41} & C_{42} & C_{43} & C_{44} & C_{45} & C_{46} \
C_{51} & C_{52} & C_{53} & C_{54} & C_{55} & C_{56} \
C_{61} & C_{62} & C_{63} & C_{64} & C_{65} & C_{66} \
end{bmatrix}begin{bmatrix}
E_{11}\
E_{22}\
E_{33}\
2E_{23}\
2E_{13}\
2E_{12}\
end{bmatrix}end{split}]
弾性係数テンソルの対称性#
弾性係数テンソルは6×6の対称行列なので、21個の独立な行列要素を持ちます。
しかし、結晶格子の対称性を考慮するとより多くの拘束条件がかけられ、独立な要素数を絞り込むことができます。
以下に、7つの 結晶系 での既約テンソルを示します。[1,2]
立方晶系 (cubic lattice)#
3個の独立な行列要素を持ちます。
C_{11} & C_{12} & C_{12} & 0 & 0 & 0 \
* & C_{11} & C_{12} & 0 & 0 & 0 \
* & * & C_{11} & 0 & 0 & 0 \
* & * & * & C_{44} & 0 & 0 \
* & * & * & * & C_{44} & 0 \
* & * & * & * & * & C_{44} \
end{bmatrix}end{split}]
六方晶系 (hexagonal lattice)#
5個の独立な行列要素を持ちます。
C_{11} & C_{12} & C_{13} & 0 & 0 & 0 \
* & C_{11} & C_{13} & 0 & 0 & 0 \
* & * & C_{33} & 0 & 0 & 0 \
* & * & * & C_{44} & 0 & 0 \
* & * & * & * & C_{44} & 0 \
* & * & * & * & * & frac{C_{11}-C_{22}}{2} \
end{bmatrix}end{split}]
正方晶系 (tetragonal lattice)#
7個の独立要素を持ちます。
C_{11} & C_{12} & C_{13} & 0 & 0 & C_{16} \
* & C_{11} & C_{13} & 0 & 0 &-C_{16} \
* & * & C_{33} & 0 & 0 & 0 \
* & * & * & C_{44} & 0 & 0 \
* & * & * & * & C_{44} & 0 \
* & * & * & * & * & C_{66} \
end{bmatrix}end{split}]
三方晶系 (rhombohedral (or trigonal) lattice)#
7個の独立要素を持ちます。
C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & 0 \
* & C_{11} & C_{13} &-C_{14} &-C_{15} & 0 \
* & * & C_{33} & 0 & 0 & 0 \
* & * & * & C_{44} & 0 &-C_{15} \
* & * & * & * & C_{44} & C_{14} \
* & * & * & * & * & frac{C_{11}-C_{22}}{2} \
end{bmatrix}end{split}]
直方晶系 (orthorhombic lattice)#
9個の独立要素を持ちます。
C_{11} & C_{12} & C_{13} & 0 & 0 & 0 \
* & C_{22} & C_{23} & 0 & 0 & 0 \
* & * & C_{33} & 0 & 0 & 0 \
* & * & * & C_{44} & 0 & 0 \
* & * & * & * & C_{55} & 0 \
* & * & * & * & * & C_{66} \
end{bmatrix}end{split}]
単斜晶系 (monoclinic lattice)#
13個の独立な行列要素を持ちます。
C_{11} & C_{12} & C_{13} & 0 & 0 & C_{16} \
* & C_{22} & C_{23} & 0 & 0 & C_{26} \
* & * & C_{33} & 0 & 0 & C_{36} \
* & * & * & C_{44} & C_{45} & 0 \
* & * & * & * & C_{55} & 0 \
* & * & * & * & * & C_{66} \
end{bmatrix}end{split}]
三斜晶系 (triclinic lattice)#
21個の独立な行列要素を持ちます。
C_{11} & C_{12} & C_{13} & C_{14} & C_{15} & C_{16} \
* & C_{22} & C_{23} & C_{24} & C_{25} & C_{26} \
* & * & C_{33} & C_{34} & C_{35} & C_{36} \
* & * & * & C_{44} & C_{45} & C_{46} \
* & * & * & * & C_{55} & C_{56} \
* & * & * & * & * & C_{66} \
end{bmatrix}end{split}]
Tips#
-
ElasticTensorFeature
による弾性係数テンソルの計算を行う前に、原子位置とセル形状の両方を構造最適化しておく必要があります。 -
ElasticTensorFeature
はcheck_symmetry=True
にした場合、格子の対象性を考慮して既約弾性係数テンソルを出力します。
Reference#
[1] https://arxiv.org/abs/1812.03367
[2] http://web.mit.edu/16.20/homepage/3_Constitutive/Constitutive_files/module_3_with_solutions.pdf