問題タブ [fluid-dynamics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
150 参照

c++ - VIC メソッドを使用してフロー内のシリンダーをプログラミングする

私はプログラミングの世界ではまだ新しいです。私は VIC (Vortex in Cell) メソッドを使用してフロー パス シリンダーをプログラムする必要がある小さな学校のプロジェクトを持っています。既に VIC 法のプログラムを持っていますが、それをシリンダーに適用する方法がわかりません。プログラムは C++ で書かれており、Visual Studio Express 2013 で実行しました。1 つのセルの結果が得られました。

0 投票する
3 に答える
310 参照

loops - Modelica: シミュレーション中に解に収束するように静的ソルバーをプログラムします。CFDの例

一般的な質問:

私は OpenModelica で Modelica に取り組んでいます。OpenModelica では問題を解決できないと思うので、Modelica で独自のソルバーをプログラムして解に収束させたいと考えています。出来ますか?


特定のケース:

流体力学成分における空気の分離のモデルを開発しました。私のモデルは、コンポーネントの速度とパラメータ「セクション」に応じて、各ブランチの圧力損失係数を提供するデータ テーブルに基づいています。私のモデルは、MassFlow ソースを使用するとうまく機能しますが、Pressure ソースのみを使用するとうまく機能しません。コンポーネントとの接続を理解するには、下の写真を参照してください。

http://www.casimages.com/img.php?i=140620024048704083.png

http://www.casimages.com/img.php?i=140620024137384886.png

私のモデル「分離」のコードは次のとおりです。

このモデルを 3 つの圧力コンポーネント (ソースの場合は Patm +10000Pa、シンクの場合は Patm に設定) に接続すると、「非線形システム」エラーになります。このモデルは、MassFlow シンクとうまく連携します。なんで?それを解決するために独自のソルバーを開発する必要がありますか? はいの場合、どのように?

0 投票する
1 に答える
758 参照

c# - 私の浅い水の実装で奇妙な振動波紋

Unity で浅瀬の方程式を実装しようとしてきましたが、奇妙なバグが発生しました。私は私の水にこれらの奇妙な振動波紋を取得します. スクリーンショットを作成しました:

ここに画像の説明を入力 ここに画像の説明を入力

そして、あなたがここで見つけることができるビデオ: https://www.youtube.com/watch?v=crXLrvETdjA

私のコードは、Xing MeiによるGPU での Fast Hydraulic Erosion Simulation and Visualizationという論文に基づいています。ソルバー コード全体は、http: //pastebin.com/JktpizHW (または以下を参照)で見つけることができます。論文の数式を使用するたびに、その番号をコメントとして追加しました。

0.02 を使用したビデオでは、さまざまなタイムステップを試しましたが、それを下げると振動が遅くなりました。より大きなグリッドも試しました (ビデオでは 100 を使用していますが、200 を使用しましたが、波紋が小さくなりました)。すべての式を数回確認しましたが、エラーは見つかりませんでした。

何がうまくいかないのか理解できる人はいますか?

追加情報:

ペーストビンからわかるように、C# でプログラムしました。視覚化のエンジンとして Unity を使用し、水を視覚化するためにグリッド メッシュを使用しているだけです。メッシュの頂点 y コンポーネントを変更して、計算した高さに一致させます。

DoUpdate メソッドはfloat[][] lowerLayersHeightパラメータを取得します。これは基本的に、水中の地形の高さです。ビデオでは、それだけ0です。

0 投票する
0 に答える
573 参照

matlab - Matlab での流体シミュレーション

patch コマンドを使用してビルドされた Matlab の (垂直) シリンダーがあります。円柱の「レベル」ごとに半径が異なるため、3D プロットは次のように表示されます。

何とか

また、一連の画像を使用して構造の動きをシミュレートしました (各レベルの半径は時間とともに変化します)。

私が今やりたいことは、シリンダーを通過する特定の質量の流体のシミュレーションです。たとえば、最初の画像では流体 (球?) が上に表示され、次の画像では円柱の形状に沿った流体が表示されます。

この問題を単純にシリンダーのファセットに色を付けることで解決しようとしましたが、もっと「油圧のような」ものが必要でした。

どうすればこの問題にアプローチできますか? Matlab環境で流体をどのように処理/モデル化できますか?

任意の提案/ヒントをいただければ幸いです。

0 投票する
1 に答える
185 参照

c++ - C ++での2次元線形対流(セグメンテーション違反)

Lorena Barbara博士のナビエストークス方程式への12のステップ(http://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/)構造に従っていますが、2dの方法がわかりません線形対流。ここにいる誰かがそれを行う方法に精通しているのだろうかと思っていました。以下は私のサンプルコードです:

0 投票する
1 に答える
156 参照

javascript - 粒子ベースの粘弾性流体の表面張力の問題

私は最近、この学術論文をモデル化する JS プログラムに取り組んでいます。私が最近抱えている問題はこれです:

「表面張力は通常、粒子間の引力によって引き起こされます。流体内では、この引力は相殺されますが、表面近くの分子では、隣接分布の非対称性により、流体に向かってゼロではない正味の力が生じます。」

これは倍密度緩和法では自然に起こると思いますが、私のプログラムではその兆候が見られないようです。

以下は、倍密度緩和法からの抜粋です。

0 投票する
1 に答える
443 参照

matlab - 積分として定義された関数: trapz?

x,y の関数 p を計算したい: x と y の別の関数の積分によって定義される p(x,y):

p(x,y) = v(x,y) dx の積分(不定)

pここで、一様なグリッド上で表現する行列がxありy、関数 (行列である必要があります) をどのように構築すればよいでしょうかp

明らかに、 を使用して統合するtrapzと、ベクトルが得られます。

1 1010 10 ではなく 10を与えます。

0 投票する
0 に答える
164 参照

java - 線形ソルバーの実装

Jos Stam の安定流体法を実装するために使用される線形ソルバーの次の実装に出くわしました。

( http://www.multires.caltech.edu/teaching/demos/java/FluidSolver.javaからの実装)

ここで、は配列への単純なインデックス関数であり、x設定する境界条件の単なるフラグです。x0Ib

しかし、このコードが何をしているのか正確にはわかりません。一般に、線形ソルバーは を計算しようとすると考えていxましたAx = b。しかし、このコードにはベクトルはなく、行列だけです。

このコードがどのように機能するか知っている人はいますか? 前処理付き共役勾配法を使用して、より効率的にしようとしています。しかし、ここでのリファレンス実装がわかりません。

0 投票する
0 に答える
6298 参照

matlab - Matlab の円柱周りの流れ場

私はMatlabのさまざまなプロットにかなり慣れていないので、Matlabで円柱の周りの流れ場を表示するコードを書こうとしています. 私はまさに始めたばかりで、まず最初に長方形の領域に円を作りたいだけです(円柱はフィールドの真ん中にあるべきではありません)。

これまでのところ、私はこの設定を行っていますが、特にドメインが正方形ではなく長方形であるため、円柱をより円形にし、楕円形に近づけることができるかどうかを知りたいです。円のポイントは正しいですが、見栄えを良くしたいです。これに関するヒントはありますか?私が現時点で持っているコードは次のとおりです。