OpenFoamのサンプル確認(パラメータやキーワードの覚書)です。
(次ページに要素置き換えを行ったもの)
バージョン : Windows版(OpenFOAM-v2106-windows-mingw.exe)
チュートリアルフォルダ:チュートリアル場所(windows)
引用元
<チュートリアルフォルダ>\heatTransfer\buoyantPimpleFoam\hotRoom
結果図

流体速度のモデルになります。
作業
基本的な流れはT703 OpenFoam tipsと同じです。(または作業)
//チュートリアルからサンプルをコピーしておきます。// //0.origから0へ(.org削除) //コマンド:メッシュ作成 blockMesh //コマンド実行 setFields //計算実行// buoyantPimpleFoam //ParaView用VTK変換// foamToVTK
モデル
設定値の抜粋まとめ
全体構造
//初期フォルダ・ファイル構成 hotRoom ├ 0.orig │ ├ alphat │ ├ epsilon │ ├ k │ ├ nut │ ├ p │ ├ p_rgh │ ├ T │ └ U ├ constant │ ├ g │ ├ thermophysicalProperties :物性値 │ └ turbulenceProperties ├ system │ ├ blockMeshDict :ブロックメッシュ定義 │ ├ controlDict :解析ジョブ設定 │ ├ fvSchemes :ソルバー設定 │ ├ fvSolution :ソルバー設定 │ └ setFieldsDict ├ Allclean └ Allrun
0.orig
設定確認 alphat
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
floor
{
type compressible::alphatWallFunction;
value uniform 0;
}
ceiling
{
type compressible::alphatWallFunction;
value uniform 0;
}
fixedWalls
{
type compressible::alphatWallFunction;
value uniform 0;
}
}
epsilon
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
floor
{
type epsilonWallFunction;
value uniform 0.01;
}
ceiling
{
type epsilonWallFunction;
value uniform 0.01;
}
fixedWalls
{
type epsilonWallFunction;
value uniform 0.01;
}
}
k
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.1;
boundaryField
{
floor
{
type kqRWallFunction;
value uniform 0.1;
}
ceiling
{
type kqRWallFunction;
value uniform 0.1;
}
fixedWalls
{
type kqRWallFunction;
value uniform 0.1;
}
}
nut
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
floor
{
type nutkWallFunction;
value uniform 0;
}
ceiling
{
type nutkWallFunction;
value uniform 0;
}
fixedWalls
{
type nutkWallFunction;
value uniform 0;
}
}
設定確認 p
//ファイル:p//
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e5;
boundaryField
{
floor
{
type calculated;
value $internalField;
}
ceiling
{
type calculated;
value $internalField;
}
fixedWalls
{
type calculated;
value $internalField;
}
}
p_rgh
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e5;
boundaryField
{
floor
{
type fixedFluxPressure;
value uniform 1e5;
}
ceiling
{
type fixedFluxPressure;
value uniform 1e5;
}
fixedWalls
{
type fixedFluxPressure;
value uniform 1e5;
}
}
T
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
floor
{
type fixedValue;
value uniform 300;
}
ceiling
{
type lumpedMassWallTemperature;
kappaMethod fluidThermo;
kappa none;
mass 1000;
Cp 4100;
value uniform 300;
}
fixedWalls
{
type zeroGradient;
}
}
設定確認 U
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
floor
{
type noSlip;
}
ceiling
{
type noSlip;
}
fixedWalls
{
type noSlip;
}
}
constant
g
dimensions [0 1 -2 0 0 0 0]; value (0 -9.81 0);
設定確認 thermophysicalProperties
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
pRef 100000;
mixture
{
specie
{
molWeight 28.9;
}
thermodynamics
{
Cp 1000;
Hf 0;
}
transport
{
mu 1.8e-05;
Pr 0.7;
}
}
turbulenceProperties
simulationType RAS;
RAS
{
RASModel kEpsilon;
turbulence on;
printCoeffs on;
}
system
設定確認 blockMeshDict
scale 1;
vertices
(
(0 0 0)
(10 0 0)
(10 5 0)
(0 5 0)
(0 0 10)
(10 0 10)
(10 5 10)
(0 5 10)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (20 10 20) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
floor
{
type wall;
faces
(
(1 5 4 0)
);
}
ceiling
{
type wall;
faces
(
(3 7 6 2)
);
}
fixedWalls
{
type wall;
faces
(
(0 4 7 3)
(2 6 5 1)
(0 3 2 1)
(4 5 6 7)
);
}
);
mergePatchPairs
(
);
設定確認 controlDict
application buoyantPimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 2000;
deltaT 2;
writeControl timeStep;
writeInterval 100;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep no;
maxCo 0.5;
functions
{
htc
{
type heatTransferCoeff;
libs (fieldFunctionObjects);
field T;
writeControl outputTime;
writeInterval 1;
htcModel fixedReferenceTemperature;
patches (ceiling);
TRef 373;
}
}
設定確認 fvSchemes
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss upwind;
energy Gauss upwind;
div(phi,h) $energy;
div(phi,e) $energy;
div(phi,K) Gauss linear;
div(phi,Ekp) Gauss linear;
turbulence Gauss upwind;
div(phi,k) $turbulence;
div(phi,epsilon) $turbulence;
div(phi,R) $turbulence;
div(R) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
設定確認 fvSolution
solvers
{
"rho.*"
{
solver PCG;
preconditioner DIC;
tolerance 0;
relTol 0;
}
p_rgh
{
solver PCG;
preconditioner DIC;
tolerance 1e-8;
relTol 0.01;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
"(U|h|e|k|epsilon|R)"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;
}
"(U|h|e|k|epsilon|R)Final"
{
$U;
relTol 0;
}
}
PIMPLE
{
momentumPredictor yes;
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 1e5;
}
設定確認 setFieldsDict
defaultFieldValues
(
volScalarFieldValue T 300
);
regions
(
boxToFace
{
box (4.5 -1000 4.5) (5.5 1e-5 5.5);
fieldValues
(
volScalarFieldValue T 600
);
}
);
コメント