• ベストアンサー

モンテカルロシミュレーションについて

シミュレーション初心者なのですが,モンテカルロシミュレーションを用いて希薄気体中の粒子の放出分布の時間変化を見たいと考えています. direct simulation monte carloに関する本を見てるのですが,どうも時間要素が含まれていないようなのですが,時間変化を考慮したモデルとするにはどうすればよいのでしょうか? よろしくお願いします.

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

  • ベストアンサー
  • Umada
  • ベストアンサー率83% (1169/1405)
回答No.2

モンテカルロ法計算について若干の経験のある者です。 ある系についてその何らかの挙動を解析したい場合、その挙動を支配する方程式が簡単に求められるなら方程式を直接解いた方が簡単です。しかし方程式が複雑すぎて手に負えなかったり、そもそも方程式を立てられなかったりする場合はモンテカルロ法の出番です。 モンテカルロ法は一般に、対象とする系のおおまかな性質が分かっているなら、系を支配する方程式が分からなくとも直接的にその挙動を解析できる強力なツールです。 もちろん弱点もないわけではありません。大掴みな性質だけからモデルを立てていますので「モデルは妥当なのか」という指摘が常に付きまといます。また今回のご質問の核心である「実時間との対応はどうなのか」は最大の弱みです。 モンテカルロシミュレーションの有名な例として「ビュフォンの針」の問題を挙げておきます。これは円周率を確率的試行から計算するシミュレーションです。詳細は参考ページ[1,2]などでご覧下さい。このシミュレーションには時間の概念は入ってきません。1回目に針を投げた試行の結果は、2回目の試行に対し何らの影響も与えないからです。 rayleighさんのおっしゃる「direct simulation monte carloの本」で取扱っている問題がその種のものばかりなら、時間的な概念はそもそも登場しないことになります。 一方、モンテカルロシミュレーションに時間(に相当する概念)を取り入れることも可能です。具体的な例を示しながら話を進めたいと思います。 いま下図のような系を考えてみます。基材の表面にA,B2種類の物質が一定の確率で降ってくるとします。表面に到達した物質は一定の確率で、前後左右に動いたり表面から脱離したりするものとします。そしてうまいことAとBが出会うと、そこで反応し基材表面に析出するものとしましょう。 つまり1回の試行では (1a)Aを表面に投下する (1b)Bを表面に投下する か、表面に存在する物質(AかB)を一つ選んで (2a)右に1マス動かす (2b)左に1マス動かす (2c)前方に1マス動かす (2d)後方に1マス動かす (3)表面から脱離させる  のいずれかを確率的に行うこととします。(モデルは3次元であり、「前方に1マス」は画面手前方向への移動を意味します)        ○A 脱離 ● ↓   ●B  ↑     反応  ● ←○→ ●○ ←●→移動 ━━━━━━━━━━━━━━基材表面 //// 基 //// 材 //// (2a)~(2d)は表面に沿った拡散(表面拡散)に当たる概念ですし、(3)は表面到達-脱離までの平均滞在時間と対応する概念です。それぞれの事象の発生確率を適宜設定した上で、この試行を何回も繰り返すと基材表面にはA+Bの反応生成物がどんどん析出していきます。 このようなシミュレーションなら系の状態が時々刻々変化していく様子を調べられます。モンテカルロシミュレーションで時間的な変化を見るには、系の状態を履歴として記録し、n+1回目の試行にn回目の状態を反映させればよいわけです。 この場合はビュフォンの針の例と違って各回の試行に厳然たる順序関係が存在することになります。時系列でもその順序関係は保たれると推定できます。 ただし細かく申し上げるとこの場合でも問題は残ります。「1回の試行が、実時間のいったい何秒(何分、何時間)に当たるのか」が簡単には分からない点です。これはモンテカルロ法の本質的なアキレス腱でもあります。 モンテカルロ法で時間の概念を取扱う場合、実時間での扱いは諦め代わりに"Monte-Carlo Step (MCS)"がよく使われます。これは試行回数を基準とした時間単位です。参考ページの[3]は焼結シミュレーション、[4]は粒成長シミュレーションの一例です。いずれも時間に代わる概念としてMCSを用いています。 なお1回の試行をそのまま1 MCSとする場合もありますし、ある程度まとまった数(例えば系の全原子数に等しい数)の試行を1 MCSとする場合もありますので、本や論文を読む際にはその著者がMCSをどう定義しているか確認する必要があります。 rayleighさんがどのような現象をシミュレーションしようとしていて、現在どのようなモデルを考えておいでなのか分からないため、具体的な改良モデルはいかんとも回答し難いところです。 まず「時間変化」の本質が何によるのか考えてみてください。粒子の放出に起因するのか、稀薄気体の圧力低下によるのか、あるいは他の要因なのか。 その変化をうまくモデルに取り込み、n+1回目の試行がn回目の試行完了時の系の状態によって影響されるようなシミュレーションを組み立てればよいわけです。上手にモデルを作ることがシミュレーションの本質であり、難しさでも面白さでもあります。 参考ページ [1] http://www.kwansei.ac.jp/hs/z90010/sugakuc/toukei/buffon/buffon.htm [2] http://www.f.waseda.jp/takezawa/math/number/buffon/buffon.htm [3] http://www.staff.ncl.ac.uk/fulian.qiu/sintering1.htm [4] http://www.scielo.br/scielo.php?pid=S1516-14391999000300004&script=sci_arttext&tlng=en

rayleigh
質問者

お礼

Umadaさま とても丁寧なご回答ありがとうございます.例を挙げて説明していただいてるため非常に分かりやすかったです.モンテカルロシミュレーションにおける時間の概念がどういったものかがわかりました. 僕がシミュレートしたいモデルは,レーザーアブレーションにより基板表面から放出される粒子の空間分布なので,エネルギーを持った粒子がある初速をもって飛散して,拡散する様子を見たいと考えています. 同じようなモデルをモンテカルロ法によりシミュレートしている論文を読んではみたのですが,具体的なプログラミングが分からずに行き詰っていました.その論文では,粒子が拡散していく初期の段階は放出された粒子どうしの衝突も考慮して,ある程度拡散すると粒子どうしの衝突は無視し,雰囲気ガスとの衝突により拡散していくとモデリングしているようです. 今の僕はこのような現状なのですが,なにかご教授いただけると幸いです. 今回のご回答本当にありがとうございました.

その他の回答 (1)

  • elmclose
  • ベストアンサー率31% (353/1104)
回答No.1

直接の答えではありませんが、時間要素は、粒子放出分布のモデルの中に入ってくるものであって、モンテカルロ法自体とは独立なような気がしますが。 http://www.amazon.co.jp/exec/obidos/ASIN/4563008788/ http://www.amazon.co.jp/exec/obidos/ASIN/4320071395/

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4563008788/athens-22/ref=nosim/
rayleigh
質問者

お礼

迅速な回答ありがとうございます. まだまだ,勉強不足のためご紹介していただいた参考書を探して見てみようと思います. ありがとうございました.

関連するQ&A

  • 分子シミュレーションにおける制限について

    パソコンで分子シミュレーションをするとき(モンテカルロ法や分子動力学法) 粒子を任意に配置してシミュレーションを始めますか? そしてもし任意に配置するとしたら、実際の系との間に誤差や変化が生まれるのでしょうか。 宜しくお願いします。

  • モンテカルロ法による磁性体のヒステリシス曲線のシミュレーション

    2次元イジングモデルの強磁性体に対してモンテカルロ法でヒステリシス曲線をシミュレーションしたいのですが、うまくできません。わかっていることと言えば,1.モデルのスピンの初期状態をランダムにする。2.磁場を除序に変化させる。この2つくらいで、ボルツマン表の確率に従ってスピンを反転させるのをどこで行えばよいかなどいろいろわかりません。どなたか詳しく教えてください。おねがいします。

  • モンテカルロ法を用いた磁性体のヒステリシス曲線(磁化曲線)のシミュレーション

    2次元イジングモデルの強磁性体に対してモンテカルロ法でヒステリシス曲線をシミュレーションしたいのですが、うまくできません。わかっていることと言えば, 1.モデルのスピンの初期状態をランダムにする。 2.磁場を除序に変化させる。 この2つくらいで、ボルツマン表の確率に従ってスピンを反転させるのをどこで行えばよいかなどいろいろわかりません。どなたか詳しく教えてください。おねがいします。

  • ラザフォード散乱のシミュレーション

    ラザフォード散乱をコンピュータでシミュレートしてみたいと考えているのですが、 どうも巧くいきません。 よくある、 1個の原子に対して、衝突パラメータbをもつ荷電粒子が入射するとどの角度に散乱されるか、 ということがやりたいのではなくて、 固体に対して複数の荷電粒子が入射すると、散乱角度はどう分布するか、 ということをやりたいと思っています。 もう少し具体的に説明すると、 ○有限の個数の電子を有限の大きさの金箔に入射、 ○ラザフォード散乱の断面積にしたがって散乱させ、 ○有限の角度によって制限された散乱角度分布を調べたい。 説明下手で申し訳ないですが、つまり、 ◎有限のサイズを考慮したときの散乱角度分布をモンテカルロ法により調べたい わけです。 とりあえず、単純にラザフォードの公式を利用しようと思ったのですが、 sinθが分母にいるため、θ=0 では発散してしまい、 モンテカルロ法が適用できません。 そこで、θ=0 を回避するために、衝突パラメータに最大値b_maxを設けようとしました。 考え方としては、b が標的の原子間距離の半分よりも大きくなったら、 その場合は隣の原子からの寄与のほうが大きくなるから、 b_max は原子間距離の半分と等しいであろう、というものです。 しかし、b=b_max の時の散乱角度θを求めてみると、 思ったよりも小さな値となってしまい、ほとんど発散してしまう状況と変わりません。 b_maxを導入しようという試みは、間違っていますでしょうか。 あるいは、これは正しく、ほとんど発散してしまう状況で計算するしかないのでしょうか。 どのようにしたら、巧くシミュレーションが出来るか、ご助言をお願いいたします。

  • 神のシミュレーションは可能だと思いますか?

    [質問]  現代技術で神のシミュレーションは可能だと思いますか?  不可能だと思う場合は、どのような技術があれば可能になると思いますか? [言葉の定義] 神…全知であること。完全な未来予知、未来の変更ができること。人間が創造できること。  シミュレーション…対象世界の数値化。模擬時間が進むことによる変化が観測できること。 [補足]  ・未来予知のために宇宙に存在する量子をすべてをシミュレーションする場合は、宇宙すべての粒子を観測する方法を提示ください。

  • モンテカルロシュミレーション

    コンピューターによってこのシュミレーションを行う場合、 πの近似値の精度を高める為にはどのようなことが重要なのですか?

  • Monte Carlo法 (ガウシアンノイズの付加)

    Monte Carlo法とやらで、あるデータ解析の時に下記の 手順で解析を行なっているという研究論文がありました。 こうすることの利点とは何なのでしょうか? また、 この手法についてはどの本などで紹介されていますでしょうか? ------------------------------------------------------ ある複数のパラメータで変化するデータがあります。 そのデータにガウシアンノイズ(分布分散シグマ)を与えて 1000セットのデータを作ります。 1000セットのそれぞれのデータからInverse methodにて もとのパラメータのセットを別々に1000個求めて、これを 平均します。 ------------------------------------------------------

  • 分かる方おねがいします!

    1.物体に一定の力を加えたときに生じる加速度は、その物体の( 1 )に反比例する。 2.2個の物体が非弾性衝突をしたとき、衝突の前後を比べると、運動エネルギーの和は保存されるないが、( 2 )は保存される。 3.理想気体を圧縮するには、外部からの( 3 )が必要で、この圧縮が断熱的であるときは、気体の( 4 )は増加する。 4.理想気体を等温的に圧縮するときは、気体から( 5 )の形でエネルギーが放出され、理想気体の( 6 )は変化しない。 5. 一様な磁界に垂直な平面内を運動する荷電粒子が、磁界から受ける力の大きさは、粒子の( 7 )と( 8 )の積に磁束密度の大きさをかけたものに等しい。 6. 原子番号Zの原子の中心にある、質量数Aの原子核は、電荷( 9 )をもち、そにまわりにはおのおの( 10 )の電荷をもつ( 11 )個の電子が存在する。ただし、e(>0)を電気素量とする。 7. 原子核は( 12 )と( 13 )とからできている。( 14 )間には静電的な斥力がはたらくのに原子核が安定であり得るのは、原子核を構成する粒子の間に( 15 )が強い引力としてはたらくからである。 8. 原子核がβ崩壊をして( 16 )を放出すると、原子核の中では( 17 )の数が一つ減り( 18 )の数が一つ増すことが、電荷保存の法則から推理できる。 ちなみに平成4年度のセンター試験の問題らしいです。

  • 気象・海象シミュレーションについて

    好奇心および趣味で表題の勉強をしているものです。近くに 気象屋さんがおらず、初歩的な質問でもなかなか答えが見つか らなくこまっております。 まず予報したい要素は波高、波周期、波向、海上風速、海流速、 流向などです。手始めに、WRFモデルを用いて、海上風速および 風向のテストランをしているところだが、 1.海上風の過去データを入手して予報してみたいが、どこから 入手すれば良いか?URLなどのご教授を願えませんか? 2.一般的に、たとえば2009年2月1日の海上風を予測するのに、 当然2月1日よりも前のデータを使うが、どの程度前のデータなら 良いか? たとえば2月1日から遡って72時間以内ならOKだが、 72時間以上のデータの場合は予報精度が落ちるとか?タイムリ ミットの理由も教えていただければと思います 3.予報精度を検証するのにどんな方法があるか? 相関係数が使わ れているようだが、これ以外の方法は? 4. 予報値と観測値(つまり真値)と比較したいが、観測値はどこ から入手するか?URLなどを 5. WRFモデルはどの要素まで対応可能か? たとえば海上風なら計算 できるが、海流はできない 6.数値予報シミュレーションに関する書物を推薦していただければ。 お忙しいところ恐縮ですが、よろしくお願いいたします

  • お勧めのゲームソフト[シミュレーション]

     掲題の通り、ゲームソフトを探しています。何かお勧めは無いでしょうか。信長の野望が好きで全部やりましたが、直近作は発売間隔が長かった上に前作に類似していたので、比較的すぐ飽きてしまいました。三国志も殆ど全部やっているので、その2作品以外でお勧めを願います。参考までに、過去面白かったゲームは、大戦略と提督の決断あたりでしょうか。条件は以下の通りです。 - ルール・指数が単純すぎないもの。  ルールや指数(パラメータ)が単純だと、すぐ飽きてしまうので、少なくとも上記に挙げたゲーム程度のものが良いと思います。初心者にとっての敷居の高さは考慮しなくて結構です。 - アクション的要素があまり無いもの  分かりにくいかもしれませんが、アクション的要素とは、短時間でボタンを動かすような、瞬発力を要する動作です。戦略的要素を楽しみたいからです。 - PCまたはPS3で動くもの