• 締切済み

差分法

ラプラス方程式をノイマン境界条件に したがってときたいのですが 下の図のような四角形を考えると 四つ角の境界条件の適用の仕方がわかりません。 本によると、 「1つの点にいくつもの条件を重ねて与えてはいけない  (条件が多すぎて解が存在しなくなってしまう)」 とあります。x,y両方向の境界条件を適用してはいけないのですよね? どのようにすればいいのですか?教えてください。 ●―○―○―○―● |  |  |  |  | ○―○―○―○―○ |  |  |  |  | ○―○―○―○―○ |  |  |  |  | ○―○―○―○―○ |  |  |  |  | ●―○―○―○―● 図1 差分例

  • odag
  • お礼率18% (2/11)

みんなの回答

  • nikorin
  • ベストアンサー率24% (47/191)
回答No.1

同じ点なのに、x軸からみたときとy軸からからみたときとで境界条件が違っていたら、 境界条件の方が矛盾していることにならないでしょうか?

関連するQ&A

  • 差分法

    単振動の運動方程式 x"+x=0 を差分法で解こうと思っています。 おそらく差分方程式は、 (x[n+1]-2x[n]+u[n-1])/dt^2=u[n] で良いと思われるのですが(違ってたら指摘してください)、初期条件 x(t=0)=aとx'(t=0)=b の与え方が良く分かりません。 また、sin(ωt)の強制振動を与えたときの差分方程式はどのようになるのでしょうか? よろしくお願いします。

  • 差分法でのメッシュ分割

    差分法を使用するときはまず領域(2次元)をメッシュ分割します。 C言語でプログラムを行う際に、メッシュ分割はどうプログラムしたらいいのでしょうか?今は二次元の配列を使用しています。 下図:二次元の配列a[3][4]の場合   [0][1][2][3] [0] □ □ □ □ [1] □ □ □ □ [2] □ □ □ □ これは、メッシュ分割したという風にいえるのでしょうか? 差分法でラプラス方程式を解いています。また、等間隔の格子間隔hを使用しています。 v(x+h,y)+v(x-h,y)+v(x,y+h)+v(x,y-h)-4v(x,y)=0 の連立方程式を解いています。

  • 偏微分方程式の数値解法

    偏微分方程式の込み入った質問です。 2次元(x,y)の空間で2つの関数f(x,y),g(x,y)を考えます。 そこで、それぞれにラプラス方程式を立てました。 fxx+fyy = 0  (1) gxx+gyy = 0 (2) です。これは境界値問題で、差分式からSOR法を使って収束計算によって数値解を求めることができます。f, gはそれぞれ独立という形にはなります。 そこにもう1つ式が出てきました。 fxfy + gxgy = 0 (3) というものです。f,gをx,yで1回微分してできる式です。 都合3つの式が出てきました。 この数値解を求めるにはどのような方法があるでしょうか。 数値解ですから近似解です。 3つ目の拘束条件の下でのラプラス方程式とみると、ペナルティ関数とかラグランジュの未定係数法とかいろいろあるかもなと思いますが。 3つ目の式は完全に満たすというより、できるだけ満足するようにしたいというものです。 よろしくお願いします。

  • 差分法

    過去にも同様な質問があったようですが、それでも理解できないのでご教授お願いします。 拡散方程式などで 境界条件が:∂u/∂x=0 となる場合、 前進差分で表すと:(u[n][j+1]-u[n][j])/δx=0 後退差分で表すと:(u[n][j]-u[n][j-1])/δx=0 中心差分で表すと:(u[n][j+1]-u[n][j-1])/2*δx=0 となります。(n,jは時間、位置の格子点) それぞれ整頓すると、j=0(左の境界点)では 前進差分:u[n][1]=u[n][0] 後退差分:u[n][0]=u[n][-1] 中心差分:u[n][1]=u[n][-1] となるのですがぁ、 本などではよく中心差分を使っているのですがこの理由がよく分かりません。 上の3つの式から:u[n][-1]=u[n][0]=u[n][1]としてしまってもよいのでしょうか? 以上2点と何かアドバイスお願いします。

  • 常微分方程式の特殊解の求め方

    変数分離形の常微分方程式のうち、境界条件を代入した一般解から特殊解への算定方法がわかりません。次の数値例に基づき解き方のご教示をお願いいたします。 微分方程式:  y´+2y=0(境界条件:y(0)=3) その一般解:    3=e^(‐2x+c) 一般解に境界条件を代入:3=e^c 特殊解:      y=3e^-2x 

  • 拡散方程式の数値計算(有限差分法)による解き方

    下記の拡散方程式を数値計算(有限差分法)で解き方について教えてください。 拡散方程式 D∂^2C(x,y,t)/∂x^2+u∂C(x,y,t)/∂x=∂C(x,y,t)/∂t 境界条件 D∂C(x,y,t)/∂x=(K/β-u)×C(x,y,t)-KC'(y,t) at x=0 初期条件 C(x,y,0)=Co at t=0 質量保存則 ∂C'(y,t)/∂y=4/vd(K/β×C(0,y,t)-KC'(y,t) ) ---------------------------------------------------------- また、可能であれば、有限差分法以外にも数値解法(有限要素法、有限体積法など)があると思いますが、拡散方程式を解く場合、どの解法が一般的に適しているのか教えてください! よろしくお願い申し上げます。

  • ラプラス方程式の解析解

    電磁気学を勉強しているのですが,分からないことがあるので質問させてもらいます. 静電場内にある電荷が作る電位分布を示す方程式としてラプラス方程式(∇^2*V=0)があると思います. ラプラス方程式とポアソン方程式の違いまでは理解できていると思います. 2次元のラプラス方程式は以下の式を変数分離法を用いて解くことで,直交座標系や球面座標系として考えることで,解析解が得られると理解しています. (ここまではたどり着くことが出来ました) (∂^2/∂^2x)V(x,y)+(∂^2/∂^2y)V(x,y)=0 分からないのは,ここから実際の電位分布を求める方法です. 具体的には,xy平面上の原点にポテンシャルV0がある場合,このV0による電位分布を求めることが出来ません. 直交座標系で考えると一般解は,A,B,C,D,kを定数として,次のようになると思います. V(x,y)=(A*exp(kx)+B*exp(-kx))*(Csinky+Dcosky) 境界条件から未知定数を求めたいのですが,うまくいきません・・・. 原点にポテンシャルがあるので,x→∞でV→0,y→∞でV→0,x=0,y=0でV=V0が境界条件になると思ったのですが,y→∞で(Csinky+Dcosky)は0に収束しません. 境界条件の設定が間違っているのでしょうか? 数値解では原点にポテンシャルを設定している解説は見つけられたのですが,解析解では資料がなく,どうすればいいか困っています. すみませんが,教えてください.

  • ラプラスの方程式

    ラプラスの方程式  (∂^2*u/∂*x^2) + (∂^2*u/∂*y^2)=0 (0≦x≦1,0≦y≦1) を次の境界条件のもとで解け。 u(x,0)=u(x,1)=0 (0≦x≦1) u(0,y)=y,u(1,y)=0 (0≦y≦1) の方程式を解け。 おそらくフーリエ解析を使って解くのでしょうが、ラプラス方程式なのでラプラス変換を用いれば解けるのでしょうが・・・ ちょっと判らなくなりました。 ご教授お願いします。

  • 数値解析の手法(差分法)について

    現在、とある2元の1階偏微分方程式(解はu,vでそれぞれ右と左に進行する波)を数値解析によって解こうと考えています。 数値解析の手段として、差分法がよく用いられると思いますが、 現在、私は、場所に関してはuは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って解いています。 ネットでは場所に関しては中心差分、時間に関してはルンゲ=クッタやリープフロッグなどが 使われていることが多く、私もこの2つを用いて解いてみました。 偏微分方程式には線形項が含まれていたため、 線形問題に対する制約であるΔt/Δx << 1は最低満たすように刻み幅をいろいろ取り、 計算時間も辞さず計算機を動かしてみましたが、 ノイズが消えず、解析解に限りなく近づくには至りませんでした。。 Δt/Δx=0.0001なども試したのですが・・・ そこで、諦めて違う差分法を試し、 場所に関して、uは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って見たところ、 Δt/Δx=0.01程度で解析解に近い、なかなか精度の良い数値解を得ることが出来ました。 2次の差分では上手くいかず、1次の差分だとわりかし上手くいく・・・ 精度的には中心差分やルンゲ=クッタなどの方がいいと思うのですが・・ 正直不思議でなりませんでした。。。 最初に試した差分法のコードミスかと思い、何回もコードを確認し直しましたが、 やはり解析解に近づくには至りませんでした。 こんなことってあるのでしょうか?? 差分法でも場合によって使い分ける必要があるということでしょうか・・? その場合分けするときの指標など、知っておられる方、教えて頂けると助かります。 問題によって

  • 数値計算の差分の取り方について

    1回の偏微分∂f / ∂x→( f(i+1,j) - f(i,j) )/dx というような差分近似したとします。とにかく差をとって距離で割るということですね。これもいくつかバリエーションがありますが、だいたい同じ意味だと思います。 2回微分∂^2f / ∂x^2 → ( f(i+1,j) + f(i-1) -2*f(i,j) ) / dx^2 となります。1回微分のさらにもう1回微分ということでこれも分かりやすいです。y方向の微分は同じです。 では、∂^2 f / ∂x∂y はどうやって差分をとるものでしょうか。言葉で説明すると、x方向の差分をy方向の違う点で2つとってそれのy方向で差分をとればいいという考え方がありますが、y方向の微分をx方向の違う点で2つとってそのx方向の差分をとるということもできると思います。考え方が2つあるわけですが、どちらかを採用するとx,y方向に不平等が生じてしまいます。なのでこの方法はダメなのではないかと思いますが。有限要素法みたいに内挿関数を使ってそれを使ってやるということもあるのかなと思いますが。一応差分でやると決めたことは決めたわけですが。よろしくお願いします。