入門階段,首先你要知道你想做什麼,最好是找個看起來不太難的文章照著把裡面的模擬自己重複一遍。因為全原子模擬大都是用一些軟體來進行的,因此你首先需要的是學會一些軟體的使用,常用的生物分子模擬軟體包括:Gromacs、Amber 和 NAMD 等等,材料有關的模擬還有 Lammps 等軟體。學這些東西的時候首先主要是要知道模擬的基本流程以及實現的方法,包括怎樣搭建模擬的體系、各種檔案格式的轉換、系綜與盒子的選擇、水及離子、能量極小化等等,等到模擬的軌跡出來怎樣對資料進行處理,等到之後還可以學習軟體裡面的一些外掛,例如一些加速取樣的方法等等。
自己學一種語言的話,在初期,做 MD 比較重要的是指令碼語言,包括 Shell 指令碼或者其它你自己喜歡的指令碼。因為最終你還是不太可能完全在自己的電腦上跑程式的,所以要有一個你自己用得比較熟的、能對大規模的資料進行處理的語言,我覺得 Python 是很適合的,而且裡面的 Prody,Matplotlib 等等各種包都非常好用。
入門之後,如果希望自己透過一些量子化學的計算結果去調整和修改現有的力場,那麼需要能看懂其他人的程式碼,這種時候很可能會需要能讀懂 Fortran 的程式碼。如果自己喜歡做一些簡化模型自己弄著玩,用 Python 之類的寫起來是簡單,但是效率太低,還是需要會一點點 C 或者 C++,當然語言只是一方面,更重要的是自己要結合實際的體系做一些最簡單的最佳化。
相比起書籍來,還可以關注一些做模擬的學術們聚集的論壇和社群,例如:小木蟲、分子模擬論壇、ResearchGate 等等。
參考書的話,其實有很多,不過還是要看你自己需要哪方面的內容:
分子模擬方面的經典書籍:Understanding molecular simulation: From algorithms to applications 和 Molecular Modelling - Principles and Applications ,兩本書的側重點有些不同。
中文書籍:《分子模擬的理論與實踐》《計算化學——從理論化學到分子模擬》中的部分章節;
偏統計和計算物理方面:Statistical Mechanics: Algorithms and Computations。
入門階段,首先你要知道你想做什麼,最好是找個看起來不太難的文章照著把裡面的模擬自己重複一遍。因為全原子模擬大都是用一些軟體來進行的,因此你首先需要的是學會一些軟體的使用,常用的生物分子模擬軟體包括:Gromacs、Amber 和 NAMD 等等,材料有關的模擬還有 Lammps 等軟體。學這些東西的時候首先主要是要知道模擬的基本流程以及實現的方法,包括怎樣搭建模擬的體系、各種檔案格式的轉換、系綜與盒子的選擇、水及離子、能量極小化等等,等到模擬的軌跡出來怎樣對資料進行處理,等到之後還可以學習軟體裡面的一些外掛,例如一些加速取樣的方法等等。
自己學一種語言的話,在初期,做 MD 比較重要的是指令碼語言,包括 Shell 指令碼或者其它你自己喜歡的指令碼。因為最終你還是不太可能完全在自己的電腦上跑程式的,所以要有一個你自己用得比較熟的、能對大規模的資料進行處理的語言,我覺得 Python 是很適合的,而且裡面的 Prody,Matplotlib 等等各種包都非常好用。
入門之後,如果希望自己透過一些量子化學的計算結果去調整和修改現有的力場,那麼需要能看懂其他人的程式碼,這種時候很可能會需要能讀懂 Fortran 的程式碼。如果自己喜歡做一些簡化模型自己弄著玩,用 Python 之類的寫起來是簡單,但是效率太低,還是需要會一點點 C 或者 C++,當然語言只是一方面,更重要的是自己要結合實際的體系做一些最簡單的最佳化。
相比起書籍來,還可以關注一些做模擬的學術們聚集的論壇和社群,例如:小木蟲、分子模擬論壇、ResearchGate 等等。
參考書的話,其實有很多,不過還是要看你自己需要哪方面的內容:
分子模擬方面的經典書籍:Understanding molecular simulation: From algorithms to applications 和 Molecular Modelling - Principles and Applications ,兩本書的側重點有些不同。
中文書籍:《分子模擬的理論與實踐》《計算化學——從理論化學到分子模擬》中的部分章節;
偏統計和計算物理方面:Statistical Mechanics: Algorithms and Computations。