本文將會涉及到以下內容:
inp 文件的功能和作用(你是否真的需要繼續(xù)閱讀此文) 如何讀懂 inp 文件 (inp 文件結構解析) 如何編寫 inp 文件(在 manual 的幫助下完成 inp 的編寫) 如何使用 inp 文件(命令行 / CAE 提交作業(yè) + 從 inp 文件導入模型)
1.閱讀方式 2.閱讀時長 input 文件對于 ABAQUS 來講是 native 的,因為在最初是沒有 CAE 界面的,分析人員就只能把 input 提交給ABQ。這一歷史就導致了目前一個比較常見的問題——某些關鍵字在 CAE 中無法使用。當然了,這只是部分原因,還有其他因素決定了 CAE 界面無法完全代替 inp 文件。 1. 什么是 inp 文件? 我需要了解它嗎?input 文件顧名思義就是用來輸入信息的,是向 abaqus 的求解器提交信息的,提交 input 然后得到 output (通常是 .odb 文件)。不管我們使用什么方式來建立模型(也就是通常所說的前處理),最后要計算的時候都是使用一個叫做求解器的模塊來進行的。通常我們對一款有限元軟件的評價很重要的一方面就是求解器,我們大家都知道 ABAQUS 的非線性能力很強,其實就是他的非線性求解器很霸氣。有點遠了,回過來繼續(xù)說 inp 文件。 inp 文件是我們向 ABAQUS 提交 job 的直接對象,無論通過什么方式進行提交都是直接把 inp 文件呈遞給 ABQ (ABQ 在收到 job 任務之后會對 inp 進行預處理,本文不會涉及此部分內容) input 文件包含了 幾乎 所有的模型信息[^nealy all],包括模型的定義和求解以及輸出要求。 [^nealy all]: 有時候我們還需要到用戶子程序,那么 inp 就不是完整的 盡管 inp 如此重要,但是一般來講我們是沒有必要了解它的。因為對于很多工作,我們壓根不需要碰這個文件,而且實際的情況是很多不了解它的人也能夠做有限元分析。就像我們使用計算機卻不必掌握計算機工作原理一樣;但是當我們知道的足夠多的時候很多東西變得簡單明了。試想某一天你的電腦無法進入系統(tǒng)了,那么當你了解的足夠多的時候你就可以清楚的知道是內存掉了,還是主板壞了,還是系統(tǒng)引導失敗了。。。。。。 input 的重要還遠不止于此,本文開篇就提到 input 對 Abaqus 來講是 native 的,并且 CAE 中某些關鍵字是不能夠使用的,而這些都只能交給 input 來做。 可以毫不含糊地講,不會寫 input 的廚師長都不是好司機。 對于那些沒有清楚的編程概念的讀者,我需要聲明并且強調一下:寫 inp 不是編程,也不是在寫腳本。inp 只是為 ABQ 的求解器提供輸入數(shù)據(jù),我們寫程序的時候經(jīng)常需要讀入外部文件,inp 就是這個角色——輸入文件而已。 我在前面也提到了“ABQ 的預處理”,在這里稍微解釋一下:將 input 中的數(shù)據(jù)結構(關鍵字 + 數(shù)據(jù)行)進行一些整理(按照 ABQ 事先約定的套路進行解釋)然后傳遞給求解器(求解器就是解方程組用的),inp 就是一個傳話的,我們想要讓求解器干什么寫在 inp 里面就行了(當然,遠不止于此)。有一個非常明顯的現(xiàn)象表明這個過程是確實會發(fā)生的,看一下面這個圖,是不是很熟悉(或許你從來沒有關注過這一部分的信息)。 
這兩個界面你熟悉嗎? 2. inp 文件基礎Abaqus 的 doc 做的很好,至少有兩個地方是可以參考的[1] 2.1. inp 文件的組織結構An analysis in Abaqus is defined by an input file, which 摘自 1.3.1 Defining a model in Abaqus
預處理器讀取 inp 文件時候,總需要一些規(guī)則吧,我們自己寫程序進行 I/O 操作的時候不同樣要指定一些規(guī)則嗎?正所謂“無規(guī)矩不成方圓”,inp 必須遵守 ABAQUS 制定的規(guī)則。 這個地方?jīng)]什么好解釋的,接著往下看吧。 2.1.1. inp 文件中的標記(功能屬性)input 文件是 ASCII 純文本格式的,可以使用任意的文本編輯器打開。當我們打開一個 inp 文件的時候會看到有三種不同的行。而這三種行分別從 功能 上對應著: 注釋; 關鍵字; 數(shù)據(jù)。
注釋以 ** 開始而且兩顆星號必須占據(jù)前兩列(因此不允許在某一行的后面進行注釋) 關鍵字以 * 開始,后面可以(有些是必須)跟參數(shù) 數(shù)據(jù)前面則沒有任何標識。
另外 需要注意的是 input 文件中不允許出現(xiàn)空行(文件最后有一個空行,但是這個不影響,因為這個不會被讀取到)
2.1.2. inp 文件的結構劃分(內容屬性)從 內容 上來講,如我們上面所說,分為 model 和 history。 model 包含了 node, element, material, initial condition 等信息 history 包含了 analysis type, loading, output requests 等信息
上面對兩個部分必須包含的內容(在手冊中以 required 進行標識)進行了加粗顯示,也就是說一個完整的、正確的、可以被預處理器所接受的 inp 文件至少是應該包括這些信息的[2]。至于具體某一個關鍵字是屬于 model 還是 history,要參考 Abaqus Keywords Reference Guide 的具體的條目,這些條目都以首字母排序出現(xiàn)在手冊中。 2.2. inp 文件書寫規(guī)則參考 Abaqus Analysis User’s Guide >> 1.2.1 Input syntax rules 2.2.1. 關鍵字行關鍵字行的基本規(guī)則: 關鍵字行以星號(*) 開頭(其前面允許帶空格,但是我個人不建議這么做) 如果關鍵字帶有參數(shù), 那么用分隔符 (此處是逗號 ,) 將兩者隔開,如果參數(shù)帶有值(value)使用賦值符號 (此處是等號 =) 為其賦值 如果某個關鍵字帶有多個參數(shù),各個參數(shù)之間加上分隔符 (此處是逗號 ,)
額外注意事項: 不允許在一行中同時出現(xiàn)多次相同的參數(shù) 所有關鍵字和參數(shù)都是 大小寫不敏感的,你可以根據(jù)自己的習慣選擇大小或者小寫,甚至是混寫 通常來講,參數(shù)的值也是大小寫不敏感的[3],所以不要試圖以不同大小寫的形式來為參數(shù)取得不一樣的值[^value case] 關鍵字、參數(shù)、以及多數(shù)情況下參數(shù)的值 不必完全拼寫出來(但是不建議這么做[^why not recommend]) 關鍵字行是以邏輯行進行識別的,續(xù)行在行末使用逗號 (,),因此避免關鍵字行行末多余的逗號 關鍵字行的長度限制為256個字符,包括空格在內(盡管空格在關鍵字行中不起作用,只是視覺上的幫助而已) 關鍵字的依賴和群組,很遺憾在手冊中并沒有指出哪些關鍵字之間有依賴關系
2.2.2. 數(shù)據(jù)行首先聲明,數(shù)據(jù)不一定是數(shù)字,也可以是字符串、內部變量等 基本規(guī)則: 數(shù)據(jù)行在語義上和邏輯上都從屬于關鍵字行,沒有單獨的數(shù)據(jù)行 同一個邏輯行的數(shù)據(jù)之間以用分隔符進行隔斷(此處是逗號 ,) 浮點數(shù)、整數(shù)、字符串都有各自對應的長度限制(基本不用考慮,很少能達到限制的長度)
數(shù)據(jù)行到底怎么寫,這要看他的關鍵字(及其參數(shù))。因為 沒有獨立的數(shù)據(jù)行 2.3. 最特殊的關鍵字 *heading這個關鍵字特殊就特殊在每一個完整的 input 文件幾乎都是以他開始的,這個關鍵字沒有任何參數(shù),他的數(shù)據(jù)行沒有固定的格式,你可以寫任意多行的數(shù)據(jù),但是只有第一行的前 80 個字符起作用,這些字符將會顯示在 OBD 的“Title Block”(默認位置在窗口下方,以左對齊方式顯示)中,其他的只能自己看看。這個其實對應著 CAE 中的 job 編輯器的 description 欄。此處我們將展示出文本的第一個實例,該例題來自于 Abaqus Example Problems Guide >> 3.1.1 Symmetric results transfer for a static tire analysis。注意: title block 的第二行太長而特意拆分成了多行顯示 
*heading 關鍵字和 ODB 的 title 我們可以看到*heading 和 *restart (即第二個關鍵字行)之間的部分全部為 *heading 的數(shù)據(jù)。而且只有第一行被寫入了 ODB 的 title。 對這個關鍵字想要說明的是,你可以在這里寫一些注釋性的東西,就像這個例子一樣,當我們時隔多日在看到這個文件的時候能夠看一眼就知道他是干什么的。本例中 heading 區(qū)的內容包含: 標題; inp 文件名稱; 該分析的作用(目的); 分析步的定義; 模型的單位設置。
好了,這個關鍵字不再解釋了。
3. inp 文件實例分析——從一個實用的角度出發(fā)先放上一個 inp 文件,這個是一個頂點在 (0,0,0) 的立方體,楞長是20 mm,劃分了1個 3D 8 節(jié)點單元,并且使用了減縮積分。定義了一個靜力分析步,所有設置均為默認。定義了一個固定約束的邊界條件。 *Heading
** Job name: demo Model name: Model-1
** Generated by: Abaqus/CAE 6.13-4
*Preprint, echo=NO, model=NO, history=NO, contact=NO
** PARTS
*Part, name=Part-1
*Node
1, 20., 20., 20.
2, 20., 0., 20.
3, 20., 20., 0.
4, 20., 0., 0.
5, 0., 20., 20.
6, 0., 0., 20.
7, 0., 20., 0.
8, 0., 0., 0.
*Element, type=C3D8R
1, 5, 6, 8, 7, 1, 2, 4, 3
*Nset, nset=Set-1, generate
1, 8, 1
*Elset, elset=Set-1
1,
** Section: Section-1
*Solid Section, elset=Set-1, material=Material-1
,
*End Part
** ASSEMBLY
*Assembly, name=Assembly
*Instance, name=Part-1-1, part=Part-1
*End Instance
*Nset, nset=Set-1, instance=Part-1-1
1, 2, 3, 10, 11, 12, 19, 20, 21
*Elset, elset=Set-1, instance=Part-1-1
1, 2, 5, 6
*End Assembly
** MATERIALS
*Material, name=Material-1
*Density
7.8e-09,
*Elastic
210000., 0.3
******************************************************************
** STEP: Step-1
*Step, name=Step-1, nlgeom=NO
*Static
1., 1., 1e-05, 1.
** BOUNDARY CONDITIONS
** Name: BC-1 Type: Symmetry/Antisymmetry/Encastre
*Boundary
Set-1, ENCASTRE
** OUTPUT REQUESTS
*Restart, write, frequency=0
** FIELD OUTPUT: F-Output-1
*Output, field, variable=PRESELECT
** HISTORY OUTPUT: H-Output-1
*Output, history, variable=PRESELECT
*End Step
3.1. inp 文件結構解析把上面這個 input 文件的結構列一下就是這樣的(為了顯示嵌套關系進行了縮進處理),這個結構很清晰了吧。 
inp 文件結構解析 對新手來講可能這個還有點看不明白,那我就用下面這個圖解釋一下吧。 
然而細心的你可能已經(jīng)發(fā)現(xiàn) history 部分漏掉了一個 *restart 以及一個 *output,不過事實是“并沒有這么簡單”。這兩個關鍵字都是有意略掉的。 3.2. 庖丁解?!P鍵字實例分析明白了 input 文件的結構之后我們來抽取出幾個關鍵字仔細分析。 在這一部分,還會細致地簡講解如何使用 keywords manual
查閱 manual 是編寫 inp 文件必不可少的步驟,而且 manual 是最權威的 3.2.1. model 部分的*elset打開關鍵字手冊,直接查找到 *elset,由于都是按照首字母進行排序的,非常好定位。 
關鍵字 *elset 
parameter.PNG 
dataline.PNG 教你看懂 manual第一行為該關鍵字,注意關鍵字也可以是多個單詞,此處為 *elset 第二行用一個沒有主語的短句簡單明了的說明了該關鍵字的作用,此處是“設置/創(chuàng)建單元集合”[5],多數(shù)情況下第三行是第二行的細致版本,例如有些關鍵字在這里指出必須和哪個關鍵字合用,還有些關鍵字在此處指出應該學習哪一個章節(jié)等 product:適用范圍,例如有些是隱式分析才能用的,有些是顯式分析獨有的,有些僅適用于 Aqua 模塊。。。。。。 type:按照 model 和 history 進行分類,有許多關鍵字是同時占有兩個分類的 level:依附對象和從屬關系 ABQ/CAE:GUI界面[6]中對應的模塊 Reference:很重要 parameters:分為兩類,即 required (必備)和 optional [7](可選),從字面意思理解即可,每一個 parameter 下方都有簡介 data line:數(shù)據(jù)行,數(shù)據(jù)行的具體要求都在這里列出來了,會針對每個具體的 parameter 給出其對應的 data 格式
接下來針對每一個參數(shù)進行解釋: elset:單元集的名字(注意這是一個與關鍵字同名的參數(shù)),這個參數(shù)是必備的,也就是關鍵字 *elset 后面必須要跟這個參數(shù),另外這個關鍵字是有值的(必須賦值)。說如果我們想要定義一個叫做 demo 的單元集,那么 關鍵字行就是 *elset, elset = demo generate:這個參數(shù)表示單元集中的單元編號將會采用自動生成等差數(shù)列的方式。等差數(shù)列沒什么好說的,給定首項和末位數(shù)以及公差即可。 instance:該 單元集 所屬的 instance,這也是一個有值的參數(shù) internal:這個是 CAE 控制的,如果自己寫 inp 文件用不著。 unsorted:從字面理解即可“就是不排序,不整理”,as is,后面還解釋道,如果不添加該參數(shù)那么所創(chuàng)建的單元集中的單元編號都是按照升序排列的(無論你在數(shù)據(jù)行是以什么樣的順序給出)
數(shù)據(jù)行和參數(shù)(及其值 )是緊密聯(lián)系的,后者的設置往往直接決定了數(shù)據(jù)行怎么寫。來看看此處的數(shù)據(jù)行(圖 dataline.PNG)吧。 此處的數(shù)據(jù)行分了兩種情況: if generate is ommited if generate is included
不妨先看后者吧,比較簡單一點。就是一個等差數(shù)列,第一行必須是三個數(shù)據(jù),如果有需要就重復第一行的格式接著寫,而數(shù)據(jù)行的行數(shù)沒有限制。例如的 單元集 demo 要包含 58~175, 200350(僅取偶數(shù)標號),500550(每10位取一個) 號單元,那么 *elset, elset = demo, generate
58, 175, 1
200, 350, 2
500, 550, 10
提示一下:根據(jù)關鍵字及其參數(shù)的規(guī)則,generate 完全可以寫成 gen。
再來看一下 使用 generate 參數(shù)時候對應的數(shù)據(jù)行。 第一行 把單元標號列出來就可以了,最多16個,但是你的單元集可能往往多余16個,沒關系,重復第一行的格式跟著寫。除了直接寫單元標號之外也可以寫 子單元集 的名字,也就說說我們前面 已經(jīng)定義過的 單元集可以包含進來(原先的單元集仍保持不變)。假設我們要建立單元集 demo 中包含 subelset1 和 subelset2 兩個單元集 *elset, elset = demo
subelset1, subelset2

DEMO-elset 注意事項: 單元集 demo 在定義的時候使用了sub1 和 sub2,并且還有額外的指定單元 sub1 包含 6~40 的偶數(shù)號單元,共計18個單元 sub2 包含60、65、70、75、80 共計5個單元 demo 中以標號給出的單元是 1,4,1,由于 1號單元重復只計一次。demo中共包含 18 + 5 + 2 = 25 個單元 如果 demo 的定義中,使用 generate 參數(shù),那么1~4 號單元將會被使用,而 sub1, sub2 會排除,因為 此時的數(shù)據(jù)行并不支持 單元集 的 label(支持的 單元集 label 的情況是不實用 generate 參數(shù)) 更多情況自行驗證
3.2.2. history 部分的 *boundary該關鍵字內容太多,不可能向前面一個關鍵字一樣講得那么完整。另一方面,doc 中涉及的方方面面我們能用到的太少了,所以也沒有完全了解的必要。實用主義
該關鍵字包含 三大類參數(shù)(包含 空參數(shù))和五大類 dataline(大類里面還有小類。。。。。。)。 
keyword–*boundary 我們來看一下如何通過 inp 修改邊界條件?;氐降谝粋€案例(立方體模型),我們原先設置的是 固定約束條件,現(xiàn)在想改為僅僅約束2~3兩個自由度,而第一個自由度為指定位移 1 mm。(由于是實體應力單元沒有更多的 DOF)。 ** ------------------------------------ original
*Boundary
Set-1, ENCASTRE
** ------------------------------------ modified
*boundary, type = displacement
set-1, 1, 1, 1
set-1, 2, 3, 0
在改寫的版本中 數(shù)據(jù)行第一行表示 DOF1~1,即 DOF1,1 個單位的 displacement(單位需要全局統(tǒng)一,本例為 mm) 數(shù)據(jù)行第二行表示 DOF2~3施加值為0的位移,也就是限制了y/z方向的位移。 而這兩行數(shù)據(jù)他們的作用對象都是 set-1(這是一個節(jié)點集) 此部分改寫依據(jù)的參數(shù)和數(shù)據(jù)行如圖: 
info for BC 至于如何從眾多的參數(shù)和數(shù)據(jù)行類型中選取,沒有什么好方法,這個需要一定的軟件使用經(jīng)驗。 繼續(xù)來看這個關鍵字的其他部分,在圖 keyword–*boundary (我的每個圖下方都是有標題的)中左下角分頁的頂部看到 Optional, mutually exclusive parameters 這些就是互斥參數(shù),在腳注10中已經(jīng)解釋過。 在上方第二個分頁上存在 參數(shù)user,這是使用子程序時候用的。接下來的一節(jié)中就會講到 inp 引用外部文件。 3.3. input 引用外部文件3.3.1. 子程序inp 引用外部文件的第一種情形在上一節(jié)結束時提到了——子程序,關于子程序的知識請參考 doc。 需要強調一下目前很多人對 fortran 程序的一些基本概念不清楚,例如 f77和固定格式你真的了解嗎?(不管你是編寫 fortran 程序的高手還是打算學習但未入門的新手,請移步 FAQ之 基本概念。) 3.3.2. 單元/節(jié)點 數(shù)據(jù)在第一個例子中,我僅僅給整個模型劃分了1個網(wǎng)格,而這一個網(wǎng)格擁有8個節(jié)點。如果模型中的網(wǎng)格數(shù)量巨大,inp 文件將會變得非常大,行數(shù)可能達到上百萬行。這時候別說是編寫或者查看 inp 了,就是打開一下可能對于某些機器上的某些編輯器(比如 Windows 上的記事本)就是非常艱巨的任務。ABQ 提供了這樣一種機制就是允許使用 *include 關鍵字或者 inp 參數(shù)引入外部文件。doc 中的例題多數(shù)會采用這樣的方式,將數(shù)量眾多的單元和節(jié)點放入一個單獨的文件中。 有兩種方法可以使用: *node, nset = all_node, inp = node.inp *inclue, input = node.inp
inp 參數(shù)后面的 inp 文件里面僅僅包括 *node 的數(shù)據(jù)行(節(jié)點編號及其坐標) 這個 inp 文件是這么寫的: 1, 20., 20., 20.
2, 20., 10., 20.
...
最后允許出現(xiàn)空行
*include 關鍵字后面的參數(shù)是 input,他后面的 inp 文件是完整的節(jié)點定義(帶有關鍵字行) 這個 inp 文件是這么寫的: *node
1, 20., 20., 20.
2, 20., 10., 20.
...
把 *include 理解為復制粘貼比較簡單一些,而其作用也正是如此。而 inp 參數(shù)就不一樣了,他的作用不僅僅是復制粘貼,他所復制過來的內容要作為當前關鍵字的數(shù)據(jù)行。 4. inp 文件怎么用?對于很多僅僅使用 CAE 的用戶,他們可能根本沒注意過 inp 的存在。實際上 inp 是非常方便和快捷的建模手段,而且很靈活。另一方面 inp 是純文本,純文本的好處就是走哪帶哪,基本上沒有什么限制,不必使用專用軟件打開(想想 docx,xlsx,pptx,psd,eps …)【題外話,又繞遠了】。另一方面 inp 的體積比較小的(盡管有時候高達上百MB),各個版本之間的兼容性(其實涉及到關鍵字)很好,而 cae 文件這方面不具有優(yōu)勢的。我們平常使用 CAE 來進行的那些操作怎么用 inp 來代替呢? 或者說 inp 還能提供哪些我們在 CAE 下所不能完成的任務呢? 我們一起來看看吧。 快速修改模型 如 BC (改變一下約束方式) / load (載荷大小方向等) / output request (修改,增刪) / materials‘ properties (不就是改幾個數(shù)字嗎)/ step/ restart (r/w/rw) / interactions / … (從命令行和CAE)提交 inp 作業(yè) 或許你還不知道可以直接提交 inp 作業(yè),但是確實是可以的,而且很方便。 最簡單的方式就是 命令行提交 abaqus job=fileBaseName int cpus=40 , 不過我喜歡直接指明版本號,例如我用的是 v6.13-4,那么 abq6134 job=fileBaseName int cpus=40 。這兩個命令的意思就是 提交名稱為 fileBaseName 的 inp 文件進行計算,并且使用40個cpu以交互模式來運行。所謂交互模式就是在命令行會反饋一些信息,例如 隱式分析中的日志文件會帶印在窗口上,顯式分析的 日志文件和狀態(tài)文件 會打印在窗口上。關于命令行中各個選項的使用,參考:分析手冊 3.2.2. Command summary 在 CAE 中 提交 inp 作業(yè)的方法:創(chuàng)建 job 時候選擇作業(yè)來源為 inp 文件。(這個界面上 摁 F1 就知道了,寫的很清楚) 從 inp 讀取模型 如果我們有一個 inp 文件能不能看一下模型長什么樣子呢? 完全可以,現(xiàn)在你已經(jīng)知道可以提交這個 job 呀,得到 odb 文件就行了。當然了,不運行 job 也是可以的。通過 file >> import >> model (file type = inp) 或者在 模型數(shù)的 Model 節(jié)點上看右鍵菜單。 如果幸運的話那么你得到了完整的 模型,但是很多時候真的沒那么幸運,由于部分關鍵字的不支持,或者是 inp 文件不完整(是那只是 inp 文件里面有錯誤,格式不正確等等)不管怎么樣,導入之后先看窗口下方的提示信息,這個地方很重要。 inp 片段 除了導入完整的 inp 文件得到模型之外,也可使用 inp 片段來存儲一些常用數(shù)據(jù)代替繁瑣的手動輸入(手動輸入很多數(shù)據(jù)是很容易出錯的)。例如你可以將常用的 Material / Section 保存在 inp 文件中,通過上面介紹的方式導入模型。[^import model] 不過呢,針對這個功能我更建議使用 python 來處理,而且不用我們寫代碼,我們在 CAE 操作的時候錄制 宏 即可。錄制的宏都保存在硬盤上(可以選擇 主目錄 或者 工作目錄),都能干需要重復操作的時候運行宏即可。你可以對錄制好的宏進行任意的修改(File>> Macro Manager 可以管理 宏,錄制和播放都在這里) 在不同的有限元之間交換模型數(shù)據(jù) 比如 abaqus to nastran,abaqus from ansys,這部分內容我沒了解過,有興趣的可以參考分析手冊 3. Job Execution,不過有一點我是可以肯定的,這些都是用命令行來執(zhí)行的,所以有必要了解命令行基礎。
[^import model]: 但是需要知道的是,每一個被導入的 inp 文件都會創(chuàng)建一個 新的 Model。因此 你所導入的材料或者界面并沒有導入你正在操作的模型。如果要把這些信息導入你當前工作模型,那么使用 model copy 功能即可,可以從模型樹上 model 節(jié)點操作,或者菜單 model 操作。 5.最后說點啥呢學習 inp 是為了更好的建模,一切不從實用角度出發(fā)的 inp 都是不可取的 inp 是為了提高建模效率,如果做不到這一點,請果斷使用 CAE(或者 python),正所謂條條大路通羅馬 不管有沒有吸收本文的內容,請記住最基本的一點 inp 不是一種語言 還有什么要補充的嗎?歡迎留言探討,若有錯誤,請一定指出來。
仔細閱讀完本文之后你一定發(fā)現(xiàn)手冊是這么強大的工具,有什么理由不安裝手冊呢?硬盤空間真的不夠嗎?才兩個G而已。 手冊分為 HTML 和 PDF(受保護) 兩種版本,建議完全安裝。兩者不可互相替代。
本文中 Documentation 具體基于 v6.13-4,其他 版本具體編號可能有些許差異。 ? 實際上對于常見的分析是這樣的,某些特殊分析不遵守這樣的規(guī)則,如果有興趣,可以翻看例題手冊中關于輪胎的部分。 ? 既然說的是通常,那么就肯定有例外。這里有一個例外是參數(shù)的值是一個外部文件,而同時我們又工作在一個對大小寫敏感的機器上(比如 Linux) [^value case]: 例如關鍵字 *material 的參數(shù) name 的值就是字符串,abc 和 ABC 顯然是兩個不同的字符串,但是我們不能用這樣的方式定義命名兩種材料,你試試在 CAE 中允許你這么干嗎? [^why not recommend]: 不用完全拼寫出來的前提是已經(jīng)提供的字符可以唯一確定這些 keyword,parameters,values,但是這些我們可能根本不確定。 ? 只計算不輸出這不是在做無用功嗎? ? 某些關鍵字解釋的不是很到位,比如此處的 “assign elements to an elset”,看上去像是把一堆單元加入到某個(已經(jīng)存在的)單元集中,但實際上是建立單元集合,而單元集合的建立需要指定單元。 ? 準確來講就是 CAE(Complete Analysis Environment), 而不限于 GUI。注意 CAE 也可以沒有界面(GUI) ? optional 類型的可能會遇到 “Optional, mutually exclusive parameters” 即“互斥的”。這時手冊會同時給出一組參數(shù),這些參數(shù)可能一個都用不上,但是如果要用,只能用一個(因為這些參數(shù)從語義或/和功能上是互斥的)。
|