tensor_eigen3の固有値計算でzero-divが起こる
fistr1/src/lib/utilities/utilities.f90
L.74からのtensor_eigen3
にて,カルダノの公式に基づいて3x3の2階テンソルの固有値計算を行っているが,
Q
(公式でいうq/2
) が0となる場合分けがされておらず,次のsita
(theta) の計算でNaNになる.→固有値全てがNaNと出力される.
※符号もやや怪しいところがあるので要確認
例えば,初期ステップで\boldsymbol{E}=O
のとき,\boldsymbol{C}=2\boldsymbol{E}+\boldsymbol{I}=\boldsymbol{I}
より,
\boldsymbol{C}
の固有値を計算しようとするとR
=Q
=0となり,固有値が(NaN, NaN, NaN)と出る.