新しく発言する  EXIT  インデックスへ
もっと高速な方法はあるでしょうか?

  もっと高速な方法はあるでしょうか? 島村1243 2007/12/13 14:21:55  (修正1回)
  続き 島村1243 2007/12/13 14:23:05  (修正1回)

Re: もっと高速な方法はあるでしょうか?  返事を書く  ノートメニュー
島村1243 <bjllmpcujp> 2007/12/13 14:23:05 ** この記事は1回修正されてます
続き

!接地導体球と1個の点電荷による静電場の電位分布作図
!等式に基づくドット画像を描く山中氏の方法を利用

OPTION ARITHMETIC complex
LET Xa=-6
LET Xb=-Xa
LET Ya=-6
LET Yb=-Ya

SET WINDOW Xa,Xb,Ya,Yb !描画範囲
DRAW grid
ASK PIXEL SIZE (Xa,Ya; Xb,Yb) a,b !ドット換算
LET c_Div=3 !分解数
LET dx=(Xb-Xa)/a/c_Div !描画範囲内の描画対象となるドット数を得る
LET dy=(Yb-Ya)/b/c_Div
LET cEps=1E-3 !誤差 ※精度が気になる!?
LET j=SQR(-1) !虚数単位

LET r=1 !導体球の半径
LET a1=4 !点電荷のx座標セット
LET a2=r^2/a1 !影像電荷のx座標計算
LET q1=1 !点電荷の大きさセット
LET q2=-r/a1*q1 !影像電荷の大きさ計算

!点電荷の位置に赤丸印を表示
SET AREA COLOR "red"
DRAW disk WITH SCALE(0.1)*SHIFT(a1,0)

!接地導体球の位置に緑丸印を表示
SET AREA COLOR "green"
DRAW disk WITH SCALE(r)*SHIFT(0,0)

SET POINT STYLE 1
FOR wb=0 TO 0.5 STEP 0.02 !等電位幅値の設定
IF wb<=0 THEN
SET POINT COLOR "black"
ELSE
SET POINT COLOR "red"
END IF
FOR k=0 TO c_Div*b-1 !Y座標 ※ドットをもとに
LET y=Ya+dy*k ![Ya,Yb]
FOR i=0 TO c_Div*a-1 !X座標
LET x=Xa+dx*i ![Xa,Xb]
LET z=x+y*j !空間上の点を計算する
IF z<> a1 AND z<>a2 THEN
LET w=q1/ABS(z-a1)+q2/ABS(z-a2) !点zにおける合成電位
IF ABS(w-wb) < cEps THEN PLOT POINTS: x,y !点画
END IF
NEXT i
NEXT k
NEXT wb
END

しかし、
(1)1.7GHzのPCでは作図に長い時間を要する。
(2)ドット表示なので線が粗い。また、誤差1/1000設定でもドット幅が広い部分が生じてしまう。
(3)電気力線分布が得られない。
と言う難点があります。

何か良い解決策は有るでしょうか?

   ├(1)について(処理手順の改良) 山中和義 2007/12/14 08:55:07 
   │├!もったいない、整理すれば、4倍速。 SECOND 2007/12/14 21:34:04 
   ││└確かに速いです。 島村1243 2007/12/14 22:33:52 
   ││ └どっちでしょう? SECOND 2007/12/14 22:50:11  (修正1回)
   │└20秒速くなりました。 島村1243 2007/12/14 22:06:46 
   └(3)について各点での流線 山中和義 2007/12/15 09:43:05 
    ├!等ポテンシャルを色の濃淡で表現する 山中和義 2007/12/15 11:03:55 
    └これを利用すると流れの方向がわかるので、... 山中和義 2007/12/15 20:11:13 
     └とても数理的で良いですね。 島村1243 2007/12/15 23:15:50  (修正1回)
      └接地導体球の作画に問題が有る様 島村1243 2007/12/16 07:37:08 
       └対策案できました。 島村1243 2007/12/16 10:44:04  (修正1回)
        └ポテンシャル関数f(x,y)なら、電位分布は等... 山中和義 2007/12/16 13:56:21 
         └完璧に目的達成です! 島村1243 2007/12/16 19:04:03  (修正1回)
          └プログラムの続き 島村1243 2007/12/16 19:05:45 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。