• 締切済み

拡散方程式のプログラミング

拡散方程式を種々の初期条件、境界条件の下にプログラミング化(できればfortranがいいですが、その他でも大歓迎です) まず、前回の質問たくさんの方に返事していただきました。 本当にありがとうございます!!!前回の質問を整理しました。 厚さがq(μm)、底面が気体が透過しないように設定されたペイントの表面の酸素濃度C(t)を時間幅0<=t<=t0(最大時間t0まで)周期的に変えます。 ここで、拡散方程式 σC/σt=Dm*(σC^2)/(σZ^2) C:気体濃度、Z:厚さ方向、t:時間、Dm(μm2/s):拡散係数 というのがあり、これを中心差分近似したものが、 (C(i,t+1)-C(i,t))/Δt=(C(i+1,t)-2C(i,t)+C(i-1,t))/(ΔZ^2) となります。この拡散方程式に加えて、初期条件、境界条件を以下のように加えます。 ・初期条件 (初期状態は厚さ方向に一様の真空状態) →t=0;C=0(この式は正しいかわかりません↓↓) ・境界条件 ペイントの底面では厚さ方向にて濃度が同じ。 →Z=h;σC/σZ=0 この条件を離散化したものが、 →(C(1,t)-C(0,t))/ΔZとなります。 また、境界条件といたしまして、ペイント表面の濃度変化を正弦関数C(t)=Ksin2πft (K:定数、f:周波数、t:時間) として与えます。 ここで、補足をいたしますと、 ペイント表面の気体濃度を変化させると、その表面の気体はペイントの拡散係数に応じてペイント内部に拡散します(ペイント底面は気体は透過しない)。 ここで求めたい問題は、ペイント内のある時間での気体の厚さ方向での濃度分布、かつ、その厚さ方向の濃度を合計したペイント全体の気体濃度、さらに、一番求めたいのはペイント全体の気体濃度の時間変化(0<=t<=t0まで)プログラミング化するのですが。。。 様々な方のアドバイスを聞きたくてたくさん質問しています。。。申し訳ありません。

みんなの回答

  • FT56F001
  • ベストアンサー率59% (355/599)
回答No.1

プログラムの足しになりませんが,この問題には理論解がありますね。 C(z,t)=Im[ C1*exp{z(1+i)/δ+iωt}+C2*exp{-z(1+i)/δ+iωt}] C1=K/{1+exp[2h(1+i)/δ]} C2=K/{1+exp[-2h(1+i)/δ]} δ=√{2Dm/ω}(浸透深さ),h:ペイント厚み z=0:ペイント表面(C=Ksinωt,z=h:ペイント底面(∂C/∂z=0) i=√(-1),Imは虚数部(Im(x+iy)=y),ω=2πf できたプログラムの答えと理論解が合うか,確認してみてください。 /* 大きな計算プログラムを作ると,それっぽい答えが出てきても,   ホントに正しいのか確認するのは,いつも苦労します。*/

te107484p
質問者

お礼

ありがとうございます!! プログラムが完成した際の参考にぜひさせていただきます!!

関連するQ&A

  • 以下の拡散方程式を種々の初期条件、境界条件の下に解

    以下の拡散方程式を種々の初期条件、境界条件の下に解く。とのことですが、力を貸していただければ幸いです。 * FOR DIFFUSION EQUATION BY KOUSUKE TANAKA * NFUNC:FUNCTION NUMBER * N:NO.OF DIVISIONS * T:TIME VARIABLE * DT:TIME INCREMENT * TMAX:UPPER LIMIT OF TIME * H:SPATIAL MESH SIZE * C1,C2,C3:COEFFICIENT MATRIX * FNU:DIFFUSIVITY * Q:PAINT THICKNESS PARAMETER(NDIM=100) DIMENSION A(NDIM),B(NDIM),C(NDIM) WRITE(*,*)’INPUT:FNU=’ READ(*,*)FNU WRITE(*,*)’INPUT:DT=’ READ(*,*)DT WRITE(*,*)’INPUT:TMAX=’ READ(*,*)TMAX WRITE(*,*)’INPUT:Q=’ READ(*,*)Q H=1.0/FLOAT(N) * INITIAL CONDITION DO I=1,N ここまでも合っているかわかりませんが、ここからが全く手に負えません。 厚さがq(μm)あるペイントの表面の酸素濃度を周期的に変えますC(t)。 拡散方程式 式(1) C:気体濃度、Z:厚さ方向、t:時間、Dm(μm2/s):拡散係数 というのがあり、これを中心差分近似したものが、 式(2) となります。この拡散方程式に加えて、初期条件、境界条件を以下のように加えます。 ・初期条件 t=0;C=0(初期状態は厚さ方向に一様の真空状態) ・境界条件 ペイントの底面付近では厚さ方向にて濃度が同じ。 →式(3) この条件を離散化したものが、 →式(4)とおそらくなります。 また、境界条件といたしまして、表面付近の濃度変化を正弦関数C(t)=Ksin2πft (K:0より大きい定数、f:周波数、t:時間) として与えます。 問題は、ペイント表面の気体濃度を正弦関数的に変化させると、ペイント内において拡散係数に応じた気体の拡散が生じます。ペイント内のある時間での気体の厚さ方向での濃度分布、かつ、その厚さ方向の濃度を合計したペイント全体の濃度の時間変化をfortranでプログラミング化するのですが。。。 その他の条件 ペイントを厚さ方向にN(=100)等分する。 ペイントの厚さpaint thicknessをq(μm)とする。 時間増分time incrementの設定 とりうる時間の最大値upper limit of timeの設定 ペイントの厚さ方向における一つの区切りspatial mesh sizeの設定 拡散係数diffusivityの設定 Fortran上では NFUNC:FUNCTION NUMBER N:NO.OF DIVISIONS T:TIME VARIABLE DT:TIME INCREMENT TMAX:UPPER LIMIT OF TIME H:SPATIAL MESH SIZE FNU:DIFFUSIVITY

  • 拡散方程式を解いてください!!!

    拡散方程式を解いてください!!! 一次元の半無限体への拡散問題です。 初期の状態は濃度がC(x=0, t=0)=C*(定数)とC(x, t=0)=0(x>0)で、プラス方向に拡散します。 境界条件はlim x→∞ C(x, t)=0です。 お願いします。

  • 拡散方程式

    こんにちは。1次元の拡散方程式で、時間tを求めたいのですが、解き方が分かりません。どなたか教えていただけませんでしょうか。ちなみに初期条件はt=0で0<x<∞、C=0、all for tのときx=0、C=C0(シーゼロ)らしいです。

  • 拡散方程式(フィックの第2法則)

    次の問題の解き方がわかりません。 どなたか手助けをいただければ大変ありがたいです。どうかよろしくお願いします。 「問 拡散方程式(フィックの第2法則)を記せ。また、時刻t=0において、水が入った直方体の容器の1つの面上に均一の濃度で存在していた色素分子が時間とともに内部に拡散していく過程について、面からの距離xの時刻tにおける色素の濃度c(x,t)を表す式を記せ。(指数部分のみでよい) また、時間Tが経過した後の、色素分子の平均拡散距離はどの程度になるか。」 どうか知恵をお貸しください。 拡散方程式は∂c/∂t=D(∂^2c/∂x^2)だと思うのですが・・・

  • フィックの第2法則のラプラス変換による解の求め方

    1次元で、半無限方向に食塩が拡散する現象を考え、時間t、位置x、濃度C、拡散係数Dとして、フィックの第2法則 ∂C/∂t=D×∂^2C/∂x^2 を解く問題です。 食塩部分は常に濃度Cs、無限遠方では濃度は0であることから、 初期条件、 C(x,0)=C∞=0 境界条件、 C(0,t)=Cs C(∞,t)=C∞=0 です。  課題の解法では、ここでθ=C-C∞とおき、拡散方程式を、 ∂θ/∂t=D×∂^2θ/∂x^2 と変形し、初期条件、 θ(x,0)=0 境界条件、 θ(0,t)=Cs θ(∞,t)=0 としています。ここでラプラス変換を行い、  ∞ ∫ e^-pt×θ(x,t)dt=Θ(x,p)  0 とし、拡散方程式を変換するのですが、左辺はpΘ(x,p)になるのは分かったのですが、右辺の変換の仕方がわかりません。ヒントによると、          ∞ D×∂^2/∂x^2∫□dt=□          0 になるそうですが、□に入る式が分かりません。お願いします。

  • ノイマンの制限条件における拡散方程式の解について

    以下の境界条件, ∂c(-d,t)/∂t=∂c(d,t)/∂t=0(-d≦x≦d) 初期条件 c(0,0)=1,c(x,0)=0(x≠0) における拡散方程式の解は c(x,t)=d/2+1/d*Σexp(-(Dπ^2*m^2*t)/d^2)cos(mπx/d) で宜しいでしょうか. お分かりの方計算過程も教えていただけたら幸いです.

  • 拡散方程式について

    拡散方程式について、問題を解いているのですが、理解できないところがあります。 A地点からB地点まで物質を流したとき(水中に)B地点での濃度はいくらになるか、という問題です。 U,E,S,W,xの値はわかっていますが、tの値が与えられていません。tはどのようにして求めればいいのでしょうか。移流と拡散なのでAからBまでの距離を速度で割るという考え方は違いますよね? 拡散方程式は C=W/S√4πEt×exp[-(x-Ut)^2/4Et] どなたかわかる方教えてください。よろしくお願いします。

  • 拡散方程式の一般解が求まりません

    すみません、拡散方程式で解けない問題がありまして、どなたかご教授ください。 u(y,t)の位置(y)と時間(t)のみに依存する関数があり、 拡散方程式 du/dt=D*(d^2u/dy^2)  (dは本来は偏微分のパーシャルdです。Dは定数) 境界条件は、 u(±h,t)=Ucosωt (h,ωは定数) となっています。これだけの条件では解けないのでしょうか??すみませんができれば解のみではなく方針までお答えいただけると幸いです。よろしくお願いします。

  • 拡散方程式~ラプラス変換

    「拡散方程式をラプラス変換を用いて解け」という課題が出たのですが,色々と本を調べた結果様々な(主に3つ)境界条件の下で場合分けされて解かれてあるものばかりでした。 初期条件・境界条件が設定されない状態で解く事は無理なのでしょうか?解く事が可能だとしたら,参考になりそうな図書,HP等を教えていただきたいのですが・・・

  • 一次元の拡散方程式

    一次元の拡散方程式 (1)のように与えられる1次元の拡散方程式で、 境界条件は(2)(3)式を満たす。 Fourier変換は(4)(5)式で定義され、 u(x,t)のFourier変換を(6)式とすると、 U(k,t)は(7)式のように書ける。 このとき、U(k,t)を逆Fourier変換することにより、 u(x,t)の一般解をu(x,0)の積分形で表したいのですが、 どうすればいいか分かりません。 どなたかご教授いただけるとうれしいです。