質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

Q&A

1回答

1684閲覧

Fortran コンパイルエラーアドバイス

amateur_PGM

総合スコア25

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

0グッド

0クリップ

投稿2016/11/08 06:11

編集2016/11/08 06:48

コンパイルがうまくいきません
今の研究室ではfortran95のみPCに入れているのですが、fortran77の形式で書かれているコードをコンパイルしたいです。
しかし、
$ f95 -o lj2d.exe lj2d.f
にてコンパイルを実行すると、アプリケーションは作成されるのですが、実行を押すと一瞬でウィンドウが閉じてしまいます。
自分でいろいろ調べてfortranの形式の違いなどが影響しているのかもしれないとおもい、コンパイルには、
1.$ f95 -o lj2d.exe lj2d.f
2.$ f95 -o lj2d.exe lj2d.f90
3. $ f77 -o lj2d.exe lj2d.f
4. $ -f77 -o lj2d.exe lj2d.f
5. $ gfortran -o lj2d.exe lj2d.f
6. $ g77 -o lj2d.exe lj2d.f
などを使ってみたのですがだめでした。

ちなみにlj2d.fファイルの内容は以下のようになります。
出来るだけ早くアドバイスいただけますと助かります。何卒宜しくお願いいたします。


C Main Program
PROGRAM LJ2D
IMPLICIT REAL*8 (A-H,O-Z)
IMPLICIT INTEGER (I-N)
PARAMETER (NSP=100)
COMMON /CMXYZ /X(NSP), Y(NSP), DX(NSP), DY(NSP)
COMMON /CMXYZP/XP(NSP),YP(NSP),DXP(NSP),DYP(NSP)
COMMON /CMXYZM/XM(NSP),YM(NSP)
COMMON /CMVXYZ/VX(NSP),VY(NSP)
COMMON /CMFXYZ/FX(NSP),FY(NSP)
COMMON /CMCNST/AVOGAD,BOLTZ,PI
COMMON /CMPHYS/EPS,SIG,TMASS,DT,RCUT
COMMON /CMCELL/CLX,CLY,CLX2,CLY2
COMMON /CMCTRL/NSTEP,N,NTSCAL,NTSSTP,ISEED,ITSCAL
COMMON /CMMOTN/EK,EP,H,TREF,TMP,PRS,VIR,TMPSUM
C
C Open files with names
OPEN(UNIT=7, FILE='XYOLD.DAT',STATUS='OLD',FORM='FORMATTED')
OPEN(UNIT=8, FILE='VXYOLD.DAT',STATUS='OLD',FORM='FORMATTED')
OPEN(UNIT=9, FILE='F09SIM.DAT',STATUS='NEW',FORM='FORMATTED')
OPEN(UNIT=10,FILE='F10PRO.DAT',STATUS='NEW',FORM='FORMATTED')
OPEN(UNIT=11,FILE='F11XY.DAT',STATUS='NEW',FORM='FORMATTED')
OPEN(UNIT=12,FILE='F12VXY.DAT',STATUS='NEW',FORM='FORMATTED')
C
CALL START
C
C Set initial configuration
CALL INCONF
C
C Molecular dynamics calculation
DO 10000 N=0,NSTEP
C
C Forces at N-th step
CALL FORCE
C
C Coordinates at (N+1)-th step
C Velocities at N-th step
CALL VERLET
C
C Physical values at N-th step
CALL OUTPUT(0)
C
10000 CONTINUE
C
C Average of physical values
CHS CALL OUTPUT(1)
C
C Close files
CLOSE(UNIT=7)
CLOSE(UNIT=8)
CLOSE(UNIT=9)
CLOSE(UNIT=10)
CLOSE(UNIT=11)
CLOSE(UNIT=12)
C
STOP
END

C ===================================================================
C Preparation for Start of Molecular Dynamics Simulation
SUBROUTINE START
IMPLICIT REAL8 (A-H,O-Z)
IMPLICIT INTEGER (I-N)
PARAMETER (NSP=100)
COMMON /CMXYZ /X(NSP), Y(NSP), DX(NSP), DY(NSP)
COMMON /CMXYZP/XP(NSP),YP(NSP),DXP(NSP),DYP(NSP)
COMMON /CMXYZM/XM(NSP),YM(NSP)
COMMON /CMVXYZ/VX(NSP),VY(NSP)
COMMON /CMFXYZ/FX(NSP),FY(NSP)
COMMON /CMCNST/AVOGAD,BOLTZ,PI
COMMON /CMPHYS/EPS,SIG,TMASS,DT,RCUT
COMMON /CMCELL/CLX,CLY,CLX2,CLY2
COMMON /CMCTRL/NSTEP,N,NTSCAL,NTSSTP,ISEED,ITSCAL
COMMON /CMMOTN/EK,EP,H,TREF,TMP,PRS,VIR,TMPSUM
C
C Universal constants
AVOGAD=6.0221367D+23
BOLTZ=1.380658D-23
PI=4.D0
DATAN(1.D0)
C Parameter for argon
TMASSI=40.D0
EPSI=120.D0
SIG=3.4D-10
DT=10.D-15
C
WRITE(,) '---------------------------------------------------'
WRITE(,) '* Input X-Length of Unit Cell [sigma] '
WRITE(
,) '---------------------------------------------------'
READ (
,) CLXI
WRITE(
,) '---------------------------------------------------'
WRITE(
,) ' Input Y-Length of Unit Cell [sigma] '
WRITE(
,) '---------------------------------------------------'
READ (
,) CLYI
WRITE(
,) '---------------------------------------------------'
WRITE(
,) ' Input Cut-Off Distance [sigma] '
WRITE(
,) '---------------------------------------------------'
READ (
,) RCUTI
IF(RCUTI .GE. MIN(CLXI,CLYI)/2.D0) THEN
WRITE(
,) '!!! Error: Rc < min(Lx,Ly)/2 must be satisfied. !!!'
STOP
END IF
WRITE(
,) '---------------------------------------------------'
WRITE(
,) ' Input Temperature [K] '
WRITE(
,) '---------------------------------------------------'
READ (
,) TREF
WRITE(
,) '---------------------------------------------------'
WRITE(
,) ' Temperature Scaling: No (0) or Yes (100,200,) '
WRITE(
,) ' If Yes, this gives interval steps of scaling. '
WRITE(
,) '---------------------------------------------------'
READ (
,) NTSCAL
IF(NTSCAL .LT. 0) THEN
WRITE(
,) '!!! Error: Input integer not less than 0. !!!'
STOP
END IF
IF(NTSCAL .EQ. 0) GOTO 10000
WRITE(
,) '---------------------------------------------------'
WRITE(
,) ' Input Final Step of Temp. Scaling [-] '
WRITE(
,) '---------------------------------------------------'
READ (
,) NTSSTP
10000 WRITE(
,) '---------------------------------------------------'
WRITE(
,) ' Input Number of Total Steps for Simulation [-] '
WRITE(
,) '---------------------------------------------------'
READ (
,) NSTEP
C
C Coversion for MKS units
TMASS=(TMASSI
1.D-3)/AVOGAD
EPS=EPSIBOLTZ
CLX=CLXI
SIG
CLY=CLYISIG
RCUT=RCUTI
SIG
C Set convenient constants
CLX2=CLX*.5D0
CLY2=CLY*.5D0
VOLM=(CLXCLY)/DBLE(NSP)AVOGAD
C Set accumulators zero
TMPSUM=0.D0
ITSCAL=0
C
C Print simulation conditions
WRITE(9,20000) NSP
WRITE(9,20001) CLXI
WRITE(9,20002) CLYI
WRITE(9,20003) RCUTI
WRITE(9,
) ' '
WRITE(9,20004) TREF
WRITE(9,20005) VOLM
WRITE(9,20009) TREF/EPSI
WRITE(9,20010) DBLE(NSP)/(CLXI
CLYI)
WRITE(9,*) ' '
WRITE(9,20006) NSTEP
IF(NTSCAL .GT. 0) THEN
WRITE(9,20007) NTSCAL,NTSSTP
ELSE
WRITE(9,20008)
END IF
20000 FORMAT('Number of paritcles = ',I7)
20001 FORMAT('Cell Length Lx = ',E15.7,' [sigma]')
20002 FORMAT('Cell Length Ly = ',E15.7,' [sigma]')
20003 FORMAT('Cut-Off Distance = ',E15.7,' [sigma]')
20004 FORMAT('Reference Temp. = ',E15.7,' [K]',E15.7)
20005 FORMAT('Molar Volume = ',E15.7,' [m**2/mol]')
20006 FORMAT('Total Steps = ',I7)
20007 FORMAT('Temp. Scaling: every ',I4,'-th step until ',I7,' steps')
20008 FORMAT('No Temp. Scaling')
20009 FORMAT('Reference Temp. = ',F10.5,' [LJ unit]')
20010 FORMAT('Number Density = ',F10.5,' [LJ unit]')

C
RETURN
END

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ここはコードを提示して移行を丸投げする掲示板ではありません。
FORTRAN 77 の互換性: Fortran 95 への移行 を参考にチェックされては?

投稿2016/11/08 06:31

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amateur_PGM

2016/11/08 06:40

そのページはすでにチェックしました。fortran95のコンパイラでコンパイル出来るはずなのですがうまくいきません。
Orlofsky

2016/11/08 07:14

FORTRANはたぶん使ったことがないので、デバッガが使えるなら、ステップ(1行毎に)実行しては? デバッガが使えないなら、ここは実行できたよ、って意味で怪しそうな場所にWRITE文を入れてみて、落ちた場所を探ってみては?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問