2016-08-26 10 views
0

こんにちは、私はFortranにリンクされているAbaqusの次のコードを書いていますが、これは私にいくつかの構文エラーが表示され、コンパイルされていないことを示しました。コンパイルするためにコードを修正するにはどうすればよいですか? gfortran(遊離形を想定)とFortranで複数の行に長い論理文を壊していますか?

if(noel.le.1150.or.noel.ge.1201.and.noel.le.2350.or.noel.ge.2811.and.noel.le.8100.or.noel.ge.8331.and.noel.le.13620.or.noel.ge.14081.and.noel.le.19370.or.noel.ge.19601) 
    then 
...action>>> 
end if 
+0

その他の重複します。http:// stackoverflowの.com/questions/36133324/continuation-in-gfortran-5-2-0 and http://stackoverflow.com/questions/21789762/doesnt-work-for-long-equation-in-fortran –

+0

あなたはすべきではありませんAbaqusでそれを行う。これらの要素と別のセクションを作成し、ルーチンに渡された論理的なテストを行うためのマテリアルの名前を使用します – will

答えて

3

として、一方が任意に長い入力ラインをイネーブル、または使用するようにスイッチ-ffree-line-length-noneを使用するかもしれない "行継続":

PROGRAM test 

    INTEGER :: x = 1200 

    IF(& 
    x .LE. 1150 & 
    .OR. & 
    (x .GE. 1201 .AND. x .LE. 2350) & 
    .OR. & 
    (x .GE. 2811 .AND. x .LE. 8100) & 
) THEN 
    WRITE(*, *) "OK" 
    ELSE 
    WRITE(*, *) "KO" 
    END IF 

END PROGRAM 
関連する問題