0

Fortran サブルーチンを商用プログラム (Abaqus) で実行中にエラーが発生します。結果を外部テキスト ファイルに出力するために、いくつかの書き込みステートメントを使用しました。たとえば、いくつかの整数値を既存のファイルに出力します。

OPEN(UNIT=304,FILE="full_path_to_file/outputs.txt",position="append")
WRITE(304,*) KINC,NOEL,NPT

次のエラーが表示されます。

UNRECOVERABLE error on system request
lib-2: No such file or directory
Encountered during an OPEN of unit 101
Fortran unit 101 is not connected

このことと Fortran 出力ファイル単位について、ドキュメントを調査し、インターネットで多くのグーグル検索を行いましlib-2たが、成功しませんでした。さらにユニット番号を変更しましたが、このエラーは特定のユニット番号とは関係ありません。これについての知識をお持ちの方が、このエラーの原因と解決方法についてのヒントを教えていただければ幸いです。

ありがとう!
ムビーン。

4

2 に答える 2

0

コードフラグメントはFortranユニット304への書き込みを示していますが、エラーメッセージはFortranユニット101に関するものです。可能な最大ユニット数にはコンパイラ固有の制限があります。おそらく304はコンパイラには大きすぎます。または、他の場所のコードでユニット101を使用していますか?ユニット番号101を使用するopenステートメントを探し、そのopenステートメントが開こうとしているファイルを確認します。コンパイラは、問題の原因となっているステートメントの行番号を通知していますか?

PSコメントへの応答:書き込みを「書き込み(*、*)」に変更するとどうなりますか?プログラムは機能しますか?もしそうなら、それはオープンステートメントに問題があることを示唆しています。ファイルへのパスが正しいことを確認しますか?プログラムがそのディレクトリに書き込む特権を持っているということですか?パスを削除して、現在のディレクトリでファイルを開いてみてください。別のFortranコンパイラーにアクセスできる場合は、それを試して、より有用なエラー・メッセージが表示されるかどうかを確認してください。

于 2013-02-09T16:53:21.383 に答える
0

lib-2 は標準ではなく、コンパイラ固有のものです (コンパイラについては言及しません)。ファイルは存在しますか?適切な作業ディレクトリがありますか? 試してみると

OPEN(UNIT=304,FILE="full_path_to_file/outputs.txt",status="replace")

、新しいファイルが出現した場所が表示され、そこに追加するためにファイルを配置する必要があります。

于 2013-02-09T13:47:59.393 に答える