OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
-
Upload
fumiya-nozaki -
Category
Technology
-
view
1.554 -
download
2
description
Transcript of OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
Fumiya Nozaki
2014/04/27,1st ed.
OpenFOAM v2.3.0
回転領域を含む計算
Keywords: • OpenFOAM • SRF • MRF
2
回転体周りの流れ場の計算|分類
計算領域全体が回転領域
計算領域に回転領域と静止領域の両方が存在
http://www.pumped101.com/pumpintro.pdf
例)インペラ単独の解析
例)インペラとボリュートとを併せた解析
インペラ(回転領域)
ボリュート(静止領域)
1
2
3
計算領域全体が回転領域の計算
回転領域と一緒に回転する座標系で計算することにより,定常計算として取り扱うことが可能です.
Single rotating frame (SRF)
SRFSimpleFoam
4
SRFSimpleFoam | 概要
SRFSimpleFoamの支配方程式 (定常,非圧縮)
𝒖𝑅 ∙ 𝛻 𝒖𝑅 + 2𝜴 × 𝒖𝑅 + 𝜴× 𝜴 × 𝒓 = −𝛻𝑝 + 𝛻 ∙ 𝜈𝑒𝑓𝑓 𝛻𝒖𝑅 + 𝛻𝒖𝑅
𝑇
𝛻 ∙ 𝒖𝑅 = 0
𝒖 = 𝒖𝑅 + 𝜴 × 𝒓
𝜴 :角速度
回転軸
𝒓
慣性座標系での流速
回転座標系での流速
コリオリ力 遠心力
5
SRFSimpleFoam | 設定
constant ディレクトリの『SRFProperties』ファイルで回転速度に関する設定を行います.
/*--------------------------------*- C++ -*----------------------------------*¥ | ========= | | | ¥¥ / F ield | OpenFOAM: The Open Source CFD Toolbox | | ¥¥ / O peration | Version: 2.3.0 | | ¥¥ / A nd | Web: www.OpenFOAM.org | | ¥¥/ M anipulation | | ¥*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object SRFProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // SRFModel rpm; axis ( 0 0 1 ); rpmCoeffs { rpm 5000; } // ************************************************************************* //
回転速度を,1分当たりの回転の回数 (RPM)で指定
回転軸ベクトル
5000 rpm ⇒ 5000 ∗ 2π 60 = 523.6 [rad/s]
6
SRFSimpleFoam | 実装
𝒖𝑅 ∙ 𝛻 𝒖𝑅 + 2𝜴 × 𝒖𝑅 + 𝜴× 𝜴 × 𝒓 = −𝛻𝑝 + 𝛻 ∙ 𝜈𝑒𝑓𝑓 𝛻𝒖𝑅 + 𝛻𝒖𝑅
𝑇
𝛻 ∙ 𝒖𝑅 = 0
// Relative momentum predictor
tmp<fvVectorMatrix> UrelEqn (
fvm::div(phi, Urel)
+ turbulence->divDevReff(Urel)
+ SRF->Su() ==
fvOptions(Urel) );
UrelEqn.H
Foam::tmp<Foam::DimensionedField<Foam::vector, Foam::volMesh> >
Foam::SRF::SRFModel::Su() const {
return Fcoriolis() + Fcentrifugal(); }
SRFModel.H
2.0*omega_ ^ Urel_ omega_ ^ (omega_ ^ mesh_.C())
126行 147行
慣性座標系での流速 (Uabs) の計算
Urel + SRF->U()
SRFSimpleFoam.C
omega_ ^ (mesh_.C() - axis_*(axis_ & mesh_.C()))
7
計算領域に回転領域と静止領域の両方が存在する計算
To be continued.