LAMMPS輸出【Output】的問題

轉(zhuǎn)自http://blog.sina.com.cn/s/blog_6e56343801014qpb.html

談?wù)勱P(guān)于LAMMPS輸出【Output】的問題

2009-09-25 19:40

無論任何模擬钞瀑,我們都是想從模擬中得到我們想要的數(shù)據(jù)【data】涝开,然后分析這些數(shù)據(jù)碴巾,從而提取出相關(guān)的信息【MAYBE新的發(fā)現(xiàn)】,那么數(shù)據(jù)的輸出是必然的一道程序惶室,下面談?wù)凩AMMPS軟件是如何輸出data椎麦。

LAMMPS中處理的輸出數(shù)據(jù)主要分一下三個(gè)大的部分

1.斷點(diǎn)數(shù)據(jù)窍奋,這個(gè)主要是為了防止模擬過程中出現(xiàn)意外芭梯,比如實(shí)驗(yàn)室或機(jī)房突然斷電,程序部分階段有錯(cuò)誤等等音半。

2.系統(tǒng)熱力學(xué)量的輸出则拷,這些量一般是體系中各個(gè)原子的集體行為量,比如溫度曹鸠,壓強(qiáng)等

3.單原子詳細(xì)信息的輸出煌茬,如我們想得到的軌跡文件

對(duì)應(yīng)于上面的三大部分,LAMMPS設(shè)置了不同的命令彻桃,有些命令結(jié)合在一起實(shí)現(xiàn)相關(guān)的功能坛善。

1.對(duì)于斷點(diǎn)數(shù)據(jù),原始數(shù)據(jù)邻眷,LAMMPS主要有一下命令進(jìn)行數(shù)據(jù)的輸入輸出眠屎。read_data,read_restart【讀入】肆饶,restart改衩,write_restart【輸出】,如果能靈活運(yùn)用這幾個(gè)命令驯镊,會(huì)讓你的模擬在突發(fā)事件下得到經(jīng)濟(jì)上的收獲葫督。其中命令里有兩類通配符竭鞍,* 表示時(shí)間步,% 表示CPU編號(hào)候衍。

2.全局熱力學(xué)數(shù)據(jù)笼蛛,也就是所謂的thermodynamic output洒放,這些量是面向于系統(tǒng)的蛉鹿,而不是面向于某一類,某一組往湿,原子的妖异。一般是系統(tǒng)宏觀信息的數(shù)據(jù)。處理這些數(shù)據(jù)的命令主要有如下幾個(gè) thermo, thermo_modify, thermo_style[這個(gè)命令對(duì)于初學(xué)者要認(rèn)真研究和調(diào)試]领追,還有相關(guān)的把單原子信息轉(zhuǎn)換為【global quantities】的輔助命令:fixave/time他膳,fix ave/spatial, compute reduce 這些命令可以自己設(shè)定輸出的頻率绒窑,文件名等等棕孙。thermo_style 和 compute/fix/variable命令結(jié)合進(jìn)行數(shù)據(jù)的處理和輸出是個(gè)大學(xué)問,這個(gè)需要不斷的調(diào)試才能熟練掌握些膨。其實(shí)研究variable compute和少數(shù)關(guān)于數(shù)據(jù)處理的fix可以節(jié)約你大量后期數(shù)據(jù)處理的時(shí)間蟀俊。

3.單原子數(shù)據(jù)。相關(guān)命令主要有dump, dump_modify,undump.時(shí)刻牢記這些命令用于處理atom的數(shù)據(jù)對(duì)于你出現(xiàn)的錯(cuò)誤就有敏感性了订雾,呵呵肢预。

4.echo,print,fix print結(jié)合variable可以用于調(diào)試你的腳本,糾錯(cuò)洼哎。

5.秀個(gè)例子烫映,用于輸出setforce, group原子于其他相互作用力

#------------------------------------------------------------------------------------

fix???????????????????3???tetras setforce 0.0 0.0 0.0

variable?????????????fx???equal f_3[1]

variable?????????????fy???equal f_3[2]

variable?????????????fz???equal f_3[3]

fix???????????????????4 tetras print 1 "-- ${fx}???${fy}???${fz} --"

#------------------------------------------------------------------------------------

thermo?????????????????2

thermo_style?????????custom step f_3[1]???f_3[1]???f_3[1]

#------------------------------------------------------------------------------------

以上由redream/一下是fc所寫

關(guān)于output噩峦,手冊4.15锭沟,曾粗略翻譯過

除了restart文件,LAMMPS還有兩種基本的輸出识补。第一種是熱力學(xué)輸出族淮,每隔一定的時(shí)間步就打印到屏幕和log文件的一列數(shù)。第二種是dump文件李请,包括按照一定的頻率寫入文件的原子位置快照和各種per-atom數(shù)值瞧筛。每個(gè)模擬打印一組熱力學(xué)輸出;可能生成任意數(shù)目的dump文件导盅。如下所討論的较幌,LAMMPS為你提供多種方式來決定當(dāng)熱力學(xué)信息和dump文件輸出的時(shí)候,哪些量是需要計(jì)算和打印的白翻。有3個(gè)fix命令可以按照用戶選擇的量執(zhí)行它們自己的輸出:fix ave/time用來做時(shí)間平均乍炉,fix ave/spatial用來做空間平均绢片,以及fix print。下面會(huì)詳述岛琼。貫穿這個(gè)討論底循,用戶要注意他們可以添加自己的compute命令和fix命令,通過這些命令定義自己的輸出槐瑞。

Thermodynamic output 熱力學(xué)輸出的頻率和格式是由thermo熙涤、thermo_style、thermo_modify命令設(shè)置的困檩。thermo_style命令也指定了哪些數(shù)值需要被計(jì)算輸出祠挫。可以指定預(yù)先定義的變量(例如press悼沿、etotal等等)等舔。還可以指定三類keyword(c_ID、f_ID糟趾、 v_name)慌植,分別由compute、fix义郑、variable命令提供相應(yīng)的數(shù)據(jù)蝶柿。以下依次講述。

在LAMMPS中魔慷,有兩種類型的compute命令:一種計(jì)算global value(例如溫度只锭,壓強(qiáng)張量)另一種計(jì)算per-atom values只有前者可以作為熱力學(xué)輸出院尔。用戶指定的compute命令的ID加上一個(gè)可選的下標(biāo)作為thermo_style命令的一部分蜻展。例如c_myTemp 輸出由該compute得到的標(biāo)量值;c_myTemp[2]輸出第2個(gè)矢量分量邀摆。注意compute reduce可以對(duì)per-atom的量加和得到global標(biāo)量和矢量纵顾。

fix命令可以生成由熱力學(xué)輸出的global scalar或vector,例如壓頭(indenter)與原子之間的相互作用能栋盹。這些數(shù)值可以通過與前述compute命令同樣的格式施逾,如f_ID、 f_ID[N]例获。至于哪個(gè)fix計(jì)算可通過熱力學(xué)信息輸出的global values請參閱見各個(gè)fix的手冊汉额。

fix ave/time生成的時(shí)間平均的全局量可由熱力學(xué)輸出,例如按時(shí)間平均的壓強(qiáng)榨汤。

可以在in文件中定義變量蠕搜,除了atom style的變量之外,其它所有的變量都可以通過熱力學(xué)信息輸出收壕,因?yàn)閍tom style的變量生成對(duì)應(yīng)每個(gè)原子的值妓灌。thermo_style通過v_abc的形式調(diào)用名為abc的變量轨蛤。

跟equal style變量有關(guān)的公式,可以包含數(shù)學(xué)操作符虫埂、函數(shù)(例如x+y,x*y,(),sqrt,exp)祥山、原子屬性(例如x[N],fx[N])、 group函數(shù)(例如mass(),vcm())掉伏、熱力學(xué)量(如temp,press,vol)缝呕、compute命令得到的全局量、fix命令得到的全局量岖免、以及其它variable命令的相關(guān)變量岳颇。因此equal-style變量是定義由熱力學(xué)信息計(jì)算和輸出的變量的最普遍的方式照捡。

Dump file output

dump文件輸出由dump命令和dump_modify命令指定颅湘。有很多預(yù)先定義的格式,如dump atom栗精、dump xtc等等闯参。同樣,有一種

用戶指定輸出各個(gè)原子的哪些屬性的dump custom格式悲立÷拐可以指定預(yù)定義的keyword(如tag、x薪夕、fx)也可以指定另外三種keyword(即c_ID脚草、f_ID、v_name原献,分別由compute馏慨、fix、variable命令提供相應(yīng)數(shù)值)姑隅。以下依次講述写隶。

compute命令生成一個(gè)或多個(gè)可被dump custom共享的per-atom values。這些compute命令的style中含有atom字樣讲仰,例如ke/atom慕趴、stress/atom等等。對(duì)于標(biāo)量的per-atom value來說鄙陡,可以使用c_myKE調(diào)用冕房;對(duì)于矢量的per-atom value的某個(gè)分量,可以使用c_myStress[2]調(diào)用趁矾。

fix命令生成可輸出到dump文件的per-atom values耙册。例如,fix ave/atom命令計(jì)算每個(gè)原子屬性值的時(shí)間平均愈魏,就像那些per-atom compute命令以及atom-style variable觅玻。這些per-atom fix value可以被dumpcustom命令通過跟上述處理compute命令同樣的方式共享想际,例如f_myKE或者f_myStress[2]。

variable命令可以在in文件中使用溪厘。只有atom-style變量可用于dump custom輸出胡本,因?yàn)橹挥兴鼈兩蓀er-atomvalue。dump custom命令通過v_abc的形式引用名為abc的變量畸悬。

就像equal style變量類似侧甫,跟atom-style變量有關(guān)的公式,也可以包含數(shù)學(xué)操作符蹋宦、函數(shù)(例如x+y披粟、x*y、()冷冗、sqrt守屉、exp)、原子屬性值(例如x[N]蒿辙、fx[N])拇泛、group函數(shù)(例如mass()、vcm())思灌、熱力學(xué)量(如temp俺叭、press、vol)泰偿、compute命令得到的全局量熄守、fix命令得到的全局量、以及其它生成全局量的非 atom-style變量耗跛。另外裕照,atom-style變量可以引用原子屬性值向量(如x[]、fx[]等)课兄、生成per-atom值的compute牍氛、生成per-atom值的fix,以及其它atom-style變量烟阐。因此atom-style變量是定義由dump文件計(jì)算和輸出的變量的最普遍的方式搬俊。

Fix output 三個(gè)用于輸出的fix命令需要額外注意:fix ave/time、fix ave/spatial蜒茄、fix print唉擂。

fix ave/time命令能夠?qū)θ魏稳至窟M(jìn)行時(shí)間平均,例如那些輸出的熱力學(xué)信息檀葛。由用戶指定一個(gè)或多個(gè)需要進(jìn)行時(shí)間平均的物理量玩祟,可以是compute命令得到的全局量、fix命令得到的全局量屿聋,或者非atom-style變量空扎。因?yàn)樽兞靠梢陨婕皌hermo_style custom命令使用的keyword(例如temp或press)藏鹊,那么任何熱力學(xué)量都可以按這種方法進(jìn)行時(shí)間平均。

fix ave/time命令提供了控制如何進(jìn)行時(shí)間積分的幾個(gè)選項(xiàng)转锈。它生成的結(jié)果可以按照如下兩種方法使用盘寡。第一,可將結(jié)果直接寫入一個(gè)文件撮慨,每個(gè)時(shí)間步的值占一行竿痰。注意可以調(diào)節(jié)平均參數(shù)使得根本不做平均,而只是作為把期望的物理量直接輸出到指定的文件的便捷方式砌溺。

就像其它生成全局量的fix一樣影涉,該fix的結(jié)果也可以作為其它任何可以共享全局量的命令的輸入,例如thermo_style custom命令规伐,或者variable命令蟹倾。

fix ave/spatial命令可以對(duì)per-atom量進(jìn)行空間平均,類似dump文件輸出楷力,只不過后者相當(dāng)于僅把simulationbox分為一層喊式。per-atom量可以是密度(質(zhì)量密度或數(shù)密度)或者原子的屬性例如位置、速度萧朝、力,也可以使compute夏哭、fix检柬、atom-style variable計(jì)算的per-atom值。

fix ave/spatial命令提供了控制如何進(jìn)行空間平均的幾個(gè)選項(xiàng)竖配。它得到的per-layer值可以按照如下兩種方式使用何址。第一,直接將其寫入文件进胯。注意可以調(diào)節(jié)平均參數(shù)使得根本不做空間平均用爪,而只是作為把期望的物理量(1d layer內(nèi)所有原子的相應(yīng)值的求和)直接輸出得到指定文件的便捷方式。就像其它生成全局量的fix一樣胁镐,該fix的結(jié)果也可以作為其它任何可以共享全局量的命令的輸入偎血,例如thermo_style custom命令,或者variable命令盯漂。至于如何引用這些值颇玷,請參閱fix ave/spatial命令的手冊說明。

fix print命令在模擬的過程中就缆,定時(shí)性的生成寫入屏幕和log文件或指定文件的一行輸出帖渠。該行輸出可以包括一個(gè)或多個(gè)變量值(非atom-style變量),如前面已經(jīng)解釋過的竭宰,變量本身可以包括引用thermo_style命令的keyword空郊、compute份招、fix或其它variable命令生成的全局量。因此fix print命令是區(qū)別于正常的熱力學(xué)信息輸出或者dump文件輸出狞甚,而輸出任何期望得到計(jì)算的物理量的方法脾还。

以下這個(gè)表格概況了各種輸出方法相關(guān)的命令,詳述了它們的輸入輸出分別是什么入愧,同樣列出了調(diào)用它們完成輸出的頻率鄙漏。一般來說,只要兩個(gè)命令的輸入輸出相匹配棺蛛,那么這兩個(gè)命令就可以承接使用怔蚌。匹配是指輸入輸出頻率以及global還是per-atom屬性完全一致。表格樓主已給出旁赊,不再重復(fù)秀個(gè)例子桦踊,用于輸出setforce, group原子于其他相互作用力

#------------------------------------------------------------------------------------

fix???????????????????3???tetras setforce 0.0 0.0 0.0

variable?????????????fx???equal f_3[1]

variable?????????????fy???equal f_3[2]

variable?????????????fz???equal f_3[3]

fix???????????????????4 tetras print 1 "-- ${fx}???${fy}???${fz} --"

#------------------------------------------------------------------------------------

thermo?????????????????2

thermo_style?????????custom step f_3[1]???f_3[1]???f_3[1]

#------------------------------------------------------------------------------------ |xGv00|fcc8d4de8197f69fde70263fb4d52380

作者:經(jīng)常吃錯(cuò)藥

鏈接:http://www.reibang.com/p/aedd1a491162

來源:簡書

著作權(quán)歸作者所有终畅。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)籍胯,非商業(yè)轉(zhuǎn)載請注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末离福,一起剝皮案震驚了整個(gè)濱河市杖狼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妖爷,老刑警劉巖蝶涩,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異絮识,居然都是意外死亡绿聘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門次舌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熄攘,“玉大人,你說我怎么就攤上這事彼念∨不” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵国拇,是天一觀的道長洛史。 經(jīng)常有香客問我,道長酱吝,這世上最難降的妖魔是什么也殖? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上忆嗜,老公的妹妹穿的比我還像新娘己儒。我一直安慰自己,他們只是感情好捆毫,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布闪湾。 她就那樣靜靜地躺著,像睡著了一般绩卤。 火紅的嫁衣襯著肌膚如雪途样。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天濒憋,我揣著相機(jī)與錄音何暇,去河邊找鬼。 笑死凛驮,一個(gè)胖子當(dāng)著我的面吹牛裆站,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播黔夭,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼宏胯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了本姥?” 一聲冷哼從身側(cè)響起肩袍,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扣草,沒想到半個(gè)月后了牛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辰妙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了甫窟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片密浑。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖粗井,靈堂內(nèi)的尸體忽然破棺而出尔破,到底是詐尸還是另有隱情,我是刑警寧澤浇衬,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布懒构,位于F島的核電站,受9級(jí)特大地震影響耘擂,放射性物質(zhì)發(fā)生泄漏胆剧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秩霍。 院中可真熱鬧篙悯,春花似錦、人聲如沸铃绒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颠悬。三九已至矮燎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赔癌,已是汗流浹背诞外。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留届榄,地道東北人浅乔。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像铝条,于是被迫代替她去往敵國和親靖苇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361