産総研長谷氏からのバグレポート

産総研の長谷です。
TPERSPについての問題点ですが、自己解決致しました。
大きな問題点は2ケ所ありました。


1、tpersp2006.f の SUBROUTINE TPHILP(HHV) の冒頭で

save HV を宣言する必要があります。

2、ferm2.f 「tpersp.pdfの図8(b)のソースプログラム」(tpersp/ferm2.html)の冒 頭で

save A,FF を宣言する必要があります。

わかってしまえば単純なことでしたが、subroutineから出るとすぐに変な値が代入さ れてしまうコンパイラだったようです。

言い忘れましたが環境は ALPHAマシンとPentiam4を積んだマシンで、OSはRedHat Linuxです。

また些細なことですが、ferm2.fのままですと、ホール面を描くとブリルアンゾーン の陰線がおかしくなります。

マニュアルには明示されていませんでしたが、 TPSCHG(IEOH)の効力はTPHILPだけでなくTPHILDにも及ぶようなので、ホール面も書け るようにするにはferm2.fのFUNCDで COMMON/BZPL/INDD,IEOH (メインプログラムでも対応させる) として

、 c FUNCD=1.0 FUNCD=1.0*IEOH および c IF(IND.NE.0) FUNCD=-1.0 IF(IND.NE.0) FUNCD=-1.0*IEOH とする必要があります。

これらの症状が出る処理系は多いと思いますので、TPERSPのマニュアルおよびsource を変更して頂ければ幸いです。