プロが教える店舗&オフィスのセキュリティ対策術

波動方程式(ρ*∂^2u/∂t^2=T*∂u^2/∂x^2)を差分法で、境界条件をx=0とx=Lで自由条件(T*∂u/∂x=0)とした場合を考えています。
上の波動方程式を差分化すると、
(u[n+1][j]-2*u[n][j]+u[n-1][j])/(dt^2)=(u[n][j+1]-2*u[n][j]+u[n][j-1])/(dx^2)
の形になると思います。(T/ρ=1.0とし、nは時間、jは距離の格子点として考えています)
初期条件は適当な形状を与えます。
両端を固定条件(u[n][0]=0,u[n][xp]=0,)とした場合はうまく解を得ることが出来ました。(xpはx=Lでの格子点)
問題は自由条件(T*∂u/∂x=0)すなわち、
T*(u[n][1]-u[n][0])/dx=0、T*(u[n][xp+1]-u[n][xp])/dx=0
となる場合、これをどのように使用したらよいのでしょうか?
または根本的に考え方が間違っているのでしょうか?
本当に困ってます。よろしくお願いいたします。
内容が不十分の場合は補足要求お願いします。

A 回答 (2件)

下記サイトの



『熱方程式に対する差分法 I --- 区間における熱方程式』

の項目をご覧ください(PDFの資料あり)

卒業研究で取り組んだ例が示されており、わかりやすいです。

1、左で前進差分、右で後退差分を用いる方法
2、仮想格子点を用いる方法

があるそうです。

参考URL:http://www.math.meiji.ac.jp/~mk/labo/text/
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考にさせていただけます。

お礼日時:2002/12/03 00:35

差分法では2点あってはじめて1階の微分が表現できるので、境界で微分値を与えようとすると、定義されていない点の情報が必要になるという問題が


おきます。

これを回避するために、境界では添え字をずらして「流体中の」境界に近い2点を用いて微分値を計算し、それを次の時間ステップで使うのだと思います。
(境界で格子間隔を小さくする必要があります)

私は素人ですので、詳しくはその方面の専門書を参照ください。

この回答への補足

大変遅くなってしまい申し訳ございません。
ご回答ありがとうございます。
えぇ~分かったような分からないようなといった感じなんですが(多分分かってないですが)、単純に
T*(u[n][1]-u[n][0])/dx=0とT*(u[n][xp+1]-u[n][xp])/dx=0 を
u[n][1]=u[n][0]とu[n][xp+1]=u[n][xp]
としてしまってよいのでしょうか?
前式はできないこともないような気がしますが、後式はどうも。。。っという感じがします。

補足日時:2002/12/01 23:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!