Fortran

【グロス・ピタエフスキー方程式(Fortranコードあり)】2次元ダークソリトンの崩壊

こんにちは(@t_kun_kamakiri

過去に書いたグロス・ピタエフスキー(GP)方程式のFortranコードを保存用として記載しておきます。GP方程式については下記の記事に詳しく書きましたのでご参考ください。

グロス・ピタエフスキー方程式(略してGP方程式)

\begin{align*}
i\hbar\frac{\partial \psi(\boldsymbol{r},t)}{\partial t}=-\frac{\hbar^2}{2m}\nabla^2\psi(\boldsymbol{r},t)+V_{ex}\psi(\boldsymbol{r},t)+g|\psi(\boldsymbol{r},t)|^2\psi(\boldsymbol{r},t)\tag{1}
\end{align*}

ただし、グロス・ピタエフスキー方程式は以下の状況を仮定していることに注意。

  1. ボース・アインシュタイ凝縮を起こしているので、大多数の粒子の状態をまとめて1つの波動関数\(\psi\)と書く。
  2. ボース・アインシュタイ凝縮を起こした大多数の粒子を捕獲ポテンシャルで捕獲する。
    捕獲ポテンシャル:(\(V_{ext}=\frac{m\omega^2\boldsymbol{r}^2}{2}\))
  3. 粒子間の相互作用は近接でのみ作用する(\(U_{int}=g\delta(\boldsymbol{r_{1}}-\boldsymbol{r_{2}})\))
    ※近接のみ作用するというのは希薄な気体であるという意味です。

2次元ダークソリトンの渦への崩壊

本記事で紹介するのは2次元で溝のような形をした波動関数を初期状態にして、時間発展で渦へと崩壊するというシミュレーションです。

Fortranコード

昔書いたとてもお粗末なコードがあったので後で修正するのを見越して添付しています。ところどころ古いFortranの記述もあるので見てられないですが、べた書きで凝ったことをしていません。

今改めて見ると同じ記述が何個もあったり、意味の塊でコードをまとめていなかったり、めちゃくちゃ醜いですね💦書き直したくなります・・・

参考書

Fortranの日本語書籍は数が多くないので以下自分が持っていて参考にしているものを紹介します。

以下2冊はFortran90/95で書かれたとてもわかりやすい参考書です。
基本的な文法は↓こちらで学んでおけば良いでしょう。

数値計算のためのFortran90/95プログラミング入門(第2版)

数値計算のためのFortran90/95プログラミング入門(第2版)

牛島 省
3,465円(04/20 03:39時点)
Amazonの情報を掲載しています

Fortranを使う場面はやはり数値計算でしょう。以下の参考書は微分方程式を数値的に解く際のサンプルコードが多く紹介されています。難しい記法を使わずに書いているので、わかりやすいです。

Fortran ハンドブック

Fortran ハンドブック

田口 俊弘
3,520円(04/20 20:36時点)
Amazonの情報を掲載しています

モダンなFortranに対応した参考書としては以下のものがあります。
あまり深く読めていません_(._.)_

みんなのFortran―基礎から発展まで―

みんなのFortran―基礎から発展まで―

松本 敏郎, 野老山 貴行
3,520円(04/20 14:03時点)
Amazonの情報を掲載しています

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です