• ベストアンサー

fortran FFT output

FDTD法で遠方界の計算部分でフーリエ変換した値を使って、極座標変換した遠方界を出力するプログラムを作ったのですがコンパイルの際以下の様なエラーが出てしまいました。 z0も宣言しています。エラーの意味がよくわからず困っています。どなたかわかる方がいらっしゃったら教えて下さい。よろしくお願いします。 ubroutine far_output use consts use fdtd implicit none integer :: n real(8) :: theta, phi real(8) :: sx, sy, sz, px, py real(8) :: wth, wph, uth, uph, eth, eph open(10,file="far_field.dat") theta = 0 do phi = 1, 2*pi sx = cos(theta)*cos(phi) sy = cos(theta)*sin(phi) sz = -sin(theta) px = -sin(phi) py = cos(phi) do n = 1, ntime wth = wx(l,n)*dx+wy(l,n)*sy+wz(l,n)*sz wph = wx(l,n)*px+wy(l,n)*py uth = ux(l,n)*sx+uy(l,n)*sy+uz(l,n)*sz uph = ux(l,n)*px+uy(l,n)*py eth(n) = -z0*wth-uph eph(n) = -z0*wph+uth enddo enddo write(10,*) eth(n), eph(n) close(10) return end subroutine コンパイルすると In file far_output.f90:25 eth(n) = -z0*wth-uph 1 Error: Unexpected STATEMENT FUNCTION statement at (1) In file far_output.f90:26 eph(n) = -z0*wph+uth 1 とエラーが出ます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

エラーの意味は #1 のいう通り. eth とか eph ってなんなの? あと, このエラーとは関係ないけど do が終わった後で eth(n) や eph(n) を表示するのも変だね.

528612
質問者

お礼

eth, ephを配列宣言していなかったのが原因みたいでした。すみません、ご回答いただきありがとうございました。

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8469/18132)
回答No.1

eth(n) eph(n) というのはなんですか?

関連するQ&A