goo blog サービス終了のお知らせ 

Java エクセルVBAのサンプル

浮かんだ、JavaとVBAのサンプルを備忘録として、残しておこうかな、
コードを利用するときは自己責任にてよろしく

今日の雑感(気体の粘度と混合粘度)

2009-02-22 18:27:42 | Weblog

気体の粘度とその混合物の粘度を計算してみた。
参考文献は、化学工学便覧と以下のURLを参考にした。

http://163.209.138.250/yugen/text/tp1_appendix/embeddedFiles/Lecture_Notes_on_Transport_Phenomena_I_1_4.pdf

化工便覧のほうでは、粘度計算に、Hirschfelderらの式が紹介され、
上記URLには、Chapman-Enskogの式などが、紹介されているのですが。
二つの式の違いが解らない。
どう見ても、同じ式にしか見えないのですが。

私的には、エクセルで、計算しやすいように化工便覧とChapman-Enskogの式をごちゃ混ぜに
利用して計算してみました。

衝突直径など、基本物性は、化工便覧の数値を利用して、他を上記URLの数値や式を利用した。

気体の粘度の算出式は、以下のようになった。

Public Function Ωv(k As Double, T As Double) As Double

    Dim tn As Double

        tn = T / k

        Ωv = 1.16145 / tn ^ 0.14874 + 0.52487 / Exp(0.732 * tn) + 2.16178 / Exp(2.43187 * tn)

End Function

Public Function μ(T As Double, M As Double, d As Double, k As Double) As Double


    μ = 2.6693 * 10 ^ -6 * Sqr(M * T) / d ^ 2 / Ωv(k, T)


End Function


上記計算で、気体の粘度を計算できる。
次に混合した場合のプログラムを書くと

Public Function 混合粘度(分子量 As Variant, 粘度 As Variant, モル分率 As Variant) As Double

    Dim n As Integer
    Dim M() As Double
    Dim vis() As Double
    Dim mf() As Double
    Dim i As Integer
    Dim j As Integer
    Dim f() As Double

        n = 分子量.Count

    ReDim M(1 To n), vis(1 To n), mf(1 To n), f(1 To n, 1 To n)

        For i = 1 To n
            M(i) = 分子量(i)
            vis(i) = 粘度(i)
            mf(i) = モル分率(i)
        Next

        For i = 1 To n
            For j = 1 To n
                f(i, j) = 1# / Sqr(8#) * (1# + M(i) / M(j)) ^ (-1# / 2#) * (1 + (vis(i) / vis(j)) ^ (1# / 2#) * (M(j) / M(i)) ^ (1# / 4#)) ^ 2#
            Next
        Next
 
    Dim total As Double, subt As Double
 
        total = 0#
   
        For i = 1 To n
            subt = 0#
            For j = 1 To n
                subt = subt + mf(j) / mf(i) * f(i, j)
            Next
            total = total + vis(i) / (subt)
        Next
  
        混合粘度 = total

End Function


以上の計算結果をエクセルで行なうと以下のような結果になった。

図1


計算は、最初に書いたURLにある、参考例と、酸素と窒素からなる空気の混合物と
加工便覧にある、空気そのもののパラメータを用いて、計算してみた。
理科年表では、空気は25度で、1.820*10^-5(Pa・s)になっている。
酸素、窒素混合空気の計算値と、空気だけの計算値、皆大体同じ値になっているみたいです
こんなものなのかな
参考になる。いろいろな文献が、入手困難なため、この程度の比較しか出来ない。
残念。




今日の雑感(空気の物性値)

2009-02-20 19:07:25 | Weblog
いままで、伝熱計算を行なったりしたが、
必要になったのが、物性値、
またこれを利用するレイノルズ数、プラントル数、グラスホフ数など
物性値を化工便覧、化学便覧、インターネット、伝熱関係の書籍等を
いろいろ見ると、微妙に違う、なら、どれを採用したらよいことやら。
結局の所、何か一つに絞って、エイ・ヤーで、計算するしかないのでしょうね。
微妙に違うだけなので、もともと、計算結果の通りに行かないので、
誤差範囲なのでしょうね。

インターネットで入手した空気の適当な物性は、以下のURLでした。


http://www.engineeringtoolbox.com/air-properties-d_156.html
外国のサイトです。

他にも、いろいろなサイトがありましたが、温度範囲が広く、
いろいろな物性が並んだサイトはここだけしか見つけられませんでした。
しかし、物性値を最小二乗法で、計算している所が結構ある感じがする。
スプライン補完すれば、実測値全部を通る、滑らかな曲線で
結ぶことが出来るのに、なぜなのでしょうかね。
最小二乗法も、誤差範囲として、直線だけで、計算するなら、
解りやすいのですが。高次の最小二乗法を使っていて
さらに、相関係数を表示している。
私の考え方が、おかしいのかしら。!!!!

http://users.wpi.edu/~ierardi/PDF/air_k_plot.PDF

こんなサイトもある。
一つの式にしてしまった方が、便利だからだろうか。!!!

今日の雑感(xps今後どうなるかな)

2009-02-12 13:50:21 | Weblog
ある日、プリンターのウィンドをみたら、
コリャなんだと言うのが、いつのまにか増えていた。
図1


その名はMicrosoft XPS Document Writer、、、
いつのまにか、増えていたので、新手のウィルスと思ってしまいました。
どうやら、Visual Basic2008をインストールした時に増えたみたいだった。
調べてみると、(検索)

http://e-words.jp/w/XPS.html

ここを読んでみると、マイクロスソフト版のpdfの様なものらしい。
vistaの環境で、正式に標準搭載したみたいだが、
私の環境は、XPでも、使えるので、環境を整えれば
XPでも使えるみたいです。(実際XPの環境で使っている)

使い方は、簡単で、紙に印刷する要領で、使えばいいみたいで、
見るのは、IEに関連付けされているので、
ダブルクリックするとIEで、見ることが出来る。

こりゃ、便利そう。でも、xpsを閲覧する環境が、まだまだ
普及してないので、当分、メジャーにはならないでしょうね。
でも、まだ、pdf環境を持っていない人は、
動向に興味を持つかも

XPS ビューアとは
http://windowshelp.microsoft.com/Windows/ja-JP/help/78e3c1ae-c2cc-49cd-b1aa-c6a56b7b0ab01041.mspx
使い方
http://windowshelp.microsoft.com/Windows/ja-JP/Help/3847e058-6e00-43e7-b642-3a2eed063c231041.mspx

なんか、このブログのテーマから、外れたみたいだが、
取りあえず、よしとしよう。

今日の雑感(データの補間)

2009-02-10 20:00:04 | Weblog
データの補間には、代表的なのか、ラグランジェと、スプラインかな
ラグランジェのほうのプログラミングは、非常に簡単なので、
たぶん、ネットに沢山転がっていると思うので、
ちょいとラグランジェ補間として検索

沢山ヒットした。
エクセルを使った物に、以下がヒットした。

http://homepage1.nifty.com/gfk/Lagrange.htm

では、スプライン補間は、どれだけ、ヒットするかな???
検索!!!!

沢山ヒットしたが、エクセルを利用したものに、

http://homepage1.nifty.com/gfk/Spline.htm
が、あった。

おおお、同じドメインで、存在する。

どちらが、良いかは、私的には、めんどうでも、スプラインの方が
良いと思う。

化学で、使う、いろいろな物性値があるが、化学便覧は化工便覧等で、
いろいろな近似式があるが、データがあれば
両補間とも、物性値を通る滑らかな曲線になるので、
めんどうでも、パソコンの時代なので、容易に、
滑らかな曲線から、目的の値を求めることが出来ると思う。
でも、そうやって、求めているのは、インターネットで検索しても
なかなか、ヒットしないです。
マイナーなのかしら。
「物性値」「補間」で、ググっても3150件しかヒットしなかった。
キーワードがいけなかったのか???

例えば、「密度」「補間」では、どうであろう。
六万件くらいはヒットしましたが。
目的になる様なものは、トップページでは、ヒットしなかった。

では「粘度」「補間」ではどうであろう
二万五千件くらい、でも、目的なる様なもののトップページは、
ヒットしなかった。

しかし、考え方がマイナーなのですね。
世の中の化学技術者は、いろいろな、物性データを
どの様に、求めているのか、非常に不思議である。

結構、エイヤーで、物性値を扱っているのかもしれませんね。



今日の雑感(お風呂で一考)

2009-02-08 09:53:46 | Weblog
夏場、水道水の温度が高いせいか、熱いお湯を薄めるのに
少し時間が、かかる。逆に冬場は、すぐ、お風呂の温度が
下がる。
これを、定量的に表すとどうなる事かなと思った。

先ずは、お風呂の最適温度は

http://ar-um.jp/vote/184/0
これを見ると、40~42℃みたいです。
たった、2℃幅しかないです。

家庭での、水道の流量は、

http://www.waterworks.metro.tokyo.jp/life/g_jouzu.htm
東京都の水道局のページを見ると、大体。

12(l/min)位になっている。

また、水道水の温度は、地域によって違うと思いますが。
インターネットで、公開している所を見ると

松本市公式ホームページに

http://www.city.matsumoto.nagano.jp/kurasi/sumai/suidou/shisetsu/josui7/index.html

ここの給水栓温度を見ると

夏場は、20度前後、冬場は、5度前後と、大雑把に見ました。

つぎに、お風呂の容量は、浴槽のメーカーのホームページより

http://www.sunwave.co.jp/products/bath/bathtub/stainless.html

満タンで、約300リットルみたいで、満タンの8割を
お風呂の水の量として、240リットルとする。

以上の条件で、計算してみる。

計算結果


計算式



計算結果より、夏場は、1.5分で、水で、薄めても適温範囲ですが。
冬場は、冷たい水で、1.5分は、適温範囲から、外れるみたいです。
せいぜい1.0分くらい見たいです。
様々な条件で、いろいろ変わると思いますが。
今回の条件では、こんなもになりました。


今日の雑感(熱伝達と放射)

2009-02-06 17:07:51 | Weblog


伝熱で、低温では、熱伝達が有利で、高温では、放射が主流に
なると教わったのだが、実際高温と、低温て、どれくらいの温度なのだろう。
とふと思って、以前行なった、強制対流熱伝達と、今回比較に放射を計算してみた。
想定は、大きな部屋の中心に大きな鉄球をつるし、その鉄球を暖めて、
ある温度まで、温まったら、強制対流熱伝達で冷やす。
また、その時の放射による。伝熱も計算してみる。
空気の物性値が、0~220度くらいまでの補間計算の様なので、
境膜温度が、室温20度とする、また鉄球の温度の上は400度くらいとし、
中100度、下50度を計算してみた。

計算結果400度


計算結果100度


計算結果50度



計算結果を見ると、確かに、温度が高くなるにつれて、
放射の熱量の割合が、多くなっている。
その割合が、400度で24%くらい。それに対して、100度以下では
10%以下、400度くらいでは、もうそろそろ、放射の影響を考えないと
今回の場合は、いけないのかな!!!!!


注)計算間違いで、一度同様なタイトルで、アップロードしています。
修正して、再度アップロードしています。

今日の雑感(自然対流熱伝達)

2009-02-04 20:16:55 | Weblog
前回は、強制対流熱伝達だったので、

http://blog.goo.ne.jp/tomtomf/e/4bb37f6cf88f7a0cf10cdf04fd6154a0

今度は、自然対流熱伝達について調べてみた。
前回と同様に、球体について、調べてみた。
先ずは、検索

http://www.kz.tsukuba.ac.jp/~abe/ohp-heat/kougi07.pdf

ここに、詳しく書いてあった。
ここで、球の自然対流熱伝達率の簡易予測式があった。

Nu = 2 + 0.43*Gr*Pr (1 < Gr*Pr < 10^5 )

自然対流の場合は、ヌッセルト数は
グラスホフ数と、プラントル数の関数になるらしい。

これを強制対流と同様に熱収支式をルンゲクッタで
数値計算してみた
強制対流の結果と比較するために計算結果を併記した。

図1


上手く、行ったかなと思ったら、
Gr*Prの計算結果が、10^5超えていた。
でも、見た感じ、良い様な、どうなのでしょうね。
強制対流の方も、はっきりしない値なので、
これも、どうなのかなと言う疑問はあるが、
こんなものかなとと言うことで、今回はOKとした。

今日の雑感(強制対流熱伝達)

2009-02-01 18:55:08 | Weblog

久しぶりに伝熱計算をしてみた。
主題は、強制対流熱伝達で、鉄の球を風で冷やしたら。
どうなるのだろうかと、と言う、単純な動機だった。

まず、100度のまで加熱した鉄球(直径0.1m)を、室温20℃で風速を変えて
冷やしていく、鉄球自体は、温度分布はなく、均一に冷えていくとする。

熱収支を取ると

図1


式を整理すると

図2


プログラムソースを書くと、今回は、いろいろと
ありすぎたので、ソースを載せることは、避けました。
プログラム的には、

熱収支式をルンゲクッタで、微分方程式を解いただけなのですが

結果は、以下のようなグラフになりました。

図3


しかし、実際、本当にこうなるのだろうか。
疑問はあるが、確かめようがない。
いろいろ、調べてみると、直径0.1mと言うのは、結構、大きそうね
鉄球内の温度分布無視できないかな。???どうなんだろう。
計算したものの、自信なし。
でも、この結果を信じると、風速5メートルでも
一時間くらいしないと、室温までは冷えないのですね。
この風速5メートルと言っても、ぴんと来ない。
そこで、検索、

http://www.tokyo-jma.go.jp/home/kumagaya/chart/wind.htm
ここに、風速と目安がある。
ここを見ると、風速5メートルは軽く旗が開く程度らしい。
結構、あるのかな。??


境膜温度は、球の温度と室温の平均値を取り、
前回のブログで書いた、空気の物性を使い。
レイノルズ数をだし、そこから、ネットで見つけた

MoAdamsの式

Nu=0.37*Re^0.6

17<Re<70000

から、ヌッセルト数をだし、これから、熱伝達係数を算出して、
熱収支式の微分方程式の解法に用いた。
また、鉄の物性を
ネットサーフィンから、以下の値を採用した。

鉄球 密度 7874(kg/m^3)
   比熱 440(J/kg・K)
   直径 0.1(m)


室温は、Tf=20度とした。



今日の雑感

2009-01-30 20:29:10 | Weblog
電気回路をひと段落にして、次のテーマを探していた。
ふと、久しぶりに、伝熱の本を見る機会があった。
そこで、伝熱で必要とされる物性、特に、空気と水に関して
いろいろ調べてみようかと思った。

先ずはネット検索、

キーワード「水」「密度」で検索

http://www.geocities.jp/leitz_house/benri/program/mitudo.htm
これは、温度が0~40℃位の化学便覧のデータみたいでした。

面白いもの見つけ

水の物性値が全部,表されているホームページ見つけました。

http://www.am-consulting.co.jp/topmenu/database/000078_water_property_E.html

また、水の密度と粘度の表を見つけ

http://www2t.biglobe.ne.jp/~bono/study/memo/hydro_sheet.htm
ついでに、このような物、空気についてないかな??

http://www.greatrc.jp/netsudendouritsu/netsudendouritsu.htm
こんなソフトもあるのですね。
便利そうだが、有料というのは避けたい。

空気の密度は、検索する限り、理想気体の状態方程式から
求めれば良い様な感じです。

では、空気の粘度は

http://fluid.me.seikei.ac.jp/lecture/fol/flow_force_exp/related.html
に、テーブルを見つけた。
0~100どの範囲では、0度で17.1*10^-6 100度で 21.6*10^-6 Pa・s
大気圧のもとで、温度依存性は、少ないみたいですね。

あと、空気の比熱は、どうかな??

ネットは、良いのが見つけられません書籍で、

Cp=a+b*T+c*T^2

a=27.434
b=6.180*10^-3
c=-0.8987*10^-6

T[K]

Cp[J/mol・K]

あと、空気の熱伝導率を探す

これもネットに適当なものがみあたらない。

理科年表から、

-100度
1.58*10^-2(W/m・k)

0度
2.41*10^-2

100度
3.17*10^-2

1000度
7.6*10^-2

温度と熱伝導の関係をグラフにすると、
直線関係に近いので、
0度から100度までの値がほしい時は、直線補間でも
良いような気がする。

y=0.000076*x+0.0241

よく見ると水のCpが、まだ、出ていない。

Cp=75.44(J/mol・K)

これで、そろったかな

水の物性値のテーブル、また発見、これには、比熱もあった。

http://ebw.eng-book.com/pdfs/7cdd09a40088fd2ab150a50e7cc75326.pdf
いろいろ、調べた所、エクセルに以下のような便利なものがあった。
これで、全部サポートしてるような感じ、
これを使ってみるか

http://www.vector.co.jp/soft/winnt/business/se179931.html
このソフト、開くと、各種物性の式まで、出ている。
いままでの、ネットサーフィンは、なんだっただろうか。

複素行列の逆行列と行列の積で、交流回路の基本的な計算2

2009-01-27 11:44:37 | Weblog
前日の交流計算で、応用例を上げたが、
使ったプログラム

http://blog.goo.ne.jp/tomtomf/e/2ba5b4954928dad108bb77e6df84a20f

http://blog.goo.ne.jp/tomtomf/e/5eb0339b3a19b13ff9905e3b9fa9c120

これは、a行列に逆行列が存在しないと、求めることは、出来ず
逆行列の計算はエラーになります。
では、a行列の逆行列が存在しない場合はどうしたらよいか
それは、ネット検索してみる

ここにあるプログラムを利用すればよいことがわかります。

http://www.geocities.jp/tomtomf/denki/denki.htm
応用例を上げておきます。

回路図4-1



エクセル計算結果



回路図4-2



エクセル計算結果



こちらのプログラムを使うと、解があれば、出るのかな??