タグ付けされた質問 「fluid-dynamics」

運動中の流体と気体の特性の研究

17
Python用の高品質な非線形プログラミングソルバーはありますか?
解決すべきいくつかの挑戦的な非凸のグローバル最適化問題があります。現在、MATLABのOptimization Toolbox(特にfmincon()algorithm ='sqp'を使用)を使用していますが、これは非常に効果的です。ただし、私のコードのほとんどはPythonで作成されているため、Pythonでも最適化を行いたいと考えています。競合できるPythonバインディングを備えたNLPソルバーはありfmincon()ますか?ちがいない 非線形等式および不等式の制約を処理できる ユーザーがヤコビアンを提供する必要はありません。 グローバルな最適化を保証していなくても構いません(保証fmincon()しません)。私は、困難な問題や、それよりもわずかに遅い場合でも、ローカル最適にロバストに収束するものを探していfmincon()ます。 OpenOptで利用できるソルバーをいくつか試しましたが、MATLABのソルバーより劣っていfmincon/sqpます。 強調するために、私はすでに扱いやすい定式化と優れたソルバーを持っています。私の目標は、ワークフローをより合理化するために、単に言語を変更することです。 Geoffは、問題のいくつかの特性が関連している可能性があると指摘しています。彼らです: 10-400の決定変数 4〜100の多項式等式制約(1〜8の範囲の多項式次数) 決定変数の数の約2倍に等しい合理的な不等式制約の数 目的関数は決定変数の1つです 不等式制約のヤコビアンと同様に、等式制約のヤコビアンは密です。

4
PDEを解くときに、局所保存が重要なのはなぜですか?
エンジニアは、PDEを解くために、有限体積、保守的有限差分、不連続ガラーキン法などの局所的に保守的な方法を使用することをしばしば主張します。 ローカルで保守的でない方法を使用すると、何が問題になる可能性がありますか? さて、局所保存は双曲線PDEにとって重要ですが、楕円PDEについてはどうですか?


2
連続方程式の良い有限差分
次の方程式の優れた差分離散化は何でしょうか: ∂ρ∂t+ ∇ ⋅ (ρ U ) = 0∂ρ∂t+∇⋅(ρu)=0\frac{\partial \rho}{\partial t} + \nabla \cdot \left(\rho u\right)=0? 1Dケースを使用できます。 ∂ρ∂t+ ddバツ(ρ U ) = 0∂ρ∂t+ddx(ρu)=0\frac{\partial \rho}{\partial t} + \frac{d}{dx}\left(\rho u\right)=0 何らかの理由で、私が見つけることができるすべてのスキームは、ラグランジアン座標での定式化です。とりあえずこのスキームを思いつきました(jインデックスは無視してください): ρn + 1私、j- ρn私、jτ+ 1hバツ(ρn + 1i + 1 、j+ ρn + 1私、j2あなたはnバツI + 1 / 2で、J- ρn + 1私、j+ ρn …

6
OpenFOAM for CFDの使用を開始する方法
CFDの基本的な内部フローを解決するためにOpenFOAMを使用することを検討しています。始めるための最良の方法は何ですか?また、誰かが私が飛び込んだ後に私が持っているかもしれない質問で行くために良いオンライン参照を私に指し示すことができますか?今のところそれはかなりニッチであり、多くのソルバー関数はそれほど文書化されていないと聞いています。パッケージ自体に付属しているドキュメントは明らかに出発点ですが、サードパーティのリファレンス(OpenFOAM wikiのようなもの)はありますか?

4
PDEシミュレーションを通して物理量を確実に維持できる方法はどれですか?
圧力、密度、エネルギー、温度、濃度などの物理量は常に正である必要がありますが、数値プロセスでは解法プロセス中に負の値が計算される場合があります。方程式は複雑な値または無限値を計算するため(通常はコードがクラッシュするため)、これは大丈夫ではありません。これらの量が正の値を維持することを保証するために、どの数値法を使用できますか?これらの方法のどれが最も効率的ですか?

2
不連続ガラーキン:節点とモードの長所と短所
不連続ガラーキン法で解を表す一般的なアプローチには、ノードとモーダルの2つがあります。 モーダル:解は、モーダル係数の和に多項式のセットを掛けたもので表されます。たとえば、ここで、ϕ iu (x 、t )= ∑Ni = 1あなたは私(t )ϕ私(x )あなたは(バツ、t)=∑私=1Nあなたは私(t)ϕ私(バツ)u(x,t) = \sum_{i=1}^N u_i(t) \phi_i(x)ϕ私ϕ私\phi_iは通常、直交多項式、たとえばルジャンドル。この利点の1つは、直交多項式が対角質量行列を生成することです。 節点:セルは、ソリューションが定義される複数のノードで構成されます。セルの再構築は、補間多項式のフィッティングに基づきます。たとえば、ここで、l iはラグランジュ多項式です。この利点の1つは、ノードを直交点に配置して積分をすばやく評価できることです。u (x 、t )= ∑Ni = 1あなたは私(x 、t )l私(x )あなたは(バツ、t)=∑私=1Nあなたは私(バツ、t)l私(バツ)u(x,t) = \sum_{i=1}^N u_i(x,t) l_i(x)l私l私l_i 大規模の文脈では、複合( - 10 910610610^610910910^9のDOF)3Dは、柔軟性、実装の明瞭さ、および効率の目標と構造化/非構造化並列アプリケーションを混合し、各方法の比較長所と短所は何ですか? すでに優れた文献が存在していると確信しているので、誰かが私にも素晴らしいものを教えてくれるとしたら。

2
CFDシミュレーションの一般的な離散化スキームの欠点
先日、私の計算流体力学のインストラクターは欠席し、彼は彼の代わりに博士号の候補者を送りました。彼が行った講義で、彼は、流体シミュレーションのさまざまな離散化スキームに関連するいくつかの欠点を示しているように見えました。 有限差分法: 保存を満たし、不規則な形状に適用することは困難です 有限体積法: エッジおよび1次元の物理に向かって偏る傾向があります。 有限要素法: FEMを使用して双曲線方程式を解くことは困難です。 不連続ガラーキン: それはすべての世界の中で最高(そして最悪)です。 変動分割: それらはまだ広く適用されていません。 講義の後、私は彼にどこでこの情報を入手したのか尋ねましたが、彼はソースを特定しませんでした。私はまた、DGが「すべての世界で最高の最悪」であることによって彼が何を意味するのかを彼に明らかにさせようとしましたが、明確な答えを得ることができませんでした。私は彼が彼自身の経験からこれらの結論に達したと仮定することができます。 私自身の経験から、FDMは不規則な形状に適用するのが難しいという最初の主張しか検証できません。他のすべてのクレームについては、それらを検証するのに十分な経験がありません。これらの「デメリット」が一般的なCFDシミュレーションにとってどれほど正確であるか興味があります。

5
優れた使いやすい高品質のオープンソースCFDソルバーはありますか?
私の論文は、燃焼のモデル削減のための数値的手法の開発です。私は燃焼シミュレーションの化学部分で純粋にメソッドを実行し、0-Dシミュレーション(フローなし)のケーススタディをたくさん持っています。私が望んでいるのは、フローを含むシミュレーション、できれば2次元または3次元シミュレーションを実行することです。 計算要件が高いため、これらのシミュレーションは並行する必要があります。また、ChemkinやCanteraなどの化学ソルバーとインターフェイスできるものが必要です。これにはソースコードがあります。(ChemkinはFortran 77にあり、CanteraはC ++にあります。) 理想的なケースでは、私のgradプログラムといくつかのCFDパッケージから得た流体力学の基本的な知識を使用してフローパターンを指定し、ケミストリーを追加して実行できます。必要に応じて、以前の共同研究者が使用した実験セットアップに基づいた単純なケーススタディのために、流体の動きと化学を支配する方程式を設定できますが、それを非常に簡単にするパッケージ。2〜3週間は喜んで使用します。この要件がPETScまたはTrilinosを除外するかどうかはわかりません。これ以上費やさなければならない場合は、ケーススタディ用のCFDコードを提供する共同作業者がいるので、後まで延期します。 CFDパッケージを使用したり、CFDコードを記述した経験がある人はいますか?私が使用したいと思うことの1つはStrang splittingですが、私はCFDやPDEの専門家ではありません。モデル縮小のための化学と数値的方法を研究しています。また、推奨ソフトウェアを使用して速度を上げるのにかかった時間についてコメントしてください。 @FrenchKheldarは、私が解決したい問題の特徴に言及するべきであるということを指摘しています。 理想的な(完全な)ガス、単相 圧縮性 層流が不可欠です。乱流はプラスです。(CFDでの数値手法の以前の研究からの乱流については少し知っていますが、CFDソルバーの仕事はしていません。物理については少しだけ知っています。) ゼロマッハ数の公式は大丈夫です(衝撃や超音速の流れは気にしません) 燃焼化学、SoretおよびDufourフラックスを無視し、拡散をFickianとして扱う ジオメトリは単純なものにすることができます インターフェースコードを書くことはできますが、書く必要が少ないほど良いです。@FrenchKheldarは、CanteraにはFortranとPythonのバインディングがあることも指摘しています。私は現在、ラピッドプロトタイピングのためにCantera Pythonバインディングを使用しているので、それらにも満足しています。

3

2
(方法)より高速に実行されるシミュレーションを作成しますか?
私はすべての割り当てをCFDで行うためのプログラミング言語としてpythonを使い始めました。プログラミングの経験はほとんどありません。私は機械工学の経験があり、航空宇宙工学の高等教育を追求しています。 CFDの計算面は、方程式を操作したり、数学を実行したりするよりも面倒になります。 プログラムの実行を高速化する一般的なガイドラインは何ですか?物事を並行して行うコツは何ですか?より高速に実行されるコードを記述する方法は? 上記の質問に答えるリソース(私のような素人にとって理解しやすい)はどこで入手できますか?


4
植物の根の構造を表すランダムな3Dドメインを作成する方法は?
植物の根から茎までの層流をモデル化したいと思います。根元の一番端では、チューブの直径と長さはミリメートルからセンチメートルまでさまざまです。茎に近づくと、根の長さと直径が大きくなります。直径と長さが異なる根のネットワークを表すランダムな3Dドメインを作成したい。このジオメトリを作成する最良の方法は何でしょうか。

1
ラグランジュ乗数としての圧力
非圧縮性ナビエ・ストークス方程式で、 圧力の項は、非圧縮性条件を強制するラグランジュ乗数と呼ばれることがよくあります。ρ(ut+(u⋅∇)u)∇⋅u=−∇p+μΔu+f=0ρ(ut+(u⋅∇)u)=−∇p+μΔu+f∇⋅u=0\begin{align*} \rho\left(\mathbf{u}_t + (\mathbf{u} \cdot \nabla)\mathbf{u}\right) &= - \nabla p + \mu\Delta\mathbf{u} + \mathbf{f}\\ \nabla\cdot\mathbf{u} &= 0 \end{align*} これはどのような意味で本当ですか?非圧縮性の制約を受ける最適化問題として、非圧縮性のナビエ・ストークス方程式の定式化はありますか?もしそうなら、非圧縮性流体流の方程式が最適化フレームワーク内で解かれる数値的類似物はありますか?

1
ディリクレノイマン境界条件解が不安定になる-圧力補正法
レイノルズ数が500のシリンダー上の非圧縮性の流れをシミュレートしています。圧力補正法を使用してナビエストークス方程式を解いています。一定の時間(約5秒)が経過すると、ソリューションが不安定になります。 メッシュ、ステップサイズ(0.05)を改良しようとしました(暗黙的な方法を使用している場合でも、CFL <1を確認してください) 私の境界条件、メッシュ、不安定な結果は添付の図に示されています。ドメインは、シリンダーの直径の約25倍です。 私はこの問題Oグリッド(ほとんどすぐに不安定になった)のシミュレーションを試みました。 次のリンクには、境界条件と結果の写真が含まれています。 誰もがこの問題について彼らの考え/経験を共有できるならば、私は感謝するでしょう。どうもありがとう。 編集済み: タイプミスの謝罪: 次の境界条件を使用しています。ノイマン境界 ∂あなたは⃗ ∂n− n⃗ p = 0 ;∂あなたは→∂n−n→p=0;\frac{\partial \vec{u}} {\partial n} - \vec{n} p = 0; ディリクレ境界上 あなたは⃗ =あなたバツ= 1あなたは→=あなたはバツ=1 \vec{u} = u_x = 1 編集済み: ディリクレ境界の周囲のノードに速度境界条件を適用しました。また、右上隅と右下隅のノードは、速度1のディリクレ境界です。 その後、シミュレーション結果をさらに詳しく調べたところ、流入/流出ジャンクションで不安定性が入り込み始めていることがわかりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.