單元子程序自動生成_第1頁
單元子程序自動生成_第2頁
單元子程序自動生成_第3頁
單元子程序自動生成_第4頁
單元子程序自動生成_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

單元子程序自動生成----PDE文件的填寫首先我們還是以熱傳導問題為例來說明如何填寫PDE文件。熱傳導實例一個正方形物體長為1,導熱系數(shù)是0.044。上下絕熱,左邊溫度維持在0,右邊維持在100,求溫度分布。絕熱0100該問題的偏微分方程如下其中ek=0.044(熱傳導系數(shù));q=0(內(nèi)熱源密度)求解過程啟動FEPG,利用AppWizard(或gcn系統(tǒng))生成有限元計算程序運行GetPre,修改Pre文件運行PreProc,用Fepg.Gid建模,劃分網(wǎng)格運行批處理文件(bat文件),進行計算運行PostProc,圖形化顯示結果我們采用GCN系統(tǒng)生成程序PDE(VDE)、FBCNFEGCN、GIO--描敘微分方程--描敘算法,系統(tǒng)提供大量供選擇的算法--描敘耦合關系Gcn系統(tǒng)包括虛功形式參數(shù)ek,eq

對應于區(qū)域積分PDE文件dispu,

給出未知函數(shù)名Ucoorx,y,

給出總體坐標系下的坐標變量X,Y。shapq4

給出單元的形狀和節(jié)點個數(shù),q表示四邊形,4表示四節(jié)點單元gaus2

給出每個方向上積分點的個數(shù)mateek

eq4.4e-2;0.0;ek,eq為材料參數(shù)名,后面為相應缺省值Ell.pdestif信息段stif

給出剛度矩陣dist=+[u/x;u/x]*ek+[u/y;u/y]*ek

第一個u/x表示

第二個u/x表示[;]表示積分,對應于load信息段load=+[u]*eq

給出載荷向量,對應于end結束符Le.gcndefiaell&STARTsinaSOLVsinaLe.gioell#elemtypeq42dxy如何生成有限元程序GIOGCN文件名PDE目的:利用填寫的PDE類型的文件,系統(tǒng)自動生成計算單元剛度矩陣、單元質量矩陣、單元阻尼矩陣和單元荷載向量的子程序。特點:對廣義位移個數(shù)、節(jié)點個數(shù)、空間坐標維數(shù)、方程階數(shù)(四階以內(nèi))不限制,形函數(shù)、坐標變換、任意階虛功方程、對稱非對稱均可;全部符號由用戶定義、易于修改和閱讀;適應科學計算各種形式的變化。需填寫的文件:PDE文件FBC文件需填寫的文件的說明:利用有限元方法求解偏微分方程問題,要將這個方程變成其虛功方程的弱形式。PDE類型文件的填寫就是基于這個弱形式。PDE文件是用來處理弱形式的體積分項。FBC文件是用來處理弱形式的邊界積分項。FBC文件的填寫方式與PDE文件的基本相同,只是坐標變量要比PDE文件少一維。PDE文件的結構DEFI段FUNC段STIF段MASS段DAMP段LOAD段可放入DEFI段中defi信息段的填寫disp

未知函數(shù)名coor

坐標變量名coef

系數(shù)變量名func

自定義函數(shù)名mate材料參數(shù)名材料參數(shù)缺省值shap

單元形狀類型符節(jié)點個數(shù)gaus

單元形狀類型符或每個方向積分點個數(shù)mass單元形狀類型符單元質量密度damp單元形狀類型符單元阻尼系數(shù)load表達式關于單元類型符的說明q四邊形單元;4,8,9節(jié)點t三角形單元;3,6節(jié)點c六面體單元;8,20,27節(jié)點w四面體或三棱柱單元;4,10四面體6,18三棱柱l線單元;2,3節(jié)點關于defi信息段的說明coef——對應于微分方程中的一個變系數(shù),對非線性問題和耦合問題需填,和算法文件對應;func——用戶定義的函數(shù),作用是進行函數(shù)替換,使虛功方程表達式簡化;func信息段的填寫給出用戶自定義函數(shù)的具體表達式(它們往往是未知函數(shù)及其導數(shù)的線性組合),其作用是使stif、mass、load段的填寫變得簡潔。填寫格式:自定義函數(shù)名=±[未知函數(shù)或其導數(shù)]*表達式導數(shù)定義[u/x];[u/x,x];{un/x};表達式:任何fortran表達式,fortran函數(shù),也可以是已知函數(shù)的導數(shù)。關于func信息段的說明可以多行,但每行開頭必須是+[]或-[];每個自定義的函數(shù)之間必須空一行;不能使用自定義函數(shù)的導數(shù)。stif信息段的填寫連同后面的mass、damp和load信息段,共同反應了微分方程表達式。Stif信息段的目的給出計算剛度矩陣的虛功方程表達式填寫方式:dist=±[未知函數(shù)或其導數(shù);未知函數(shù)或其導數(shù)]*表達式關于stif信息段的說明dist表示分布矩陣,剛度矩陣只允許采用分布矩陣;未知函數(shù)可以是disp中定義的函數(shù),也可以是func中定義的函數(shù),但后者不能用導數(shù)方式;導數(shù)是對原坐標系坐標變量的導數(shù);[*;*]表示內(nèi)積,用“;”分隔,“;”前表示虛功方程中的未知函數(shù)或其導數(shù),“;”后表示虛位移或虛應變。“;”前后變換未知不相等。表達式可以是任何fortran表達式,fortran函數(shù),也可以是已知函數(shù)的導數(shù)。load信息段的填寫load信息段給出單元荷載即方程右端項的表達式。填寫方式:load=±[未知函數(shù)或其導數(shù)]*表達式說明:規(guī)定與stif信息段完全相同,可以多行填寫,但換行后必須以+[]或-[]開頭。如何在單元子程序中

插入FORTRAN源程序FEPG允許defi,func或stif三個信息段插入fortran程序$c6…..:空六列加入fortran;$c0…..:不空列加入fortran;$cv…..:在插入的程序中包括已知函數(shù)對坐標的導數(shù)({*/*})。關于插入FORTRAN源程序的說明采用1000以上的標號,避免重復;插入的fortran程序不允許空行,因為FEPG以空行為信息段的結束標志;如何附加

FORTRAN源程序在end關鍵字之后空一行寫關鍵字fort后加fortran;如何由PDE文件生成單元子程序pde

pde文件名單元子程序文件名幾個例子方程類型橢圓方程波動方程拋物方程穩(wěn)態(tài)熱傳導方程算例問題的方程描述邊界條件方程虛功方程在利用有限元方法求解上面的方程時,需要對上面的高階導數(shù)項(這里是2階)進行降階變成虛功方程弱形式后在計算。一般我們采用分布積分公式來進行降階處理。虛功方程虛功方程弱形式分布積分公式虛功方程弱形式的推導虛功方程弱形式最終形式PDE文件dispu,

給出未知函數(shù)名Ucoorx,y,

給出總體坐標系下的坐標變量X,Y。shapq4

給出單元的形狀和節(jié)點個數(shù),q表示四邊形,4表示四節(jié)點單元gaus2

給出每個方向上積分點的個數(shù)mateek

eq4.4e-2;0.0;ek,eq為材料參數(shù)名,后面為相應缺省值stif信息段stif

給出剛度矩陣dist=+[u/x;u/x]*ek+[u/y;u/y]*ek

第一個u/x表示

第二個u/x表示[;]表示積分,對應于load信息段load=+[u]*eq

給出載荷向量,對應于end結束符拋物問題算例問題的方程描述拋物方程邊界條件虛功方程虛功方程弱形式PDE文件dispu,

給出未知函數(shù)名ucoorx,y,

給出總體坐標系下的坐標變量x,y。shapt3

給出單元的形狀和節(jié)點個數(shù),t表示三角形,3表示三節(jié)點單元gaust

表示數(shù)值積分采用頂點積分masst1.0load(-4)stifdist=+[u/x;u/x]+[u/y;u/y]end波動方程問題算例問題的方程描述波動方程邊界條件虛功方程虛功方程弱形式PDE文件dispu,

給出未知函數(shù)名ucoorx,y,

給出總體坐標系下的坐標變量x,y。shap%1%2%1,%2,%3由GIO文件的規(guī)定給出相應替換gaus%3

mass%12.0damp%11.0load(-2)stifdist=+[u/x;u/x]+[u/y;u/y]end二維直角坐標下的平面應力問題算例問題的方程描述平衡方程幾何方程本構方程邊界條件第一類邊界第二類邊界虛功方程虛功方程弱形式將本構關系代入上式即可得以位移為基本未知量的虛功方程PDE文件dispu,v,給出未知函數(shù)名U,Vcoorx,y,給出總體坐標系下的坐標變量名X,Y。func=funa,funb,func,給出需要用到的函數(shù)名Shapq4給出單元的形狀和節(jié)點個數(shù),q表示四邊形,4表示四節(jié)點單元gaus2給出每個方向上積分點的個數(shù)matepe

pvfufv2e80.30.00.0$c6fact=pe/(1.+pv)/(1.-2.*pv)由彈模和泊松比組合成系數(shù)FACTfunc段Func

給出一些函數(shù)的定義funa=+[u/x]定義FUNA為,[u/x]表示

funb=+[v/y]定義FUNB為,[v/y]表示

func=+[u/y]+[v/x]定義FUNC為stif信息段stif

給出剛度矩陣dist=+[funa;funa]*fact*(1.-pv)+[funa;funb]*fact*(pv)[funa;funa]的第一個FUNA+[funb;funa]*fact*(pv)表示,第二個FUNA表示+[funb;funb]*fact*(1.-pv)[;]表示積分。+[func;func]*fact*(0.5-pv)load信息段end結束符load=+[u]*fu+[v]*fv給出載荷向量,對應于邊界單元FBC文件dispu,v,給出未知函數(shù)名U,Vcoorx,給出單元局部坐標系下的坐標變量名Shapl2給出單元的形狀和節(jié)點個數(shù),l表示線段,2表示二節(jié)點單元gaus2給出每個方向上積分點的個數(shù)matefx

fy0.01e3stif信息段Stif

給出剛度矩陣dist=[u;u]*0.0

沒有第三類邊界條件,所以這里剛度矩陣等于零load信息段end結束符load=+[u]*fx+[v]*fy

給出載荷向量,對應應力計算計算應力的PDE文件coefuvcoorxydisp

sa,sb,sc,shap%1%2gaus%3mass%11.0對應load=fsa

fsb

fsc

matepe

pvfufv2e80.30.00.0$c6fact=pe/(1.+pv)/(1.-2.*pv)stif$cv

funa=+{u/x}計算$cv

funb=+{v/y}計算$c6fsa=+funa*(1.-pv)+funb*(pv)$c6fsa=fsa*fact計算$c6fsb=+funa*(pv)+funb*(1.-pv)$c6fsb=fsb*fact計算$cv

func=+{u/y}+{v/x}計算$c6fsc=func*(0.5-pv)$c6fsc=fsc*fact計算dist=[sa;sa]*0.0stif段VDE文件的填寫特點:VDE文件是PDE文件的功能擴展,增加了用戶定義向量和矩陣的功能,可通過向量或矩陣分量直接表述偏微分方程,從而大大簡化用戶原先填寫PDE文件的繁雜。這樣寫出來的表達式和在理論推導時直接以向量或張量表達完全一致。

利用系統(tǒng)命令,VDE文件可變成PDE文件。如何由VDE文件生成PDE文件vde

vde文件名幾個例子泊松方程算例問題的方程描述泊松方程邊界條件虛功方程弱形式VDE文件dispu

給出未知函數(shù)名ucoorx,y,

z

給出總體坐標系下的坐標變量x,y,z。shap%1%2gaus%3load(-6)vectxxyz用關鍵字vect定義向量x,其分量為x,y,z。

各分量之間用空格隔開。

stifdist=+[u/x_i;u/x_i]以分量形式表示end相應的PDE文件dispucoorx,y,zshap%1%2gaus%3load(-6)

stifdist=+[u/x;u/x]+[u/y;u/y]+[

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論