学校の実験で、fortranを用いて分子動力学シミュレー
ションのプログラムを作成中なのですが、手元の本では
おおまかな概要しか記載されていないためまったく
進んでいません。
どなたかfortranのプログラムの作成の手順について
教えてください。

A 回答 (3件)

この前にも少しお話しましたがポテンシャル関数というのが非常に重要なところです。


代表的なものとしてレナードジョーンズポテンシャルというものがあります。
状態温度を考えたとき原子は温度に依存して振動してますからそのときの速度和が温度になっているということであり作用する力を見積もり速度に換算し動きの”影響”を捉えることにより考えていくことです。
このポテンシャルのεが物質の沸点に一致するように作られています。
0.3εが融点ぐらいだといわれているようです。
ですから速度和によって物質の状態を捉えることができます。
ちなみにそれは動径分布というものを考えるともう少し明確に見えてくるのではないでしょうか?
結晶を形成しているかどうかなどを捕らえることができると思います。
また距離σはその距離が一番安定になるように作られています。
    • good
    • 0
この回答へのお礼

回答していただきありがとうございました。
とりあえず、このポテンシャルについて詳しく調べてみようと思います。
また分からなくなったらここに質問しようと思っていますが、その時はまた教えてください。
ありがとうございました。

お礼日時:2000/12/15 19:20

自分も今年から分子動力学のシミュレーションをやってます。


プログラム自体はc言語を使用しています。
ですがあまり変わりはないと思いますのでお答えできればと思います。
はじめに重要なのがポテンシャル関数です。
これによって動き方がかなり変わってきます。
次にアルゴリズムです。アルゴリズムは計算方法がいろいろあり、ステップ数つまりは時間に依存したりするので最適なものを選ぶことが重要であると考えられます。
自分のプログラムの流れてきには
1.原子を配置(速度分布などの条件を与える)

2.ポテンシャル関数を用いた力の計算

3.計算アルゴリズム

4.値の更新
2.3.4をステップ分(時間)繰り返し計算することでさまざまな物性値などを得ることができます
かなり大雑把ではあったのですがこんな感じでやってます。
また何かあれば答えれる範囲で回答したいと思います。

この回答への補足

早速の御返答ありがとうございました。

手元の本には初期速度を求める式が記載されてあったのですが、金属のシミュレーションにおいては融点以下と以上、つまり固体から液体に変化するときの区別はどのようにしてつければよいのでしょうか?
また、初歩的な質問になりますが、「分子動力学シミュレーションとは分子の動きを追跡しその影響について調べる。」と、記載されているのですがその「影響」とは金属のシミュレーションにおいては何について求めることができるのでしょうか?ご存知でしたら教えてください。

補足日時:2000/12/14 12:01
    • good
    • 0

これって物理の質問じゃないように思いますが?



シミュレーションのやりかたの問題ではないとして、また幾ら何でもFortranの文法書はお持ちと考えて良いでしょうか?Fortranのバージョン(Fortran90とか)は何でしょう?

Basicに慣れてれば、だいたい一緒と言っても良いようなものですがね。

●Cに慣れちゃった方にとって混乱するとすれば、Fortranのsubroutine, functionはcall by valueではなくcall by referenceである、という点でしょうか。
つまり、Fortranにはポインターという概念がなく、
A=2
CALL SUB(A,1)
:
SUBROUTINE SUB(X,Y)
とやると、呼び出し側でメモリをひとつ確保して1を入れます。
Subroutineの中ではXはAとおなじアドレスを指し、Yは呼び出し側が確保した(名前のない)アドレスを指します。従って
X.EQ.2, Y.EQ.1
になります。ここで
X = X+10
Y = Y+10
RETURN
END
とやれば、
呼び出し側に戻ると
A.EQ.11
しかしYに対応するアドレスは参照のしようがないのでその値(12)は取り出せない。

●入出力のREAD, WRITE, FORMATは、はっきり言ってややこしいです。

Fortranはポインターがない分、数式をそのまま書く、という感覚で使えるのが楽で、Stomachmanは数値計算には時々使います。

この回答への補足

早速のお返事ありがとうございました。
プログラムはCとfortranのみで、それすら満足に理解してない状況ですが、文法については手元にある本で勉強していこうとおもっています。

初歩的な質問になりますが、「分子動力学シミュレーションとは分子の動きを追跡しその影響について調べる。」と、記載されているのですがその「影響」とは金属のシミュレーションにおいては何について求めることができるのでしょうか?ご存知でしたら教えてください。

補足日時:2000/12/14 11:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q連続体力学について

こんばんは。

現在、連続体力学を勉強して非線形有限要素法へと進んでいく道を歩んでいます。

しかしこの連続体力学というのが、今まで習っていた材料力学や弾性力学と大きく違い、戸惑っています。

連続体力学のわかりやすいイメージ像、またこれまでの力学との違いなどを比較できるように教えてくださると助かります。

宜しくお願いします。

Aベストアンサー

対象とする物体に関するモデル化の程度の差、と考えてはいかがでしょうか.

はりに関して考えたとき、実用的に材料やら断面寸法やらを決めるだけであれば、線材置換して応力を計算し強度設計ができれば事足ります.
しかし、はりの内部でどのような力やひずみが生じているのかを正確に知るためには連続体としてモデル化して一歩踏み込んだ解析が必要になります.

例えば支点の取扱いについても、線材置換モデルであればピン支点ローラー支点といった程度のモデルで充分なわけですが、連続体モデルとなると部材断面に対してどのような位置になにが取り付くのかによって(支点の極近い範囲では)内部応力が全く違ってきます.ちなみに支点から十分離れた位置では、線材置換モデルでも連続体モデルでも充分な精度で応力とひずみを計算することが可能です.

どこまで調べようとするのか?による違いともいえるのかも知れません.
とはいえ、単純モデルに出来ない場合は連続体として解くしかありませんが...

Q分子動力学における応力の定義について

現在分子動力学について勉強しており、下記URLにあるパワーポイントを見つけました。
http://www.fml.t.u-tokyo.ac.jp/lecture/lecture_6/lecture_MD.pdf
その中の12ページに応力の定義が紹介されており、
σ = 1 / V * {"(K + Φ)をひずみテンソルで微分したもの"}  
分かりづらくてすみません、画像を添付したのでそちらをご覧ください。
Vは体積、Kは運動エネルギー、Φはポテンシャルエネルギーです。
この式について、なぜ体積で力を除しているのかが分かりません。
また、詳しく書かれている本などがありましたら教えて頂きたいです。
よろしくお願いします。

Aベストアンサー

>なぜ体積で力を除しているのかが分かりません。
力を除しているわけではありません。総エネルギーをひずみテンソルで微分したもので次元そのものが違います。

この式をわかりやすく説明します。
ひずみを与えた時のエネルギーの変化=∫応力×面積 d(変形量)
となります。
変形量=ひずみテンソル×厚さ
ですので
ひずみを与えた時のエネルギーの変化=∫応力×面積×厚さ d(ひずみテンソル)
=∫応力×体積 d(ひずみテンソル)

両辺をひずみテンソルで微分すると
応力×体積=d(エネルギー)/d(ひずみテンソル)
となります。

Q英語の訳をお願いします。

英語の訳をお願いします。

シミュレーション結果ほど顕著ではないが、この場合も雑音除去効果を示した。

どうしたら自然な分になるか教えてください。

お願いします。

Aベストアンサー

雑音除去効果をnoise canceling effectと訳しました。

Although it is not as remarkable as the simulated result,the (or this) case demonstrated the noise canceling effect to some extent.
to some extent は「ある程度」です、いれなくてもかまいません。

Q分子動力学 NVE法について

古典力学初心者です。分子動力学についての質問なのですが、NVE(もしくはNEV)アンサンブルでverlet法を使って原子や分子の動きを追うとき、計算間隔を狭くすれば、近似的に内部エネルギーは一定となりますが、そうでない場合一定とならないのに、なぜこれをNEVアンサンブルと呼んでいるんですか?

Aベストアンサー

分子動力学というより、熱学(統計力学)的な解説になりますので、ご了承ください。

計算間隔を狭くすると、単分子群もしくは単原子群は、相互に運動量を交換しますよね。m1v1+m2v2=m1'v1'+m2'v2'。この事によって、エネルギー等分配の法則が成立し、熱平衡状態になる。よって、内部エネルギーは一定になる。

ところが、計算間隔を大きくしてしまうと、原子・原子同士や分子・分子同士は衝突しませんから、運動量を交換しなくなります。

アンサンブル法とは、計算を行いたい系(格子でもかまわない)を極小化することによって、誤差を最小に抑えたい時に用いる計算法の総称なのです。

Q関ヶ原の戦い 手柄一番多かったのは?

関ヶ原で攻めまくってすみません…反省してます

関ヶ原の戦いで最も勲功をあげたのって誰ですか?
やはり17の首級すべてに笹を立てて目印として「笹の才蔵」の異名がある可児長吉でしょうかね?

宮本武蔵も関ヶ原に参戦してたのはびっくりしました☆

Aベストアンサー

石田三成でしょう。
戦前の状況では彼我の戦力差など、どうみても豊臣方有利だったのに、小早川、朽木、脇坂、島津、吉川ら裏切者~傍観者を多数だしたのは石田三成の統率力のなさによるものです。さらに豊臣恩顧の黒田、福島、池田、加藤、蜂須賀らは三成憎しの一念から東軍についたわけですから、家康から見れば三成さまさまです。
かりに豊臣方総大将が三成でなく直江兼続や立花宗茂だったら東軍のボロ負けだし、そもそも三成さえいなければ加藤清正あたりが大阪方の大将になった可能性もあるので、そもそも関ヶ原の戦いが成立しません。
よって東軍勝利の最功労者は石田三成。
あと無能なのに西軍総大将をうけた毛利輝元や、秀頼の出陣を拒否した淀君あたりが第二の功労者ですかね。いずれにせよ西軍側の敗因の大もとを探るならこの辺になりそうです。

Q分子動力学の歴史について

分子動力学の歴史について調べていてAlderという方が始めてMDを行ったことはわかったのですが,その内容について詳しく書いてある本やサイトをご存知でしたら教えてください.

剛体球を用いて固液相転移を再現したことまではわかりました.

Aベストアンサー

http://stat.fm.nitech.ac.jp/~isobe/alder_interview.pdf

ここに参考文献もあるようです

Qシュミレーション?シミュレーション?

「シュミレーション」と「シミュレーション」ってどっちが正しい言葉なんですか?

Aベストアンサー

シミュレーション(Simulation)が正しい言葉です。

Q中性子散乱実験ついて

表記のことについてご存知の方お教えください.
(1)中性子線はどのようにして発生させるのでしょうか.電荷を持たないのにビーム状に絞る方法が分かりません.それともシャワーのように中性子を降らせているだけでしょうか.また,いずれにしても中性子を発生させる術がわかりません.物の本には,加速器や原子炉を使うとは書いてあったのですが.物理に明るくない私では,それだけではよく分かりません.

(2)中性子散乱の実験は電子顕微鏡のように真空は必要でしょうか?不要であれば液体試料も測定可能ということになりますが,いかがでしょうか?

Aベストアンサー

ご質問の件ですが、どこから説明すればいいでしょうか。。。

Åというのはwave lengthです。ご存じかと思いますが、中性子のエネルギーは
E=hc/2πΛ 
になるので、wave lengthの逆数とbeam energyは比例関係にあります。

Qはmomentum transferと呼ばれ、簡単に言うと散乱前後のenergy depositを表します。上記にあるように、energyはwave lengthに反比例するので、enery depositは波長の逆数で書かれます。

何のグラフを見ているのか定かでないのでコメントが難しいですが、恐らく見ているのはbeam intensityのenergy deposit依存性なのではないかと推測します。そのまま散乱角度とも関係する値なのでもう少し調べれば解るかと思います。

QシミュレーションRPGと言って思い出される作品は?

今、シミュレーションRPGの情報だけを盛り込んだサイトを作ろうとコツコツ作業しています。
そこで、シミュレーションRPGの情報サイトに欠かすことのできないシミュレーションRPGゲームを教えてください!

質問1:ファイアーエムブレムやロボット大戦は有名ですが、他にどのようなものがありますか?

質問2:また、好きなシミュレーションRPGは何ですか?

よろしくお願いします!

Aベストアンサー

質問1:たとえばファミコンウォーズとかがコアなかたにお勧めですねぇ・・・
あと、ティアリングサーガとかがあります
もっとも、ティアリングサーガのほうは評判が悪いらしいですが・・・

質問2:最初にやったファイヤーエムブレムが一番好きです
キャラにも個性がありますし

シミュレーションRPG情報サイトを作るなら、乱数の研究をしてみてはどうでしょうか?
私もよく分からないのですが、運、みたいなものらしいです
(たとえが下手ですいません)

Q気体分子運動論 2原子分子 3原子分子 なぜ振動は

こんにちは、気体の分子運動論について確認させてください。また質問をさせてください。どうぞ宜しくお願いします。

気体の運動エネルギーを考える際、
単原子分子の場合、内部エネルギーの変化 ΔU = 3/2 nRΔT
となりますが、この3の意味は単原子分子のとる自由度の数だと教わりました。
そしてその自由度とは、XYZ方向への並進運動とのことですね。

二原子分子の場合、これら3自由度の並進運動に加え、回転の自由度を加えるとのことでした。
回転は、二原子分子の線分をたとえば、z軸にそろえて載せた場合、X軸を回転軸とする回転、Y軸を回転軸とする回転の二つが加えられる。したがって、合計5の自由度があり、ΔU = 5/2 nRΔT
となる。

Q1: もうひとつZ軸を軸とした回転(つまり鉛筆を両方の掌ではさんで回すような回転)については、他の二回転に比べて運動エネルギーが小さいため考えない、と理解しているのですが、いかがでしょうか。

Q2:並進、回転運動の他にも、自由度として振動が考えられますが、なぜこれは加えないのでしょうか。

また、三原子分子の場合は、二通りあり、直線分子の場合、非直線分子の場合に分けられると知りました。ただ、三原子分子の場合の内部自由エネルギー変化についての式が与えられておらず、考えてみました。
Q3: 直線分子の場合、二原子分子と同じ考えで、並進、回転運動の自由度の合計は5となりそうですが、どうでしょうか。ただ、ここでも振動をどう扱うのか分かりません。振動の自由同は、三原子直線型分子の場合、4つあるようですが、これらの振動は考慮しなくて良いのでしょうか。

Q4: 非直線分子の場合、回転の自由度は一つ増えて合計3になるそうですが、これは、先程、二原子分子の際に考慮に入れなかった回転、Z軸を回転軸とする回転、が無視できなくなった、ということでしょうか。すると、ΔU = 6/2 nRΔT となりそうですが、いかがでしょうか。

また、しつこいようですみませんが、振動はどうなのでしょうか。非直線分子の場合、振動の自由度は3あるそうですが、このことは内部エネルギー変化を考える場合に考慮に入れる必要はないのでしょうか?

以上となるのですが、私の理解があっているかどうかも含め、是非質問に回答頂ければ幸いです。どうか宜しくお願いします。

分かり難い記述があるようでしたら、訂正いたしますゆえ、どうか重ねて宜しくお願いします。

こんにちは、気体の分子運動論について確認させてください。また質問をさせてください。どうぞ宜しくお願いします。

気体の運動エネルギーを考える際、
単原子分子の場合、内部エネルギーの変化 ΔU = 3/2 nRΔT
となりますが、この3の意味は単原子分子のとる自由度の数だと教わりました。
そしてその自由度とは、XYZ方向への並進運動とのことですね。

二原子分子の場合、これら3自由度の並進運動に加え、回転の自由度を加えるとのことでした。
回転は、二原子分子の線分をたとえば、z軸にそろえて載せた場合、X軸...続きを読む

Aベストアンサー

>振動は含めないと言うことは、考慮すべきは並進運動と回転運動ですが、並進運動
>は常にXYZの三つ、回転については直線型分子だと2、屈曲した分子ならば3と、「常
>に」考えてもよいでしょうか。
>
>『Q4:これも、ご推察のとおりです。3個以上の原子からなる"剛体"としての
>分子の場合、古典物理学的には自由度は最大6なのですね。』
>ということは、この考えは正しいかと存じますが、いかがでしょうか。
>例えば、4原子分子の場合でも、直線ならば回転は2、屈曲ならば3でしょうか。
>
>複雑な形をした分子、例えば、人間のように四肢があるような形をした分子の場合、
>右手だけの回転、左足だけの回転、など複雑な回転機構が考えられそうですが、剛
>体と考えるならば、このような回転の自由度は考慮しなくてよさそうですが、いか
>がでしょうか。

 はい、そのとおりです。
 3原子分子以上の多原子分子でも、直線状の分子なら、回転の自由度は2、それ以外の形状なら回転の自由度は3となります。どんなに複雑な形状を持つ分子の場合でも、剛体なら、回転の自由度は2または3となります。これは、次のように説明されます。
 多数の粒子が、互いの相対的な位置関係を崩さないで、まとまり(粒子系)を作っているとします。つまり"剛体"を、極く小さな構成粒子の集団と見なしてしまおうということですね。
 任意の座標系を用意して、粒子系の全ての粒子の座標を確定するには、何種類の情報が必要なのかを数え上げたのが、自由度と呼ばれる数値です。
 そのうち、特に、粒子系の中の任意の1つ(Pとしましょう)に固定した座標系(Pは座標の原点に在るものとします)を考え、物体系が任意の回転をしたとき、他のすべての粒子(Qi)の位置を表そうとすれば一体いくつの情報量が有れば済むのかを数え上げたものを、回転の自由度と呼ぶのです。剛体の回転を考える時には、粒子間の相対的な位置が確定しています(互いの相対的な距離は変わりません)から、必要な情報は、Qiが、Pから見て、x軸周りにθ、y軸周りにφ、z軸周りにδ回転した、という情報だけです。
 たとえば、地球から見ると、各星座は一斉に同じ方向に日周・年周運動しているように見えます。これは、地球と星座を作っている恒星とが、相対的な位置関係を保ったままになっているので、或る天体(地球)から見て、任意の恒星(ペテルギウス)の回転さえ知ることができれば、他の任意の恒星位置が確定されるのと同じことです。
 つまり、θ,φ,δの3つの情報を知ることができれば、全てのQiの、Pに対する相対的な位置を確定できるわけです。このことを、回転の自由度が3であるというのです。
 ただし、物質系の粒子の位置関係によっては、θ,φ,δのどれかが何°であっても位置関係確定には影響しないこともあります。たとえば、x軸上に全ての粒子が配置されているとき、x軸周りの回転角度θがいくつかという情報は価値がありません。無意味ですね。このような場合は、回転の自由度がθの分だけ、1つ減ることになります。しかし、多粒子系なら、2方向の軸周りの回転情報が同時に無意味になることはありえません(x軸上とy軸上の2つの軸方向にすべての粒子が並ぶというようなことはあり得ません)から、剛体の回転の自由度は最低でも2、最大でも3なのです。

>振動は含めないと言うことは、考慮すべきは並進運動と回転運動ですが、並進運動
>は常にXYZの三つ、回転については直線型分子だと2、屈曲した分子ならば3と、「常
>に」考えてもよいでしょうか。
>
>『Q4:これも、ご推察のとおりです。3個以上の原子からなる"剛体"としての
>分子の場合、古典物理学的には自由度は最大6なのですね。』
>ということは、この考えは正しいかと存じますが、いかがでしょうか。
>例えば、4原子分子の場合でも、直線ならば回転は2、屈曲ならば3でしょうか。
>
>複雑な形をした分...続きを読む


人気Q&Aランキング

おすすめ情報