3

Paraview (v4.1.0 64 ビット、OSX 10.9.2) で次のエラーが表示されます。

一般的な警告: /Users/kitware/Dashboards/MyTests/NightlyMaster/ParaViewSuperbuild-Release/paraview/src/paraview/VTK/IO/Legacy/vtkDataReader.cxx で、行 1388 ascii データの読み取り中にエラーが発生しました。宣言とデータサイズが一致しない可能性があります。

理由はわかりません。フィールドがすべて予想される長さであり、NaN、inf、または極端に大きい値がないことを再確認しました。この問題は、タイムステップ 16 からの出力から始まります (0 ~ 15 ではエラーは発生しません)。グラフィカルに、ステップ 0 から 15 でデータのプロットが期待どおりに作成されます。ステップ 16 は、予想外に大きなポイント (0.5625、2.86616e+36) を持つ "Y/Yc" シリーズを示しています。

結構です: http://www.filedropper.com/ring0000015

エラーが発生します: http://www.filedropper.com/ring0000016

4

3 に答える 3

4

過去6か月間同じ問題に直面しており、解決策を見つけるのに苦労しています. エラーを説明するために次の理由が与えられました( http://www.cfd-online.com/Forums/paraview/139451-error-while-reading-vtk-files-paraview.html#post503315 ):

  1. 行末に使用される文字が原因で問題になる可能性があります ( http://en.wikipedia.org/wiki/Newline ) 一言で言えば: a) Windows では、行遷移は CR+LF です。b) Linux では、行遷移は LF のみです。c) Mac では、一部の古いバージョンは CR のみを使用していました。最近では、LFも使用する必要があると思います。CR=「キャリッジリターン」バイト LF=「改行」バイト
  2. NaN 型または Inf 型の 1 つ以上の値、または非実数に対するその他の特別な計算数値定義が存在する場合があります。Linux では読めるかもしれませんが、Mac では読めないかもしれません。おそらく次の可能性です。このような場合は、
  3. ロケーションベースの数値定義、別名 Locale は、値がコンマまたは奇妙な科学的表記法で保存されている状況を引き起こしている可能性があります。たとえば、値「1.0002」が「1,0002」または「1.0002ES+000」として保存されている場合

私は他のフォーラムを見てきましたが、彼らは一般的に#2と#3と考えられる解決策を述べていました-それは一般的にうまくいきました. ただし、上記のいずれも私の問題を解決していないようです。

ASCII ファイルに保存されている解の値の一部が 10.e-34 と小さいことに気付きました。アンダーフロー状態が問題を引き起こしているのではないかと感じました。アンダーフロー条件のコードにチェックを入れ、それらを 0 に丸めました。これにより問題が修正され、エラー メッセージなしで常にソリューションが表示されました。

これで問題も解決することを願っています。

于 2014-07-30T13:14:30.723 に答える
0

Fortran を使用している場合、この問題は、ファイルに書き込みを行ったが、コードでファイルを閉じていないときにも発生します。

例えば:

do i=1,10
write(numb,'(i3)')i
open(unit=1, file='test'//numb//'.vtk')
write(1,*).......
enddo
于 2016-05-12T01:56:02.623 に答える
0

これで Inf/NaN の問題が解決されない場合がありますが、vtk ファイル内の数値が大きすぎたり小さすぎたりすると (つまり、1e-50、1e45)、同じエラーが発生する可能性があります。

この場合の 1 つの解決策は、データ型の仕様を変更することです。この問題が発生したとき、データ型を「float」として指定しました。これは、32 ビットの浮動小数点表現を使用します (「float32」と同じ)。これを「float64」に変更すると、64 ビットの倍精度表現が使用されます。これは、double を使用する vtk ファイルを生成した C++ コードと一致しています。これにより、問題が解決する場合があります。

于 2015-12-21T20:30:50.180 に答える