PotentialFoamのエラー

1,261 views
Skip to first unread message

アンブレラ

unread,
Dec 20, 2011, 1:12:52 AM12/20/11
to OpenFOAM
現在流れが回転する系を作成しているのですが、PotentialFoamを行うときにエラーが出てしまいます。
エラーの内容は、下記の内容です。

ill defined primitiveEntry starting at keyword 'value' on line 25 and
ending at line 50

file: ././0/U at line 50.

From function primitiveEntry::readEntry(const dictionary&
dict,Istream& is)
in file db/dictionary/primitiveEntry/primitiveEntryIO.C at line 210.

使用しているのはDEXCS-OpenFOAM2009です。
私見ではUのパラメータが間違っていると思うのですが、どこが間違っているのかわかりません。
ご助言をよろしくお願いします。
以下にUの内容を書きます。


// -*- C++ -*-
// File generated by PyFoam - sorry for the ugliness

FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}

dimensions [ 0 1 -1 0 0 0 0 ];

internalField uniform (0 0 0);

boundaryField
{
wall
{
type slip;
}
movingwall4
{
type fixedValue;
value uniform(-1 0 0);
}
movingwall1
{
type fixedValue;
value uniform(0 0 1);
}
movingwall3
{
type fixedValue;
value uniform(0 0 -1);
}
movingwall2
{
type fixedValue;
value uniform(1 0 0);
}
cylinder_Cylinder
{
type fixedValue;
value uniform(0 0 0);
}
}


SLions

unread,
Dec 20, 2011, 3:57:50 AM12/20/11
to OpenFOAM
SLionsです。

以前同じ題名の投稿をさせていただきましたので、書き込ませていただきます。
回答者としては初めての書き込みですので、間違えていたら申し訳ないです。(他の方フォローよろしくお願いします。)

そもそもpotentialFoamというのは初期流れ場を作るためのコマンドです。
この初期流れ場ですが、必ずしも必要かというとそうではありません。
発散を防ぐ(収束しやすくする)ために使っている場合が多いです。
もちろんこれは大事なことですが、potentialFoamをやらなくても計算を進めていくことができる場合があります。(もちろんできない場合もあ
ります。できないことのほうが多いような気がしますが・・・)

おそらく今回のエラーはpotentialFoamをスキップした(いきなりsimpleFoamなど実行)としても出てしまうのではないでしょう
か?

> ill defined primitiveEntry starting at keyword 'value' on line 25 and
> ending at line 50

エラーメッセージから推測するとvalueで何か間違えていそうです。
怪しそうなのはvalue内のマイナス値ですが、valueにマイナス値を与えることはできるのでしょうか?

以上です、的外れなことを書いてしまっていたら申し訳ありません。

ohbuchi

unread,
Dec 20, 2011, 4:41:15 AM12/20/11
to OpenFOAM
こんばんは。
おそらくuniformと()の間にスペースがないのが原因だと思います。

アンブレラ

unread,
Dec 20, 2011, 9:25:01 PM12/20/11
to OpenFOAM

ご返事ありがとうございます。
ご指摘いただいた点を修正して potentialFoamを実行してみたところ他のエラーが出ました。
以下に内容を示します。

Unable to set reference cell for field p
Please supply either pRefCell or pRefPoint


file: ././system/fvSolution::SIMPLE from line 53 to line 54.

From function void Foam::setRefCell
(
const volScalarField&,
const dictionary&,
label& scalar&,
bool
)
in file cfdTools/general/findRefCell/findRefCell.C at line 111.

FOAM exiting

fvSolutionといううファイルを見てみましたが、内容を変更していないので、何が違うのかがわかりません。
何度も失礼なのですが、ご助言お願いします。

ohbuchi

unread,
Dec 20, 2011, 9:41:55 PM12/20/11
to OpenFOAM
圧力の参照値とその位置を決められないために表示されるエラーです。
fvSolutionsのSIMPLEの項目に
  pRefCell 0;
pRefValue 0;
を追加して下さい。

また、potentialFoam実行にはfvSolutionとfvSchemesに修正が必要ですのでご注意下さい。
fvSolutionに、potentialFlowについての設定
  potentialFlow
  {
   nNonOrthogonalCorrectors 0;
  }
を記述し、fvSchemesにはlaplacianSchemesで
  laplacian(1,p) Gauss linear corrected;
を追加する必要があります。

アンブレラ

unread,
Dec 21, 2011, 1:23:06 AM12/21/11
to OpenFOAM
返信ありがとうございます。
ご指摘いただいた点を修正したら実行することができました。
ありがとうございました。
Reply all
Reply to author
Forward
0 new messages