OpenFoam初心者なので、初歩的な質問となってしまいますが申し訳ございません。
現在、ソルバーは[simpleFoam]で2次元で周期境界条件を用いて定常状態を求める簡単なケースで解析をしようとしております。
最初は、流入面と流出面にcyclicを使用しておりましたが、
以前の別の方からの投稿にありましたように圧力が減衰していってしまうので収束しませんでした。
この解決方法として以下の方法があるようでしたが、どれを試してもうまくいきませんでした。
①cyclicではなく、jumpCyclicを使用する。
②mappedを使用してu,k,epsilon,nutは流出面の値を用い、pに関してはzeroGradientを用いる。
以下、上記の解決方法に取り組んだ結果を書いていきますので、何かお気づきの点がございましたらご指摘いただけると非常に助かります。
①cyclicではなく、jumpCyclicを使用する。
=>まず境界条件としてjumpCyclicが使えない。
typeにjumpCyclicを使用しておりましたが、そんなものは使えないとはじかれてしまいました。
そこで少し探してみると、jumpCyclicはそのもととなるファイルが「fvPatchFields」の中にはありましたが、「fvPatchs」の中にはありませんでした。
この違いなのか、もっと根本的に使い方を間違っているのか。C++は今まで使用したことがないので、内容が読めずに困っていました。
web上にもjumpCyclicに関する記述はほとんどなく、手詰まりでした。
②mappedを使用してu,k,epsilon,nutは流出面の値を用い、pに関してはzeroGradientを用いる。
=>エラー文として
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create mesh for time = 0
Reading field p
Reading field U
--> FOAM FATAL ERROR:
patch type 'genericPatch' not type 'mappedPatchBase'
for patch fieldIn of field U in file "/home/****************************/2D_windtunnels/cyclic/case2/0/U"
From function mappedFixedValueFvPatchField<Type>::mappedFixedValueFvPatchField
(
const fvPatch& p,
const DimensionedField<Type, volMesh>& iF,
const dictionary& dict
)
in file fields/fvPatchFields/derived/mappedFixedValue/mappedFixedValueFvPatchField.C at line 115.
FOAM exiting
////////////////////////////////////////////
と出てしまい、解析を回すまでいきません。
以下に各種設定ファイルを載せておきますのでお気づきの点があればご指摘いただけると大変嬉しいです。
ちなみに、流入面と流出面は平行でDX=0.24です。使用しているOpenFOAMのバージョンは2.1.1です。
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
6
(
fieldIn
{
type mapped;
nFaces 201;
startFace 77964;
offset ( 0.24 0 0 );
samplePatch fieldOut;
sampleMode nearestPatchFace;
faces ( ( 0 22 58 36 ) ( 22 29 65 58 ) );
}
fieldOut
{
type patch;
nFaces 201;
startFace 78165;
}
///////////////////////////////////////////////////////////////////////////////////////
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (1 0 0);
boundaryField
{
fieldIn
{
type mapped;
value uniform (1 0 0);
interpolationScheme cell;
setAverage true;
average (1 0 0);
}
fieldOut
{
type zeroGradient;
}
/////////////////////////////////////////////////////////////////
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 1e-06;
boundaryField
{
fieldIn
{
type mapped;
value uniform 1e-06;
interpolationScheme cell;
setAverage false;
average 1e-06;
}
fieldOut
{
type cyclic;
}
//////////////////////////////////////////////////
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 1e-08;
boundaryField
{
fieldIn
{
type mapped;
value uniform 1e-08;
interpolationScheme cell;
setAverage false;
average 1e-08;
}
fieldOut
{
type zeroGradient;
}
//////////////////////////////////////////////
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
fieldIn
{
type mapped;
value uniform 0;
interpolationScheme cell;
setAverage false;
average 0;
}
fieldOut
{
type zeroGradient;
}
//////////////////////////////////////////////////
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
fieldIn
{
type zeroGradient;
}
fieldOut
{
type fixedValue;
value uniform 0;
}
///////////////////////////////////////////////
以上です。
初歩的な質問なのに長くなってしまい大変申し訳ございませんが、ご助言いただけるととても嬉しいです。
どうぞよろしくお願いします。