




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
優(yōu)化設計什么是優(yōu)化設計?優(yōu)化設計是一種尋找確定最優(yōu)設計方案的技術。所謂“最優(yōu)設計〞,指的是一種方案可以滿足所有的設計要求,而且所需的支出〔如重量,面積,體積,應力,費用等〕最小。也就是說,最優(yōu)設計方案就是一個最有效率的方案。設計方案的任何方面都是可以優(yōu)化的,比方說:尺寸〔如厚度〕,形狀〔如過渡圓角的大小〕,支撐位置,制造費用,自然頻率,材料特性等。實際上,所有可以參數(shù)化的ANSYS選項都可以作優(yōu)化設計。〔關于ANSYS參數(shù),請參看ANSYSModelingandMeshingGuide第十四章。〕ANSYS程序提供了兩種優(yōu)化的方法,這兩種方法可以處理絕大多數(shù)的優(yōu)化問題。零階方法是一個很完善的處理方法,可以很有效地處理大多數(shù)的工程問題。一階方法基于目標函數(shù)對設計變量的敏感程度,因此更加適合于精確的優(yōu)化分析。對于這兩種方法,ANSYS程序提供了一系列的分析——評估——修正的循環(huán)過程。就是對于初始設計進行分析,對分析結果就設計要求進行評估,然后修正設計。這一循環(huán)過程重復進行直到所有的設計要求都滿足為止。除了這兩種優(yōu)化方法,ANSYS程序還提供了一系列的優(yōu)化工具以提高優(yōu)化過程的效率。例如,隨機優(yōu)化分析的迭代次數(shù)是可以指定的。隨機計算結果的初始值可以作為優(yōu)化過程的起點數(shù)值。根本概念在介紹優(yōu)化設計過程之前,我們先給出一些根本的定義:設計變量,狀態(tài)變量,目標函數(shù),合理和不合理的設計,分析文件,迭代,循環(huán),設計序列等。我們看以下一個典型的優(yōu)化設計問題:在以下的約束條件下找出如下矩形截面梁的最小重量:總應力不超過max[max]梁的變形不超過max[max]梁的高度h不超過hmax[hhmax]圖1-1梁的優(yōu)化設計例如設計變量〔DVs〕為自變量,優(yōu)化結果的取得就是通過改變設計變量的數(shù)值來實現(xiàn)的。每個設計變量都有上下限,它定義了設計變量的變化范圍。在以上的問題里,設計變量很顯然為梁的寬度b和高度h。b和h都不可能為負值,因此其下限應為b,h>0,而且,h有上限hmax。ANSYS優(yōu)化程序允許定義不超過60個設計變量。狀態(tài)變量〔SVs〕是約束設計的數(shù)值。它們是“因變量〞,是設計變量的函數(shù)。狀態(tài)變量可能會有上下限,也可能只有單方面的限制,即只有上限或只有下限。在上述梁問題中,有兩個狀態(tài)變量:〔總應力〕和〔梁的位移〕。在ANSYS優(yōu)化程序中用戶可以定義不超過100個狀態(tài)變量。目標函數(shù)是要盡量減小的數(shù)值。它必須是設計變量的函數(shù),也就是說,改變設計變量的數(shù)值將改變目標函數(shù)的數(shù)值。在以上的問題中,梁的總重量應該是目標函數(shù)。在ANSYS優(yōu)化程序中,只能設定一個目標函數(shù)。設計變量,狀態(tài)變量和目標函數(shù)總稱為優(yōu)化變量。在ANSYS優(yōu)化中,這些變量是由用戶定義的參數(shù)來指定的。用戶必須指出在參數(shù)集中哪些是設計變量,哪些是狀態(tài)變量,哪是目標函數(shù)。設計序列是指確定一個特定模型的參數(shù)的集合。一般來說,設計序列是由優(yōu)化變量的數(shù)值來確定的,但所有的模型參數(shù)〔包括不是優(yōu)化變量的參數(shù)〕組成了一個設計序列。一個合理的設計是指滿足所有給定的約束條件〔設計變量的約束和狀態(tài)變量的約束〕的設計。如果其中任一約束條件不被滿足,設計就被認為是不合理的。而最優(yōu)設計是既滿足所有的約束條件又能得到最小目標函數(shù)值的設計?!踩绻械脑O計序列都是不合理的,那么最優(yōu)設計是最接近于合理的設計,而不考慮目標函數(shù)的數(shù)值?!撤治鑫募且粋€ANSYS的命令流輸入文件,包括一個完整的分析過程〔前處理,求解,后處理〕。它必須包含一個參數(shù)化的模型,用參數(shù)定義模型并指出設計變量,狀態(tài)變量和目標函數(shù)。由這個文件可以自動生成優(yōu)化循環(huán)文件〔Jobname.LOOP〕,并在優(yōu)化計算中循環(huán)處理。一次循環(huán)指一個分析周期。〔可以理解為執(zhí)行一次分析文件。〕最后一次循環(huán)的輸出存儲在文件Jobname.OPO中。優(yōu)化迭代〔或僅僅是迭代過程〕是產(chǎn)生新的設計序列的一次或?qū)掖畏治鲅h(huán)。一般來說,一次迭代等同于一次循環(huán)。但對于一階方法,一次迭代代表屢次循環(huán)。優(yōu)化數(shù)據(jù)庫記錄當前的優(yōu)化環(huán)境,包括優(yōu)化變量定義,參數(shù),所有優(yōu)化設定,和設計序列集合。該數(shù)據(jù)庫可以存儲〔在文件Jobname.OPT〕,也可以隨時讀入優(yōu)化處理器中。上述的許多概念可以用圖解幫助理解。圖1-2示出了優(yōu)化分析中的數(shù)據(jù)流向。分析文件必須作為一個單獨的實體存在,優(yōu)化數(shù)據(jù)庫不是ANSYS模型數(shù)據(jù)庫的一局部。優(yōu)化設計的步驟共有兩種方法實現(xiàn)ANSYS優(yōu)化設計:批處理方法和通過GUI交互式地完成。這兩種方法的選擇取決于用戶對于ANSYS程序的熟悉程度和是否習慣于圖形交互方式。如果對于ANSYS程序的命令相當熟悉,就可以選擇用命令輸入整個優(yōu)化文件并通過批處理方式來進行優(yōu)化。對于復雜的需用大量機時的分析任務來說〔如非線性〕,這種方法更有效率。而另一方面,交互方式具有更大的靈活性,而且可以實時看到循環(huán)過程的結果。在用GUI方式進行優(yōu)化時,首要的是要建立模型的分析文件,然后優(yōu)化處理器所提供的功能都可以交互式的使用,以確定設計空間,便于后續(xù)優(yōu)化處理的進行。這些初期交互式的操作可以幫助用戶縮小設計空間的大小,使優(yōu)化過程得到更高的效率。優(yōu)化設計通常包括以下幾個步驟,這些步驟根據(jù)用戶所選用優(yōu)化方法的不同〔批處理GUI方式〕而有細微的差異。圖1-2優(yōu)化數(shù)據(jù)流向生成循環(huán)所用的分析文件。該文件必須包括整個分析的過程,而且必須滿足以下條件:參數(shù)化建立模型〔PREP7〕。求解〔SOLUTION〕。提取并指定狀態(tài)變量和目標函數(shù)〔POST1/POST26〕。在ANSYS數(shù)據(jù)庫里建立與分析文件中變量相對應的參數(shù)。這一步是標準的做法,但不是必須的〔BEGIN或OPT〕。進入OPT,指定分析文件〔OPT〕。聲明優(yōu)化變量。選擇優(yōu)化工具或優(yōu)化方法。指定優(yōu)化循環(huán)控制方式。進行優(yōu)化分析。查看設計序列結果〔OPT〕和后處理〔POST1/POST26〕。優(yōu)化設計步驟的細節(jié)在下面列出。批處理方式和交互方式的區(qū)別也同時指出。第一步:生成分析文件分析文件生成是ANSYS優(yōu)化設計過程中的關鍵局部。ANSYS程序運用分析文件構造循環(huán)文件,進行循環(huán)分析。分析文件中可以包括ANSYS提供的任意分析類型〔結構,熱,電磁等,線性或非線性〕?!沧ⅲ篈NSYS/LS-DYNA的顯式分析不能進行優(yōu)化?!吃诜治鑫募?,模型的建立必須是參數(shù)化的〔通常是優(yōu)化變量為參數(shù)〕,結果也必須用參數(shù)來提取〔用于狀態(tài)變量和目標函數(shù)〕。優(yōu)化設計中只能使用數(shù)值參數(shù)?!矃?shù)和ANSYS參數(shù)化設計語言〔APDL〕在ANSYSModelingandMeshingGuide中有所細述?!秤脩舻娜蝿帐墙⒎治鑫募⒈WC其正確性。分析文件應當覆蓋整個分析過程并且是簡練的,不是必須的語句〔如完成圖形顯示功能和列表功能的語句等〕應當從分析文件中省略掉。只有在交互過程中希望看到的顯示[EPLODT等]可以包含在分析文件中,或者將其定位到一個顯示文件中[/SHOW]。請注意分析文件是要屢次執(zhí)行的,與優(yōu)化分析本身無關的命令都會不必要的消耗機時,降低循環(huán)效率。建立分析文件有兩種方法:1〕用系統(tǒng)編輯器逐行輸入;2〕交互式地完成分析,將ANSYS的LOG文件作為根底建立分析文件。這兩種方式各有優(yōu)缺點。用系統(tǒng)編輯器生成分析文件同生成其他分析時的批處理文件方法是一樣的。這種方法使得用戶可以通過命令輸入來完全地控制參數(shù)化定義。同樣,本方法可以省去了刪除多余命令的麻煩。但是,如果對于ANSYS命令集不熟悉的話,這種方法是不方便的。對于這類用戶來說,第二種方法相對容易一些。但是,在最后生成分析文件的過程中,ANSYS的LOG文件要做較大的修改才能適合循環(huán)分析。不管采用哪種方法,分析文件需要包括的內(nèi)容都是一樣的。以下說明建立分析文件的步驟:參數(shù)化建立模型用設計變量作為參數(shù)建立模型的工作是在PREP7中完成的。在給出的梁的例子中,設計變量是B〔梁的寬度〕和H〔梁的高度〕,因此單元的實參是由B和H來表示的:…/PREP7!初始化設計變量:B=2.0H=3.0!ET,1,BEAM3!2-D梁單元AREA=B*H!梁的橫截面面積IZZ=〔B*〔H**3〕〕/12!繞Z軸的轉(zhuǎn)動慣量R,1,AREA,IZZ,H!以設計變量表示的單元實參!!模型的其他局部MP,EX,1,30E6!楊氏模量N,1!結點N,11,120FILLE,1,2!單元EGEN,10,1,-1FINISH!退出PREP7…前面提到,可以對設計的任何方面進行優(yōu)化:尺寸,形狀,材料性質(zhì),支撐位置,所加載荷等,唯一要求就是將其參數(shù)化。設計變量〔例如B和V〕可以在程序的任何局部初始化,一般是在PREP7中定義。這些變量的初值只是在設計計算的開始用得到,在優(yōu)化循環(huán)過程中會被改變。注意:如果用GUI模式完成輸入,可能會遇到直接用鼠標拾取〔picking〕的操作。有些拾取操作是不允許參數(shù)化輸入的。因此,應當防止在定義設計變量,狀態(tài)變量和目標函數(shù)時使用這些操作,應該用可以參數(shù)化的操作來代替。求解求解器用于定義分析類型和分析選項,施加載荷,指定載荷步,完成有限元計算。分析中所用到的數(shù)據(jù)都要指出:凝聚法分析中的主自由度,非線性分析中的收斂準那么,諧波分析中的頻率范圍等。載荷和邊界條件也可以作為設計變量。梁的例子中,SOLUTION局部的輸入大致如下:…/SOLUANTYPE,STATIC!靜力分析〔缺省〕D,1,UX,0,,11,10,UY!UX=UY=0,梁兩端結點固定SFBEAM,ALL,1,PRES,100!施加壓力SOLVEFINISH!退出SOLUTION這一步驟不僅僅限于一次分析過程。比方,可以先進行熱分析再進行應力分析〔在熱應力計算中〕。參數(shù)化提取結果在本步中,提取結果并賦值給相應的參數(shù)。這些參數(shù)一般為狀態(tài)變量和目標函數(shù)。提取數(shù)據(jù)的操作用*GET命令〔UtilityMenu>Parameters>GetScalarData〕實現(xiàn)。通常用POST1來完本錢步操作,特別是涉及到數(shù)據(jù)的存儲,加減或其他操作。在梁的例題中,梁的總重量是目標函數(shù)。因為重量與體積成比例〔假定密度是均勻的〕,那么減小總體積就相當于減小總重量。因此可以選擇總體積為目標函數(shù)。在本例中,狀態(tài)變量選擇為總應力和位移。這些參數(shù)可以用如下方法定義:…/POST1SET,…NSORT,U,Y!以UY為基準對結點排序*GET,DMAX,SORT,,MAX!參數(shù)DMAX=最大位移?。【€單元的推導數(shù)值由ETABLE得出ETABLE,VOLU,VOLU!VOLU=每個單元的體積ETABLE,SMAX_I,NMISC,1!SMAX_I=每個單元I結點處應力的最大值ETABLE,SMAX_J,NMISC,3!SMAX_J=每個單元J結點處應力的最大值!SSUM!將單元表中每列的數(shù)據(jù)相加*GET,VOLUME,SSUM,,ITEM,VOLU!參數(shù)VOLUME=總體積ESORT,ETAB,SMAX_I,,1!按照單元SMAX_I的絕對值大小排序*GET,SMAXI,SORT,,MAX!參數(shù)SMAXI=SMAX_I的最大值ESORT,ETAB,SMAX_J,,1!按照單元SMAX_J的絕對值大小排序*GET,SMAXJ,SORT,,MAX!參數(shù)SMAXJ=SMAX_J的最大值SMAX=SMAXI>SMAXJ!參數(shù)SMAX=最大應力值FINISH…請查閱*GET和ETABLE命令以得到更詳細的說明。分析文件的準備到此為止,我們已經(jīng)對于分析文件的根本需求做了說明。如果是用系統(tǒng)編輯器來編輯的批處理文件,那么簡單地存盤進入第二步即可。如果是用交互方式建模的話,用戶必須在交互環(huán)境下生成分析文件??梢酝ㄟ^兩種方式完本錢步操作:數(shù)據(jù)庫命令流文件或程序命令流文件。數(shù)據(jù)庫命令流文件——可以通過LGWRITE命令〔UtilityMenu>File>WriteDBLogFile〕生成命令流文件。LGWRITE將數(shù)據(jù)庫內(nèi)部的命令流寫到文件Jobname.LGW中。內(nèi)部命令流包含了生成當前模型所用的所有命令。程序命令流文件——Jobname.LOG包含了交互方式下用戶輸入的所有命令。如果用Jobneme.LOG作為分析文件時,用戶必須用系統(tǒng)編輯器刪除文件中所有不必要的命令。因為交互方式下所有的操作都記錄在LOG文件中,編輯工作會比擬煩瑣。而且,如果分析是在幾個過程中完成的,就必須將幾個LOG文合在一起編輯生成一個完整的分析文件?!碴P于數(shù)據(jù)庫命令流文件和程序命令流文件,請參看ANSYSOperationsGuide?!匙ⅰ脩艨梢酝顺鯝NSYS或使用/SYS命令來編輯分析文件。細節(jié)請參看本章“生成分析文件〞一節(jié)。第二步:建立優(yōu)化過程中的參數(shù)在完成了分析文件的建立以后,就可以開始優(yōu)化分析了?!踩绻窃谙到y(tǒng)中建立的分析文件的話,就要重新進入ANSYS?!橙绻诮换シ绞较逻M行優(yōu)化的話,最好〔但不是必須〕從分析文件中建立參數(shù)到ANSYS數(shù)據(jù)庫中來?!苍谂幚矸绞较鲁??!匙鲞@一步有兩個好處。初始參數(shù)值可能作為一階方法的起點,而且,對于各種優(yōu)化過程來說,參數(shù)在數(shù)據(jù)庫中可以在GUI下進行操作,便于定義優(yōu)化變量。建立數(shù)據(jù)庫參數(shù)可以選擇以下任一種方法:讀入與分析文件相聯(lián)的數(shù)據(jù)庫文件〔Jobname.DB〕。這樣可以在ANSYS中建立整個模型的數(shù)據(jù)庫。讀入數(shù)據(jù)庫文件可以用如下方法:Command:RESUMEGUI:UtilityMenu>File>ResumeJobname.dbUtilityMenu>File>Resumefrom將分析文件直接讀入ANSYS進行整個分析。這樣將重新建立整個數(shù)據(jù)庫,但對于大模型來說要消耗大量的機時。要讀入分析文件,可以選擇以下方法之一:Command:/INPUTGUI:UtilityMenu>File>ReadInputfrom僅從存儲的參數(shù)文件中讀參數(shù)到ANSYS中,參數(shù)文件是用PARSAV命令或由UtilityMenu>Parameters>SaveParameters存儲的。讀入?yún)?shù)可以用以下方法之一:Command:PARRESGUI:UtilityMenu>Parameters>RestoreParameters重新定義分析文件中存在的參數(shù)。不過,這樣做需要知道分析文件中定義了那些參數(shù)。用以下任一方式:Command:*SETor“=〞commandGUI:UtilityMenu>Parameters>ScalarParameters可以選擇使用以上任意一種方式,然后用OPVAR命令〔菜單路徑MainMenu>DesignOpt>DesignVariables〕來指定優(yōu)化變量?!矃⒖吹谒牟健匙ⅰ趦?yōu)化過程中,ANSYS數(shù)據(jù)庫不一定要同分析文件一致。模型的輸入是在優(yōu)化循環(huán)過程中由分析文件中自動讀入的。第三步:進入OPT,指定分析文件〔OPT〕以下的步驟是由OPT處理器來完成的。首次進入優(yōu)化處理器時,ANSYS數(shù)據(jù)庫中的所有參數(shù)自動作為設計序列1。這些參數(shù)值假定是一個設計序列。進入優(yōu)化處理器可以用如下方式:Command:/OPTGUI:MainMenu>DesignOpt在交互方式下,用戶必須指定分析文件名。這個文件用于生成優(yōu)化循環(huán)文件Jobname.LOOP。分析文件名無缺省值,因此必須輸入。指定分析文件名,可以用以下方式之一:Command:OPANLGUI:MainMenu>DesignOpt>Assign在批處理方式下,分析文件通常是批命令流的第一局部,從文件的第一行到命令/OPT第一次出現(xiàn)。在批處理方式中,缺省的分析文件名是Jobname.BAT〔它是一個臨時性的文件,是批處理輸入文件的一個拷貝〕。因此,在批處理方式下通常不用指定分析文件名。但是,如果出于某種考慮將批文件分成兩個局部〔一個用于分析,另一個用于整個優(yōu)化分析〕,那么就必須在進入優(yōu)化處理器后指定分析文件[OPANL]。注——在分析文件中,/PREP7和/OPT命令必須出現(xiàn)在行的第一個非零字符處〔即,不允許有諸如$等符號出現(xiàn)在有這些命令的行中〕。這一點在生成優(yōu)化循環(huán)文件時很關鍵。第四步:聲明優(yōu)化變量下一步是聲明優(yōu)化變量,即指定哪些參數(shù)是設計變量,哪些參數(shù)是狀態(tài)變量,哪個參數(shù)是目標函數(shù)。以上提到,允許有不超過60個設計變量和不超過100個狀態(tài)變量,但只能有一個目標函數(shù)。聲明優(yōu)化變量可以用如下的方法:Command:OPVARGUI:MainMenu>DesignOpt>DesignVariablesMainMenu>DesignOpt>StateVariablesMainMenu>DesignOpt>Objective對于設計變量和狀態(tài)變量可以定義最大和最小值。目標函數(shù)不需要給定范圍。每一個變量都有一個公差值,這個公差值可以由用戶輸入,也可以選擇由程序計算得出。如果用OPVAR命令定義的參數(shù)名不存在,ANSYS數(shù)據(jù)庫中將自動定義這個參數(shù),并將初始值設為零。用戶可以在任意時間簡單地通過重新定義參數(shù)的方法來改變已經(jīng)定義過的參數(shù),也可以刪除一個優(yōu)化變量[OPVAR,Name,DEL]。這種刪除操作并不真正刪除這個參數(shù),而是不將它繼續(xù)作為優(yōu)化變量而已?!矃⒖础皥?zhí)行后修正優(yōu)化變量〞局部?!车谖宀剑哼x擇優(yōu)化工具或優(yōu)化方法ANSYS程序提供了一些優(yōu)化工具和方法。缺省方法是單次循環(huán)。指定后續(xù)優(yōu)化的工具和方法用以下命令:Command:OPTYPEGUI:MainMenu>DesignOpt>Method/Tool優(yōu)化方法是使單個函數(shù)〔目標函數(shù)〕在控制條件下到達最小值的傳統(tǒng)化的方法。有兩種方法是可用的:零階方法和一階方法。除此之外,用戶可以提供外部的優(yōu)化算法替代ANSYS本身的優(yōu)化方法。使用其中任何一種方法之前,必須先定義目標函數(shù)。零階方法〔直接法〕:這是一個完善的零階方法,使用所有因變量〔狀態(tài)變量和目標函數(shù)〕的逼近。該方法是通用的方法,可以有效的處理絕大多數(shù)的工程問題。一階方法〔間接法〕:本方法使用偏導數(shù),即,使用因變量的一階偏導數(shù)。此方法精度很高,尤其是在因變量變化很大,設計空間也相對較大時。但是,消耗的機時較多。用戶提供的優(yōu)化方法:外部的優(yōu)化程序〔USEROP〕可以代替ANSYS優(yōu)化過程。優(yōu)化工具是搜索和處理設計空間的技術。因為求最小值不一定是優(yōu)化的最終目標,所以目標函數(shù)在使用這些優(yōu)化工具時可以不指出。但是,必須要指定設計變量。下面是可用的優(yōu)化工具:單步運行:實現(xiàn)一次循環(huán)并求出一個FEA解??梢酝ㄟ^一系列的單次循環(huán),每次求解前設定不同的設計變量來研究目標函數(shù)與設計變量的變化關系。隨機搜索法:進行屢次循環(huán),每次循環(huán)設計變量隨機變化。用戶可以指定最大循環(huán)次數(shù)和期望合理解的數(shù)目。本工具主要用來研究整個設計空間,并為以后的優(yōu)化分析提供合理解。等步長搜索法:以一個參考設計序列為起點,本工具生成幾個設計序列。它按照單一步長在每次計算后將設計變量在變化范圍內(nèi)加以改變。對于目標函數(shù)和狀態(tài)變量的整體變化評估可以用本工具實現(xiàn)。乘子計算法:是一個統(tǒng)計工具,用來生成由各種設計變量極限值組合的設計序列。這種技術與稱之為經(jīng)驗設計的技術相關,后者是用二階的整體和局部因子分析。主要目標是計算目標函數(shù)和狀態(tài)變量的關系和相互影響。最優(yōu)梯度法:對用戶指定的參考設計序列,本工具計算目標函數(shù)和狀態(tài)變量對設計變量的梯度。使用本工具可以確定局部的設計敏感性。用戶提供的優(yōu)化工具:可以用外部過程〔USEROP〕替代ANSYS優(yōu)化工具。用戶可以通過USEROP過程將自己的方法和工具補充進去。更詳細的解釋在ANSYSProgrammer’sManual中。第六步:指定優(yōu)化循環(huán)控制方式每種優(yōu)化方法和工具都有相應的循環(huán)控制參數(shù),比方最大迭代次數(shù)等。所有這些控制參數(shù)的設定都在同一個路徑下:GUI:MainMenu>DesignOpt>Method/Tool以以下出設定控制參數(shù)的命令:設定零階方法的控制參數(shù):Command:OPSUBP和Command:OPEQN設定一階方法的控制參數(shù):Command:OPFRST設定隨機搜索法的控制參數(shù):Command:OPRAND設定等步長搜索法的控制參數(shù):Command:OPSWEEP設定乘子計算法的控制參數(shù):Command:OPFACT設定最優(yōu)梯度法的控制參數(shù):Command:OPGRAD設定用戶優(yōu)化工具的控制參數(shù):Command:OPUSER程序還提供了幾個總體控制來設定優(yōu)化過程中數(shù)據(jù)的存儲方法:指定優(yōu)化數(shù)據(jù)的存儲文件名〔缺省為Jobname.OPT〕:Command:OPDATAGUI:MainMenu>DesignOpt>Controls用以下方法激活詳細的結果輸出:Command:OPPRNTGUI:MainMenu>DesignOpt>Controls確定最正確設計系列的數(shù)據(jù)是否存儲,用以下方法〔缺省是數(shù)據(jù)庫和結果文件存儲最后一個設計系列〕:Command:OPKEEPGUI:MainMenu>DesignOpt>Controls用戶還可以控制幾個循環(huán)特性,包括分析文件在循環(huán)中如何讀取??梢詮牡谝恍凶x取〔缺省〕,也可以從第一個/PREP7出現(xiàn)的位置開始讀??;設定為優(yōu)化變量的參數(shù)可以忽略〔缺省〕,也可以在循環(huán)中處理。而且,用戶可以指定循環(huán)中存儲哪種變量:只存儲數(shù)值變量還是存儲數(shù)值變量和數(shù)組變量。這個功能可以在循環(huán)中控制參數(shù)的數(shù)值〔包括設計變量和非設計變量〕。用以下方法設定這些循環(huán)控制特性:Command:OPLOOPGUI:MainMenu>DesignOpt>Controls注——OPLOOP命令中的Parms變量控制在循環(huán)中存儲哪個參數(shù)。在循環(huán)中存儲數(shù)值變量和數(shù)組變量的選項在一般情況下不設置,除非是數(shù)組變量在分析文件外定義,而在循環(huán)中需要保存的情況。第七步:進行優(yōu)化分析所有的控制選項設定好以后,就可以進行分析了。用以下方法開始分析:Command:OPEXEGUI:MainMenu>DesignOpt>Run在OPEXE執(zhí)行時,優(yōu)化循環(huán)文件〔Jobname.LOOP〕會根據(jù)分析文件生成。這個循環(huán)文件對用戶是透明的,并在分析循環(huán)中使用。循環(huán)在滿足以下情況時終止:收斂;中斷〔不收斂,但最大循環(huán)次數(shù)或是最大不合理解的數(shù)目到達了〕;分析完成。如果循環(huán)是由于模型的問題〔如網(wǎng)格劃分有問題,非線性求解不收斂,與設計變量數(shù)值沖突等〕中斷時,優(yōu)化處理器將進行下一次循環(huán)。如果是在交互方式下,程序?qū)@示一個警告信息并詢問是繼續(xù)還是結束循環(huán)。如果是在批處理方式下,循環(huán)將自動繼續(xù)。NCNV命令〔MainMenu>Solution>Nonlinear>CriteriatoStop〕是控制非線性分析的,在優(yōu)化循環(huán)中將被忽略。中斷循環(huán)的設計序列是存盤的,但參數(shù)的數(shù)據(jù)有可能非常大,不符合實際情況。所有優(yōu)化變量和其他參數(shù)在每次迭代后將存儲在優(yōu)化數(shù)據(jù)文件(Jobname.OPT)中。最多可以存儲130組這樣的序列。如果已經(jīng)到達了130個序列,那么其中數(shù)據(jù)最“不好〞的序列將被刪除。對于上述梁的例子,優(yōu)化局部的輸入大致如下:/OPT!進入優(yōu)化處理器OPANL,…!分析文件名〔批處理方式不需要〕!!聲明優(yōu)化變量OPVAR,B,DV,.5,16.5!B和H為設計變量OPVAR,H,DV,.5,8OPVAR,DMAX,SV,-0.1,0!DMAX和SMAX為狀態(tài)變量OPVAR,SMAX,SV,0,20000OPVAR,VOLUME,OBJ!VOLUME為目標函數(shù)!!指定優(yōu)化類型和控制OPTYPE,SUBP!零階方法OPSUBP,30!最大迭代次數(shù)OPEXE!開始優(yōu)化循環(huán)不同的優(yōu)化過程可以系列地完成。比方,可以在零階方法的分析結束后再做等步長搜索。下面的命令對最正確設計序列做等步長搜索:OPTYPE,SWEEP!掃描評估工具OPSWEEP,BEST,5!最正確設計序列每個設計變量5次評估OPEXE!開始優(yōu)化循環(huán)請查閱/OPT,OPANL,OPTYPE,OPSUBP,OPSWEEP和OPEXE命令以得到更詳細的說明。第八步:查看設計序列結果優(yōu)化循環(huán)結束以后,可以用本局部介紹的命令或相應的GUI路徑來查看設計序列。這些命令適用于任意優(yōu)化方法和工具生成的結果。列出指定序列號的參數(shù)值:Command:OPLISTGUI:MainMenu>DesignOpt>List可以選擇列出所有參數(shù)的數(shù)值,也可以只列出優(yōu)化變量。用圖顯示指定的參數(shù)隨序列號的變化,可以看出變量是如何隨迭代過程變化的。用以下方法實現(xiàn):Command:PLVAROPTGUI:MainMenu>DesignOpt>Graphs/Tables將圖的X軸由序列號換成別的參數(shù):Command:XVAROPTGUI:MainMenu>DesignOpt>Graphs/Tables對于PLVAROPT和PRVAROPT操作,設計序列將自動按照XVAROPT中參數(shù)以升序排列。對于等步長,乘子和梯度工具有一些特別的查看結果的方法。對于等步長搜索,用OPRSW命令列出結果,用OPLSW命令圖示結果。對于乘子工具,用OPRFA命令列出結果,用OPLFA命令圖示結果。對于梯度工具,用OPRGR命令列出結果,用OPLGR命令圖示結果?!蚕鄳穆窂皆诤竺鎸γ畹脑敿毐磉_中提及?!沉硪粋€得到優(yōu)化數(shù)據(jù)的方法是用STATUS命令〔MainMenu>DesignOpt>Status〕。在優(yōu)化處理器中使用本命令,將得到另外一些關于當前優(yōu)化任務的信息,如分析文件名,優(yōu)化技術,設計序列數(shù),優(yōu)化變量等。用STATUS命令可以方便的查看優(yōu)化環(huán)境,驗證需要的設定是否全部輸入優(yōu)化處理器。除了查看優(yōu)化數(shù)據(jù),用戶可能希望用POST1或POST26對分析結果進行后處理。缺省情況下,最后一個設計序列的結果存儲在文件Jobname.RST(或.RTH等,視分析類型而定)中。如果在循環(huán)運行前將OPKEEP設為ON,最正確設計序列的數(shù)據(jù)也將存儲在數(shù)據(jù)庫和結果文件中?!白钫_結果〞在文件Jobname.BRST(.BRTH等)中,“最正確數(shù)據(jù)庫〞在文件Jobname.BDB中。操作設計序列查看數(shù)據(jù)以后,可能需要對其做一些操作。比方說,在隨機搜索后,用戶可能希望將所有的不合理設計序列刪除,以合理的設計序列為數(shù)據(jù)點來進行后面的優(yōu)化。這里提供了幾種改變設計序列的方法。下面兩個命令可以刪除不需要的序列:用以下命令選擇最正確設計序列或所有合理的序列:Command:OPSEL
GUI:MainMenu>DesignOpt>Select/Delete(所有沒有用OPSEL命令選擇的設計序列將永久地從優(yōu)化數(shù)據(jù)庫中刪除。)刪除指定范圍內(nèi)的設計序列:Command:OPDELGUI:MainMenu>DesignOpt>Select/Delete對于這兩個命令,剩余設計序列的原始序列號將不變?!矁?yōu)化數(shù)據(jù)庫可以存儲130個設計序列?!骋韵旅钜部梢詫υO計序列進行操作:將兩個現(xiàn)存的序列相加形成一個新的設計序列〔可以有比例系數(shù)〕:Command:OPADDGUI:MainMenu>DesignOpt>Combine用當前的數(shù)值參數(shù)值〔沒有在分析循環(huán)中運行〕生成一個新的設計序列:Command:OPMAKEGUI:MainMenu>DesignOpt>Create多層優(yōu)化計算在很多情況下要做多于一次優(yōu)化計算的分析。比方,在一次優(yōu)化后沒有找到需要的優(yōu)化結果,或是用一種優(yōu)化工具開始計算然后做隨后的優(yōu)化分析〔例如,先進行隨機搜索,然后用零階方法〕。從第一次較少次數(shù)的循環(huán)中得到的結果可以作為修改設計空間并進行以后優(yōu)化分析的依據(jù)。如果用戶在同一次ANSYS運行中執(zhí)行所有的優(yōu)化時,這個過程是很順利的。在一次執(zhí)行以后,簡單的重新定義所有的優(yōu)化輸入,然后開始下一步分析。用以下命令開始下一步分析:Command:OPEXEGUI:MainMenu>DesignOpt>Run如果在執(zhí)行完一次優(yōu)化以后退出了ANSYS,可以用以后表達的方法開始后續(xù)的分析。重新開始執(zhí)行優(yōu)化分析要重新開始優(yōu)化分析,通過如下命令讀入優(yōu)化數(shù)據(jù)庫文件〔Jobname.OPT〕:Command:OPRESUGUI:MainMenu>DesignOpt>Resume數(shù)據(jù)讀入后,指定優(yōu)化類型,控制等,然后開始循環(huán)?!矊跀?shù)據(jù)庫的分析文件必須可用以完成優(yōu)化?!秤靡韵路椒ㄩ_始循環(huán):Command:OPEXEGUI:MainMenu>DesignOpt>Run標準的重啟動大致如下:....../OPTOPRESU,.....!讀入文件〔缺省為Jobname.OPT〕OPSEL,10!選擇10個最正確設計OPTYPE,....!指定優(yōu)化工具或方法....!指定其他優(yōu)化輸入OPEXE!開始優(yōu)化循環(huán)請查閱/OPT,OPRESU,OPSEL,OPTYPE和OPEXE命令以得到更詳細的說明。注——除了優(yōu)化數(shù)據(jù),ANSYS工作文件名將存儲在優(yōu)化數(shù)據(jù)庫文件中〔Jobname.OPT〕。因此,如果優(yōu)化數(shù)據(jù)文件被讀入,該文件名將覆蓋當前的文件名[/FILNAME]。在交互方式下可以用OPRESU命令〔MainMenu>DesignOpt>Resume〕讀入批處理方式下生成的優(yōu)化數(shù)據(jù),這樣便于交互的查看批處理優(yōu)化的數(shù)據(jù)。如果在讀入數(shù)據(jù)前優(yōu)化數(shù)據(jù)庫中有數(shù)據(jù)的話,應當首先去除優(yōu)化數(shù)據(jù)庫。在這個過程中,所有的設置將恢復其缺省值,所有的設計序列將被刪除。用以下方式去除數(shù)據(jù)庫:Command:OPCLRGUI:MainMenu>DesignOpt>Clear&Reset因為ANSYS數(shù)據(jù)庫是不受OPCLR命令影響的,所以在讀入一個新的優(yōu)化數(shù)據(jù)庫前應該去除ANSYS數(shù)據(jù)庫。用以下方法去除ANSYS數(shù)據(jù)庫:Command:/CLEARGUI:UtilityMenu>File>Clear&StartNew與OPRESU命令相對應的是OPSAVE命令〔MainMenu>DesignOpt>Save〕,其功能是將優(yōu)化數(shù)據(jù)寫入指定的文件中〔缺省為Jobname.OPT〕。優(yōu)化數(shù)據(jù)在每次優(yōu)化循環(huán)結束的時候自動存儲〔見OPDATA命令〕,但用戶也可以隨時用OPSAVE命令存儲優(yōu)化數(shù)據(jù)。優(yōu)化技術理解計算機程序的算法總是很有用的,尤其是在優(yōu)化設計中。在這一局部中,將提供對以下方法的說明:零階方法,一階方法,隨機搜索法,等步長搜索法,乘子計算法和最優(yōu)梯度法?!哺嗟募毠?jié)參見ANSYSTheoryReference第20章。〕零階方法零階方法之所以稱為零階方法是由于它只用到因變量而不用到它的偏導數(shù)。在零階方法中有兩個重要的概念:目標函數(shù)和狀態(tài)變量的逼近方法,由約束的優(yōu)化問題轉(zhuǎn)換為非約束的優(yōu)化問題。逼近方法:本方法中,程序用曲線擬合來建立目標函數(shù)和設計變量之間的關系。這是通過用幾個設計變量序列計算目標函數(shù)然后求得各數(shù)據(jù)點間最小平方實現(xiàn)的。該結果曲線〔或平面〕叫做逼近。每次優(yōu)化循環(huán)生成一個新的數(shù)據(jù)點,目標函數(shù)就完成一次更新。實際上是逼近被求解最小值而并非目標函數(shù)。狀態(tài)變量也是同樣處理的。每個狀態(tài)變量都生成一個逼近并在每次循環(huán)后更新。用戶可以控制優(yōu)化近似的逼近曲線??梢灾付ň€性擬合,平方擬合或平方差擬合。缺省情況下,用平方差擬合目標函數(shù),用平方擬合狀態(tài)變量。用以下方法實現(xiàn)該控制功能:Command:OPEQNGUI:MainMenu>DesignOpt>Method/ToolOPEQN同樣可以控制設計數(shù)據(jù)點在形成逼近時如何加權;見ANSYSTheoryReference。轉(zhuǎn)換為非約束問題狀態(tài)變量和設計變量的數(shù)值范圍約束了設計,優(yōu)化問題就成為約束的優(yōu)化問題。ANSYS程序?qū)⑵滢D(zhuǎn)化為非約束問題,因為后者的最小化方法比前者更有效率。轉(zhuǎn)換是通過對目標函數(shù)逼近加罰函數(shù)的方法計入所加約束的。搜索非約束目標函數(shù)的逼近是在每次迭代中用SequentialUnconstrainedMinimizationTechnique(SUMT)實現(xiàn)的。收斂檢查在每次循環(huán)結束時都要進行收斂檢查。當當前的,前面的或最正確設計是合理的而且滿足以下條件之一時,問題就是收斂的:目標函數(shù)值由最正確合理設計到當前設計的變化應小于目標函數(shù)允差。最后兩個設計之間的差值應小于目標函數(shù)允差。從當前設計到最正確合理設計所有設計變量的變化值應小于各自的允差。最后兩個設計所有設計變量的變化值應小于各自的允差。用以下方法指定目標函數(shù)和設計變量允差:Command:OPVARGUI:MainMenu>DesignOpt>DesignVariablesMainMenu>DesignOpt>Objective收斂并不代表實際的最小值已經(jīng)得到了,只說明以上四個準那么之一滿足了。因此,用戶必須確定當前設計優(yōu)化的結果是否足夠。如果缺乏的話,就要另外做附加的優(yōu)化分析。有時候求解過程會在收斂前終止,這是因為發(fā)生以下情況之一:指定的循環(huán)次數(shù)到達了。連續(xù)的不合理設計到達了指定的值〔OPSUBP命令的NINFS域〕。缺省值為7。零階方法的特殊問題由于目標函數(shù)和狀態(tài)變量都是使用逼近的,因此優(yōu)化設計和逼近數(shù)值具有同樣的精確度。下面給出了一些得到較好的逼近的建議。對于零階方法,優(yōu)化處理器開始通過隨機搜索建立狀態(tài)變量和目標函數(shù)的逼近。由于是隨機搜索,收斂的速度可能很慢。用戶有時可以通過給出多個合理的起始設計來加速收斂。只簡單的運行一系列的隨機搜索并刪除所有不合理的設計。用以下方法之一運行隨機搜索:Command:OPTYPE,RANDGUI:MainMenu>DesignOpt>method/Tool用以下方法刪除所有不合理設計:Command:OPSELGUI:MainMenu>DesignOpt>Select/Delete也可以運行屢次單獨的循環(huán),并在每次運行前指定新的設計變量序列來生成起始設計序列。用以下方法:Command:OPTYPE,RUNGUI:MainMenu>DesignOpt>Method/Tool(如果對問題的特性有些認識的話,后一種方法更好些。)注——做一些小的設計分析將有利于收斂。但如果設計之間差異不大,也就是說設計數(shù)據(jù)點“堆積〞在一起時,用戶就要指定優(yōu)化處理器沿一個指定的路徑分析,以防止丟掉好的設計。如果零階方法生成了許多不合理的設計的話,可能說明狀態(tài)變量的近似不能良好的反映狀態(tài)變量的實際情況。在這種情況下,可以處理如下:增加連續(xù)不合理設計的允許值,然后進行附加的零階方法分析〔如果合理的設計好象要到達了〕。用以下方法:Command:OPSUBP,NINFSGUI:MainMenu>DesignOpt>Method/Tool在連續(xù)的逼近中不斷的選擇最正確設計,可以得到更好的曲線擬合。用以下方法實現(xiàn):Command:OPSELGUI:MainMenu>DesignOpt>Select/Delete在狀態(tài)變量逼近時選擇交叉項。用以下方法:Command:OPEQN,KFSVGUI:MainMenu>DesignOpt>Method/Tool一階方法同零階方法一樣,一階方法通過對目標函數(shù)添加罰函數(shù)將問題轉(zhuǎn)換為非約束的。但是,與零階方法不同的是,一階方法將真實的有限元結果最小化,而不是對逼近數(shù)值進行操作。一階方法使用因變量對設計變量的偏導數(shù)。在每次迭代中,梯度計算〔用最大斜度法或共軛方向法〕確定搜索方向,并用線搜索法對非約束問題進行最小化。因此,每次迭代都有一系列的子迭代〔其中包括搜索方向和梯度計算〕組成。這就使得一次優(yōu)化迭代有屢次分析循環(huán)。OPFRST命令(MainMenu>DesignOpt>Method/Tool)有兩個輸入域可以用來改善一階方法的收斂。用戶可以指定計算梯度的設計變量范圍變化程度,也可以指定線搜索步長的范圍。一般來說,這兩個輸入值的缺省數(shù)值就足夠了。見ANSYSTheoryReference。收斂檢查一階方法在收斂或中斷時結束。當當前的設計序列相對于前面的和最正確序列滿足下面任意一種情況時,問題就稱為收斂:目標函數(shù)值由最正確合理設計到當前設計的變化應小于目標函數(shù)允差。從當前設計到前面設計目標函數(shù)的變化值應小于允差。同時要求最后的迭代使用最大斜度搜索,否那么要進行附加的迭代。用以下方法指定目標函數(shù)允差:Command:OPVARGUI:MainMenu>DesignOpt>Objective問題在收斂之前可能中斷。在用OPFRST命令NITR域指定的最大迭代次數(shù)到達的情況下出現(xiàn)。一階方法的特殊情況與零階方法相比,一階方法計算量大且結果精確。但是,精確度高并不能保證最正確求解。下面是一些注意點:一階方法可能在不合理的設計序列上收斂。這時可能是找到了一個局部最小值,或是不存在合理設計空間。如果出現(xiàn)這種情況,可以使用零階方法,因其可以更好的研究整個設計空間。也可以先運行隨機搜索確定合理設計空間〔如果存在的話〕,然后以合理設計序列為起點重新運行一階方法。一階方法更容易獲得局部最小值。〔見后面“局部和全局最小值〞的說明?!尺@是因為一階方法從設計空間的一個序列開始計算求解,如果起點很接近局部最小值的話,就會選擇該最小值而找不到全局最小值。如果疑心得到的是局部最小值,可以用零階方法或隨機搜索驗證,如上所述。目標函數(shù)允差過緊將會引起迭代次數(shù)很多。因為本方法計算實際有限元解〔而非逼近〕,在計算過程中會根據(jù)給定的允差盡量找到確切的結果。隨機搜索法對于隨機搜索法[OPTYPE,RAND],程序完成指定次數(shù)的分析循環(huán),并在每次循環(huán)中使用隨機搜索變量值。用戶可以用OPRAND命令(MainMenu>DesignOpt>Method/Tool)指定最大迭代次數(shù)和最大合理設計數(shù)。如果給出了最大合理設計數(shù),在到達這個數(shù)值時循環(huán)將終止,而忽略最大迭代次數(shù)是否到達。隨機搜索法往往作為零階方法的先期處理。它也可以用來完成一些小的設計任務。例如可以做一系列的隨機搜索,然后通過查看結果來判斷當前設計空間是否合理。等步長搜索法等步長搜索法[OPTYPE,SWEEP]用于在設計空間內(nèi)完成掃描分析。將生成n*NSPS個設計序列,n是設計變量的個數(shù),NSPS是每個掃描中評估點的數(shù)目〔由OPSWEEP命令指定〕。對于每個設計變量,變量范圍將劃分為NSPS-1個相等的步長,進行NSPS次循環(huán)。問題的設計變量在每次循環(huán)中以步長遞增,其他的設計變量保持其參考值不變。設計序列中設計變量的參考值用OPSWEEP命令的Dset指定〔MainMenu>DesignOpt>Method/Tool〕。圖示和列表顯示等步長搜索結果用以下方法圖示設計變量數(shù)值和響應變量的數(shù)值關系:Command:OPLSWGUI:MainMenu>DesignOpt>ToolResults>Sweeps縱坐標表示目標函數(shù)或狀態(tài)變量的實際數(shù)值。橫坐標表示正交化〔0到1〕的設計變量,正交范圍為設計變量的最大最小值[OPVAR]。用以下方法生成列表的結果:Command:OPRSWGUI:MainMenu>DesignOpt>ToolResults>Print正交化的響應數(shù)據(jù)值和正交化的設計變量值將列出。目標函數(shù)和狀態(tài)變量的結果與參考設計序列數(shù)值正交[OPSWEEP,Dset]。對于設計變量,0相應于最小值,1相應于最大值。乘子計算法本工具[OPTYPE,F(xiàn)ACT]用二階技術生成設計空間上極值點上的設計序列數(shù)值。〔這個二階技術在每個設計變量的兩個極值點上取值。〕可以用OPFACT命令(MainMenu>DesignOpt>Method/Tool)指定是完成整體的還是局部子的評估。對于整體評估,程序進行2n次循環(huán),n是設計變量的個數(shù)。1/2局部的評估進行2n/2次循環(huán),依此類推。圖示和列表顯示乘子計算結果可以用棒式圖和表格顯示目標函數(shù)或狀態(tài)變量的某些方面。例如,可以圖示每個設計變量對目標函數(shù)的主要作用。用戶同樣可以查看兩個和三個變量之間的互相作用。用以下命令顯示棒式圖:Command:OPLFAGUI:MainMenu>DesignOpt>ToolResults>Factorial用以下命令對目標函數(shù)或狀態(tài)變量的作用列表:Command:OPRFAGUI:MainMenu>DesignOpt>ToolResults>Print要得到更詳細的說明,請查閱ANSYSTheoryReference第20章“DesignOptimization〞。最優(yōu)梯度法最優(yōu)梯度法[OPTYPE,GRAD]計算設計空間中某一點的梯度。梯度結果用于研究目標函數(shù)或狀態(tài)變量的敏感性。用以下方式指定在哪個設計序列計算梯度:Command:OPGRADGUI:MainMenu>DesignOpt>Method/Tool本工具做的循環(huán)次數(shù)等于設計變量的數(shù)目。圖示和列表顯示最優(yōu)梯度法的結果用戶可以用圖顯示設計變量和響應變量的數(shù)值??v坐標表示目標函數(shù)或狀態(tài)變量的實際數(shù)值。橫坐標表示設計變量一個小的〔1%〕變化值。用以下方法列表表示結果:Command:OPRGRGUI:MainMenu>DesignOpt>ToolResults>Print1%的變化值是相對于設計變量的變化范圍〔由OPVAR命令中MAX-MIN數(shù)值確定〕,而不是相對于當前的設計變量數(shù)值的。選擇優(yōu)化變量的一些說明下面列出了許多如何定義設計變量,狀態(tài)變量和目標函數(shù)的建議。選擇設計變量設計變量往往是長度,厚度,直徑或模型坐標等幾何參數(shù)。其必須是正值。關于設計變量要記住的幾點如下:使用盡量少的設計變量。選用太多的設計變量會使得收斂于局部最小值的可能性增加,在問題是高度非線性時甚至會引起不收斂。顯而易見,越多的設計變量需要越多的迭代次數(shù),從而需要更多的機時。一種減少設計變量的做法就是將其中的一些變量用其他的設計變量表示。這通常叫做設計變量合并。設計變量合并不能用于設計變量是真正獨立的情況下。但是,可以根據(jù)模型的結構判斷是否允許某些設計變量之間可以邏輯的合并。例如,如果優(yōu)化形式是對稱的,可以用一個設計變量表示對稱局部。給設計變量定義一個合理的范圍〔OPVAR命令中的MIN和MAX〕。范圍過大可能不能表示好的設計空間,而范圍過小可能排除了好的設計。記住只有正的數(shù)值是可以的,因此要設定一個上限。選擇可以提供實際優(yōu)化設計的設計變量。例如,可以只用一個設計變量X1對圖1-3a的懸臂梁進行重量優(yōu)化。但是,這排除了用曲線或變截面得到更小的重量的可能。為了包括這種設計,需要選擇四個設計變量X1到X4〔圖1-3c〕。也可以用另外一種設計變量選擇方法完成該優(yōu)化設計,見圖1-3d。同時,要防止選擇產(chǎn)生不實際結果或不需要的設計。圖1-3階梯型懸臂梁的設計變量選擇選擇狀態(tài)變量狀態(tài)變量通常是控制設計的因變量數(shù)值。狀態(tài)變量的例子有應力,溫度,熱流率,頻率,變形,吸收能,消耗時間等。狀態(tài)變量必須是ANSYS可以計算的數(shù)值;實際上任何參數(shù)都能被定義為狀態(tài)變量。選擇狀態(tài)變量的一些要點為:在定義狀態(tài)變量[OPVAR命令]時,在MIN域中輸入空值表示無下限。同樣,在MAX域中輸入空值表示無上限。在這兩個域中輸入0值表示以0為限。如:UPVAR,SIG,SV,,1000!SIG小于等于1000OPVAR,SIG,SV,0,1000!SIG大于等于0且小于等于1000選擇足夠約束設計的狀態(tài)變量數(shù)。如在應力分析中,只選擇最大應力數(shù)值為狀態(tài)變量不好,因為在不同循環(huán)中,最大應力位置是變化的。同樣也要防止另一個極端如選擇每個單元中的應力都為狀態(tài)變量。比擬好的方法是定義幾個關鍵位置的應力為狀態(tài)變量。在零階方法中,如果可能的話,選擇與設計變量為線性或平方關系的參數(shù)為狀態(tài)變量。例如,狀態(tài)變量G=Z1/Z2且G<C(Z1和Z2是設計變量,C是常數(shù))可能不會得到G的較好的逼近,因為G與Z2是反比關系。如果將狀態(tài)變量表示為G=Z1-〔C*Z2〕且G<0,狀態(tài)變量逼近就準確了。如果狀態(tài)變量有上下限時,給定一個合理的限制值[OPVAR命令的MIN和MAX域]。應防止過小的范圍,因為此時合理設計可能不存在。如500到1000psi的應力范圍要比900到1000psi的范圍好。如果要指定相同的約束數(shù)值〔如頻率為386.4HZ〕,定義兩個相同數(shù)值的狀態(tài)變量將實際值包含起來,如下所示:...*GET,FREQ,ACTIVE,,SET,FREQ!參數(shù)FREQ等于計算頻率FREQ1=FREQFREQ2=FREQ.../OPTOPVAR,FREQ1,SV,,387!上限FREQ1=387OPVAR,FREQ2,SV,386!下限FREQ2=386...合理區(qū)域現(xiàn)為386到387,但每個狀態(tài)變量有足夠?qū)挼姆秶约铀俦平惨奜PVAR命令〕。在定義參數(shù)前用選擇功能防止在奇異點處〔如集中載荷〕附近選擇狀態(tài)變量。選擇目標函數(shù)目標函數(shù)是設計要最小化或最大化的數(shù)值。選擇目標函數(shù)要記住以下幾點:ANSYS程序總是最小化目標函數(shù)。如果要最大化數(shù)值x,就將問題轉(zhuǎn)化為求數(shù)值x1=C-x或x1=1/x的最小值,其中C是遠大于x的數(shù)值。定義C-x的方法比用1/x的方法要好,因為后者是反比關系,在零階方法中不能得到準確的逼近。目標函數(shù)值在優(yōu)化過程中應為正值,因為負值將會引起數(shù)據(jù)問題。為了防止負值出現(xiàn),可以將一個足夠大的正值加到目標函數(shù)上〔大于目標函數(shù)的最大值〕??傮w建議本局部說明了在優(yōu)化設計中要記住的一些關鍵點。最重要的一點是要記住優(yōu)化過程是一系列的分析過程,即一系列的前處理-求解-后處理-優(yōu)化的循環(huán)。建議從一個簡單的例子開始理解整個優(yōu)化的過程。一旦理解了這個過程,求解實際問題時就會覺得很方便。生成分析文件前面在“準備分析文件〞一局部中提到,通過交互方式建模后有兩種方式生成分析文件:用內(nèi)部數(shù)據(jù)庫命令流[LGWRITE]〔UtilityMenu>File>WriteDBLogFile〕,或通過過程命令流文件〔Jobname.LOG〕。用內(nèi)部數(shù)據(jù)庫命令流有幾個優(yōu)點:LGWRITE命令有一個選項〔Kedit域〕刪除不重要的命令,或?qū)⑵渥鳛樵u論行寫到文件中。該選項會自動對命令流文件做自動處理,但用戶仍應做一下查看以確保文件適合優(yōu)化。而且,內(nèi)部數(shù)據(jù)庫命令流包括整個模型的數(shù)據(jù)庫,因此不需要幾個文件拼湊起來。數(shù)據(jù)庫命令流是存儲在數(shù)據(jù)庫文件中〔Jobname.DB〕的,讀入的數(shù)據(jù)庫將包含其完整的數(shù)據(jù)庫命令流?!惨夾NSYSOperationsGuide。〕注意:推薦在LGWRITE命令Kedit域中使用Kedit=COMMENT而不用Kedit=REMOVE。有些被Kedit過濾的命令有可能在后面*GET操作中用到〔如EXREM和PLNSOL〕。這些命令在Jobname.LGW的最后編輯中不能作為備注行。注——/CLEAR命令將數(shù)據(jù)庫從內(nèi)存中去除,同時也去除了數(shù)據(jù)庫命令流。在每次優(yōu)化循環(huán)的開始將運行一個/CLEAR命令。如果/LGWRITE命令是在優(yōu)化循環(huán)以后輸入的,那么結果文件將是不完整的命令流。一般,數(shù)據(jù)庫命令流文件是在優(yōu)化循環(huán)開始前寫的。前面說過,在定義優(yōu)化變量時不能用鼠標拾取的操作。如果因為拾取較方便而使用了這種操作,那么特殊的GUI生成命令〔如FLST和FITEM〕將寫入命令流中。這些命令在ANSYSCommandsReference中有表達。但是在最后處理命令流文件時將這些命令轉(zhuǎn)化為參數(shù)形式將非常煩瑣。執(zhí)行后修改設計變量序列在執(zhí)行了一次或?qū)掖蝺?yōu)化分析后[OPEXE],用戶可能要刪除一些設計變量[OPVAR,Name,DEL]然后進行下面的分析。通常,用戶需要這些參數(shù)的數(shù)值保持不變〔在最后優(yōu)化過程的數(shù)值或用戶指定的數(shù)值〕,而不要恢復回分析文件中的數(shù)值。假定在循環(huán)文件中沒有重定義設計變量值,可以用以下方法修正“刪除〞了的設計變量數(shù)值:在分析文件中,在/PREP7命令前初始化設計變量數(shù)值?!仓挥泻髞硪薷牡膮?shù)才出現(xiàn)在/PREP7命令前。在下一個優(yōu)化前,輸入OPLOOP,PREP〔MainMenu>DesignOpt>Controls〕從第一個/PREP7處讀入分析文件。如果不做上面兩步操作,在以后的優(yōu)化分析中設計變量將設為其初始值。在下面的例子中,我們從兩個設計變量,AREA1和AREA2開始進行優(yōu)化。然后AREA2被“刪除〞〔不再是設計變量〕,保持其當前值。AREA1=5.00!AREA1是第一個面積AREA2=5.00!AREA2是第二個面積/PREP7!進入PREP7前處理器!用AREA1和AREA2建立參數(shù)化模型......FINISH/SOLVE!施加載荷等并求解...FINISH/POST1SET,......*GET,SIG1,...!定義用做狀態(tài)變量和目標函數(shù)的參數(shù)*GET,SIG2,...*GET,SIG3,......FINISH/OPT!進入優(yōu)化分析模塊OPVAR,AREA1,DV,...!定義參數(shù)AREA1和AREA2為設計變量OPVAR,AREA2,DV,...OPVAR,SIG1,SV,...!指定狀態(tài)變量OPVAR,SIG2,SV,...OPVAR,TVOL,OBJ!指定目標函數(shù)OPTYPE,SUBP!零階方法OPEXE!執(zhí)行優(yōu)化OPVAR,AREA2,DEL!刪除設計變量AREA2STATUS!驗證當前優(yōu)化變量OPLOOP,PREP!從第一個/PREP7位置讀入分析文件OPTYPE,...!指定優(yōu)化類型...!指定其他優(yōu)化控制OPEXE!執(zhí)行優(yōu)化FINISH請參閱OPVAR,OPTYPE,OPEXE和OPLOOP命令以得到更詳細的解釋。執(zhí)行后修正優(yōu)化變量優(yōu)化變量可以在優(yōu)化執(zhí)行之間修改,此時使用[OPVAR]命令〔MainMenu>DesignOpt>DesignVariables〕。例如,用戶可能想修改目標函數(shù)的允差,狀態(tài)變量的上下限,或刪除一個設計變量,定義一個新的設計變量。不管是哪種情況,只要優(yōu)化變量在一次優(yōu)化分析后修改了,程序?qū)⒆詣訉?yōu)化數(shù)據(jù)庫進行局部的修改。這將不影響現(xiàn)存的設計序列和優(yōu)化設定選項。只有與優(yōu)化計算有關的信息將被去除。這樣做是為了去除不適合于修改后的優(yōu)化變量序列的數(shù)據(jù)。局部最小值和全局最小值有些情況下,求解過程將終止于得到一個局部最小值而非全局最小值〔見圖1-4〕。要驗證這種情況是否存在,可以用一個不同的初始設計序列〔即不同的初始設計變量值〕重新進行分析。另外的方法見“零階方法的特殊情況〞一章。最小重量和最小體積如果當前分析不需要時,應防止指定材料密度。因為不計算質(zhì)量矩陣,可以節(jié)省機時。因為重量=密度*體積,所以可以通過這種方式參數(shù)化地計算重量,而把體積作為最小化的目標〔假定模型密度是均勻的〕。網(wǎng)格密度在形狀優(yōu)化問題中,循環(huán)之間有限元網(wǎng)格是變化的,因此驗證網(wǎng)格精度是否足夠很重要。通過用參數(shù)方式指定網(wǎng)格劃分數(shù)或網(wǎng)格大小,可以在每次循環(huán)中正確的改變之。而且,在線性應力或熱分析中,可以用能量法那么列出每次循環(huán)的誤差率〔見ANSYSBasicAnalysisProceduresGuide第五章〕。一個更加有趣的擴展方式是在設計優(yōu)化循環(huán)中進行一次自適應網(wǎng)格循環(huán)來保證網(wǎng)格劃分誤差不超過一個定值。自適應網(wǎng)格劃分的內(nèi)容見ANSYSAdvancedAnalysisTechniquesGuide第二章。用以下方法列出誤差率:Command:PRERRGUI:MainMenu>GeneralPostproc>ListResults>PercentErrorUtilityMenu>List>Results>PercentError使用子結構如果模型只有一局部在優(yōu)化設計中改變的話,可以考慮把不變的局部作成子結構。優(yōu)化運行將只在使用局部〔和擴展局部,如果必須的話〕進行循環(huán),從而大大節(jié)省機時。〔子結構見ANSYSAdvancedAnalysisTechniquesGuide?!硟?yōu)化分析的例如〔GUI方法〕在本例中,用一階方法進行優(yōu)化分析。問題描述一個有三根桿組成的珩架承受縱向和橫向載荷。珩架的重量在最大應力不超過400psi最小化?!惨虼酥亓繛槟繕撕瘮?shù)。〕三根梁的橫截面面積和根本尺寸B在指定范圍內(nèi)變化。結構的重量初始設計為109.10磅。缺省允差〔由程序計算〕為初始重量的1%〔11磅〕。但是,為了便于收斂,一階方法的優(yōu)化分析中將目標函數(shù)的允差定為2.0。問題參數(shù)分析中使用如下材料特性:E=2.1E6psiRHO=2.85E-4lb/in3(比重)最大許用應力=400psi分析中使用如下幾何特性:橫截面面積變化范圍=1到1000in2(初始值為1000)根本尺寸B變化范圍=400到1000in〔初始值為1000〕問題簡圖第一步:指定文件名選擇UtilityMenu>File>ChangeJobname,翻開文件名對話框。輸入“truss〞為工作文件名。單擊OK關閉對話框。第二步:指定分析題目選擇UtilityMenu>File>ChangeTitle,翻開更改分析題目對話框。輸入“OptimizationofaThree-BarTruss〞作為分析題目。單擊OK關閉對話框。第三步:定義參數(shù)初始值選擇UtilityMenu>Parameters>ScalarParameters,翻開數(shù)值參數(shù)對話框。在選擇區(qū)域中輸入以下內(nèi)容:B=1000按ENTER鍵A1=1000按ENTER鍵A2=1000按ENTER鍵A3=1000單擊OK。參數(shù)將在菜單中顯示出來。在數(shù)值參數(shù)對話框中單擊OK。第四步:定義單元類型選擇MainMenu>Preprocessor>ElementType>Add/Edit/Delete,翻開單元類型對話框。在單元類型庫對話框中單擊Add。在左邊列中單擊StructuralLink。在右邊列中單擊2DSpar1。在單元參考號區(qū)域鍵入1。在單元類型庫對話框中單擊OK。在單元類型對話框中單擊Close。第五步:定義實參選擇MainMenu>Preprocessor>RealConstants,翻開實參對話框。單擊Add,翻開實參對話框中單元類型。單擊OK,翻開LINK1實參對話框。在實參序列號區(qū)域中鍵入1。在橫截面區(qū)域中鍵入A1。單擊Apply。這將確認LINK1的實參并將1000輸入實參1的橫截面區(qū)域。在實參序列號區(qū)域鍵入2。在橫截面面積區(qū)域鍵入A2。單擊Apply。這將確認LINK1的實參并將1000輸入實參1的橫截面區(qū)域。10.在實參序列號區(qū)域鍵入3。11.在橫截面面積區(qū)域鍵入A3。12.在LINK1實參對話框中單擊OK。13.在實參對話框中單擊Close。第六步:定義材料特性選擇MainMenu>Preprocessor>MaterialProps>-Constant->Isotropic,翻開各項同性材料特性對話框。在材料號區(qū)域中輸入1。單擊OK翻開第二個各項同性材料特性對話框。在楊氏模量對話框輸入2.1E6。單擊OK并關閉對話框。第七步:生成結點選擇MainMenu>Preprocessor>-Modeling->Create>Nodes>InActiveCS,翻開在活動坐標系中生成結點對話框。在結點號區(qū)域中輸入1。在活動坐標域,第一個域中輸入-B,第二個域中輸入0,第三個輸入0。單擊Apply。結點1將出現(xiàn)在ANSYS圖形窗口。在結點號碼域中輸入2。在活動坐標域,第一個域中輸入0,第二個域中輸入0,第三個輸入0。單擊Apply。結點2將出現(xiàn)在ANSYS圖形窗口。在結點號碼域中輸入3。在活動坐標域,第一個域中輸入B,第二個域中輸入0,第三個輸入0。10.單擊Apply。結點2將出現(xiàn)在ANSYS圖形窗口。11.在結點號碼域中輸入3。12.在活動坐標域,第一個域中輸入0,第二個域中輸入-1000,第三個輸入0。13.單擊OK關閉在活動坐標系生成結點對話框。結點4將出現(xiàn)在ANSYS圖形窗口中。所有4個結點都出現(xiàn)在ANSYS圖形窗口中。14.翻開結點號碼。選擇菜單UtilityMenu>PlotCtrls>WindowControls>WindowOptions翻開窗口選項對話框。15.在結點號碼框上單擊OFF〔將切換為ON〕。16.單擊OK關閉對話框。17.選擇菜單UtilityMenu>PlotCtrls>WindowControls>WindowsOptions翻開窗口對話框。18.在坐標位置出選取不顯示選項。19.單擊OK關閉對話框。第八步:生成單元選擇菜單MainMenu>Preprocessor>-Modeling->Create>Elements>-AutoNumbered->ThruNodes翻開結點對話框的單元項。在圖形窗口,拾取結點1和4〔按照該順序〕。在選擇的結點周圍將出現(xiàn)一個小框。在該對話框單擊OK關閉對話框。ANSYS圖形窗口中1和4結點之間將出現(xiàn)一個線單元1。選擇菜單MainMenu>Preprocessor>-Modeling->Create>Elements>ElemAttributes翻開單元特性對話框。在實參序列號中輸入2。在單元特性對話框中單擊OK。選擇菜單MainMenu>Preprocessor>-Modeling->Create>Elements>-AutoNumbered->ThruNodes翻開結點對話框的單元項。在圖形窗口,拾取結點2和4〔按照該順序〕。在該對話框單擊OK關閉對話框。ANSYS圖形窗口中3和4結點之間將出現(xiàn)一個線單元2。10.選擇菜單MainMenu>Preprocessor>-Modeling->Create>Elements>ElemAttributes翻開單元特性對話框。11.在實參序列號中輸入2。12.在單元特性對話框中單擊OK。13.選擇菜單MainMenu>Preprocessor>-Modeling->Create>Elements>-AutoNumbered->ThruNodes翻開結點對話框的單元項。14.在圖形窗口,拾取結點2和4〔按照該順序〕。15.在該對話框單擊OK關閉對話框。ANSYS圖形窗口中3和4結點之間將出現(xiàn)一個線單元3。第九步:施加位移約束和載荷選擇菜單MainMenu>Solution>-Loads->Apply>-Structural->Displacement>OnNodes翻開ApplyU,ROTonNodes的對話框。在ANSYS圖形窗口,拾取結點1,2和3。單擊OK關閉對話框并翻開第二個ApplyU,ROTonNodes的對話框。在要約束的自由度菜單上單擊ALLDOF選項。單擊OK關閉對話框。選擇菜單MainMenu>Solution>-Loads-Apply>-Structural-Force/Moment>OnNodes翻開ApplyF/MonNodes對話框。在ANSYS圖形窗口,拾取結點4。在對話框中單擊OK關閉并翻開第二個ApplyF/MonNodes對話框。將Force/Mom方向設為FX。10.在Force/MomentValue域輸入200000。11.單擊OK關閉對話框。在結點4上將出現(xiàn)一個橫向箭頭表示施加的載荷。12.選擇菜單MainMenu>Solution>-Loads-Apply>-Strutural-Force/Moment>OnNodes翻開ApplyF/MonNodes對話框。13.在ANSYS圖形窗口,單擊結點4。14.在對話框中單擊OK關閉并翻開第二個ApplyF/MonNodes對話框。15.將Force/Mom方向設為FX。16.在Force/MomentValue域輸入-200000。17.單擊OK關閉對話框。在結點4上將出現(xiàn)一個垂直箭頭表示施加的載荷。第十步:求解模型選擇菜單MainMenu>Solution>-Solve->CurrentLS翻開SolveCurrentLoadStep對話框。求解目標和載荷步選項在出現(xiàn)在狀態(tài)窗口。查看狀態(tài)窗口中的目標信息并在菜單條上單擊Close關閉。在該對話框中單擊OK。求解完畢后,將出現(xiàn)信息框告訴用戶求解完畢。單擊Close關閉對話框。第十一步:進入后處理器并讀出單元總體積選擇菜單MainMenu>GeneralPostproc>ElementTable>DefineTable翻開ElementTableData對話框。單擊Add定義單元表格并翻開DefineAdditionalElementaryTableItems對話框。在UserLabel域中輸入EVOL。在Item,CompResultsDataItem菜單的左列單擊Geometry,在右列單擊ElemVolumeVOLU。單擊OK關閉對話框。在ElementTableData對話框中單擊Close。選擇菜單MainMenu>GeneralPostproc>ElementTable>SumofEachItem翻開TabularSumofEachElementTableItem對話框。單擊OK計算總和。SSUM命令窗口將顯示總和為0.382842E+07。單擊菜單條上的Close關閉SSUM命令窗口。10.選擇菜單UtilityMenu>Parameters>GetScalarData翻開GetScalarData對話框。11.在TypeofDatatobeRetrieved菜單左列單擊ResultsData,在右列單擊ElemTableSums。12.單擊OK關閉對話框并翻開GetElementTableSumResults對話框。13.在NameofParametertobeDefined域輸入VTOT。14.單擊OK關閉對話框。15.選擇菜單UtilityMenu>Parameters>ScalarParameters翻開ScalarParameters對話框。16.在Selection域輸入RHO=2.85E-4并按ENTER鍵。本信息應顯示在菜單上。17.在Selection域輸入WT=RHO*V
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源期貨企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 護膚熏香批發(fā)企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 增值電信服務企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 蛋黃醬企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 八寶飯罐頭企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 男褲子企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 臉部化妝品企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 2025年化學纖維加工絲合作協(xié)議書
- 工業(yè)雨水收集系統(tǒng)防水合同
- 外包服務付款方式協(xié)議
- 建設“三型三化551”財務體系加快財務轉(zhuǎn)型創(chuàng)建一流財務指導意見
- 部編版五年級道德與法治下冊課程綱要
- 語言領域核心經(jīng)驗《學前兒童語言學習與發(fā)展核心經(jīng)驗》
- 湖北省華中師大一附中2020-2021高一物理期中檢測試卷【含答案】
- 2021年合肥職業(yè)技術學院職業(yè)適應性測試試題及答案解析
- 2022年三年級美術下冊教案課題美化教室一角
- 初中物理公式MicrosoftWord文檔
- 詐騙案件授課PPT課件
- 弗洛姆異化理論
- 碳納米管_ppt課件
- 【課件】第2課如何鑒賞美術作品課件-高中美術人教版(2019)美術鑒賞
評論
0/150
提交評論