工学系大学院生のブログ

2人の大学院生による雑記ブログ

カテゴリー: 数値解析

第13-A回 一般座標系におけるMUSCL法[julia]

第13回では、乱流の数値解析としてLESを行いました。 乱流は、速度差が生じたときに粘性を生じさせる現象になります。 粘性が働くということは数値解は鈍ります。 そのため、空間一次精度の風上差分等を適用すると、数値粘性が大きく、乱流の渦が平滑化され潰れてしまいます。 そのため、第13回では、一般座標系に対しMUSCL法により高次精度化を行っています。 デカルト座標におけるmuscl法は、以前に基本から紹介しているのでよかったらご覧ください。 流速制限関数は同様のminmod関数を使用します。 ということで、ここでは基礎の説明をせず、二次精度の計算手法についてのみ紹介します。 \begin{align}q^{L} _{i+1/2} &= q_{i} + .....

第13-4回 乱流粘性(y+,壁関数)[julia]

*第13-5回にコードはあります。 前回はSmagorinskyモデルを用いて、SGS応力項等をモデル化しました。 しかし、速度0の境界条件すなわち滑りなし壁条件を課した場合は、SGS応力項等は0にならなければいけません。加えて壁近傍の渦粘性を小さくしなければいけません。 そこで、乱流渦粘性係数に減衰関数\(f(y^{+})\)を乗じます。 \begin{eqnarray}\nu_{sgs} = (C_S \Delta f(y^{+}) )^2 |\tilde{S}|\end{eqnarray} この減衰関数は、壁面近傍では\(f(y^{+})=0\)に漸近し、離れれば\(f(y^{+})=1\)に漸近する関数になります。 具体的には、下記のVan Drie.....

第13-3回 Smagorinsky モデル[julia]

*第13-5回にコードがあります。 前回はLESを考慮した支配方程式を導出しました。 支配方程式を解くうえで必要な、下記三つの値に関してモデル化していきます。 \begin{eqnarray}\tau_{ij} = \bar{\rho} (\widetilde{u_{i} u_{j}} – \tilde{u_{i}}\tilde{u_{j}})\end{eqnarray} \begin{eqnarray}C_{p} Q_{j} + J_{j} = (\overline{\rho u_{j} E} – \bar{\rho} \tilde{u}_{j} \tilde{E}) + (\overline{u_{j} p} – \t.....

第13-5回 乱流解析(LES)[julia]

第13-5回では、今までのまとめとしてLES解析を実施していきます。コードは下記にありますが、解析結果はもう少々お待ちください。 二次元のLESコードは下記に記載しています。一つ目は全体のファイルで、二つ目は乱流を粘性項に追加している部分になります。 https://github.com/hide-dog/general_2d_NS_LES https://github.com/hide-dog/general_2d_NS_LES/blob/main/src_muscl/viscos_pturb.jl LES解析では、渦の分だけ粘性として効いてきます。そのため、移流項スキームの数値粘性が大きいと乱流効果がつぶれてしまいます。 このことから、一般座標系における.....

第13-2回 Large eddy simulationにおける圧縮性NS方程式[julia]

*第13-5回にコードがあります。 今回はLESにおける支配方程式を導出します。 添え字や用語として下記の二つを使用します。 GS : Grid scaleSGS : Sub-Grid scale GSは計算格子サイズ以上を指し、SGSは計算格子サイズ未満を指します。 まず、圧縮性NS方程式は下記の通りです。質量保存則、運動量保存則、運動エネルギー保存則の順に記載しています。 \begin{equation}\frac{\partial \rho}{\partial t} + \frac{\partial }{\partial x_j}\left(\rho u_j\right) = 0\end{equation} \begin{equation}\frac{.....