アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在「数値流体工学」著:荒川忠一 の本を参考に,差分法を用いた流体解析のプログラムを作成をしました.
そして,解析をしたところ計算の途中で差分値が0になり,止まってしまいます.

原因を探してみたのですが,予想としましては,
1.モデルの格子幅の大きさに依存(幅が大きいと早く止まる)
2.収束率を速めるために用いている緩和係数の大きさに依存

と考えましたが,実際に何をどうすれば解決するのか
という所までは考えが思い浮かばず,見当が付きません.

もし,このような経験をした方,もしくはこの本をご存知の方がいらっしゃいましたら,なにかアドバイスをいただきたいのです.

うまく問題事項が説明できませんので,ご質問とかありましたらお願いします.

大変困っております.
ぜひ,小さな情報でも構いません.よろしくお願いします.

A 回答 (2件)

りゆうたいは計算したことがありません。

一般的数値計算の差ぶんとして答えます。
計算機特有の問題.桁落ちしていませんか。

計算方法事体に間違いがないとして.
初期値に極端に変な値を使用している悪い問題の場合
が考えられます。
鞍部を挟んでさぶんしているなんて.やっていませんよね。解の巣に引っ掛かると.平気でこれやってしまいますから。

たんせいどと倍精度で答えが大幅に異なるのであれば.計算機特有の問題です。
ライブラリーがあれば4倍精度で計算してみてください。なければ.極端な場合には.自分で必要な桁の演算ルーチンを作ることになります。

帯域ライブラリーを使っている場合に.注意点としては.定義域とちいきの問題です。よく.範囲外の数値を入れで.0が帰ってきて(通常エラーの時に0を返す)そのまま使っていて.差分が0になった.なんて良くある話です。三角関数でよく発生します(使っているかどうかわかりませんけど)。
    • good
    • 0

まずは、簡単な例(かつ、正解のわかっている問題)


で試されていると思いますが、
それが、正しい結果にならないわけですか?

今一度、本とプログラムを見比べ、バグをさがされては
いかがですか?

私も何度も教科書を疑ったことがありますが、
めったに教科書は間違っていないものです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!