ゼロから作るDFT

誰か作って
1
🐟さかな🐟@世界のかまこぼ @ShunSakana

ゼロから第一原理計算(DFT)のプログラムを作る講座なら、最初は動径座標で原子のDFTを解くプログラムを書くのが良いかもしれない。 これでDFTの基礎を勉強しつつ、実は後の擬ポテンシャル・ジェネレーターのベースになるコードとなっているという布石。

2020-08-15 15:42:41
🐟さかな🐟@世界のかまこぼ @ShunSakana

でも、擬ポテンシャル用のコードなら、やはり相対論的な補正は入れておきたいよなー、となってさらにやることが増える。。

2020-08-15 15:44:26
dc1394 @dc1394

第一原理計算の本、理論ばかり説明した本か、第一原理計算ソフトの使い方ばかり説明した本かの二択しかなくて、両方ちゃんと説明した本がないのが問題。

2022-09-30 17:28:16
kh~is_ama @khis_ama

ゼロから作るDFT的なやつがあるべきなのでしょうね。 twitter.com/dc1394/status/…

2022-09-30 21:56:02
🐟さかな🐟@世界のかまこぼ @ShunSakana

ゼロからDFTのコードを書くなら、まずは球対称性を仮定して動径方向のSchrödinger方程式を解くプログラムを書いてみるのが良いと思う。。 確か、Thijssenの「計算物理学」に方法が書いてあったと思う。その前の練習問題として、He原子のHartree-Fock法を球対称性を仮定して解くのも良いと思う。。

2022-10-01 12:29:20
dc1394 @dc1394

いきなり固体に対するDFTのコードを書くのは難しいので、まずはこうするべきだと思う。また、分子に対するDFTのコードも、例え単純な二原子分子だったとしても、積分が難しい。 twitter.com/ShunSakana/sta…

2022-10-01 12:34:13
🐟さかな🐟@世界のかまこぼ @ShunSakana

球対称性を課さずにCoulombポテンシャルの発散をそのまま取り扱うのは厳しいので、DFTのコードを書く前に擬ポテンシャル法の勉強をしなくちゃいけなくなると思うけど、原子の問題を解いておくとその予習・準備にもなる。。

2022-10-01 12:36:38
🐟さかな🐟@世界のかまこぼ @ShunSakana

局在基底で計算する全電子計算コードとかの可能性はあるかもだけど、局在基底でDFT計算をどうやるのかの実装部分については、自分の知らないことが結構ありそうなので何とも言えない。。

2022-10-01 12:36:38
Yuki Nagai @cometscome_phys

それもよいのだけれど、量子化学っぽい方向性なので、やはり平面波からやりたい twitter.com/ShunSakana/sta…

2022-10-01 12:36:56
🐟さかな🐟@世界のかまこぼ @ShunSakana

@cometscome_phys 平面波だとCoulombの発散が厳しくて全電子計算は難しそうなので、擬ポテンシャル等の技術が必要になる気がするので、結局原子の問題は扱う必要がありそうな気がするんですが、気合で平面波で全電子計算という感じの方向なんですかー?

2022-10-01 12:38:57
Yuki Nagai @cometscome_phys

@ShunSakana 一から書くなら擬ポテンシャルを使ったほうがよくて、擬ポテンシャルは勉強さえすればなんとかなるので、既存の擬ポテンシャルファイルを読み込む形で平面波基底が良いかなと思います

2022-10-01 12:40:09
🐟さかな🐟@世界のかまこぼ @ShunSakana

@cometscome_phys なるほどです!既存の擬ポテンシャルを使うという感じなんですねー! 「ゼロから」という感じの話題だったので、擬ポテンシャルも自作することを想像してました!

2022-10-01 12:42:11
Yuki Nagai @cometscome_phys

@ShunSakana それもありなんですが、それやるとまともに動くのを作る前に力尽きますね…

2022-10-01 12:46:53
🐟さかな🐟@世界のかまこぼ @ShunSakana

研究(?)を始めた初期段階で、PAW法の(TD)DFT計算コードとPAW法のprojectorや行列要素等を作るプログラムをゼロから自作できたのは、後々大きな財産になってる気がする。。 このあたりのスキルを身につけられたおかげで、新しい解析の理論を作って、それを自分で実装するというところまで完結で来てる。

2022-10-01 12:46:39
🐟さかな🐟@世界のかまこぼ @ShunSakana

GWとかGW+BSEとかDMFTとか、その辺のコードも一度ゼロから自作してみたいなー。。 どこかの夏休みの自由研究にしようかなー。。

2022-10-01 13:00:41
🐟さかな🐟@世界のかまこぼ @ShunSakana

記憶をさかのぼってみると、原子のDFTコードと擬ポテンシャル生成コードを自作すると、3D-DFTコードを自作した際に原子の計算をして、自前の原子ノードと比較することで、コードが正しく動いてるかどうかを確認できるのも良い。。

2022-10-01 13:11:05
🐟さかな🐟@世界のかまこぼ @ShunSakana

ゼロから自作したDFTコードは、大きな計算をするときに計算時間がかかり過ぎる問題にすぐ直面すると思うので、並列化が必要となり、どうせまたゼロから書き始める。。という道を通る人は多そう。。

2022-10-01 13:13:17
kh~is_ama @khis_ama

局在基底で周期境界を扱うDFTもフーリエ変換絡みの数値計算テクニックが必要そうだし、周期境界なしのsto3gみたいなやつと平面波+擬ポテンシャルをどっちも勉強する本だと物理、化学両方の読者が助かるはず(?)

2022-10-01 14:49:40
Tomoya Naito @TomoyaNaito

そもそも、ゼロからDFTのコードを書くといった時に、電子系だとしても、原子を解きたいのか、分子を解きたいのか、固体を解きたいのかでstrategyが全然違う気がする。 twitter.com/ShunSakana/sta…

2022-10-01 20:11:53
🐟さかな🐟@世界のかまこぼ @ShunSakana

@TomoyaNaito 分子や固体を解きたくても擬ポテンシャル作成のコードも必要になると思ったので、その意味でも原子から解くのが良いなーと思いました。 まあ、局在基底で全電子計算する方法もありますが。。

2022-10-01 20:35:44
Tomoya Naito @TomoyaNaito

@ShunSakana 分子や固体を解くときは、擬ポテンシャルを「DFTの一部分」と思うか、「そこもまとめて全部自分のコードで」と思うか、という言葉の定義の問題になりそうな気がしました。 私は一般論としては前者と捉えていたので…。

2022-10-01 23:14:41
Tomoya Naito @TomoyaNaito

@ShunSakana ただ、私も自分で擬ポテンシャルを作りたいし、原子で色々とやりたかったから原子コード書いたけど。

2022-10-01 23:14:44
🐟さかな🐟@世界のかまこぼ @ShunSakana

@TomoyaNaito ゼロからと言ったら、擬ポテンシャルあたりは自分でやるかなーといった感覚ですねー

2022-10-01 23:16:45
Tomoya Naito @TomoyaNaito

@ShunSakana 鬼だ……笑 (確かに、僕も擬ポテンシャルは自分で作りたいけども…)

2022-10-01 23:18:20
Kosuke Nogaki @k_nogaki

時間が無限にあるなら、ゼロから作るDFTやりたい。。。

2022-10-02 15:12:24