現在、OpenFOAMを使ってZ0型壁関数を適用した計算を
試みたいと思っております。
壁関数は、u/u*=1/k・ln(y/Z0) のタイプです。
このような設定は、nutRoughWallFunctionを利用すれば
可能なのでしょうか。
また、可能な場合、詳細な数値の設定などは
どのように行えばよいでしょうか。
お忙しい中申し訳ありませんが、よろしくお願いいたします。
ご参考まで。
お使いのOpenFOAMのバージョンが2.0だとして説明します。
1.7用の和訳ではなく、2.0用のUserGuideの
7.2.2 Wall functions
http://www.openfoam.com/docs/user/turbulence.php#x38-2090007.2.2
を見ると、
find $FOAM_SRC/turbulenceModels -name wallFunctions
で全ての壁関数を見れますと、あるので実際に端末で実行してみると、
/Users/imano/OpenFOAM/OpenFOAM-2.0.x/src/turbulenceModels/compressible/LES/derivedFvPatchFields/wallFunctions
/Users/imano/OpenFOAM/OpenFOAM-2.0.x/src/turbulenceModels/compressible/RAS/backwardsCompatibility/wallFunctions
/Users/imano/OpenFOAM/OpenFOAM-2.0.x/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions
/Users/imano/OpenFOAM/OpenFOAM-2.0.x/src/turbulenceModels/incompressible/LES/derivedFvPatchFields/wallFunctions
/Users/imano/OpenFOAM/OpenFOAM-2.0.x/src/turbulenceModels/incompressible/RAS/backwardsCompatibility/wallFunctions
/Users/imano/OpenFOAM/OpenFOAM-2.0.x/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions
などと表示されます(/Users/imano/OpenFOAM/OpenFOAM-2.0.x/までは設定によって異なります。)
ここで、非圧縮性流れが対象で、乱流モデルがRASモデルだとすると
src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions
がそれ用の壁関数のソースがあるディレクトリですから、
さらに以下のようにしてそこに移動し、
ディレクトリの中身を表示します。
cd src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions
ls
すると、以下の各場に対する壁関数のディレクトリが表示されると思います。
epsilonWallFunctions kappatWallFunctions kqRWallFunctions nutWallFunctions omegaWallFunctions
ご承知の通り、粗度を考慮した壁関数の指定はnutWallFunctionで行いますから、以下を実行します。
cd nutWallFunctions
ls
出力は以下です。
nutLowReWallFunction nutUTabulatedWallFunction nutkWallFunction
nutURoughWallFunction nutUWallFunction
nutUSpaldingWallFunction nutkRoughWallFunction
この内、名前からわかる通り、以下が粗度を考慮したnut用の壁関数です
nutURoughWallFunction
nutkRoughWallFunction
これに対する詳しい説明は現在の所UserGuideに載ってないので、
どうしてもソースを見る必要があります。
nutkRoughWallFunction/nutkRoughWallFunction.H :
Description
Boundary condition for turbulent (kinematic) viscosity when using wall
functions for rough walls, based on turbulence kinetic energy.
Manipulates the E parameter to account for roughness effects, based on
KsPlus.
- roughness height = sand-grain roughness (0 for smooth walls)
- roughness constant = 0.5-1.0 (0.5 default)
(略)
//- Roughness height
scalarField Ks_;
//- Roughness constant
scalarField Cs_;
変数名最後に_が付いていますが、これは内部変数であるためで、nut内で指定
する場合には、最後の_は通常必要ありません。
ですから、冨原さんが書かれているようにnutkRoughWallFunctionなら、
type nutkRoughWallFunction;
Ks uniform 0.2; //Ks = 20 Z0
Cs uniform 0.5;
value uniform 0.0;
などと指定することになります。
さらにz0とKsの関係はohbuchiさんの書かれた論文を参考にしてください。
(私も初めて見ました。ohbuchiさんいつも卓越したご助言ありがとうございます。)
また、Version 2.0から加わったnutURoughWallFunction は以下の通り、
速度ベースの壁関数です。
nutURoughWallFunction/nutURoughWallFunction.H :
Description
Wall function boundary condition for rough walls, based on velocity.
(略)
// Roughness model parameters
//- Height
scalar roughnessHeight_;
//- Constant
scalar roughnessConstant_;
//- Scale factor
scalar roughnessFactor_;
実装の詳細はは、ソース本体 nutURoughWallFunction/nutURoughWallFunction.C
を見てください。
また、だいぶ前にもz0型の境界条件はこのMLで話題になったことがありますので、
こちらもご参考まで。
2011年12月14日12:45 東京理科大学倉渕研究室卒研生 <miwa...@gmail.com>:
> --
> このメールは Google グループのグループ「OpenFOAM」の登録者に送られています。
> このグループに投稿するには、open...@googlegroups.com にメールを送信してください。
> このグループから退会するには、openfoam+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/openfoam?hl=ja からこのグループにアクセスしてください。
>
--
IMANO Masashi, Ph.D.
Assistant Professor
Department of Architecture, Graduate School of Engineering,
The University of Tokyo
7-3-1, Hongo, Bunkyo-ku, Tokyo, Japan, 113-8656
E-mail:im...@arch.t.u-tokyo.ac.jp
Phone:+81-3-5841-6164(direct), +81-3-5841-6179(Laboratory)
Facsimile:+81-3-5841-8511
Ohbuchi様
毎回のご回答ありがとうございます。
紹介していただいた論文を参考に進めていこうと思います。
冨原様
tutorialを見つけることができました。
これに倣って進めていこうと思います。
今野様
いつも詳しい説明をありがとうございます。
find $FOAM_SRC/turbulenceModels -name wallFunctions
を試してみたのですが、
私が使用している端末には、
最初からOpenFOAMがインストール済みだったためか、
srcディレクトリからソースコードを見ることができないようですので、
その端末の業社に問い合わせることになりました。
いろいろと検討してみようと思います。
お三方とも、ありがとうございました。
On 12月14日, 午後9:29, Masashi Imano <masashi.im...@gmail.com> wrote:
> 今野です。
>
> お使いのOpenFOAMのバージョンが2.0だとして説明します。
>
> 1.7用の和訳ではなく、2.0用のUserGuideの
>
> 7.2.2 Wall functionshttp://www.openfoam.com/docs/user/turbulence.php#x38-2090007.2.2
> https://groups.google.com/group/openfoam/browse_thread/thread/e860653...
>
> 2011年12月14日12:45 東京理科大学倉渕研究室卒研生 <miwatf...@gmail.com>:
> いつも詳しい説明をありがとうございます。
> find $FOAM_SRC/turbulenceModels -name wallFunctions
> を試してみたのですが、
> 最初からOpenFOAMがインストール済みだったためか、
> srcディレクトリからソースコードを見ることができないようですので、
> その端末の業社に問い合わせることになりました。
以下での私の書き方が悪かったですね。
(OpenFOAMのインストールディレクトリにで作業していると仮定していました)。
>> cd src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions
>> ls
>>
代りに以下を実行してみてください。
src
cd turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions
ls
これで以下の各場に対する壁関数のディレクトリが表示されるのあれば、
その下のソースも通常見れると思います。
>> epsilonWallFunctions kappatWallFunctions kqRWallFunctions nutWallFunctions omegaWallFunctions
2011年12月15日15:54 東京理科大学倉渕研究室卒研生 <miwa...@gmail.com>: