• ベストアンサー

濃度分布計算について

エクセルで一方方向の濃度分布計算を行っています。 上端(x=100cm)は壁になっている状態でガスは外へ逃げれない系です。 初めは濃度勾配を持った状態(x=0付近の濃度が濃く、x=100cmの濃度が薄い(濃度≒0))ですが、 時間を∞にすると、どの位置も濃度が同じ(均一)状態であるグラフ(濃度-位置)をエクセルで作成 したいのですがどうすればよいのでしょうか。 t=0での下端の飽和濃度は60%、均一になったときの濃度は5%になるように考えています。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.4

No.2のリンクにある式をNo.1の補足欄風に書き換えると c(n+1,i)=D*(c(n,i-1)-2*c(n,i)+c(n, i+1))/dx/dx*dt+c(n,i) こんな感じかなあ。 端は、 c(n+1,i)=D*(-c(n,i)+c(n, i+1))/dx/dx*dt+c(n,i) の感じになります。

pipe_gg
質問者

お礼

色々なアドバイスありがとうございます。 教えて頂いた計算で、Δtを10^-10にすると系全体の物質量を一定にすることが出来ました。

その他の回答 (3)

  • ki073
  • ベストアンサー率77% (491/634)
回答No.3

系全体の物質量が変わらないようにしないといけません。 x1がずっと60になっていますが、   t0、t1、t2、t3t、・・・ x1,60、58.8、57.6・・・ x2, 0、 1.2、2.38・・・ x3, 0、 0、0.02・・・ ・ のような感じです。t0→t1でx1→x2に1.2移動、 Δtをかなり小さくとらないと近似にならないように思います。 上の例はかなり粗いです。

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

No.1に示したリンクのaluminum.sceや http://life.ess.sci.osaka-u.ac.jp/katsura/scilab/scilab.pdf 「1次元の例」 を見ればわかるのですが、Δtを小さくとって、隣の微小空間から濃度に応じた物質の移動があるようにします。 全体の物質量が一定ですので、流出と流入が等しくなるようにしてやると、期待した結果になるはずです。 結果が大きく震動してしまわないように注意。

pipe_gg
質問者

補足

度々の回答ありがとうございます。 VBAやプログラミング言語は習い始めのため、エクセルの表計算で計算していたのですが・・・ 初期条件(t=0)をx=0でC=60、x>0でC=0と設定し、エクセルで   t0、t1、t2、t3t、・・・ x1,60、60、60・・・ x2, 0、30、35・・・ x3, 0、25、28・・・ ・ ・ ・ ⊿t=1sec、⊿x=0.5cm のように差分方程式をセルに組んでみたのですが、時間が大きくなるにつれx>x1の範囲の濃度が飽和濃度(C0=60)より大きくなったり、マイナスになりました。 上記の計算方法に間違えがあると思うのですが、教えて頂いたフリーソフトでも試してみようと思います。

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

どこまでできていて、どこが分からないのか理解できないのですが、 失礼ながら何もできていないような気もします。 X軸を微小部分に分割して、それぞれに初期値を与えて、拡散方程式を適用していけばよいわけです。 まずはこの辺りを参考にしてください。 http://life.ess.sci.osaka-u.ac.jp/katsura/scilab/index_2007.html scilabという無料で利用できるソフトを使ったものです。シミュレーションにはEXCELよりずっと適しています。 またRubyやPythonなどを使うのもよいのではなかと思います。

pipe_gg
質問者

補足

回答ありがとうございます。 拡散計算についてですが、拡散方程式を差分化した c(n+1,i) = c(n,i)+2D(c(n,i+1)-c(n,i))/dx/dx*dt+2A/dx*dt を用いて計算を試みましたが、うまく出来ませんでした。

関連するQ&A

  • 蒸発後の濃度分布の計算について

    蒸発後の濃度分布の計算について質問です。 10L程の鉛直にした円筒容器底部に数ml程の液体を入れて自然蒸発をさせた実験を行っています。 そこで、円筒容器内に気化した蒸気の濃度分布をエクセルで計算しています。 時間(t)を行のセルに、位置(x)を列のセルに入力して、その間のセルに一次元非定常拡散方程式(半無限領域での拡散)C=C0(1-erf(x/(Dt)^0.5)を用いて濃度を算出しました。 一次元非定常拡散方程式(半無限領域での拡散)C=C0(1-erf(x/(Dt)^0.5)では、円筒容器底部(液体の侵入口)の濃度は常に飽和濃度となってしまいます。 蒸発後の時間(t)のセルにD・d^2c/dc^2・⊿tを組んでみたのですがうまくいきませんでした。 蒸発後の濃度分布の計算はどのように計算式を組めばよいのでしょうか。 よろしくお願いします。

  • 水中の微粒子分布はポアソン分布になるのでしょうか?

    「100mlの水に500個の微粒子を入れ、均一になるように良く撹拌してあります。ここから10mlすくい取ったとき、x個の微粒子が存在する確率を求めたい」という場合、ポアソン分布になっているのでしょうか。 100ml中に500個では微粒子数が多すぎてポアソン分布になっていないような気がするのですが、10^5μl中に500個あると考えるとポアソン分布でいいような気もします。 私は、ポアソン分布の確率関数 f(x)=e^(-λ)*λ^x/x! において、 n:サンプル量(μl) p:微粒子濃度(個/μl) λ=np とし、n=10^4、 p=5*10^(-3)、 λ=50 より f(x)=e^(-50)*50^x/x! と考えたのですが、合っているでしょうか? 容量の単位を変えると微粒子濃度が大きくなったり小さくなったり感じられ、ポアソン分布の適用基準がわかりません。 本などで調べたのですが類似の例がなく、良くわかりません。宜しくお願いいたします。

  • 混合ガスの濃度変化

    比重の異なるガスで混合ガスを作成した場合、容器内で軽いものは上部、重いものは下に溜まりませんか。 大量に使用したりしてれば対流などで均一になるかもしれませんが。 分析用の標準混合ガスなど、チョロチョロとしか使用しないものは、保管しておくうちに容器内の濃度分布みたいのが出てこないのかなぁと心配です。

  • 差分方程式を用いた濃度分布をエクセルで表すには?

    こんにちは。カテがどこに属すかわからなかったのですが、 大学二回生の者で、タイトルの通りです。 使う式はC(x,t+Δt)=C(x,t)+D*(Δt/Δx^2)*(C(x+Δx,t)-2C(x,t)+C(x-Δx,t)) だそうです。 そしてD=1、Δt=0.2、Δx=1として差分方程式を用い、t=0での濃度分布が次の場合の、x=-20~+20における濃度を、t=0とt=2について一枚のグラフに示せ。但しx=±20では常に濃度は0とする。 問1 xが-4~+4ではC=5、それ以外ではC=0 問2 xが-4~+4ではC=x^2、それ以外ではC=0 が問題です。 ややこしい記号が多く、どこから手を付けていいかがわかりません。 教授は「初めだけ根気強くやれば、後は簡単にできる」 と言いますが、どこから始めればいいのでしょうか? お叱りはなしで、お願いします。 自分なりにかなり考えたのですが、どうしても取っ掛かりがわかりません よろしくお願いいたします

  • 混合ガスは比重により濃度勾配を形成するか。

    はじめまして。 質問させていただきたいのは、 「ある条件において比重の異なる2種類のガスより作られた混合ガスが、比重の違いによりどの程度濃度勾配を形成するか。」 という事です。 混合ガスは一度混合すれば気体の分子運動により拡散し、層変化、温度勾配等一定の条件を満たさなければ、成分は一様に均一であると思っていたのですが、標準ガスメーカーの方から新品の標準ガスと、残りわずかとなった標準ガスでは成分が異なる事があり、比重によりわずかながら濃度勾配を形成するという話を聞きました。 以上を踏まえ 均一に混合した混合ガス(体積比 メタン:プロパン=9:1)を高さ1300mm、内径340mm、容積47Lのシリンダー容器に2MPaで充填し、25℃1気圧の一定な条件で1年間保管した後のシリンダー底面と上部の成分比がどの程度の差が出るか。 を知りたいです。 私の知識とスペックをオーバーしておりますので、ご意見を頂きたい次第です。よろしくお願い致します。

  • 正規分布とヒストグラフ

    現在、得られたデータをヒストグラムにして、正規分布と比べています。 得られたデータ(100個)の度数分布をヒストグラフにし、計算により、標準偏差と平均を求めました。 さらに、正規分布の式、f(x)=1/(σ*√2π)exp(-(x-μ)^2/(2σ^2))へ求めた標準偏差と平均を入れ、計算し、f(x)のグラフを描きました。 この二つのグラフを比較し、ズレがないことを視覚的に確認しようとしています。 ですが、エクセルにて比較したところ、概形は同じですが縦軸の目盛りが異なります。 正規分布は縦軸がf(x)で、ヒストグラフは縦軸が度数です。 概形は同じですが縦軸が一桁ほど違う形となっています。 具体的には、ヒストグラフの縦軸をちょうど10倍ほどすると正規分布の縦軸と同じになり、グラフがちょうどよく重なります。 ですが、合わせるためにちょうどいい数字の倍数していいとは思えませんし、軸の数字が違うものを比べるということ自体ができないと思います。 ということは比べる前に何かしらの比較するための計算を(何かをかけるとか)していないということになるのでしょうか。 そのままf(x)と度数を比べられるとは思いませんが、比べるためにはどういった計算処理をしなければいけないのでしょうか。 参考書や過去の質問も参照しましたが、なかなか理解できず質問させていただきました。 わかりづらい質問で恐縮ですが、ご教授よろしくお願いします。

  • マクスウェル-ボルツマン分布関数のグラフについて

    「温度tをパラメータとしてマクスウェル-ボルツマン速度分布関数のグラフを描画せよ」という課題をgnuplotを用いて行ったところ、温度が上がるにつれ最大値が減少するという性質が表れませんでした。 続いて、同じ関数のグラフをExcelを用いて描画したところ、今度は正しくマクスウェル-ボルツマン分布の性質を示していると思われるグラフが描画されました。 どういった理由でこのような差異が生じたのでしょうか? また、gnuplotを用いてExcelと同様のグラフを描画するためにはどのようにすればよかったのでしょうか? 以下にその時に用いた関数、パラメータ、出力されたグラフを記します。 f(x,t)=4/sqrt(pi)*(m/2/k/t)**(3/2)*(x**2)*exp((-m*(x**2))/(2*k*t)) x:速度 m:原子質量 2.3e-26 [kg] k:ボルツマン定数 1.38e-23 t:温度 300,500,1000 [K] 添付グラフ 左:gnuplotによる出力 右:Excelによる出力

  • エクセル 円柱グラフ

    エクセル2002 使用です 次のデータで円柱グラフを作りたいのです。    20歳  30歳  40歳 最高 29点  39点  49点 最低 20点  30点  40点 最高と最低を円柱グラフの上端と下端にした X軸に年齢 Y軸に点数(0点~50点)としたグラフを作りたいのです。 簡単に言うとY軸に対して円柱の0点から最低までの部分がない グラフを作りたいのですがどうしたらよろしいでしょうか?

  • 得点分布の偏差値などをエクセルで求める方法

     次の(1)(2)について教えてください。 (1) 人数の少ないクラスの得点のデータ(100点満点)が 例えば 「19、35、58、65、71、85、98」 とした場合  得点分布グラフの中心付近の面積の90%以下(90%に入らない)の点数 と 90%以上の得点が何点になるかを エクセルで求める方法を教えてください。    可能であれば、具体的に「19、35、58、65、71、85、98」の 例で教えてもらえると助かります。  (2) テストの点数でなく、単なる 「数」 の場合も(1)と同様の計算になるのでしょうか?   例えば 5人の人の小銭を持っている枚数の場合   例「3枚、6枚、8枚、9枚、14枚」であった場合の  保有枚数分布グラフの中心付近の面積の90%以下(90%に入らない)の枚数 と 90%以上の枚数が何枚になるかを エクセルで求める方法も教えてください。  この90%以上、以下が偏差値というのか分からず、標題と異なる質問かも知れませんが、ご回答よろしくお願いします。

  • EXCELグラフ〔分布図〕で【y=a】などを表現するには

    EXCELグラフ〔分布図〕で2点をプロットし、近似曲線を利用して自動的に関数(y=ax+b)を表示できるようにしています。 【例えば】 x=2|4 Y=4|8 という表を分布図にて数式表示すると【y=2x】となります。 ここで例えば、x=3,y=6という地点を強調するために、x軸に向けて垂線を下ろしたいのですが何か良い手はありますでしょうか? 【x=3】という直線を引けばよいのですが、このひきかたがわかりません。【y=6】などは引けるのですが・・・ 【x=3】を引くための元データ(表)はどのような形になるのでしょうか? ちなみに、出来たグラフに図形[直線]を挿入するのは反則です。元データの数値を入れ替えてもグラフが完全連動するようにしたいので、単純に[直線]を挿入する方法ではデータが変わったときにずれてしまいますので。