高分子の生体現象では,大きな電荷反転の現象 (電荷の中性条件
を大きく越えた電荷) が起きている。これを応用すると,微小DNAの
人体内の輸送が可能である (Refs. 1-5)。これが起きるためには
2つの条件が必要であり,
1) マクロイオンから見て,2価以上の対イオンがあること,
2) クーロン相互作用が熱的レベルを越えて起きること,
である。Langevinの熱浴効果がクーロン力,LJ力に加わるため,
マクロイオン(負電荷) の表面近くに正電荷のイオンが集まっている。
反発力で振動する正と負の電荷とは違って,生体では熱浴による
温度調節(thermostat) が効いて,普通に振動は減衰していく。
マクロイオンの大きな電荷反転の現象 + 並列計算の方法
Giant charge inversion of a macroion due to multivalent counterions
and monovalent coions: Molecular dynamics study
M. Tanaka and A. Grosberg, J.Chem.Phys., 115, 567 (2001) Charge inversion.
ここでは,マクロイオン,正負のイオン、中性の水分子を扱って
いて,正方形の周期的境界条件を与えている。マクロイオンは,
Q_mac=-30e, R_mac=5a, M=300mで,正電荷イオンは110個,
負電荷イオンは300個,正方格子の約67 オングストローム,
水分子は 約3.2 オングストロームごとに置き 8000個である。
(CGS系:e=4.80x10^-10 esu, m=1.67x10^-24 g, a=1.0x10^-8 cm,
..t=1.0x10^-15 s (1 fs), \epsilon=78, Zcn=3, Zcn=-1, Zwat=0)。
計算する上で大切なことは,クーロン力を近距離力と遠距離力
に分けている。このように2つの相互作用を分離することにより,
良い精度でクーロン力を計算できる (Deserno and Holm, 1998,
Ref. 6; https://github.com/Mtanaka77/Charge_inversion, Ref. 7)。
クーロン力を分離しないときは,プラズマ発展問題があり,電場
\E = -\nabla(Z_{i}Z_{j} e_unit^2/r) が爆発現象を扱うときである
(Ref. 8)。ここでは分子動力学法を使っている。それとは異なり,
セル内粒子(Particle-in-Cell)の短い 「ディバイ長」 の平均近似で,
かつ空間メッシュで電場を解く場合にあたり,応用が核融合分野
などに限られる。
価数が2価原子ではCa, Fe, Zn,3価原子ではAl, Feなど,分子
イオンではDNAの一部であるPO4^4- がある。錯イオンでは, 1価の
[Al(OH)_4]^1-, 2価の[Zn(NH3)^4]^2+, 3価の[Fe(CN)_6]^3-, 4価の
[Zn(OH)_4]^4-, [Fe(CH)_6]^4-, などである。
* FortranとMPI による並列計算
高性能の6-12 Core以上をもつパソコンでは,Fortranを使い並列
計算MPI で効率的に分子動力学シミュレーションを計算できる。
Linux 64bit PCが勧められるが,Windowsパソコンに VirtualBoxを
環境窓に置いて,Linux内にログインして使える。このときLinuxの
コマンドを使うために勉強することが大切であるが,Linuxコマンドは
作りが単純な構成である。
高速な計算のため,C言語でなくFortran言語を使い,MPICH,
FFTW3のパッケージが必要である (PC以外の費用は不要)。
複数コアで並列演算するための MPI手法では,並列処理でコアに
割り振るため,定量飛ばしのdoループ(+)や多重ループ処理が
普通に使われる。(+連続切り出しdoループは効率がよくない!)
並列演算とベクトル演算の効率に関しては2019年夏のデータがある。
分子動力学シミュレーションで測定すると,並列計算(富士通, FX100)
と並列/ベクトル計算(NEC, Aurora)について,演算速度は後者を基準
とすると前者は約3倍である。