【 掲載プログラム 】 | |
●円柱周りの流れ |
〔円柱周りの流れ〕 | |
これは
C言語欄に載せている「
★流線形物体表面圧力分布」の基礎部分の一部に当てはまります。 一定速度Uの一様流れ内に置かれた半径rの円柱周りの複素速度ポテンシャルは、 f=U(z+r2/z)..(1) と表される。 この時の流れの関数ψは ψ=Im(f)=U(1-r2/(x2+y2))y 流線上ではψは一定であるから、 U(1-r2/(x2+y2))y=C Cは流線上で一定の定数であり、円柱表面上では C=0 、流体中では C>=0 となる。 上式を変形する。g()を関数として、 g(x,y;C)=Uy3-Cy2+U(x2-r2)y-Cx2=0 ...(2) とすれば、C が与えられた時、x を変化させた場合のそれぞれのyの値は、(2)式を y について解く事によって得られる。 ■ニュートン法 (2)式は3次方程式なので、繰り返し計算の得意なコンピュータの特性を生かし、ニュートン法を使った近似計算により、yの値を求める。 ニュートン法は関数f(x)が f(x)=0 という方程式を満たすとき、 xiを処理の第iステップの x の値とし、今、初期値 x0が設定されたとすれば、 x1,x2,..,xnは、 xi+1=xi-f(xi)/f '(xi) (i=0,1,2,..,n-1) で表すことが出来る。ここで f '(x)は微分 df/dx を表す。 nは無限に続くので、 解 x は |xn-xn-1|<=ε (εは十分小さな値) の時のxnとする。 ■g(y)=0 を満たす y の値 以上を参考にf(x)をg(y)に置き換えて(2)式を考える。 g(x,y;C)をyについて微分すれば、 g'=3Uy2-2Cy+U(x2-r2) ニュートン法は yi+1=yi-g(yi)/g'(yi) なので、 yi+1=yi-(Uyi3-Cyi2+U(x2-r2)yi-Cx2)/(3Uyi2-2Cyi+U(x2-r2)) ...(3) これを繰り返す。 なお、初期値は y0=r でよい。 また、収束判定は|yi+1-yi|<=1/10000 とする。 |
プログラムソースリスト | |
[flow03.bas] |
考察 | |
図を見れば流線は円の最も上と下で間隔が最も狭くなっている。その狭さは見た目の通り、一様流れの場所の1/2である。 |
円柱表面の流れの速度ベクトルと圧力分布 | |
円柱周りの流線を描く[flow03.bas]からの発展です。プログラムリスト内に大まかな思考の背景を書いています。まずはリスト及び実行結果をじっくりご覧下さい。 |
〔高度による気圧の変化〕 | |
圧力とは絶対値ではなく、ある基準位置からの |
プログラムリスト | |
[press.bas] |
〔投影図〕 | |
ここで言う投影図とは、等角投影図です。像のサンプルは押しボタンのような形状です。形を関数表現で捕らえ、視線の向き
を実行後に入力する2つの角度、@俯角(ふかく=見下ろす角度)、A垂線(=Z軸)回りの回転角で表し、そのように設定した視点から見える像を描きます。
ワイヤーフレームと呼ばれる描き方を使っています。 |
プログラムリスト | |
リストの210-240行を関数を変えれば、任意の物体を表現できる。 |
〔ライフゲーム〕 | |
ライフゲームとは、シミュレーションの古典です。 |
プログラムリスト | |
[lifegame.bas] (58行) |
〔LCR直列回路過渡応答〕 | |
|
・ | |
(a)第1段階 |
プログラムリスト | |
[ lcr-h.bas ] (80行) |
〔スプライン補間曲線〕 | |
【内 容】 | |
【3次スプライン関数】 | |
n 個の節点 |
式内の c1,d1,bn,dn は任意である。但し、 S(x) が「自然な3次スプライン関数」の時、 |
【LU分解】 | |
LU分解とは、下三角行列 L を |
プログラムリスト | |
[ Spline.bas ] ( 50行 ) |
〔ビリヤード シミュレーション (Billiards Simulater)〕 | |
|
プログラムリスト | |
[ grgame21.bas ] (188行) |
・・・・ | |
1210 H=ABS(A*(X0(I)-X0(K))-G*(Y0(I)-Y0(K)))/SQR(A^2+G^2):' 手玉基点の軌道直線と的玉基点との距離 |
・・・・ | |
1940 *HOLE:'---穴に落ちたかどうか判定する--- |
〔平面パズル33 (Plate Puzzle)〕 | |
◆ 実行ファイルの入手について |
プログラムリスト | |
[ puzzle33.bas ] (77行) |