計算物理到底是一個怎樣的專業
一,什么是計算物理
計算物理,顧名思義,就是用計算機去研究物理,我們這些搞計算物理的,就是物理界的程序猿。物理學有兩大派,理論物理和實驗物理,這兩種物理大家都非常的好理解。但是呢,理論物理發展到現在,有好多的問題,要么根本就沒法得到精確解,要么能得到精確解,但是耗費巨大,得不償失。
不能得到精確解的例子有很多。舉個最簡單的例子,求一個高次方程的根,很難得到精確解。物理上也是如此,比如求解多電子系統,需要考慮的項太多了,電子之間庫侖斥力,原子核對電子的吸引力,而且還要考慮電子云的屏蔽作用。這個,多少個大腦多少張紙都是算不出來的。但是我們又需要用,那怎么辦?
解決辦法,一個就是采用近似,對其他干擾項不管了!
比如凝聚態經典的hubbard模型,這個模型看不懂也沒關系啊!它直接把一堆電子放到了格點上。我們只考慮兩項,一個是電子自身的運動,從一個格點跳到另一個格點,就是下圖中的-t。
另一個是庫倫排斥,兩個負電荷的電子肯定會有排斥作用的啊,我們這里只考慮兩個自旋相反的電子占據同一個格點的情況,讓其勢能增加U,就是下圖中的U。按理說在不同的格點應該也有排斥,我們不管,直接讓其為0,看看多么簡單粗暴!
至于其他的作用,不要了,統統不要了 !
這樣我們就可以寫出系統的能量(看不懂沒關系,和本課題是無關的)
看看,就兩項,是不是變的如此簡單?Hubbard模型就是對多電子系統的一個非常粗糙的近似。實際上近似處理是物理學非常常見的一個手段。因為我們不需要算的非常精確。精確值1,我們能算到0.9就很不錯了,做實驗還會有各種各樣的誤差。當然,這也是我們被數學系鄙視的重要原因之一,他們認為我們遇到難題只會近似,柿子專挑軟的捏。
但是,就是這么簡單的一個模型,二維以上的精確解也是很難算的。還是看剛才那個模型,一個格點,有四種情況,沒有電子占據,有一個自旋為上的電子占據,有一個自旋為下的電子占據,兩個電子占據。一個格點4種情況,兩個格點呢,那就是16種情況。N個格點呢,那就是4的N次方。
當然了,電子數是守恒的,我們可以排除一些情況,但是它仍然是指數增加的啊!想想那個國際象棋棋盤上的小麥數量。想算精確解,算到猴年馬月去吧!
那么,這里,計算物理就應運而生了,計算物理告訴你:“精確解我給不了,但是近似解我還是能給你的。1我給不了,但是我可以得到0.9±0.1。”算了,我們就退而求其次吧。那么計算物理怎么給你?這里就要介紹蒙特卡洛方法了。
二,蒙特卡洛方法
蒙特卡洛是一座著名的賭城。一想到賭,就會自然而然就會想到概率,想到隨機數。沒錯,蒙特卡洛就是用隨機數抽樣來計算某個東西的。
比如,給你下面一個圖形,正方形面積為1,你怎么計算黑色區域的面積?
這個區域很不規則,得到精確解簡直是天方夜譚。但是我有一個方法,我往里面投石子,投100個,然后數有幾個落在黑色區域了。比如23個落在黑色區域了,那面積就是0.23!嫌不夠精確?很簡單,多投幾個,我投10000個!投的越多,結果肯定是越精確啊。不過不幸的是,實驗誤差是和實驗次數的開方成反比的,也就是說,如果是想要10倍的精確,你需要100倍的實驗次數,所以太精確會導致計算時間加長很多。
當然,你親自投10000個石子,別人會覺得你瘋了,你自己也堅持不下來,但是計算機會很樂意幫你的忙,設計一個for循環,給一個判定,直接出結果,1萬次計算連1毫秒都不到。這也是計算機的一個很大的好處,只要告訴它具體怎么做,它能以非常快的速度完成。
所以,計算物理很大的部分就是對復雜系統進行“投石子“,用學術的詞就叫抽樣。想算更精確一點,就多抽幾次,不關心精確度,就少抽幾次,好節省時間干別的事。
當然,實際的情況要復雜的多,需要各種各樣的技巧,我們這里就給個輪廓而已。
三,計算物理的研究方向
首先糾正答主的一點,計算物理并不是一個專業,它是只是一個物理的分支,一種方法。
物理從方法上,有理論物理,實驗物理,計算物理。從領域方向上,有光學,原子分子,等離子體,高能,凝聚態,生物物理.....每個方向都會有計算物理的影子。
比如凝聚態,理論凝聚態就是一幫人拿著一張紙和一支筆苦思冥想。實驗凝聚態則是一幫搬磚工在操作各種儀器,制作各種各樣晶體材料。而計算凝聚態,則是一幫程序猿在電腦前寫代碼跑數據,但是光會寫代碼跑數據還不行,我們還要思考,還要有扎實的理論基礎,計算物理也是物理。
所以,計算物理并沒有特定的研究方向,它寄存于物理的各個領域,為理論物理和實驗物理服務。理論太復雜?沒關系我們來給你近似解。實驗太難做?沒關系我們先在電腦上實驗。當然,計算物理更多的是服務于理論的,所以它更偏向于理論物理,你動手能力差沒關系,但是你的理論得扎實。當然,真正的裁判還是在實驗,你理論搞出來了,計算物理證實了,但是現實中實驗就是模擬不出來,那就全是空中樓閣。
至于國內的導師,這個我實在是了解甚少,我只知道科大的。我本科的丁澤軍老師就是搞計算物理的,他主要側重的是固體微結構,實驗室非常龐大。另外何力新老師是第一性原理還有凝聚態模型的,我在的時候他在用Tensor network搞海森堡模型,不知道現在還有沒有做這個。另外朱文光老師也是搞第一性原理的,其他的老師就不是很了解。不過這樣的信息建議去學校物理學院的官網,看每個老師的簡介和主頁,都會有詳細介紹的。
四,專業學習以及就業
從事這個專業的研究,自然而然就要理論和編程兼顧了。一般計算物理做的計算都很花時間,所以你僅僅會MATLAB是遠遠不夠的,最好要掌握C,python還有fortran,因為實驗室有很多比較古老的代碼都是用fortran寫的,不過如果你掌握了C,fortran很容易上手。你必須會使用超級計算機,所以一定要學會linux系統的基本操作,怎么提交程序啊,怎么Makefile啊。
最重要的一點,就是雖然這些計算機的內容很重要,但是你的主要精力還是要放在物理上,新手一般都是用師兄們現成的程序稍微改改,然后進行模擬。所以千萬不要忙著忙著失去了思考,變成了一個純粹的批量操作的程序員。
另外,個人認為,發paper的難度,實驗 < 理論 < 計算。 實驗是灌水的重災區,你弄出個材料,測測它的若干性質,就能寫一篇paper。理論和計算都很難發 paper,但是計算和理論相比,計算在頂級期刊發paper的難度更大。因為很多頂級物理學家對計算物理都有輕視的態度,認為他們鼓搗出來的小玩意兒沒什么意義。所以,計算物理專業的,如果能一年出一篇含金量高點的PAPER,那就是大神。所以計算物理專業的老師的H因子都偏低。
找工作的難度,計算 < 理論 < 實驗。 雖然是小于,但是實際上難度也小不了多少。計算物理方向的學生一般數據分析能力都比較強,如果是搞材料的,在工業界也會有一定的應用。計算物理有程序猿的一點點基礎,雖然不值一提,但是總比沒有強吧。理論物理因為身經百戰,數理基礎很強,也會有一部分企業青睞,而實驗物理就屬于密集勞動型了,這種一般就業都最困難。不過它們都是物理,都是專業不對口,所以也差不了太多。
最后強調一點,計算物理專業的學生最大的錯覺就是"我能轉CS"。說實話你那點計算機水平,在搞CS的眼里完全不值一提。這就好比一個計算機專業的學生去申物理學博士,然后跟導師說:“導師,我會求解定態薛定諤方程。”覺得可笑不可笑? 所以,如果你想轉CS或者金融,請直接申請相關專業,千萬不要搞計算物理來“曲線救國”。畢竟,穿上馬甲的蛇也是蛇,變不成烏龜,計算物理也是物理。
本文經授權轉載自Super Mario知乎回答:https://www.zhihu.com/question/271987942/answer/364888042
材料人重磅推出材料計算解決方案,組建了一支來自全國知名高校老師及企業工程師的科技顧問團隊,專注于為大家解決各類計算模擬需求。如果您有需求,歡迎掃以下二維碼提交您的需求。或點擊鏈接提交,或直接聯系微信客服(微信號:iceshigu)
文章評論(0)