残差のプロットについて

1,184 views
Skip to first unread message

k

unread,
Aug 31, 2017, 2:57:29 AM8/31/17
to OpenFOAM

openfoam初心者のkです。

現在、foam-extend-3.1をインストールし
チャネルでの解析をしていますが、解析自体はうまくいくのですが
function objects を使った残差のプロットがうまく行きません。

現在行っている方法は、
http://www.geocities.jp/penguinitis2002/study/OpenFOAM/proc_results.html
を参照し

system/controlDict に下に示されているものを追加し、
計算後にexecFlowFunctionObjectsを実行していますが
うまく行きません。
(バージョン3.0x以前 ではない方を使用。)

functions
{
    residuals
    {
        type residuals;
        libs ("libutilityFunctionObjects.so");
// functionObjectLibs ("libutilityFunctionObjects.so");
fields (U p); } }

現状、エラー内容も理解できていません。

--> FOAM FATAL ERROR:
Unknown function type residuals

Table of functionObjects is empty


    From function functionObject::New(const word& name, const Time&, const dictionary&)
    in file db/functionObjects/functionObject/functionObject.C at line 73.

FOAM exiting


また、別の方法として、同URL内にある logファイル保存し、
plotというスクリプトを用意して行う方法も試しましたがうまく行きません。

このスクリプトというのは新しいドキュメントという
解釈であっているでしょうか。

この際、下のように出てきます。
bash: ./plot: 許可がありません


初歩的な質問で申し訳ございません。
エラー内容及び解決策のご教授お願いいたします。

すもも

unread,
Aug 31, 2017, 6:57:15 PM8/31/17
to OpenFOAM
foam-extend は使っていないのでわかりませんが、
単純に residuals という functionObjects がない可能性があります。

plot のほう

>bash: ./plot: 許可がありません

は、実行権限がないだけと思われるので、

$ chmod +x plot

として実行許可を設定してから実行すればよいと思います。


2017年8月31日木曜日 15時57分29秒 UTC+9 k:

k

unread,
Aug 31, 2017, 9:41:02 PM8/31/17
to OpenFOAM

すもも様

openfoamにはあって、foam-extendにはないことも
あるのですね。


plot

言葉足らずで申し訳ありません。
URLにある


実行権限を設定する。

$ chmod +x plot


つぎのように実行する。

$ ./plot

という操作を行っていますが、うまく行きません。
スクリプトを用意したあと、この2つのみ行いましたが
間違っているでしょうか。

よろしくお願いいたします。

k

unread,
Aug 31, 2017, 10:04:15 PM8/31/17
to OpenFOAM

すもも様

residualsというfunctionObjectsがないのではないか
という事に関してですが、

src/postProcessing内のディレクトリにresidualsがない場合は、
functionObjectsではできないということでしょうか。

今確認したところ、postProcessing内にresidualsというディレクトリはありませんでした。

すもも

unread,
Sep 1, 2017, 2:05:02 AM9/1/17
to OpenFOAM
>openfoamにはあって、foam-extendにはないことも
>あるのですね。

foam-extend が residuals が入る前の OpenFOAM をベースにしていれば、
ないかもしれません (わざわざ追加していなければ)。

plot については、gnuplot が使われていますが、
gnuplot 自体は実行できる状態でしょうか?

k

unread,
Sep 1, 2017, 2:41:10 AM9/1/17
to OpenFOAM

すもも様

なるほど.ありがとうございます.

gnuplotは問題なく実効することが出来るので,
実効権限を与える方法ありますでしょうか.

また,スクリプトというのは,
gedit plot
と打ち込み作成したのですが,間違えでしょうか.

初心者で初歩的な質問になってしまい申し訳ございません.
よろしくお願いいたします.

すもも

unread,
Sep 4, 2017, 5:10:29 AM9/4/17
to OpenFOAM
plot の中身が gnuplot のコマンドになっているなら、代わりに

$ gnuplot -p plot

でも実行できるはずです。

あるいは、logs の中身を gnuplot で手動で表示するとか、
LibreOffice Calc でグラフ表示してもよいと思います。

oda

unread,
Sep 5, 2017, 1:31:57 AM9/5/17
to OpenFOAM

すもも様

gnuplot -p plot を実行することで残差のプロットを行うことが出来ました.
初歩的な質問にも関わらずご教授頂きありがとうございます.

また,別件で質問なのですが,
現状では,k-εモデルを使って計算を回していましたが,
LRRモデルに切り替えて乱流モデル以外変えずに
計算を行ったところ上手くいきません.

blockMeshは出来ますが,simpleFoamを実行したところ
Segmentation fault (コアダンプ)
と出てしまいました.
過去の投稿を見て緩和係数を小さくしたりしましたが
上手くいきません.
何か注意点などありますでしょうか.

oda



すもも

unread,
Sep 5, 2017, 4:25:59 AM9/5/17
to OpenFOAM
>また,別件で質問なのですが,

タイトルを変えて別件として再投稿したほうがよいと思います。
どなたかにコメントもらえるかもしれません。

Segmentation falut 直前のログデータがあると、解決のヒントになるかもしれません。

nakagawa

unread,
Sep 5, 2017, 8:37:42 AM9/5/17
to OpenFOAM
oda様

すでに解決済みのようですが,foam-extendでのresidualグラフ化について見かけた情報を共有させてください。

foam-extendを使っていないため動作未確認ですが,logファイルからpylab利用してグラフを作成するツールが同梱されているようです。
ご参考まで。
foam-extend-foam-extend-3.2/bin/plotResidual.py

なかがわ



2017年9月5日火曜日 14時31分57秒 UTC+9 oda:

oda

unread,
Sep 5, 2017, 9:13:52 PM9/5/17
to OpenFOAM

すもも様

初歩的な質問にも関わらず最後まで丁寧にありがとうございます.
もう少し考えた上で投稿したいと思います.

oda

oda

unread,
Sep 5, 2017, 9:20:11 PM9/5/17
to OpenFOAM

nakagawa様

pylabを初めてお聞きしたので,よく調べ動作確認してみたいと思います.
ありがとうございます.

oda
Reply all
Reply to author
Forward
0 new messages