学校の実験で、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も見ています

今、見られている記事はコレ!

  • ダンゴムシはなぜ丸くなる?食べ物や触角にも秘密があった!

    愛らしい姿が特徴のダンゴムシ。子どものころ、公園でダンゴムシを捕まえて遊んだことがある人も多いのではないだろうか。 「教えて!goo」には「ダンゴムシがダンゴになる理由」という質問が投稿されていたが、な...

  • 本当に建設できる?宇宙エレベーターの仕組みを教えて

    数年単位で話題になる宇宙エレベーター。ダイナミックな構想と運搬コストの安さなどから期待が高まるが、実現を不安視する声もある。教えて!gooには「重力平衡形状という性質により、ある高さを超える建造物を作る...

  • そもそも空が青い理由って?

    当たり前すぎて特に疑問に思わないことでも、ふと考えてみると「なぜだろう」と理由が気になってしまう事柄は身の回りに沢山あります。代表的なのが「空はどうして青いのか」などで、子どもに訊かれたら困る質問とし...

  • 光速を越えることは可能ですか?

    「光速」はその名の通り光の速さを表し、理論上では宇宙最大の速度であるとされています。教えて!gooには、光速に関する疑問が寄せられています。 「光速は超えられないの?」 「子どもの頃からの疑問なのですが...

  • ものすごい速さのマッハを言葉で説明すると?

    速さを表す言葉としてマッハという単位があります。聞いたことはあっても、実際どのくらいの速さかと想像するのは意外と難しいものです。教えて!gooではマッハについて質問が寄せられました。 「マッハってどれく...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

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


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ