ComplexRI

提供: ComplexRI: Manual
2021年11月9日 (火) 13:04時点におけるKamimura (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動


概要例

 本FreeFlexは、主に液体および界面系のさまざまな自由エネルギー計算に柔軟に対応できるMDプログラムとして開発された。液体界面でのwater finger座標によって初めてwater finger形成・切断の自由エネルギー障壁が明らかにされたように、既存の方法を超えた新たな座標が求められる場合も多い。FreeFlexは、一般化座標の設定が容易で汎用性が高く、それに対する拘束条件やバイアス・ポテンシャルを課したり、その座標上の自由エネルギー計算を実行しやすいように設計された。

 現在のFreeFlexは、自由エネルギー計算手法として、

  • 自由エネルギー摂動法 (overlapping distribution法)
  • アンブレラサンプリング法
  • レプリカ交換アンブレラサンプリング法

の3通りをサポートしている。分子モデルは、点電荷および点双極子の分極モデルをサポートする。MD計算のチューニングについても多くの工夫がなされている。


 FreeFlexは、吉川信明君が自らの研究のために作成していたMDプログラムを母体として、2014年度より汎用化を目指した開発が始められた。吉川君、王聆鉴君および森田が開発に加わり、液液界面に関わる吉川、聆鉴君それぞれの研究に必要なMDプログラムを包括する形で開発された。2015年より杉林君、2016年より田原君、2017年より平野君、内藤君、小泉さん、2018年より伊藤君が開発チームに加わって、液液界面での電子移動反応やfaciliated ion transfer、グランドカノニカルMDの研究へと進んでいる。また信田君によってparticle mesh Ewald法やOpenMP並列化が実装され、従来より格段に高速化した。

チュートリアル 例

チュートリアル01:水-DCM 界面のシミュレーション
FreeFlex の基本的な使用方法のチュートリアルとして、コンパイル、系の作成、MD の実行といった一連の流れを説明する。
また、計算結果を確認するために show_energy.exe を用いてエネルギーの時間変化をグラフとして表示する。


概要

本ComplexRIは全反射実験から得られた反射率あるいは吸光度のデータをもとにして媒質の複素屈折率の分散を出力するWebアプリケーションである。 より簡単に複素屈折率の分散を計算ができるように 実験の条件、 実験の結果、 ファイル形式に関する入力、 解析に関する入力 という四つの情報を入力として与えるだけで、その解析が行えるように作成された。

チュートリアル

目次
チュートリアル01:複素屈折率の分散を解析してみよう。
チュートリアル02
チュートリアル03
チュートリアル04
チュートリアル01:複素屈折率の分散を解析してみよう。チュートリアル01の解説へ
FreeFlex の基本的な使用方法のチュートリアルとして、コンパイル、系の作成、MD の実行といった一連の流れを説明する。
また、計算結果を確認するために show_energy.exe を用いてエネルギーの時間変化をグラフとして表示する。
概要でも説明してあるようにComplexRIでは基本的に以下の三つを入力として与える必要がある。それは
1⃣実験の条件
2⃣実験の結果
3⃣ファイル形式に関する入力
4⃣解析の仕方に関する入力
である。
入力の詳細の説明は後ですることにして、とりあえず入力を与え、結果を出力してみよう。
実験結果のファイルとしてチュートリアル用のファイルを与えるのでこれらを使ってほしい。
ファイルはComplexRIのMANUALページFile Listからダウンロードできる。
今回はチュートリアル01なのでDownload the File fot Tutorial01のボタンを押してダウンロードしてこれを使用してほしい。
ダウンロード出来たらLSRページに行き、後は入力を与えるだけだ。
入力は①から⑩の10個だ。与えたファイルはデフォルトの入力で解析できる構成になっているので、今回は②Fileにダウンロードしたファイルを与えるだけでよい。
それではexecute LSRボタンをクリックして解析してみよう。
チュートリアル01の解説
解析結果は以下の画像のようなったはずである。
[図1-1]

画像

それでは入力および出力の説明をしていこう。

入力

まず入力の説明からしていこう。最初に説明したように入力は
1⃣実験の条件2⃣実験の結果3⃣ファイルの形式に関する入力4⃣解析の仕方に関する入力
の四種類がある。
少し順番が前後するが一つずつ説明していこう。

2⃣実験の結果

今回は入力欄の②FILEのみ入力したのであった。これが入力の2⃣である。
まずその形式について説明しよう。ファイルは以下のようになっているはずである。
[図1-2]

画像

一列目には波数、二列目に一列目の波数の光が入射した時の反射率が(%)単位が並んだ構成になっている。
この様に解析に必要な実験結果は波数とそれに対応する反射率の二種類だけである。

3⃣ファイルの形式に関する入力

次に入力の3⃣ファイル形式に関する入力について説明しよう。
これは入力欄でいうと、③、⑤、⑥の3つに相当する。
これらの入力をすることはファイル構成になっていることをアプリケーションに認識させるのが
入力ファイルと照らし合わせながら一つずつ説明していこう。
まず③Reflectance or Absorptance?である。
ここでは実験結果が反射率で与えられたのか、吸光度で与えられたのかを入力する。デフォルトは反射率で与えられたという回答になっている。今回のファイル形式は反射率で与えられているのでこの回答を変更する必要はなかったのである。
まず⑤the Lines Wavenumber and Intensity Ratio of Reflected Light are written onである。
ここではファイルの波数および反射率がその列並んでいるのかを入力する。デフォルトは波数は一行目、反射率は二行目に並んでいるという回答になっている。これは今回のファイル形式に一致しているのでこの回答も変更する必要はなかった。
まず⑥In what order are they arranged?である。
ここではファイルの波数が昇順、降順のどちらで並んでいるのかを入力する。デフォルトは昇順という回答になっている。これも今回のファイル形式に一致しているのでこの回答も変更する必要はなかった。

4⃣解析の仕方に関する入力

続いて、入力の4⃣解析の仕方に関する入力について説明しよう。
これは入力欄でいうと、④、⑩の二つに相当する。
まず④wavenumber range for the analysisである。
ここでは複素屈折率の分散を解析したい波数領域を指定してほしい。今回はデフォルト値の波数領域について解析した。
次に⑩LSR repeats until the residual is less than the one set hereである。
これは解析の程度をしてすることになる。簡単にいうと、内部では最小二乗法を用いており、最小二乗誤差(正確には標準偏差を用いている。)がいくつになったら計算を終了するかを指定することになる。この設定値をあまりに小さくしすぎると、いくらフィッティングをしても最小二乗誤差がその値未満になることがなく、解析が終了しないことがあるのでその点はご了承いただきたく思う。詳しいフィッティング方法を知りたいという方は、内部処理の説明など説明01フィッティング方法を参照してほしい。

1⃣実験条件

最後に実験条件について説明しよう。
これは入力欄でいうと、⑦、⑧、⑨の三つに相当する。
まず、⑦What is the Substrate used in experiment?である。
ここでは実験で使用した基質を指定してほしい。これは一般的な三つを選択肢として与えるとともに、それ以外の場合はotherから設定できるようにしたので必要に応じて使用してほしい。
次に⑧incidence angle である。
ここでは入射角を指定してほしい。
最後に⑨we caluculate the deviation from this valueである。
ここでは複素屈折率の分散のバックグラウンドを指定してほしい。詳しくは、内部処理の説明など説明02屈折率のバックグラウンドを参照してほしい。簡単に言うと[図1-1]の複素屈折率の実部のグラフの端の方の水平になっている部分の高さがどれくらいになるかを指定することになっている。

出力

次に出力の解説をしよう。[図1-1]には数値と表とグラフが出力されていることがわかる。一つずつ説明していこう。

(1)数値

これはフィッティング後の最小二乗誤差(正確には標準偏差を用いている。)がいくつになったかを示している。これは入力の⑩で与えた値より小さくなっているはずである。今回はデフォルト値が0.02であったので確かにそれより小さくなっていることがわかる。

(2)表

これはフィッティング関数のパラメータを示している。行ごとに一組のパラメータを示している。
フィッティング関数はローレンツ関数を用いている。詳しくは内部処理の説明など説明01フィッティング方法を参照してほしい。

(3)グラフ

これは反射率を波数に対してプロットしたものである。波数領域はちょうど入力④で指定したものになっている。experimentという名前が付いた方のグラフは単にインプットの反射率ををプロットしたものである。calculationという名前がついている方は(2)のように求まったフィッティング関数のパラメータを基に波数から反射率を計算してプロットしたものである。詳しいフィッティング関数の形が知りたい場合は内部処理の説明など説明01フィッティング方法を参照してほしい。differenceという名前がついているものはexperimentとcalculationの各点での差をプロットしている。これが0に水平な直線に近いほど適切なフィッティング関数が見つかったことを意味している。
チュートリアル02:複素屈折率の分散を解析してみよう。チュートリアル02の解説へ
チュートリアル02の解説
チュートリアル03:水-DCM 界面のシミュレーション
チュートリアル03の解説へ
チュートリアル03の解説
チュートリアル04:水-DCM 界面のシミュレーション
チュートリアル04の解説へ
チュートリアル04の解説


google

チュートリアルtopへ

内部処理の説明など

目次
説明01:フィッティング方法
説明02:屈折率のバックグラウンド
説明03
説明04
説明01
説明02
説明03
説明04
内部処理の説明などtopへ
ComplexRIページtopへ

ComplexRI