VBAで粒子法を勉強中

メッシュレスで数値解析できるという、粒子法に興味を持ち、勉強中です。 プログラムのスキルが無い為、ExcelとVBAでのプログラム作成を目指しています。

【SPH粒子法のプログラムをVBAで作ってみる】 8.一連の計算のまとめと粒子変位の表示

pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; } 一連の計算のまとめと粒子変位の表示 粒子の圧力計算、力の計算、変位の計算までの計算モジュールを記述したので、これをルーチンとしてまとめます。さらに、エクセル上で粒子の位置を表…

【SPH粒子法のプログラムをVBAで作ってみる】 7.各粒子の加速度、速度、変位の計算

pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; } 各粒子の加速度、速度、変位の計算モジュール 各粒子に作用する力と粒子質量から粒子の加速度を求め、さらに重力加速度を加える事で、最終的な粒子加速度を求めます。 但し粒子が壁にめ…

【SPH粒子法のプログラムをVBAで作ってみる】 6.粒子に作用する力の計算

pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; } 粒子に作用する力の計算モジュール 各粒子に作用する力(重力以外)を求めます。力には、圧力によるものと粘性によるものがあります。 圧力は以下の式がベースになっています。 ここで、…

【SPH粒子法のプログラムをVBAで作ってみる】 5.密度と圧力の計算

pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; } 密度と圧力の計算モジュール 各粒子の粒子密度を求めます。粒子密度は、他の粒子との距離rに応じて重み係数Wを乗じたものになります。重み係数はカーネル係数とも呼ばれますが、SPH…

【SPH粒子法のプログラムをVBAで作ってみる】 4.初期設定モジュール

pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; } 初期設定モジュール 各パラメーターの読み込みや、配列の初期化を行うモジュールを記します。 '=========================== '初期化モジュール '=========================== Private S…

【SPH粒子法のプログラムをVBAで作ってみる】 3.パブリック変数と関数の設定

pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; } パブリック変数と関数を設定する 次に、モジュールの記述に先立ち、パブリック変数と関数の宣言をします。先回設定した型を用いています。 '=========================== 'パブリック変…

【SPH粒子法のプログラムをVBAで作ってみる】 2.変数の型の設定

Type構文で変数の型を設定する まず、モジュールの記述に先立ち、専用の型宣言をします。 簡単の為、2次元で考えたいので、2次元のベクトル Vec2D と、粒子が保有するパラメータ Particle を記載します。 '=========================== '型宣言: '========…

【SPH粒子法のプログラムをVBAで作ってみる】 1.プログラムの方針について

今回採用した粒子法 現在、液体をシミュレートする粒子法には大きく2つの手法があり、SPH法とMPS法といいます。 SPH法は圧縮性の流体を、MPS法は非圧縮性の流体をシミュレートするのに用いられています。 現実の流体として水などを考えたとき、より現実を反…

【はじめに】粒子法とは 

粒子法とは 主に流れ解析に用いる数値解析法の一種です 波打つ液体表面の様に、形状が大きく変形する物質の挙動をシミュレートできるのが粒子法です。(上の図は、容器の中で激しく波打っている液体の様子です) 粒子法は現在主流的なシミュレート方法である…