■2019-11-19 18:49:09
很久之前, 我還在做量子化學計算的時候, 就經常要在各種能量單位之間換來算去, 一會是Hartree, 一會是kcal, 一會是kJ, 時不時還要換成cm^1, Hz, 如果涉及物理還經常使用eV. 使用的次數多了, 自然也記得了如何換算, 雖不說掐指一算就能得到結果, 大致數量級還是不會錯的. 但真正需要精確值的時候, 還是要費事的. 久而久之, 我覺得還是找個單位換算程序比較好, 也確實找到了一些, 雖然覺得各有不足, 也將就著用了.
等後來學會了VB6, 我就用VB6寫了個計算器, 兼有單位換算的功能, 將我希望實現的功能都加了進去. 自覺很方便, 不覺用了很多年.
再後來, 我學了HTML, JS, 就慢慢將這個計算器的功能用JS實現了, 這樣就可以直接掛在網上, 只要有瀏覽器就能運行, 更方便了.
最近, 我將這個網頁版的計算兼單位換算器[1]更新了一下, 在這裡推薦給大家.
計算及單位換算最簡單的用途, 就是單位換算. 在任何一個輸入框中輸入數字, 所有其他輸入框中會變為相應的值.
其次, 每個輸入框中你不僅可以輸入數字, 也可以輸入js支持的任何表達式. 如2**3, 代表2的3次方. 其他支持的函數還有pow sqrt exp log, abs ceil floor, min max round random, sin cos tan, asin acos atan atan2.
再進一步, 我還定義了一些常用的數理常數, 你可以直接在表達式中使用: pi, c:真空光速, Na:阿伏加德羅常數, qe:基元電荷, ang:埃, nm:納米, h:普朗克常數, hbar:h/2pi, amu:原子質量單位, ha:原子能量單位, bohr:原子長度單位, kb:玻爾茲曼常數, mu0:介磁常數, eps0:介電常數, me:電子質量, mp:質子質量, g:標準重力加速度, G:萬有引力常數, atm:標準大氣壓, P0:標準壓力, T0:標準溫度, R:摩爾氣體常數, c2j:卡焦互換, j2c:焦卡互換. 這在計算一些數理公式的時候更方便一些. 舉個例子, 如果兩個電子間的距離為1 bohr, 靜電勢能就是1 hartree, 我們來驗證一下. 在J對應輸入框中輸入qe**2/(4*pi*eps0*bohr), Hartree對應的值為0.999999999997869, 基本就是1. 這就驗證了我們的想法.
如果有些常數的值無法直接使用, 那麼你可以查看CODATA-2018的值[2], 這是最新的值, 也是程序中所用的.
濃度和密度在分子動力學建模的時候經常涉及濃度, 密度, 盒子大小的計算. 比如, 盒子大小為2⋅2⋅2 nm3, 裡面放多少個分子其濃度才能達到0.15 M? 你在`molec/nm3中輸入1/2**3`, 馬上就會得到對應的濃度為0.207567383396731 M, 因此, 使用8 nm^3的盒子你是無法得到0.15 M的濃度的.
VDW/LJ參數在處理力場的拓撲文件時, 有時要使用不同的組合規則來獲得LJ參數, 或者驗證文獻中給的數據. 使用這個工具你可以方便的來計算或驗證.
統計功能暫略
矩陣待完成
更多有待你的發掘.
參考[1] 計算兼單位換算器: https://jerkwin.github.io/gmxtool/calc/calc.html
[2] CODATA-2018的值: https://physics.nist.gov/cuu/Constants/Table/allascii.txt