從今天開始到年末回家儒陨,要完成對EPOCH3D的小修改——增加輸出我們在做MR時非常關(guān)心的一些物理量(比如:壓力張量的非對角項(xiàng)等等)雳灾。
有XZ在2D上所做的工作作為模板樊拓,對3D的鏡像修改應(yīng)該不難典勇。(再次多謝XZ蝶糯!對你謝謝謝不完)
然而本著認(rèn)真的態(tài)度乐疆,在完成這項(xiàng)工作的同時划乖,需要同時做好以下幾項(xiàng)工作:
- EPOCH Manual的通讀并細(xì)讀;
- 對改動代碼所在源文件的注釋添加(用好Doxygen工具)挤土;
- 熟練使用Git工具(由于EPOCH源碼的特殊性琴庵,僅僅使用本地功能);
- 學(xué)習(xí)ZH老師的修改版本(HDF5文件格式);
- 學(xué)習(xí)Zeltron程序迷殿,并與EPOCH結(jié)果進(jìn)行對比儿礼,做好Benchmark;
- 學(xué)習(xí)Zeltron3D中所使用的后處理工具(python);
庆寺。蚊夫。。(以后的想到了再增加)
2015.12.18 Initialization
在L老師服務(wù)器上保存好代碼之后:
- git init并做好簡單的初始config工作懦尝。
- 配置git ignore文件知纷,忽略掉并不需要的SDF、OBJ陵霉、BIN等文件夾
- 隨后便遇到了問題琅轧,對git branch的使用不熟。下面轉(zhuǎn)載了一則關(guān)于如何使用git branch功能的干貨貼撩匕,講解的十分到位鹰晨。
【轉(zhuǎn)載】git branch 使用詳解 - 建立了分支v0.0.1,明天就開始著手閱讀并修改代碼吧止毕!
期待ing
2015.12.19 -- 2015.12.20
- 開始v0.0.1
- 在L老師服務(wù)器上安裝Doxygen模蜡,并配置好doxyfile。
- 閱讀calc_df.F90源代碼扁凛,經(jīng)XZ講解其邏輯之后忍疾,代碼異常易懂!
但其中不乏一些并不常見的語句和fortran函數(shù),逐一整理在另外的文檔中。
一個例子:DO WHILE(ASSOCIATED(current))
- 干了不少花里胡哨的東西烤咧,終于要做一些實(shí)實(shí)在在的事情了——在calc_df.F90中添加了calc_ywp_ux/y/z子函數(shù)(只需注意添加z方向的維度绝页,所有ix,iy的后面加上iz徊都;對于x,y的循環(huán)也別忘了還有z)
- 添加完成之后,其實(shí)是應(yīng)該編譯驗(yàn)證一下的士复。(但因?yàn)椴辉趯W(xué)校,不方便翩活,所以這很重要的一步留到明天去辦公室后的第一件事去做)阱洪。
- push到開源中國的私人倉庫里去,方便明天從辦公室繼續(xù)修改菠镇。
git clone https://git.oschina.net/angangliandudu/epc.git
2015.12.21 -- 2015.12.23
- 完成ux/y/z的添加冗荸,并測試成功
- 進(jìn)行剩余所有壓力張量非對角項(xiàng)的輸出添加(Txz/Tyz/Txy)
- 以及所有壓力張量非對角項(xiàng)的空間導(dǎo)數(shù)的輸出添加(DxTxz/DxTyz/DxTxy)
2015.12.24 - 2015.12.30
- 通過重復(fù)xz的工作,發(fā)現(xiàn)了修改部分中存在的particle weight小bug利耍。
- 花了一下午的功夫蚌本,最終還是xz發(fā)現(xiàn)了盔粹,原因也還是在于小小的筆誤 -- 'ifndef'和'ifdef'搞混了。魂毁。是的沒錯玻佩,“這樣也行!席楚?咬崔!”
- 解決掉這個問題之后,Txz等壓力張量在數(shù)量級上的問題就解決了烦秩;重新在美國服務(wù)器上提交了分辨率擴(kuò)大8倍的算例垮斯,還沒來得及處理數(shù)據(jù)。
TODO:
- XZ用心良苦的Homework -- 增加輸出與磁力線方向平行/垂直的溫度/壓強(qiáng)