-PR-
解決済み

分子動力学シミュレーションについて

  • すぐに回答を!
  • 質問No.18591
  • 閲覧数780
  • ありがとう数8
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 33% (1/3)

学校の実験で、fortranを用いて分子動力学シミュレー
ションのプログラムを作成中なのですが、手元の本では
おおまかな概要しか記載されていないためまったく
進んでいません。
どなたかfortranのプログラムの作成の手順について
教えてください。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル5

ベストアンサー率 100% (2/2)

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

お礼率 33% (1/3)

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

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 57% (1014/1775)

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

シミュレーションのやりかたの問題ではないとして、また幾ら何でも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は数値計算には時々使います。
補足コメント
vore-k

お礼率 33% (1/3)

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

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


  • 回答No.2
レベル5

ベストアンサー率 100% (2/2)

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

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

3.計算アルゴリズム

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

お礼率 33% (1/3)

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

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

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ