前提
由於 Atom_cutting 程式的需求,計算之前需準備.switch檔案,如果處理的材料分子數較大較多必須手動重複的列出元素名、半徑、數量等等,如果今天有上百個計算需要做這個動作,並且在vim裡面是沒有辦法快速的告訴操作者已經有幾個(元素),很容易有多一個或少一個的誤差出現。
例子
我在這先舉出一般的.switch檔內的內容,以5NU這材料來做示範。
5NU : C 16 H 12 N 12 O 16
可以發現如果是手動是極度耗時的一個事情。
1 | %BLOCK ATOM_DOMAIN |
Fortran程式
最初其實是使用Fortran寫出的程式,但在更改上與細修的即時度較差,因為不方便所以才寫了後來的Shell腳本,以下是簡易版本的生產器,可編譯之後使用。
Prpgram Name : produceswitch.f90
1 | !=======================! |
Shell script - 進階版本
這版雖然方便,但依舊有一些條件與限制。
Introduction
- 可直接產生分別分子個數的switch檔案。Example: Urea內由2個單分子組成,可一次產生出分別屬於2組單分子的switch檔。
- 可直接產生出 onsite 與 offsite 兩種狀況的 switch檔案。
- 目前是支援三種與四種元素組成的材料。Example: C16H12O16 與 C16H12N12O16。
BTW 如果只有三種元素的材料,當腳本詢問第四種元素時,直接Enter跳過空白。
1 | #!/bin/bash |
當然,可以發現兩個使用功能不同,目的取向也不同。
如果還有任何問題可再詢問我。