SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
OpenFOAM	
  LES乱流モデルカスタマイズ	
yotakagi77	
  
オープンCAE勉強会@関西	
  
2015年6月13日,	
  大阪大学
Agenda	
•  乱流モデルの基礎知識	
  
•  テンソル数学	
  
•  演習1:	
  WALEモデルのコンパイル・実行	
  
•  演習2:	
  コヒーレント構造Smagorinskyモデルの
実装	
  
•  実習課題	
  
乱流モデルの基礎知識
乱流シミュレーション	
DNS	
 LES	
 RANS	
Modeling	
 No	
 Subgrid	
  scale	
 Reynolds	
  average	
Accuracy	
 ◎	
 ○	
 △	
Cost	
 ×	
 ○	
 ◎	
渦流れ	
 レイノルズ平均	
 4
乱流シミュレーション	
DNS	
 LES	
 RANS	
Modeling	
 No	
 Subgrid	
  scale	
 Reynolds	
  average	
Accuracy	
 ◎	
 ○	
 △	
Cost	
 ×	
 ○	
 ◎	
DNSでの格子,	
  u	
 レイノルズ平均	
 5
乱流シミュレーション	
DNS	
 LES	
 RANS	
Modeling	
 No	
 Subgrid	
  scale	
 Reynolds	
  average	
Accuracy	
 ◎	
 ○	
 △	
Cost	
 ×	
 ○	
 ◎	
LESでの格子,	
  u	
  =	
  u	
  –	
  u’	
 レイノルズ平均	
 6
乱流シミュレーション	
DNS	
 LES	
 RANS	
Modeling	
 No	
 Subgrid	
  scale	
 Reynolds	
  average	
Accuracy	
 ◎	
 ○	
 △	
Cost	
 ×	
 ○	
 ◎	
フィルター操作	
 レイノルズ平均	
 7
Detached-­‐eddy	
  simulaRon	
  (DES)	
•  P.	
  R.	
  Spalart	
  (1997):	
  
–  We	
  name	
  the	
  new	
  approach	
  “Detached-­‐Eddy	
  
Simula8on”	
  (DES)	
  to	
  emphasize	
  its	
  dis8nct	
  treatments	
  of	
  
a?ached	
  and	
  separated	
  regions.	
Super-­‐Region	
 Region	
Euler	
  (ER)	
RANS	
  (RR)	
 Viscous	
  (VR)	
Outer	
  (OR)	
LES	
  (LR)	
 Viscous	
  (VR)	
Focus	
  (FR)	
Departure	
  (DR)	
8	
Spalart	
  (2001)
Detached-­‐eddy	
  simulaRon	
  (DES)	
•  P.	
  R.	
  Spalart	
  (1997):	
  
–  We	
  name	
  the	
  new	
  approach	
  “Detached-­‐Eddy	
  
Simula8on”	
  (DES)	
  to	
  emphasize	
  its	
  dis8nct	
  treatments	
  of	
  
a?ached	
  and	
  separated	
  regions.	
Super-­‐Region	
 Region	
Euler	
  (ER)	
RANS	
  (RR)	
 Viscous	
  (VR)	
Outer	
  (OR)	
LES	
  (LR)	
 Viscous	
  (VR)	
Focus	
  (FR)	
Departure	
  (DR)	
Spalart	
  (2001)	
9
運動量輸送方程式の渦粘性係数を介した連結	
•  RANS	
  
	
  
•  LES	
∂U
∂t
+ ∇⋅ UU( )− ∇⋅ ν+ νt( ) ∇U + (∇U)T
( )( )= ∇p
∂U
∂t
+ ∇⋅ UU( )− ∇⋅ ν+ νSGS( ) ∇U + (∇U)T
( )( )= ∇p
乱流粘性	
サブグリッドスケール粘性	
粘性係数を変えるだけ!	
10
問題:フィルター(平均化)操作の違い	
LES	
  フィルタリング	
 レイノルズ平均	
空間	
 時間	
LES領域-­‐RANS領域界面での不整合	
11
OpenFOAMでの標準SGSモデル	
Library	
  name	
 Note	
Smagorinksy	
 Smagorinsky	
  model	
Smagorinksy2	
 Smagorinsky	
  model	
  with	
  3-­‐D	
  filter	
homogeneousDynSmagor
insky	
Homogeneous	
  dynamic	
  Smagorinsky	
  model	
dynLagragian	
 Lagrangian	
  two	
  equaRon	
  eddy-­‐viscosity	
  model	
scaleSimilarity	
 Scale	
  similarity	
  model	
mixedSmagorinsky	
 Mixed	
  Smagorinsky	
  /	
  scale	
  similarity	
  model	
homogeneousDynOneEqE
ddy	
One	
  EquaRon	
  Eddy	
  Viscosity	
  Model	
  for	
  incompressible	
  
flows	
laminar	
 Simply	
  returns	
  laminar	
  properRes	
kOmegaSSTSAS	
 k-­‐ω	
  SST	
  scale	
  adapRve	
  simulaRon	
  (SAS)	
  model
OpenFOAMでの標準SGSモデル	
Library	
  name	
 Note	
oneEqEddy	
 k-­‐equaRon	
  eddy-­‐viscosity	
  model	
dynOneEqEddy	
 Dynamic	
  k-­‐equaRon	
  eddy-­‐viscosity	
  model	
spectEddyVisc	
 Spectral	
  eddy	
  viscosity	
  model	
LRDDiffStress	
 LRR	
  differenRal	
  stress	
  model	
DeardorffDiffStress	
 Deardorff	
  differenRal	
  stress	
  model	
SpalartAllmaras	
 Spalart-­‐Allmaras	
  model	
SpalartAllmarasDDES	
 Spalart-­‐Allmaras	
  delayed	
  detached	
  eddy	
  simulaRon	
  
(DDES)	
  model	
SpalartAllmarasIDDES	
 Spalart-­‐Allmaras	
  improved	
  DDES	
  (IDDES)	
  model	
vanDriestDelta	
   Simple	
  cube-­‐root	
  of	
  cell	
  volume	
  delta	
  used	
  in	
  
incompressible	
  LES	
  models
テンソル数学
テンソル	
•  ランク	
  0:	
  ‘スカラー’,	
  例:体積 V,	
  圧力 p.	
  
•  ランク	
  1:	
  ‘ベクトル’,	
  例:速度ベクトル u,	
  面ベ
クトル S.	
  表記:	
  a	
  =	
  ai	
  =	
  (a1,	
  a2,	
  a3).	
  
•  ランク	
  2:	
  ‘テンソル’,	
  例 ひずみ速度テンソル
Sij,	
  回転テンソル Ωij.	
  	
  
	
  	
  	
  	
  表記:	
  
	
  	
  
	
T = Tij =
T11 T12 T13
T21 T22 T23
T31 T32 T33
!
"
#
#
#
$
%
&
&
&
対称/非対称テンソル 	
•  速度勾配テンソルはひずみ速度テンソル(対
称テンソル)と渦度テンソル(非対称テンソル)
に分解できる.	
  	
  
•  乱流モデリングでは, Sij	
  と Ωij	
  がよく用いられ
る.	
Dij =
∂ui
∂xj
, Sij =
1
2
∂ui
∂xj
+
∂uj
∂xi
"
#
$$
%
&
'', Ωij =
1
2
∂ui
∂xj
−
∂uj
∂xi
"
#
$$
%
&
''
Dij = Sij +Ωij
テンソルに対する数学操作	
T =
1
2
(T+ TT
)+
1
2
(T− TT
) = symmT+skewT,
trT = T11 +T22 +T33,
diagT = (T11,T22,T33),
T = T−
1
3
(trT)I+
1
3
(trT)I = devT+ hydT,
detT =
T11 T12 T13
T21 T22 T23
T31 T32 T33
OpenFOAMのテンソルクラス	
演算	
 数学表記	
 クラス	
加算	
 a	
  +	
  b	
 a	
  +	
  b	
引算	
 a	
  –	
  b	
 a	
  –	
  b	
スカラー乗算	
 sa	
 s	
  *	
  a	
スカラー割り算	
 a	
  /	
  s	
 a	
  /	
  s	
外積	
 a	
  b	
 a	
  *	
  b	
内積	
 a	
  ·∙	
  b	
 a	
  &	
  b	
二重内積	
 a	
  :	
  b	
 a	
  &&	
  b	
クロス積	
 a	
  ×	
  b	
 a	
  ^	
  b	
平方	
 a2	
 sqr(a)	
絶対値平方	
 |a|2	
 magSqr(a)	
絶対値	
 |a|	
 mag(a)	
べき乗	
 an	
 pow(a,	
  n)
OpenFOAM	
  tensor	
  classes	
Opera2on	
 Mathema2cal	
 Class	
転置	
 TT	
 T.T()	
対角	
 diag	
  T	
 diag(T)	
トレース	
 tr	
  T	
 tr(T)	
偏差成分	
 dev	
  T	
 dev(T)	
対称成分	
 symm	
  T	
 symm(T)	
非対称成分	
 skew	
  T	
 skew(T)	
行列式	
 det	
  T	
 det(T)	
余因子	
 cof	
  T	
 cof(T)	
逆行列	
 inv	
  T	
 inv(T)
演習1:	
  WALEモデルのコンパイル・実行	
  
非圧縮LESの基礎方程式	
•  連続の式・ナビエストークス方程式	
  
	
  	
  	
  	
  	
  ここで、	
∂ui
∂xi
= 0,
∂ui
∂t
+uj
∂ui
∂xj
= −
1
ρ
∂p
∂xi
+
∂
∂xi
(−τij + 2νSij )
τij = uiuj −uiuj
SGS渦粘性モデル	
•  乱流エネルギーの分解 	
  
•  GS乱流エネルギー kGSの輸送方程式	
  
•  SGS乱流エネルギー kSGSの輸送方程式	
  
∂kGS
∂t
+uj
∂kGS
∂xj
= τijSij −εGS +
∂
∂xi
−uiτij −
puj
ρ
+ν
∂kGS
∂xj
#
$
%%
&
'
((
k =
1
2
ukuk =
1
2
ukuk +
1
2
(ukuk −ukuk )
kGS
kSGS
∂kSGS
∂t
+uj
∂kSGS
∂xj
= −τijSij −εSGS +
∂
∂xi
uiτij −
1
2
(uiuiuj +uj uiui )−
puj − puj
ρ
+ν
∂kSGS
∂xj
#
$
%
%
&
'
(
(
Smagorinskyモデル	
•  SGS生成速度とSGSエネルギー散逸の局所平
衡仮定:	
  
•  渦粘性近似:	
  
•  次元解析・スケーリングにより,	
  
εSGS ≡ν
∂ui
∂xj
∂ui
∂uj
−ν
∂ui
∂xj
∂ui
∂xj
$
%
&&
'
(
)) = −τijSij
τij
a
= −2vSGS Sij
νSGS = (CS Δ)2
| S |, | S |= 2SijSij , CS : Smagorinsky定数
WALEモデル	
•  平方速度勾配テンソルのトレースフリー対称部分:	
  
	
  
•  WALEモデルでの渦粘性:	
  
Sij
d
=
1
2
(Dij
2
+ Dji
2
)−
1
3
δijDkk
2
= SikSkj +ΩikΩkj −
1
3
δij SmnSmn −ΩmnΩmn
#$ %&
Sij
d
Sij
d
=
1
6
(S2
S2
+Ω2
Ω2
)+
2
3
S2
Ω2
+ 2IVSΩ,
S2
= SijSij, Ω2
= ΩijΩij, IVSΩ = SikSkjΩjlΩli
νSGS = (CwΔ)2
(Sij
d
Sij
d
)3/ 2
(SijSij )5/ 2
+ (Sij
d
Sij
d
)5/ 4
(Nicoud	
  and	
  Ducros,	
  1999)
WALEモデルのパラメータ	
Field	
  a	
 Field	
  b	
 Field	
  c	
 Field	
  d	
 Field	
  e	
 Field	
  f	
Cw
2/Cs
2	
 10.81	
 10.52	
 10.84	
 10.55	
 10.70	
 11.27	
If CS = 0.18, 0.55 ≤ CW ≤ 0.6.
If CS = 0.1, 0.32 ≤ CW ≤ 0.34.
モデルパラメータCwは	
  Smagorinsky定数CSに依存
するので,流れ場によって変更する必要がある.	
(Nicoud	
  and	
  Ducros,	
  1999)
WALEモデルのソースコード	
•  V&V委員会,	
  オープンCAE学会	
  
	
  	
  	
  	
  	
  hops://github.com/opencae/VandV/tree/master/
OpenFOAM/2.2.x/src/libraries/incompressibleWALE	
  
	
  
•  OpenFOAM-­‐dev	
  
	
  	
  	
  	
  	
  hops://github.com/OpenFOAM/OpenFOAM-­‐dev/tree/
master/src/TurbulenceModels/turbulenceModels/LES/WALE	
  
	
  
ダウンロード,コンパイル	
$  mkdir	
  –p	
  $FOAM_RUN	
  
$  cd	
  
$  git	
  clone	
  https://github.com/opencae/VandV	
  
$  cd	
  VandV/OpenFOAM/OpenFOAM-­‐BenchmarkTest/
channelReTau110	
  
$  cp	
  –r	
  src	
  $FOAM_RUN/..	
  
$  run	
  
$  cd	
  ../src/libraries/incompressibleWALE	
  
$  wmake	
  libso	
  
$  ls	
  $FOAM_USER_LIBBIN	
  
1.  WALEモデルのソースコードをオープンCAE学会のV&Vレポジ
トリよりダウンロードし,コンパイルする。
チェネル流れ計算	
$  run	
  
$  cp	
  –r	
  $FOAM_TUTORIALS/incompressible/pimpleFoam/
channel395/	
  ./ReTau395WALE	
  
$  cd	
  ReTau395WALE	
  
2.  Reτ	
  =	
  395のチャネル流れのチュートリアルケースを自分の
runディレクトリにコピーする.	
3.  constant/LESProperRes	
  と	
  system/controlDict	
  を編集する.	
$  gedit	
  constant/LESProperties	
  
LESModel	
  	
  	
  	
  	
  	
  	
  	
  WALE;	
  
printCoeffs	
  	
  	
  	
  	
  on;	
  
delta	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  cubeRootVol;	
  
...
チャネル流れの計算	
$  gedit	
  system/controlDict	
...	
  
libs 	
  ("libincompressibleWALE.so");	
  	
この1行は新しいWALEモデルライブラリをソルバーで利用する
ために必要.	
$  ./Allrun	
  
4.  その他の解析条件・パラメータを確認後,ソルバーを実行す
る.	
5.  計算が正常に終了したら,ログを確認し,ParaViewで流れ
場を可視化してみる.また,postChannelで生成されたプロ
ファイルをプロットしてみる.
Reτ	
  =	
  110でのチャネル流れの計算	
$  run	
  
$  cp	
  –r	
  ~/VandV/OpenFOAM/OpenFOAM-­‐BenchmarkTest/
channelReTau110/template	
  $FOAM_RUN/ReTau110WALE	
  
$  cd	
  ReTau110WALE	
  
$  gedit	
  caseSettings	
  
6.  V&V委員会で提供されているテストケースを利用する場合
は,templateケースをコピーし,設定を編集する.	
controlDict	
  
{	
  
	
  	
  deltaT	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0.002;	
  
	
  	
  endTime	
  	
  	
  	
  	
  	
  	
  	
  	
  0.022;	
  
	
  	
  libs	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "libincompressibleWALE.so";	
  
}	
  
Reτ	
  =	
  110でのチャネル流れの計算	
turbulenceProperties	
  
{	
  
	
  	
  simulationType	
  LESModel;	
  
}	
  
	
  
LESProperties	
  
{	
  
	
  	
  LESModel	
  WALE;	
  
	
  	
  delta	
  cubeRootVol;	
  
}	
  
オリジナルの	
  caseSepngs	
  は大規模計算環境でのDNS用なので,
blockMeshDictやdecomposeParDictのパラメータを変更したほう
がよい.
Reτ	
  =	
  110	
  でのチャネル流れの計算	
$  ./Allrun	
  
7.  その他の解析条件やパラメータを確認後,ソルバーを実行
する.	
8.  If	
  the	
  solver	
  calculaRon	
  is	
  normally	
  finished,	
  you	
  check	
  the	
  
logs	
  and	
  visualize	
  the	
  flow	
  field	
  with	
  ParaView.	
  If	
  the	
  
integraRon	
  Rme	
  is	
  not	
  sufficient	
  for	
  the	
  flow	
  field	
  to	
  become	
  
fully	
  developed	
  state,	
  run	
  longer	
  simulaRons.
演習2:	
  コヒーレント構造Smagorinsky	
  
モデルの実装	
  
SGSモデルのオリジナルソースコード	
$  src	
  
$  cd	
  turbulenceModels/incompressible/LES/	
  
$  ls	
  
1.  SGSモデルのオリジナルコードを確認する.	
2.  Smagorinskyのコードを見てみる.	
  
$  gedit	
  Smagorinsky/Smagorinsky.*	
  
3.  比較のために,ダイナミックモデルのコードも見てみる.	
  
$  ls	
  *[Dd]yn*	
  
4.  関連するコードの構造や書き方を比較してみる	
  (*.C	
  and	
  
*.H).	
  
Private	
  member	
  funcRons:	
  
updateSubGridScaleFields	
  	
  	
void	
  Smagorinsky::updateSubGridScaleFields	
  
(const	
  volTensorField&	
  gradU)	
  
{	
  	
  	
  nuSgs_	
  =	
  ck_*delta()*sqrt(k(gradU));	
  
	
  	
  	
  	
  nuSgs_.correctBoundaryConditions(); 	
   	
  }	
  
void	
  dynLagrangian::updateSubGridScaleFields	
  
(const	
  tmp<volTensorField>&	
  gradU)	
  
{	
  	
  	
  nuSgs_	
  =	
  (flm_/fmm_)*sqr(delta())*mag(dev(symm(gradU)));	
  
	
  	
  	
  	
  nuSgs_.correctBoundaryConditions(); 	
   	
  }	
  
void	
  dynOneEqEddy::updateSubGridScaleFields	
  
(	
  	
  	
  const	
  volSymmTensorField&	
  D,	
  
	
  	
  	
  	
  const	
  volScalarField&	
  KK	
   	
  )	
  
{	
  	
  	
  nuSgs_	
  =	
  ck(D,	
  KK)*sqrt(k_)*delta();	
  
	
  	
  	
  	
  nuSgs_.correctBoundaryConditions(); 	
   	
  }	
  
Smagorinsky.C	
dynLagrangian.C	
dynOneEqEddy.C
コードによる定式化の理解	
•  コヒーレント構造スマゴリンスキーモデル(CSM)にはどのよう
な計算,演算,変数が必要か調べてみる.関連するコードを
見ながらモデルの定式化・実装を理解する.	
  
•  CSMモデルでは,速度勾配テンソルの第二不変量Qが用いら
れる:	
  
	
  	
  	
  	
  	
  ここで,	
  
€
Q =
1
2
ΩijΩij − SijSij( )= −
1
2
∂uj
∂xi
∂ui
∂xj
Sij =
1
2
∂ui
∂xj
+
∂uj
∂xi
#
$
%%
&
'
((, Ωij =
1
2
∂ui
∂xj
−
∂uj
∂xi
#
$
%%
&
'
((
非回転流でのコヒーレント構造	
  
スマゴリンスキーモデル(NRCSM)	
•  渦粘性近似を用いたスマゴリンスキーモデル	
  (SM)	
  	
  
•  モデル定数 C	
  は以下の様に定義される.	
  
	
  ここで,	
  
	
  また,	
  
	
  
	
  
	
  	
  	
  	
  	
  NRCSMモデルは回転流れには不適当である.	
  
	
  
€
C = C1 | FCS |3/ 2
€
C1 =
1
20
, FCS =
Q
E
€
τij
a
= −2CΔ2
| S | Sij
(τij
a
= −2νt Sij, νt = CΔ2
| S |)
E =
1
2
ΩijΩij + SijSij( )=
1
2
∂ui
∂xj
$
%
&&
'
(
))
2
コヒーレント構造スマゴリンスキーモデル	
  (CSM)	
•  渦粘性近似を用いたスマゴリンスキーモデル	
  (SM)	
  	
  
•  モデル定数 C	
  は以下の様に定義される.	
  
	
  ここで,	
  
	
  また,	
  
	
  
	
  
	
  CSMモデルは回転流れに対しても適用できる.	
  
€
C = C2 | FCS |3/ 2
FΩ
€
C2 =
1
22
, FCS =
Q
E
, FΩ =1− FCS
€
τij
a
= −2CΔ2
| S | Sij
(τij
a
= −2νt Sij, νt = CΔ2
| S |)
E =
1
2
ΩijΩij + SijSij( )=
1
2
∂ui
∂xj
$
%
&&
'
(
))
2
新しいライブラリ作成の準備	
$  run	
  
$  cd	
  ../src/libraries	
  
$  cp	
  -­‐r	
  incompressibleWALE/WALE/	
  ./NRCSM	
  
$  cp	
  –r	
  incompressibleWALE/Make	
  ./NRCSM	
  
$  cd	
  NRCSM	
  
$  rename	
  WALE	
  NRCSM	
  *	
  
$  rm	
  –r	
  NRCSM.dep	
  
$  rm	
  –rf	
  Make/linux64Gcc47DPOpt	
  
$  gedit	
  Make/files	
  
1.  WALEモデルのコードをコピーしてコンパイルする.	
NRCSM.C	
  
LIB	
  =	
  $(FOAM_USER_LIBBIN)/libNRCSM	
  
$  sed	
  –i	
  ‘s/WALE/NRCSM/g’	
  NRCSM.C	
  	
  
$  sed	
  –i	
  ‘s/WALE/NRCSM/g’	
  NRCSM.H	
  
新しいライブラリ作成の準備	
$  wmake	
  libso	
  
$  ls	
  $FOAM_USER_LIBBIN	
  
名前を変更してコンパイルしたライブラリ	
  (libNRCSM.so)を見つ
けたら,新しいNRCSMモデルライブラリの準備が完了.	
  
	
  
2. 	
  Q項・E項を計算するためのコードは,postProcessingユーティ
リティで理解できる.	
  
	
  
	
  
	
  
	
  
Qの計算方法は,(1)速度勾配テンソルを用いる,	
  (2)SS項とΩΩ
項を用いる,の2通りがある.	
$  util	
  
$  cd	
  postProcessing/velocityField/Q	
  
$  gedit	
  Q.C	
  &	
  
モデル定数C1の導入	
$  run	
  
$  cd	
  ../src/libraries/NRCSM/	
  
$  gedit	
  NRCSM.C	
  NRCSM.H	
  
3.  すべての‘cw’	
  を	
  ‘c1’	
  に置換し(gedit	
  または	
  sed),値を	
  0.05	
  
に変更する.	
  
	
  	
  	
  	
  c1_	
  
	
  	
  	
  	
  (	
  
	
  	
  	
  	
  	
  	
  	
  	
  dimensioned<scalar>::lookupOrAddToDict	
  
	
  	
  	
  	
  	
  	
  	
  	
  (	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "c1",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  coeffDict_,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0.05	
  
	
  	
  	
  	
  	
  	
  	
  	
  )	
  
	
  	
  	
  	
  )	
  
NRCSM.C	
  
$  wmake	
  libso	
  
Q	
  と E	
  の計算	
4.  NRCSM.Cで,Q	
  と E	
  の計算を適当な箇所に挿入する	
  (Q.Cか
ら該当する部分をコピー&ペースト).	
  保存&コンパイルする.	
  
volScalarField	
  Q	
  
(	
  
	
  0.5*(sqr(tr(gradU))	
  -­‐	
  tr(((gradU)&(gradU))))	
  
);	
  
volScalarField	
  E	
  
(	
  
	
  0.5*(gradU	
  &&	
  gradU)	
  
);	
  
NRCSM.C	
  
$  gedit	
  NRCSM.C	
  
$  wmake	
  libso	
  
FCS	
  と C	
  の計算	
5.  NRCSM.C	
  で,FCS	
  と C	
  (渦粘性モデル定数)の計算部分を追
加する.	
  保存&コンパイルする.	
  
volScalarField	
  Fcs	
  
(	
  
	
  Q/
max(E,dimensionedScalar("SMALL",E.dimensions(),SMALL))	
  
);	
  
volScalarField	
  ccsm_	
  
(	
  
	
  	
  	
  c1_*pow(mag(Fcs),1.5)	
  
);	
  
NRCSM.C	
  
$  gedit	
  NRCSM.C	
  
$  wmake	
  libso	
  
νSGS	
  の計算	
6.  NRCSM.C	
  で,nuSGS_	
  の計算を修正する.	
  ダイナミックモデル
での updateSubGridScaleFields	
  関数も参考にしてみる.	
  
nuSgs_	
  =	
  ccsm_*sqr(delta())*mag(dev(symm(gradU)));	
  
NRCSM.C	
  
保存&コンパイルする.	
  
$  wmake	
  libso	
  
7.  最後に,必要の無い計算部分をコメントアウト	
  or	
  削除する
(WALEモデル計算部分).	
  保存&コンパイルする.	
  
$  wmake	
  libso	
  
$  gedit	
  NRCSM.C	
  
kSGS	
  の計算	
//-­‐	
  Return	
  SGS	
  kinetic	
  energy	
  
//	
  	
  calculated	
  from	
  the	
  given	
  velocity	
  gradient	
  
tmp<volScalarField>	
  k(const	
  tmp<volTensorField>&	
  gradU)	
  const	
  
{	
  
	
  return	
  (2.0*c1_/ce_)*sqr(delta())*magSqr(dev(symm(gradU)));	
  
}	
  
NRCSM.H	
  
8.  kSGS	
  の計算は正しくないが,kSGS	
  の値はNRCSMモデルを用い
たLESでは必要としない.	
  もし,適切な kSGSの値が必要ならば,
オリジナルの論文(Kobayashi,PoF,	
  2005)を参照.	
  
チャネル流れを用いた検証	
$  run	
  
$  cp	
  –r	
  $FOAM_TUTORIALS/incompressible/pimpleFoam/
channel395/	
  ./ReTau395NRCSM	
  
$  cd	
  ReTau395NRCSM	
  
9.  	
  Reτ	
  =	
  395のチャネル流れチュートリアルを自分のrunディレ
クトリにコピーする.	
10. constant/LESProperRes	
  と	
  system/controlDict	
  を編集する.	
$  gedit	
  constant/LESProperties	
  
LESModel	
  	
  	
  	
  	
  	
  	
  	
  NRCSM;	
  
printCoeffs	
  	
  	
  	
  	
  on;	
  
delta	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  cubeRootVol;	
  
...
チャネル流れを用いた検証	
$  gedit	
  system/controlDict	
...	
  
libs 	
  ("libNRCSM.so");	
  	
この1行は新しいNRCSM	
  ライブラリをソルバー実行時に呼び出すために必要.	
$  ./Allrun	
  
11. その他の解析条件とパラメータを確認し,ソルバーを実行す
る.	
5.  計算が正常に終了したら,ログを確認し,ParaViewで流れ
場を可視化してみる.また,postChannelで生成されたプロ
ファイルをプロットしてみる.
自習課題	
1.  openfoam-­‐devで提供されているWALEモデルをコン
パイル・テストしてみる.Makeディレクトリを自分で
用意する必要がある.	
  
2.  CSMモデルの実装.	
  FΩ	
  項と係数 C2	
  を追加する.	
  
3.  Q	
  項・ E	
  項を SS	
  項・ ΩΩ	
  項で計算してみる.	
  演習2
の解と比較してみる.	
  
4.  カスタマイズしたモデルを,その他の流れ(円管,
バックステップ,円柱,回転流,など)で検証してみ
る.	
  
References	
•  OpenFOAM	
  User	
  Guide	
  
•  OpenFOAM	
  Programmer’s	
  Guide	
  
•  梶島,	
  乱流の数値シミュレーション 改訂版,	
  養賢堂	
  (2014).	
  
•  P.	
  R.	
  Spalart	
  et	
  al.,	
  “Comments	
  on	
  the	
  Feasibility	
  of	
  LES	
  for	
  
Wings,	
  and	
  on	
  a	
  Hybrid	
  RANS/LES	
  Approach”,	
  1st	
  ASOSR	
  
CONFERENCE	
  on	
  DNS/LES	
  (1997).	
  
•  P.	
  R.	
  Spalart,	
  “Young-­‐Person’s	
  Guide	
  to	
  Detached-­‐Eddy	
  
SimulaRon	
  Grids”,	
  NASA	
  CR-­‐2001-­‐211032	
  (2001).	
  
•  F.	
  Nicoud	
  and	
  F.	
  Ducros,	
  “Subgrid-­‐scale	
  modelling	
  based	
  on	
  
the	
  square	
  of	
  velocity	
  gradient	
  tensor”,	
  Flow,	
  Turbulence	
  and	
  
CombusRon,	
  62,	
  pp.183-­‐200	
  (1999).	
  
References	
•  小林,	
  “乱流構造に基づくサブグリッドスケールモデルの開
発”,	
  ながれ,	
  29,	
  pp.157-­‐160	
  (2010).	
  
•  H.	
  Kobayashi,	
  “The	
  subgrid-­‐scale	
  models	
  based	
  on	
  coherent	
  
structures	
  for	
  rotaRng	
  homogeneous	
  turbulence	
  and	
  
turbulent	
  channel	
  flow”,	
  Phys.	
  Fluids,	
  17,	
  045104	
  (2005).	
  
•  H.	
  Kobayashi,	
  F.	
  Ham	
  and	
  X.	
  Wu,	
  “ApplicaRon	
  of	
  a	
  local	
  SGS	
  
model	
  based	
  on	
  coherent	
  structures	
  to	
  complex	
  geometries”,	
  
Int.	
  J.	
  Heat	
  Fluid	
  Flow,	
  29,	
  pp.640-­‐653	
  (2008).	
  

Weitere ähnliche Inhalte

Was ist angesagt?

OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-Fumiya Nozaki
 
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』Fumiya Nozaki
 
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-Fumiya Nozaki
 
OpenFOAMにおける混相流計算
OpenFOAMにおける混相流計算OpenFOAMにおける混相流計算
OpenFOAMにおける混相流計算takuyayamamoto1800
 
OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析takuyayamamoto1800
 
OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読takuyayamamoto1800
 
OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化takuyayamamoto1800
 
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』Fumiya Nozaki
 
ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化takuyayamamoto1800
 
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読takuyayamamoto1800
 
OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化Masashi Imano
 
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてOpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてFumiya Nozaki
 
Mixer vessel by cfmesh
Mixer vessel by cfmeshMixer vessel by cfmesh
Mixer vessel by cfmeshEtsuji Nomura
 
Dynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAMDynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAMFumiya Nozaki
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するtakuyayamamoto1800
 
OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読takuyayamamoto1800
 
流体解析入門者向け超初級講習会
流体解析入門者向け超初級講習会流体解析入門者向け超初級講習会
流体解析入門者向け超初級講習会mmer547
 
OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法takuyayamamoto1800
 

Was ist angesagt? (20)

OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
 
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
 
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
 
OpenFOAMにおける混相流計算
OpenFOAMにおける混相流計算OpenFOAMにおける混相流計算
OpenFOAMにおける混相流計算
 
OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析
 
OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読
 
OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化
 
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
 
ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化
 
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
 
interFoamの検証
interFoamの検証interFoamの検証
interFoamの検証
 
rhoCentralFoam in OpenFOAM
rhoCentralFoam in OpenFOAMrhoCentralFoam in OpenFOAM
rhoCentralFoam in OpenFOAM
 
OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化
 
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてOpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
 
Mixer vessel by cfmesh
Mixer vessel by cfmeshMixer vessel by cfmesh
Mixer vessel by cfmesh
 
Dynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAMDynamic Mesh in OpenFOAM
Dynamic Mesh in OpenFOAM
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力する
 
OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読
 
流体解析入門者向け超初級講習会
流体解析入門者向け超初級講習会流体解析入門者向け超初級講習会
流体解析入門者向け超初級講習会
 
OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法
 

Ähnlich wie OpenFOAM LES乱流モデルカスタマイズ

Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)Takefumi MIYOSHI
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!bitter_fox
 
XLWrapについてのご紹介
XLWrapについてのご紹介XLWrapについてのご紹介
XLWrapについてのご紹介Ohsawa Goodfellow
 
RcppEigen and SVD
RcppEigen and SVDRcppEigen and SVD
RcppEigen and SVDXiangze
 
Java8から17へ
Java8から17へJava8から17へ
Java8から17へonozaty
 
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方takuyayamamoto1800
 
システム系論文輪講会20140806
システム系論文輪講会20140806システム系論文輪講会20140806
システム系論文輪講会20140806紘也 金子
 
Yamadai.Rデモンストレーションセッション
Yamadai.RデモンストレーションセッションYamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション考司 小杉
 
型プロファイラ:抽象解釈に基づくRuby 3の静的解析
型プロファイラ:抽象解釈に基づくRuby 3の静的解析型プロファイラ:抽象解釈に基づくRuby 3の静的解析
型プロファイラ:抽象解釈に基づくRuby 3の静的解析mametter
 
エンジニア目線で見る TLA+ と PlusCal - TAKAMI Torao
エンジニア目線で見る TLA+ と PlusCal - TAKAMI Toraoエンジニア目線で見る TLA+ と PlusCal - TAKAMI Torao
エンジニア目線で見る TLA+ と PlusCal - TAKAMI ToraoTorao Takami
 
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリNVIDIA Japan
 
20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshuto20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshutoMakoto Shuto
 
LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24
LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24
LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24Rescale Japan株式会社
 
how to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorturehow to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorture@ otsuka752
 
XLWrapについてのご紹介
XLWrapについてのご紹介XLWrapについてのご紹介
XLWrapについてのご紹介Ohsawa Goodfellow
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative ModelsDeep Learning JP
 
読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題
読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題
読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題健児 青木
 

Ähnlich wie OpenFOAM LES乱流モデルカスタマイズ (20)

Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
 
XLWrapについてのご紹介
XLWrapについてのご紹介XLWrapについてのご紹介
XLWrapについてのご紹介
 
RcppEigen and SVD
RcppEigen and SVDRcppEigen and SVD
RcppEigen and SVD
 
ALPSチュートリアル(3) アプリケーション実習
ALPSチュートリアル(3) アプリケーション実習ALPSチュートリアル(3) アプリケーション実習
ALPSチュートリアル(3) アプリケーション実習
 
Java8から17へ
Java8から17へJava8から17へ
Java8から17へ
 
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
 
システム系論文輪講会20140806
システム系論文輪講会20140806システム系論文輪講会20140806
システム系論文輪講会20140806
 
Yamadai.Rデモンストレーションセッション
Yamadai.RデモンストレーションセッションYamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション
 
型プロファイラ:抽象解釈に基づくRuby 3の静的解析
型プロファイラ:抽象解釈に基づくRuby 3の静的解析型プロファイラ:抽象解釈に基づくRuby 3の静的解析
型プロファイラ:抽象解釈に基づくRuby 3の静的解析
 
Tokyo r #43
Tokyo r #43Tokyo r #43
Tokyo r #43
 
エンジニア目線で見る TLA+ と PlusCal - TAKAMI Torao
エンジニア目線で見る TLA+ と PlusCal - TAKAMI Toraoエンジニア目線で見る TLA+ と PlusCal - TAKAMI Torao
エンジニア目線で見る TLA+ と PlusCal - TAKAMI Torao
 
Slick入門
Slick入門Slick入門
Slick入門
 
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
 
20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshuto20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshuto
 
LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24
LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24
LAMMPS クラウド活用勉強会説明資料(Rescale編) 2017/01/24
 
how to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorturehow to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorture
 
XLWrapについてのご紹介
XLWrapについてのご紹介XLWrapについてのご紹介
XLWrapについてのご紹介
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題
読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題
読書会 「トピックモデルによる統計的潜在意味解析」 第6回 4.3節 潜在意味空間における分類問題
 

Mehr von mmer547

Acer MRヘッドセットで計算結果の可視化
Acer MRヘッドセットで計算結果の可視化Acer MRヘッドセットで計算結果の可視化
Acer MRヘッドセットで計算結果の可視化mmer547
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAMmmer547
 
4月からCAEをはじめる人におすすめする本
4月からCAEをはじめる人におすすめする本4月からCAEをはじめる人におすすめする本
4月からCAEをはじめる人におすすめする本mmer547
 
オープンCAEをはじめよう! 環境構築編 ver.2015
オープンCAEをはじめよう! 環境構築編 ver.2015オープンCAEをはじめよう! 環境構築編 ver.2015
オープンCAEをはじめよう! 環境構築編 ver.2015mmer547
 
オープンCAEをはじめよう!入門編 ver.2015
オープンCAEをはじめよう!入門編 ver.2015オープンCAEをはじめよう!入門編 ver.2015
オープンCAEをはじめよう!入門編 ver.2015mmer547
 
Source pack installation of OpenFOAM.4.0 into RHL
Source pack installation of OpenFOAM.4.0 into RHLSource pack installation of OpenFOAM.4.0 into RHL
Source pack installation of OpenFOAM.4.0 into RHLmmer547
 
XYZMaker(ベータ版)を使ってみた
XYZMaker(ベータ版)を使ってみたXYZMaker(ベータ版)を使ってみた
XYZMaker(ベータ版)を使ってみたmmer547
 
MinecraftでOpenFOAM計算用メッシュを作成する
MinecraftでOpenFOAM計算用メッシュを作成するMinecraftでOpenFOAM計算用メッシュを作成する
MinecraftでOpenFOAM計算用メッシュを作成するmmer547
 
オープンCAEをはじめよう!構造解析編
オープンCAEをはじめよう!構造解析編オープンCAEをはじめよう!構造解析編
オープンCAEをはじめよう!構造解析編mmer547
 
Customization of LES turbulence model in OpenFOAM
Customization of LES turbulence	 model in OpenFOAMCustomization of LES turbulence	 model in OpenFOAM
Customization of LES turbulence model in OpenFOAMmmer547
 
IPython notebookでOpenFOAMを使う!講習会準備資料
IPython notebookでOpenFOAMを使う!講習会準備資料IPython notebookでOpenFOAMを使う!講習会準備資料
IPython notebookでOpenFOAMを使う!講習会準備資料mmer547
 
Code_Saturne流体解析入門講習会 講習会資料
Code_Saturne流体解析入門講習会 講習会資料Code_Saturne流体解析入門講習会 講習会資料
Code_Saturne流体解析入門講習会 講習会資料mmer547
 
Install code saturne
Install code saturneInstall code saturne
Install code saturnemmer547
 

Mehr von mmer547 (13)

Acer MRヘッドセットで計算結果の可視化
Acer MRヘッドセットで計算結果の可視化Acer MRヘッドセットで計算結果の可視化
Acer MRヘッドセットで計算結果の可視化
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
 
4月からCAEをはじめる人におすすめする本
4月からCAEをはじめる人におすすめする本4月からCAEをはじめる人におすすめする本
4月からCAEをはじめる人におすすめする本
 
オープンCAEをはじめよう! 環境構築編 ver.2015
オープンCAEをはじめよう! 環境構築編 ver.2015オープンCAEをはじめよう! 環境構築編 ver.2015
オープンCAEをはじめよう! 環境構築編 ver.2015
 
オープンCAEをはじめよう!入門編 ver.2015
オープンCAEをはじめよう!入門編 ver.2015オープンCAEをはじめよう!入門編 ver.2015
オープンCAEをはじめよう!入門編 ver.2015
 
Source pack installation of OpenFOAM.4.0 into RHL
Source pack installation of OpenFOAM.4.0 into RHLSource pack installation of OpenFOAM.4.0 into RHL
Source pack installation of OpenFOAM.4.0 into RHL
 
XYZMaker(ベータ版)を使ってみた
XYZMaker(ベータ版)を使ってみたXYZMaker(ベータ版)を使ってみた
XYZMaker(ベータ版)を使ってみた
 
MinecraftでOpenFOAM計算用メッシュを作成する
MinecraftでOpenFOAM計算用メッシュを作成するMinecraftでOpenFOAM計算用メッシュを作成する
MinecraftでOpenFOAM計算用メッシュを作成する
 
オープンCAEをはじめよう!構造解析編
オープンCAEをはじめよう!構造解析編オープンCAEをはじめよう!構造解析編
オープンCAEをはじめよう!構造解析編
 
Customization of LES turbulence model in OpenFOAM
Customization of LES turbulence	 model in OpenFOAMCustomization of LES turbulence	 model in OpenFOAM
Customization of LES turbulence model in OpenFOAM
 
IPython notebookでOpenFOAMを使う!講習会準備資料
IPython notebookでOpenFOAMを使う!講習会準備資料IPython notebookでOpenFOAMを使う!講習会準備資料
IPython notebookでOpenFOAMを使う!講習会準備資料
 
Code_Saturne流体解析入門講習会 講習会資料
Code_Saturne流体解析入門講習会 講習会資料Code_Saturne流体解析入門講習会 講習会資料
Code_Saturne流体解析入門講習会 講習会資料
 
Install code saturne
Install code saturneInstall code saturne
Install code saturne
 

OpenFOAM LES乱流モデルカスタマイズ

  • 2. Agenda •  乱流モデルの基礎知識   •  テンソル数学   •  演習1:  WALEモデルのコンパイル・実行   •  演習2:  コヒーレント構造Smagorinskyモデルの 実装   •  実習課題  
  • 4. 乱流シミュレーション DNS LES RANS Modeling No Subgrid  scale Reynolds  average Accuracy ◎ ○ △ Cost × ○ ◎ 渦流れ レイノルズ平均 4
  • 5. 乱流シミュレーション DNS LES RANS Modeling No Subgrid  scale Reynolds  average Accuracy ◎ ○ △ Cost × ○ ◎ DNSでの格子,  u レイノルズ平均 5
  • 6. 乱流シミュレーション DNS LES RANS Modeling No Subgrid  scale Reynolds  average Accuracy ◎ ○ △ Cost × ○ ◎ LESでの格子,  u  =  u  –  u’ レイノルズ平均 6
  • 7. 乱流シミュレーション DNS LES RANS Modeling No Subgrid  scale Reynolds  average Accuracy ◎ ○ △ Cost × ○ ◎ フィルター操作 レイノルズ平均 7
  • 8. Detached-­‐eddy  simulaRon  (DES) •  P.  R.  Spalart  (1997):   –  We  name  the  new  approach  “Detached-­‐Eddy   Simula8on”  (DES)  to  emphasize  its  dis8nct  treatments  of   a?ached  and  separated  regions. Super-­‐Region Region Euler  (ER) RANS  (RR) Viscous  (VR) Outer  (OR) LES  (LR) Viscous  (VR) Focus  (FR) Departure  (DR) 8 Spalart  (2001)
  • 9. Detached-­‐eddy  simulaRon  (DES) •  P.  R.  Spalart  (1997):   –  We  name  the  new  approach  “Detached-­‐Eddy   Simula8on”  (DES)  to  emphasize  its  dis8nct  treatments  of   a?ached  and  separated  regions. Super-­‐Region Region Euler  (ER) RANS  (RR) Viscous  (VR) Outer  (OR) LES  (LR) Viscous  (VR) Focus  (FR) Departure  (DR) Spalart  (2001) 9
  • 10. 運動量輸送方程式の渦粘性係数を介した連結 •  RANS     •  LES ∂U ∂t + ∇⋅ UU( )− ∇⋅ ν+ νt( ) ∇U + (∇U)T ( )( )= ∇p ∂U ∂t + ∇⋅ UU( )− ∇⋅ ν+ νSGS( ) ∇U + (∇U)T ( )( )= ∇p 乱流粘性 サブグリッドスケール粘性 粘性係数を変えるだけ! 10
  • 12. OpenFOAMでの標準SGSモデル Library  name Note Smagorinksy Smagorinsky  model Smagorinksy2 Smagorinsky  model  with  3-­‐D  filter homogeneousDynSmagor insky Homogeneous  dynamic  Smagorinsky  model dynLagragian Lagrangian  two  equaRon  eddy-­‐viscosity  model scaleSimilarity Scale  similarity  model mixedSmagorinsky Mixed  Smagorinsky  /  scale  similarity  model homogeneousDynOneEqE ddy One  EquaRon  Eddy  Viscosity  Model  for  incompressible   flows laminar Simply  returns  laminar  properRes kOmegaSSTSAS k-­‐ω  SST  scale  adapRve  simulaRon  (SAS)  model
  • 13. OpenFOAMでの標準SGSモデル Library  name Note oneEqEddy k-­‐equaRon  eddy-­‐viscosity  model dynOneEqEddy Dynamic  k-­‐equaRon  eddy-­‐viscosity  model spectEddyVisc Spectral  eddy  viscosity  model LRDDiffStress LRR  differenRal  stress  model DeardorffDiffStress Deardorff  differenRal  stress  model SpalartAllmaras Spalart-­‐Allmaras  model SpalartAllmarasDDES Spalart-­‐Allmaras  delayed  detached  eddy  simulaRon   (DDES)  model SpalartAllmarasIDDES Spalart-­‐Allmaras  improved  DDES  (IDDES)  model vanDriestDelta   Simple  cube-­‐root  of  cell  volume  delta  used  in   incompressible  LES  models
  • 15. テンソル •  ランク  0:  ‘スカラー’,  例:体積 V,  圧力 p.   •  ランク  1:  ‘ベクトル’,  例:速度ベクトル u,  面ベ クトル S.  表記:  a  =  ai  =  (a1,  a2,  a3).   •  ランク  2:  ‘テンソル’,  例 ひずみ速度テンソル Sij,  回転テンソル Ωij.            表記:       T = Tij = T11 T12 T13 T21 T22 T23 T31 T32 T33 ! " # # # $ % & & &
  • 16. 対称/非対称テンソル •  速度勾配テンソルはひずみ速度テンソル(対 称テンソル)と渦度テンソル(非対称テンソル) に分解できる.     •  乱流モデリングでは, Sij  と Ωij  がよく用いられ る. Dij = ∂ui ∂xj , Sij = 1 2 ∂ui ∂xj + ∂uj ∂xi " # $$ % & '', Ωij = 1 2 ∂ui ∂xj − ∂uj ∂xi " # $$ % & '' Dij = Sij +Ωij
  • 17. テンソルに対する数学操作 T = 1 2 (T+ TT )+ 1 2 (T− TT ) = symmT+skewT, trT = T11 +T22 +T33, diagT = (T11,T22,T33), T = T− 1 3 (trT)I+ 1 3 (trT)I = devT+ hydT, detT = T11 T12 T13 T21 T22 T23 T31 T32 T33
  • 18. OpenFOAMのテンソルクラス 演算 数学表記 クラス 加算 a  +  b a  +  b 引算 a  –  b a  –  b スカラー乗算 sa s  *  a スカラー割り算 a  /  s a  /  s 外積 a  b a  *  b 内積 a  ·∙  b a  &  b 二重内積 a  :  b a  &&  b クロス積 a  ×  b a  ^  b 平方 a2 sqr(a) 絶対値平方 |a|2 magSqr(a) 絶対値 |a| mag(a) べき乗 an pow(a,  n)
  • 19. OpenFOAM  tensor  classes Opera2on Mathema2cal Class 転置 TT T.T() 対角 diag  T diag(T) トレース tr  T tr(T) 偏差成分 dev  T dev(T) 対称成分 symm  T symm(T) 非対称成分 skew  T skew(T) 行列式 det  T det(T) 余因子 cof  T cof(T) 逆行列 inv  T inv(T)
  • 21. 非圧縮LESの基礎方程式 •  連続の式・ナビエストークス方程式            ここで、 ∂ui ∂xi = 0, ∂ui ∂t +uj ∂ui ∂xj = − 1 ρ ∂p ∂xi + ∂ ∂xi (−τij + 2νSij ) τij = uiuj −uiuj
  • 22. SGS渦粘性モデル •  乱流エネルギーの分解   •  GS乱流エネルギー kGSの輸送方程式   •  SGS乱流エネルギー kSGSの輸送方程式   ∂kGS ∂t +uj ∂kGS ∂xj = τijSij −εGS + ∂ ∂xi −uiτij − puj ρ +ν ∂kGS ∂xj # $ %% & ' (( k = 1 2 ukuk = 1 2 ukuk + 1 2 (ukuk −ukuk ) kGS kSGS ∂kSGS ∂t +uj ∂kSGS ∂xj = −τijSij −εSGS + ∂ ∂xi uiτij − 1 2 (uiuiuj +uj uiui )− puj − puj ρ +ν ∂kSGS ∂xj # $ % % & ' ( (
  • 23. Smagorinskyモデル •  SGS生成速度とSGSエネルギー散逸の局所平 衡仮定:   •  渦粘性近似:   •  次元解析・スケーリングにより,   εSGS ≡ν ∂ui ∂xj ∂ui ∂uj −ν ∂ui ∂xj ∂ui ∂xj $ % && ' ( )) = −τijSij τij a = −2vSGS Sij νSGS = (CS Δ)2 | S |, | S |= 2SijSij , CS : Smagorinsky定数
  • 24. WALEモデル •  平方速度勾配テンソルのトレースフリー対称部分:     •  WALEモデルでの渦粘性:   Sij d = 1 2 (Dij 2 + Dji 2 )− 1 3 δijDkk 2 = SikSkj +ΩikΩkj − 1 3 δij SmnSmn −ΩmnΩmn #$ %& Sij d Sij d = 1 6 (S2 S2 +Ω2 Ω2 )+ 2 3 S2 Ω2 + 2IVSΩ, S2 = SijSij, Ω2 = ΩijΩij, IVSΩ = SikSkjΩjlΩli νSGS = (CwΔ)2 (Sij d Sij d )3/ 2 (SijSij )5/ 2 + (Sij d Sij d )5/ 4 (Nicoud  and  Ducros,  1999)
  • 25. WALEモデルのパラメータ Field  a Field  b Field  c Field  d Field  e Field  f Cw 2/Cs 2 10.81 10.52 10.84 10.55 10.70 11.27 If CS = 0.18, 0.55 ≤ CW ≤ 0.6. If CS = 0.1, 0.32 ≤ CW ≤ 0.34. モデルパラメータCwは  Smagorinsky定数CSに依存 するので,流れ場によって変更する必要がある. (Nicoud  and  Ducros,  1999)
  • 26. WALEモデルのソースコード •  V&V委員会,  オープンCAE学会            hops://github.com/opencae/VandV/tree/master/ OpenFOAM/2.2.x/src/libraries/incompressibleWALE     •  OpenFOAM-­‐dev            hops://github.com/OpenFOAM/OpenFOAM-­‐dev/tree/ master/src/TurbulenceModels/turbulenceModels/LES/WALE    
  • 27. ダウンロード,コンパイル $  mkdir  –p  $FOAM_RUN   $  cd   $  git  clone  https://github.com/opencae/VandV   $  cd  VandV/OpenFOAM/OpenFOAM-­‐BenchmarkTest/ channelReTau110   $  cp  –r  src  $FOAM_RUN/..   $  run   $  cd  ../src/libraries/incompressibleWALE   $  wmake  libso   $  ls  $FOAM_USER_LIBBIN   1.  WALEモデルのソースコードをオープンCAE学会のV&Vレポジ トリよりダウンロードし,コンパイルする。
  • 28. チェネル流れ計算 $  run   $  cp  –r  $FOAM_TUTORIALS/incompressible/pimpleFoam/ channel395/  ./ReTau395WALE   $  cd  ReTau395WALE   2.  Reτ  =  395のチャネル流れのチュートリアルケースを自分の runディレクトリにコピーする. 3.  constant/LESProperRes  と  system/controlDict  を編集する. $  gedit  constant/LESProperties   LESModel                WALE;   printCoeffs          on;   delta                      cubeRootVol;   ...
  • 29. チャネル流れの計算 $  gedit  system/controlDict ...   libs  ("libincompressibleWALE.so");   この1行は新しいWALEモデルライブラリをソルバーで利用する ために必要. $  ./Allrun   4.  その他の解析条件・パラメータを確認後,ソルバーを実行す る. 5.  計算が正常に終了したら,ログを確認し,ParaViewで流れ 場を可視化してみる.また,postChannelで生成されたプロ ファイルをプロットしてみる.
  • 30. Reτ  =  110でのチャネル流れの計算 $  run   $  cp  –r  ~/VandV/OpenFOAM/OpenFOAM-­‐BenchmarkTest/ channelReTau110/template  $FOAM_RUN/ReTau110WALE   $  cd  ReTau110WALE   $  gedit  caseSettings   6.  V&V委員会で提供されているテストケースを利用する場合 は,templateケースをコピーし,設定を編集する. controlDict   {      deltaT                    0.002;      endTime                  0.022;      libs                        "libincompressibleWALE.so";   }  
  • 31. Reτ  =  110でのチャネル流れの計算 turbulenceProperties   {      simulationType  LESModel;   }     LESProperties   {      LESModel  WALE;      delta  cubeRootVol;   }   オリジナルの  caseSepngs  は大規模計算環境でのDNS用なので, blockMeshDictやdecomposeParDictのパラメータを変更したほう がよい.
  • 32. Reτ  =  110  でのチャネル流れの計算 $  ./Allrun   7.  その他の解析条件やパラメータを確認後,ソルバーを実行 する. 8.  If  the  solver  calculaRon  is  normally  finished,  you  check  the   logs  and  visualize  the  flow  field  with  ParaView.  If  the   integraRon  Rme  is  not  sufficient  for  the  flow  field  to  become   fully  developed  state,  run  longer  simulaRons.
  • 34. SGSモデルのオリジナルソースコード $  src   $  cd  turbulenceModels/incompressible/LES/   $  ls   1.  SGSモデルのオリジナルコードを確認する. 2.  Smagorinskyのコードを見てみる.   $  gedit  Smagorinsky/Smagorinsky.*   3.  比較のために,ダイナミックモデルのコードも見てみる.   $  ls  *[Dd]yn*   4.  関連するコードの構造や書き方を比較してみる  (*.C  and   *.H).  
  • 35. Private  member  funcRons:   updateSubGridScaleFields     void  Smagorinsky::updateSubGridScaleFields   (const  volTensorField&  gradU)   {      nuSgs_  =  ck_*delta()*sqrt(k(gradU));          nuSgs_.correctBoundaryConditions();    }   void  dynLagrangian::updateSubGridScaleFields   (const  tmp<volTensorField>&  gradU)   {      nuSgs_  =  (flm_/fmm_)*sqr(delta())*mag(dev(symm(gradU)));          nuSgs_.correctBoundaryConditions();    }   void  dynOneEqEddy::updateSubGridScaleFields   (      const  volSymmTensorField&  D,          const  volScalarField&  KK    )   {      nuSgs_  =  ck(D,  KK)*sqrt(k_)*delta();          nuSgs_.correctBoundaryConditions();    }   Smagorinsky.C dynLagrangian.C dynOneEqEddy.C
  • 36. コードによる定式化の理解 •  コヒーレント構造スマゴリンスキーモデル(CSM)にはどのよう な計算,演算,変数が必要か調べてみる.関連するコードを 見ながらモデルの定式化・実装を理解する.   •  CSMモデルでは,速度勾配テンソルの第二不変量Qが用いら れる:            ここで,   € Q = 1 2 ΩijΩij − SijSij( )= − 1 2 ∂uj ∂xi ∂ui ∂xj Sij = 1 2 ∂ui ∂xj + ∂uj ∂xi # $ %% & ' ((, Ωij = 1 2 ∂ui ∂xj − ∂uj ∂xi # $ %% & ' ((
  • 37. 非回転流でのコヒーレント構造   スマゴリンスキーモデル(NRCSM) •  渦粘性近似を用いたスマゴリンスキーモデル  (SM)     •  モデル定数 C  は以下の様に定義される.    ここで,    また,                NRCSMモデルは回転流れには不適当である.     € C = C1 | FCS |3/ 2 € C1 = 1 20 , FCS = Q E € τij a = −2CΔ2 | S | Sij (τij a = −2νt Sij, νt = CΔ2 | S |) E = 1 2 ΩijΩij + SijSij( )= 1 2 ∂ui ∂xj $ % && ' ( )) 2
  • 38. コヒーレント構造スマゴリンスキーモデル  (CSM) •  渦粘性近似を用いたスマゴリンスキーモデル  (SM)     •  モデル定数 C  は以下の様に定義される.    ここで,    また,        CSMモデルは回転流れに対しても適用できる.   € C = C2 | FCS |3/ 2 FΩ € C2 = 1 22 , FCS = Q E , FΩ =1− FCS € τij a = −2CΔ2 | S | Sij (τij a = −2νt Sij, νt = CΔ2 | S |) E = 1 2 ΩijΩij + SijSij( )= 1 2 ∂ui ∂xj $ % && ' ( )) 2
  • 39. 新しいライブラリ作成の準備 $  run   $  cd  ../src/libraries   $  cp  -­‐r  incompressibleWALE/WALE/  ./NRCSM   $  cp  –r  incompressibleWALE/Make  ./NRCSM   $  cd  NRCSM   $  rename  WALE  NRCSM  *   $  rm  –r  NRCSM.dep   $  rm  –rf  Make/linux64Gcc47DPOpt   $  gedit  Make/files   1.  WALEモデルのコードをコピーしてコンパイルする. NRCSM.C   LIB  =  $(FOAM_USER_LIBBIN)/libNRCSM   $  sed  –i  ‘s/WALE/NRCSM/g’  NRCSM.C     $  sed  –i  ‘s/WALE/NRCSM/g’  NRCSM.H  
  • 40. 新しいライブラリ作成の準備 $  wmake  libso   $  ls  $FOAM_USER_LIBBIN   名前を変更してコンパイルしたライブラリ  (libNRCSM.so)を見つ けたら,新しいNRCSMモデルライブラリの準備が完了.     2.   Q項・E項を計算するためのコードは,postProcessingユーティ リティで理解できる.           Qの計算方法は,(1)速度勾配テンソルを用いる,  (2)SS項とΩΩ 項を用いる,の2通りがある. $  util   $  cd  postProcessing/velocityField/Q   $  gedit  Q.C  &  
  • 41. モデル定数C1の導入 $  run   $  cd  ../src/libraries/NRCSM/   $  gedit  NRCSM.C  NRCSM.H   3.  すべての‘cw’  を  ‘c1’  に置換し(gedit  または  sed),値を  0.05   に変更する.          c1_          (                  dimensioned<scalar>::lookupOrAddToDict                  (                          "c1",                          coeffDict_,                          0.05                  )          )   NRCSM.C   $  wmake  libso  
  • 42. Q  と E  の計算 4.  NRCSM.Cで,Q  と E  の計算を適当な箇所に挿入する  (Q.Cか ら該当する部分をコピー&ペースト).  保存&コンパイルする.   volScalarField  Q   (    0.5*(sqr(tr(gradU))  -­‐  tr(((gradU)&(gradU))))   );   volScalarField  E   (    0.5*(gradU  &&  gradU)   );   NRCSM.C   $  gedit  NRCSM.C   $  wmake  libso  
  • 43. FCS  と C  の計算 5.  NRCSM.C  で,FCS  と C  (渦粘性モデル定数)の計算部分を追 加する.  保存&コンパイルする.   volScalarField  Fcs   (    Q/ max(E,dimensionedScalar("SMALL",E.dimensions(),SMALL))   );   volScalarField  ccsm_   (        c1_*pow(mag(Fcs),1.5)   );   NRCSM.C   $  gedit  NRCSM.C   $  wmake  libso  
  • 44. νSGS  の計算 6.  NRCSM.C  で,nuSGS_  の計算を修正する.  ダイナミックモデル での updateSubGridScaleFields  関数も参考にしてみる.   nuSgs_  =  ccsm_*sqr(delta())*mag(dev(symm(gradU)));   NRCSM.C   保存&コンパイルする.   $  wmake  libso   7.  最後に,必要の無い計算部分をコメントアウト  or  削除する (WALEモデル計算部分).  保存&コンパイルする.   $  wmake  libso   $  gedit  NRCSM.C  
  • 45. kSGS  の計算 //-­‐  Return  SGS  kinetic  energy   //    calculated  from  the  given  velocity  gradient   tmp<volScalarField>  k(const  tmp<volTensorField>&  gradU)  const   {    return  (2.0*c1_/ce_)*sqr(delta())*magSqr(dev(symm(gradU)));   }   NRCSM.H   8.  kSGS  の計算は正しくないが,kSGS  の値はNRCSMモデルを用い たLESでは必要としない.  もし,適切な kSGSの値が必要ならば, オリジナルの論文(Kobayashi,PoF,  2005)を参照.  
  • 46. チャネル流れを用いた検証 $  run   $  cp  –r  $FOAM_TUTORIALS/incompressible/pimpleFoam/ channel395/  ./ReTau395NRCSM   $  cd  ReTau395NRCSM   9.   Reτ  =  395のチャネル流れチュートリアルを自分のrunディレ クトリにコピーする. 10. constant/LESProperRes  と  system/controlDict  を編集する. $  gedit  constant/LESProperties   LESModel                NRCSM;   printCoeffs          on;   delta                      cubeRootVol;   ...
  • 47. チャネル流れを用いた検証 $  gedit  system/controlDict ...   libs  ("libNRCSM.so");   この1行は新しいNRCSM  ライブラリをソルバー実行時に呼び出すために必要. $  ./Allrun   11. その他の解析条件とパラメータを確認し,ソルバーを実行す る. 5.  計算が正常に終了したら,ログを確認し,ParaViewで流れ 場を可視化してみる.また,postChannelで生成されたプロ ファイルをプロットしてみる.
  • 48. 自習課題 1.  openfoam-­‐devで提供されているWALEモデルをコン パイル・テストしてみる.Makeディレクトリを自分で 用意する必要がある.   2.  CSMモデルの実装.  FΩ  項と係数 C2  を追加する.   3.  Q  項・ E  項を SS  項・ ΩΩ  項で計算してみる.  演習2 の解と比較してみる.   4.  カスタマイズしたモデルを,その他の流れ(円管, バックステップ,円柱,回転流,など)で検証してみ る.  
  • 49. References •  OpenFOAM  User  Guide   •  OpenFOAM  Programmer’s  Guide   •  梶島,  乱流の数値シミュレーション 改訂版,  養賢堂  (2014).   •  P.  R.  Spalart  et  al.,  “Comments  on  the  Feasibility  of  LES  for   Wings,  and  on  a  Hybrid  RANS/LES  Approach”,  1st  ASOSR   CONFERENCE  on  DNS/LES  (1997).   •  P.  R.  Spalart,  “Young-­‐Person’s  Guide  to  Detached-­‐Eddy   SimulaRon  Grids”,  NASA  CR-­‐2001-­‐211032  (2001).   •  F.  Nicoud  and  F.  Ducros,  “Subgrid-­‐scale  modelling  based  on   the  square  of  velocity  gradient  tensor”,  Flow,  Turbulence  and   CombusRon,  62,  pp.183-­‐200  (1999).  
  • 50. References •  小林,  “乱流構造に基づくサブグリッドスケールモデルの開 発”,  ながれ,  29,  pp.157-­‐160  (2010).   •  H.  Kobayashi,  “The  subgrid-­‐scale  models  based  on  coherent   structures  for  rotaRng  homogeneous  turbulence  and   turbulent  channel  flow”,  Phys.  Fluids,  17,  045104  (2005).   •  H.  Kobayashi,  F.  Ham  and  X.  Wu,  “ApplicaRon  of  a  local  SGS   model  based  on  coherent  structures  to  complex  geometries”,   Int.  J.  Heat  Fluid  Flow,  29,  pp.640-­‐653  (2008).