層流のなかでも、円管を流れるハーゲンポアズイユ流れの次に、流れに逆らうようにおいた物体に働く影響、今回は円柱に働くケースだ。
3 FlexPDEによるFEM解(数値計算)を11月17日に示しているので、計算に用いたコードについて補足する。まず説明する前にアップしよう。
(1)コード
--------------------------------------------------------------------------------

-----------------------------------------------------------------------------
(2) コードの説明
このブログの趣旨(プログラミングは最小限にしてアプリケーションを有効利用する)から外れるかもしれないが、数値計算の部分をコーディングしなくてもいいと考えればどうだろう。
TITLE文:これまでも記載した通りフリーに書いて構わない。
SELECT文:今回はstagesコマンドを使って、流入口からのx方向流入速度vx0(一様流れ、ベンチマークでは放物線形状)を少しずつ増やして行った。乱流に遷移しない様に慎重に、試行錯誤を重ねた結果だ。
COORDINATES文:今回x-y二次元デカルト座標を用いるので、省略可能である。
VARIABLES文:vx、vyおよびpが未知数である。
DEFINITIONS 文:構成式中の定数や定義を指定する。本問題ではモデル形状(ダクト幅や長さ及び円柱半径r=0.05mなど)と粘度や密度を指定した。またvx0の値を1/100000m/sから0.2m/sまで段階的に分け、stagesコマンドと連携させた。MReは修正レイノルズ数と呼ばれているもので、代表速度は形状内の最大流速値を拾うようになっていて、一定ではない。v=vector(vx, vy)はそのままベクトルにしたもの。vm=magnitude(v)はベクトルvの大きさ。nx=normal(vector(1, 0))は単位ベクトルの法線方向成分を意味している。
NSEQをそのまま表示するとコードが長くなるので、繰り返し計算する箇所を記号化したものである(16aと16b参照)。

8月29日にアップした原稿の(7)式のz座標を削除したものを記載する。

またdel2(vx)はFlexPDE特有のラプラス演算子で以下を表す。

natp式については、最後に説明する。
EQUATIONS文:構成方程式を指定するエリアなので、未知数vxとvyおよびpの3本である。圧力の式は8月29日にアップした式(13)そのままで、dens_termという記号を用いている。
BOUNDARIES文:境界条件を指定するエリアで、valueはディリクレ型、naturalはノイマン型で境界値を与える。境界条件を指定し易くするため形状全体をdomain、ダクト外形をouter、円柱をcylinderで区別した。
pについては、流入口と壁側さらに円柱表面にnatural(p)=natp式を指定。出口側にのみvalueで大気圧(0)を指定している。
vxについては、ダクト流入口にvalue(vx)=vx0(最終的にベンチマーク指定0.2m/sに達する様にstagesコマンドで制御)。そしてダクト壁や円柱表面は滑りなしとしてvalue(vx)=0ゼロを指定。ダクト出口は何かしらの影響があるかもしれないのでnatural(vx)=0とした。
vyについては、ダクト壁や円柱表面は滑りなしとしてvalue(vy)=0を指定。ダクト流入口や出口については、何かしらの影響があるかもしれないのでnatural(vy)=0とした(逆にゼロ指定はしない方がいい)。
PLOTS文:今まで見てきたとおり様々なプロットができるエリアだ。vectorコマンドの後ろにオプションzoomを記載すると、拡大したい箇所を見る事が出来る便利な機能だ。この機能で双子渦がはっきり再現されている。この機能はcontour(p)でも利用できる。
END文:最後はENDでプログラムを閉じる。
(3) natp式の説明
圧力pが既知であればvalue文で指定出来る。しかし流れが存在する場合は他の境界条件を何とか持ってくるしかない。スカラー場pの勾配∇pは外向きの法線ベクトル場と見なす事が出来る。これを使ってみよう(イメージとして図10参照)。

図10 勾配の幾何学的表現
natp式の原型は8月29日にアップした式(6mod)である。圧力項を左辺に持ってくると、

これを利用して、以下の式を考える。

ここで、nは境界の各点において外向きに立てた単位法線ベクトル。
式(19)に作用させると、

さらに具体的に展開していく。

ここで、nx、nyはそれぞれnと座標軸(x-y)とがなす方向余弦を表す。
ここで、先に挙げた式(16aと16b)を用意した理由が明らかになったはずだ。
4 最後に
本来ならFlexPDEと他のアプリケーションとの計算結果比較を目的としていたが、以下のような理由で断念した。Featflowベンチマーク結果との比較に終わった事を残念に思う。
・流体解析ツールはLinux系オープンソースが多い。Linux系のOSでは、インストールそのものに手間が掛かる。
・windowsやmacで、フリーライセンスで使えるものがほとんどない。
・このブログの性格上、プログラミング言語系(Fortrun、Python、C、Pascal)は避けたい。
5 参考図書
(1)境界条件の与え方は河村テキストが役に立った。内容は簡単ではないが、流体解析を目指すなら一読を勧める。
(2)竹内テキストは、FEMの数学的なバックグラウンドとして役立った3。