2009-01-01から1ヶ月間の記事一覧

ループ階層とループ数は最小化するべし(粒子法による流体シミュ開発の中で)

粒子が循環するようにしてみた。粒子の色の色相はその世代(生まれた時刻)を、粒子の色の明度はその粒子が感じている圧力の対数強度を表している。今日はこの粒子間相互作用の計算方法のコツについてメモ。まず空間を、相互作用のカットオフ距離と同じ長さ…

TBB::concurrentなコンテナの内容の重複って…

粒子法に限らず、分子動力学計算とかでもそうだと思うのだが、カットオフ距離で空間分割を行って、周囲粒子探索を効率化するという話はもちろんなのだが、それ以外に、相互作用の計算は、2粒子間のペアごとに計算していくわけなのであるから、2つの粒子の…

インテルTBBライブラリを用いた並列処理の実装

粒子法シミュレーションに本格的にハマっていくうちに、計算時間が気になりだしたので、せっかくCore2Duoのマシンなんだし(Quadでないのが悔やまれた!)、マルチスレッド化でもしてみようかと、インテルのTBBライブラリの、parallel_for機能を使ってみた。…

コンプレッサーをつけてみた

シーンのモデリング、粒子座標更新、計算結果のレンダリングを全てmain()関数の中で簡潔してしまうという、一発もの粒子法流体シミュレーションシリーズ、今日はパスカルの法則の実験をしていたのだが、すぐに飽きて、コンプレッサーをつけてみた。 パスカル…

界面活性剤の粒子法シミュレーションは可能か

粒子法で、界面活性剤のシミュレーションとかできないだろうかなんて、ふと思いついた。界面活性剤を水の中に入れると、自身で集まって球体やレイヤーなどが形成されて面白そう。 でも水の中における界面活性剤のそうした面白さは、実は界面活性剤そのもので…

粒子法による流体シミュレーションの実験

流体力学なるものにはこれまで全く無縁で生きてきたが、CFDとか有限要素法とか知らなくてもかっちょいい流体のシミュレーションができるということで話題を呼んでいる、「粒子法」について調べてみた。以下は自分が入門書を斜め読みして理解しかけた最低…

神経衰弱にそこそこ勝てる方法

この正月に親戚の子供などが遊びに来て家族で神経衰弱などをやる機会があり、必勝法とは言わないがそこそこ勝てる方法を思いついたのでメモ。 神経衰弱で問題となるのは、どこにどのカードがあったかが覚えられない、ということである。これをさらに突き詰め…