
發(fā)布
注冊(cè)
/
登錄高斯積分法的案例
等參數(shù)公式描述-四節(jié)點(diǎn)四邊形單元-高斯積分法-python編程 ¥6.99
等參數(shù)公式描述-四節(jié)點(diǎn)四邊形單元-高斯積分法-python編程
有限元中的高斯-勒讓德積分
當(dāng)函數(shù)表達(dá)式比較復(fù)雜時(shí),f(x)的原函數(shù)可能難以求出,而采用高斯積分,其省去了求f(x)原函數(shù),只需要將數(shù)值代入f(x)的表達(dá)式即可求解。</p><p>到目前為止,高斯積分的公式已經(jīng)介紹完成,那么有兩個(gè)最直接最現(xiàn)實(shí)的問題出現(xiàn)了:(1)f(x)的表達(dá)式是什么形式時(shí)適合采用高斯積分,精度怎么樣;(2)xi和wi的取值是多少。</p><p>關(guān)于(1),實(shí)踐表明,當(dāng)f(x)的表達(dá)式為多項(xiàng)式時(shí),高斯積分是合適的,并且,n點(diǎn)高斯積分可以準(zhǔn)確積分2n-1次多項(xiàng)式。</p><p>關(guān)于(2),xi和wi的取值一般較多的有限元教科書中會(huì)給出數(shù)值,如果沒有給出數(shù)值,也可以用多項(xiàng)式手動(dòng)算出具體值,另外,scipy庫,PETSc庫也直接給出了高斯積分的值和權(quán)重。</p><p><img src="https://img.jishulink.com/msimage/202308/f410d6e3bb89c8459660277304592181.png"></p><p>以下是高斯積分點(diǎn)積分多項(xiàng)式的一個(gè)例子:</p><div contenteditable="false" width="100%">
<img src="https://img.jishulink.com/upload/202308/865d98a129374c668e89080010b652c9.jpg" title="圖片4.jpg" alt="圖片4.jpg" style="max-width:760px;" data-mobile-src="https://img.jishulink.com/upload/202308/865d98a129374c668e89080010b652c9.jpg?
展開 Abaqus中平面應(yīng)力單元高斯積分點(diǎn)的順序
可以輸出umat接口中的變量coords進(jìn)行查看
write(*,"(A,I4)") "npt = ", npt
write(*,"(A,3ES16.8)") "coords = ", coords
結(jié)果為:
npt = 1
coords = -5.77350269E-01 -5.77350269E-01 1.00000000E-02
npt = 2
coords = 5.77350269E-01 -5.77350269E-01 1.00000000E-02
npt = 3
coords = -5.77350269E-01 5.77350269E-01 1.00000000E-02
npt = 4
coords = 5.77350269E-01 5.77350269E-01 1.00000000E-02
因此Abaqus中平面應(yīng)力單元高斯積分點(diǎn)的順序?yàn)椋?/span>
展開 有限元中的高斯點(diǎn)與積分詳解(下)_《數(shù)值計(jì)算與程序設(shè)計(jì)》系列課程之九 ¥599
本課從實(shí)際問題出發(fā),帶著問題去講解有限元中的高斯點(diǎn)與數(shù)值積分。一開始拋出了以下3個(gè)關(guān)鍵問題:
1.對(duì)于一個(gè)任意函數(shù)怎么去得到它的積分?
2.數(shù)值積分的本質(zhì)是什么?為什么簡(jiǎn)單地取幾個(gè)點(diǎn)就可得到積分值?此種方法的立足點(diǎn)在哪?
3.很多資料上都說“有限元求解精度嚴(yán)重依賴于網(wǎng)格質(zhì)量,過度扭曲的單元會(huì)導(dǎo)致結(jié)果不收斂或者精度極度惡化”,這只是為什么呢?扭曲單元到底影響的是有限元方法中的哪一步?
圍繞這3個(gè)問題,本課分別講了一下三個(gè)內(nèi)容:
1. 數(shù)值積分基本方法。
2. 有限元單元積分。
3. 誤差分析。
希望有興趣的同學(xué)多多支持下,你們的支持是我更新的動(dòng)力
展開 
有限元中的高斯點(diǎn)與積分詳解(上)_《數(shù)值計(jì)算與程序設(shè)計(jì)》系列課程之五 ¥599
本課從實(shí)際問題出發(fā),帶著問題去講解有限元中的高斯點(diǎn)與數(shù)值積分。一開始拋出了以下3個(gè)關(guān)鍵問題:
1.對(duì)于一個(gè)任意函數(shù)怎么去得到它的積分?
2.數(shù)值積分的本質(zhì)是什么?為什么簡(jiǎn)單地取幾個(gè)點(diǎn)就可得到積分值?此種方法的立足點(diǎn)在哪?
3.很多資料上都說“有限元求解精度嚴(yán)重依賴于網(wǎng)格質(zhì)量,過度扭曲的單元會(huì)導(dǎo)致結(jié)果不收斂或者精度極度惡化”,這只是為什么呢?扭曲單元到底影響的是有限元方法中的哪一步?
圍繞這3個(gè)問題,本課分別講了一下三個(gè)內(nèi)容:
1. 數(shù)值積分基本方法。
2. 有限元單元積分。
3. 誤差分析。
本次課程分為上下兩課,第一課講了第一和第二個(gè)內(nèi)容。關(guān)鍵詞是:數(shù)值積分的本質(zhì),有限元高斯積分(附件中包含1個(gè)小時(shí)的詳細(xì)課程視頻以及PPT)。
在第二課中,再繼續(xù)展開第三部分內(nèi)容,誤差分析,解決問題“扭曲單元到底影響的是有限元方法中的哪一步”。
希望有興趣的同學(xué)多多支持下,你們的支持是我更新的動(dòng)力
展開 高斯消去法
程序名稱
gs1(n,n1,a,ep,kwji)――Gauss消去法
功 能
本程序用高斯消去法求線性方程組
的解,其中A為n×n的系數(shù)矩陣,x為解向量,b為方程組右端n為列向量。
使用說明
子程序語句 subroutine gs1(n,n1,a,ep,kwji)
參數(shù)說明
◎ a 輸入?yún)?shù),n×n1個(gè)元素的二維實(shí)數(shù)組,存放由系數(shù)矩陣和右端列向量所組成的增廣矩陣,存儲(chǔ)方式是按
列存放,亦是輸出參數(shù),其n1列存放解向量。
◎ n 整變量,輸入?yún)?shù),方程組的階數(shù)。
◎ ep 實(shí)變量,輸入?yún)?shù),作控制常數(shù)用,通常為比較小的正實(shí)數(shù)。
◎ kwij 整變量,輸出參數(shù),標(biāo)志。當(dāng)矩陣A(k-1)(其意義見方法簡(jiǎn)介)的第k列的元素的絕對(duì)值均小于
ep時(shí),令kwji=1,這時(shí)認(rèn)為方程組無解;否則令kwji=0。
方法簡(jiǎn)介
高斯消去法由兩部分組成,即向前過程和回代過程。
向前過程由n-1步組成。假設(shè)向前過程以進(jìn)行k-1步,得到矩陣A(k-1),它有
式: 右端項(xiàng)為
第k步得到的矩陣A(k)及右端項(xiàng)b(k)的元素由下列公式確定
回代過程的目的是求出方程組的解。其計(jì)算公式如下:
gs1.zip
展開 [數(shù)值算法與編程]選主元高斯消去法
在之前的文章[數(shù)值算法與編程]高斯消去法 中,本公眾號(hào)編寫了高斯消去法求解線性方程組的具體代碼。其具體算法如下:
(1)消元部分
(2)回代部分
很明顯,對(duì)于某些矩陣,使用上述算法可能會(huì)出現(xiàn)a(i,i)為0的情況,而一旦出現(xiàn)這種情況,該算法實(shí)際上就無法繼續(xù)進(jìn)行求解。
以以下方程組為例:
上述方程組的系數(shù)矩陣為:
第一次消元后,系數(shù)矩陣變?yōu)? 顯然,由于A1(2,2)=0,下一次消元已經(jīng)無法進(jìn)行,因此直接采用高斯消去法對(duì)該方程組是無法進(jìn)行求解的。
針對(duì)該問題,改進(jìn)的算法叫選主元高斯消去法。
具體步驟如下:
1.設(shè)置增廣矩陣AB=[A,B]
2.對(duì)增廣矩陣的第i(i=1~N-1)列進(jìn)行以下處理:
2.1 設(shè)amax=ABS(AB(i,i)),IDmax=i
2.2對(duì)第i列的對(duì)角線以下的元素進(jìn)行遍歷,如果有元素的絕對(duì)值大于對(duì)角線元素的絕對(duì)值(amax),則獲得該元素所在行并將其行數(shù)賦值給IDMAX,并將AB矩陣中該行(即IDMAX行)與第K行進(jìn)行元素交換。
對(duì)變換后的矩陣按照普通的高斯消去法進(jìn)行求解。
展開 [數(shù)值算法與編程]高斯消去法
通常情況下,得到的該方程組中的K不是滿秩矩陣,其矩陣行列式為0,因此此時(shí)U的解不唯一,在采用拉格朗日乘子法或者罰函數(shù)法等方式引入了邊界條件進(jìn)行修正后,K為滿秩矩陣,從而U的解唯一。
之后的任務(wù)就是求解這個(gè)方程組。求解該方程組的方式通常有兩種:直接法和迭代法。高斯消去法,就是一種傳統(tǒng)的直接求解法,其基本步驟如下:
例:求解
(1)
1.通過行加減,將第2-4行的第一列變?yōu)?(即line2=line2+line1*4/5...,右側(cè)的向量需要同樣地對(duì)應(yīng)操作):
(2)
2. 繼續(xù)行加減,將第3-4行的第二列變?yōu)?:
(3)
3. 繼續(xù)行加減,將第4行的第3列變?yōu)?:
(4)
在得到(4)式以后,根據(jù)最后一行,可以直接求出U4的值,接著,再將U4的值帶入第3行,求出U3,再代入第二行...,從而最終求出所有U。
由此可見,高斯消去法實(shí)際上是通過行變換,將系數(shù)矩陣轉(zhuǎn)換為上三角矩陣,接著先求出最后一個(gè)值,然后依次往上回代,求出所有待求的U。
對(duì)上述過程進(jìn)行算法總結(jié):
(1)
上述過程完成的是對(duì)左側(cè)的系數(shù)矩陣和右側(cè)的向量進(jìn)行變換,n是系數(shù)矩陣a的階數(shù),c是用于行變換的系數(shù),通過上述變換后,得到的a為上三角矩陣,b為對(duì)應(yīng)的右側(cè)向量。
(2)
上述過程完成的是依次將求得的值回代入方程中,最終獲得的b,即為方程ax=b的解。
編程:
上述例子是針對(duì)的滿秩系數(shù)矩陣的求解,200階的系數(shù)矩陣求解時(shí)間約為0.01s的級(jí)別。
展開 C語言實(shí)現(xiàn)方程組求解 - 列主元高斯消去法和LU分解
.
==> 關(guān)于下三角形方程組求解函數(shù)試下如下:
==> 這里的兩個(gè)工具類函數(shù),如下所示:
==>
高斯消去的計(jì)算結(jié)果為:
LU分解的計(jì)算結(jié)果為:
==> 標(biāo)準(zhǔn)數(shù)據(jù)為:
標(biāo)準(zhǔn)結(jié)果為:
==> 我們所完成的兩種方法的計(jì)算結(jié)果是正確的。
支付寶贊助
微信:
【JY】ETABS的非線性直接積分法的設(shè)置與應(yīng)用
采用連接單元的優(yōu)勢(shì)在于適用于FNA法,但是FNA法并不適合于大量非線性行為的場(chǎng)合,另外如果存在分層殼、單拉桿件、索或者需要考慮幾何非線性的情況下,F(xiàn)NA法并不適用。因此,大多數(shù)情況適合采用單元屬性模擬鉸。
6.小結(jié)
本文首先介紹了非線性時(shí)程分析的基本步驟。注意,在定義初始重力工況和非線性直接積分法時(shí)程工況時(shí),應(yīng)保持前置工況與后續(xù)工況的幾何非線性設(shè)置一致。
接下來,詳細(xì)介紹了阻尼參數(shù)的設(shè)置。使用模態(tài)阻尼時(shí),應(yīng)添加剛度阻尼以耗散高頻能量;時(shí)間積分法的選擇與參數(shù)設(shè)置,特別是Hilber-Hughes-Taylor α方法中α的作用與取值,適當(dāng)?shù)乃惴ㄗ枘峥梢赃^濾不必要的高頻成分;非線性參數(shù)中求解策略的特點(diǎn)與適用情況,“僅迭代”方法,計(jì)算速度快,適合大部分情況,“僅事件到事件”方法不會(huì)收斂失效,但是需要用戶校核不平衡力,而“迭代+事件到事件”方法雖然犧牲了一些計(jì)算速度,但是在時(shí)間步內(nèi)會(huì)滿足收斂容差,是程序的默認(rèn)方法。
最后介紹了求解器的類型,推薦首先采用標(biāo)準(zhǔn)求解器求解模態(tài)結(jié)果,處理掉所有警告信息,然后再采用多線程求解器進(jìn)行非線性時(shí)程分析。此外,關(guān)于鉸的模擬方式,推薦采用單元模擬的方式。
展開 加權(quán)余量法之微分方程的等效積分形式
微分方程的等效積分形式
已知:微分方程組
(1)
且,
應(yīng)滿足邊界條件:
(2)
表示對(duì)獨(dú)立變量(時(shí)間,空間)的微分算子
即:
因此有:
(3)
這里 ,表示函數(shù)向量,它是一組與微分方程個(gè)數(shù)相等的函數(shù)。
*(3)式是微分方程組(1)完全等效的積分形式。
同樣,在邊界上:
(4)
結(jié)合(3)式和(4)式:
(5)
則(5)式是等效于滿足微分方程(1)和邊界條件(2)的積分形式。當(dāng)然(5)
必須是可積的。
展開 
瞬態(tài)溫度場(chǎng)靈敏度分析的精細(xì)積分法
精細(xì)積分法
機(jī)械強(qiáng)度 2000年 04期-瞬態(tài)溫度場(chǎng)靈敏度分析的精細(xì)積分法.pdf
關(guān)于有限單元法中節(jié)(結(jié))點(diǎn)與積分點(diǎn)的幾點(diǎn)釋疑
節(jié)點(diǎn)和積分點(diǎn)是有限單元法(FEM)的兩個(gè)基本概念,初涉有限元計(jì)算的同志往往在這點(diǎn)上產(chǎn)生混淆,假設(shè)導(dǎo)師面試的時(shí)候,問單元應(yīng)力是什么,若回答不慎,將貽笑大方,得不償失。本文試圖以簡(jiǎn)略易懂的說法來闡述節(jié)點(diǎn)和積分點(diǎn)的區(qū)別。
1.節(jié)點(diǎn)位移是有限元法的基本未知量。節(jié)點(diǎn)構(gòu)筑了問題域的幾何離散化形狀,節(jié)點(diǎn)是形函數(shù)的零點(diǎn),通常形函數(shù)是以節(jié)點(diǎn)為依據(jù)進(jìn)行假設(shè)的。形函數(shù)決定了單元內(nèi)部各點(diǎn)運(yùn)動(dòng)的位移模式(常用帕斯卡三角形來選擇單元位移模式),這樣就形成了數(shù)學(xué)上所說的插值。
有限元法的原理就是將問題域分割成N多小單元,在每個(gè)單元內(nèi)采用簡(jiǎn)單的函數(shù)來近似表達(dá)單元的真實(shí)位移,將各單元再連接起來,就可以近似描述整個(gè)問題域的運(yùn)動(dòng)。因此,有限元法從根本上就是精確的,而不是準(zhǔn)確的。
2.積分點(diǎn)是單元進(jìn)行數(shù)值積分的已知量。有限元法中一般采用高斯積分,但是積分方法不限于高斯積分,如果有人用了Irons積分或者Hammer積分,請(qǐng)不要驚訝。在形成單元?jiǎng)偠染仃嚭瓦M(jìn)行節(jié)點(diǎn)應(yīng)力磨平的時(shí)候,需要高斯積分。
以等參單元為例,其剛度矩陣
,這個(gè)就需要數(shù)值積分來快速計(jì)算,高斯點(diǎn)坐標(biāo)及權(quán)系數(shù)如表4.2[王勖成]所示。
老師授課時(shí)一般對(duì)常應(yīng)力單元進(jìn)行推導(dǎo),而常應(yīng)力單元只有一個(gè)積分點(diǎn),被積函數(shù)是常數(shù),因此體現(xiàn)不出高斯積分來。很多老師對(duì)高斯積分在單元?jiǎng)偠染仃嚨膽?yīng)用不予細(xì)述,導(dǎo)致部分同學(xué)對(duì)單元積分點(diǎn)認(rèn)識(shí)不足。
3.單元應(yīng)力指的是高斯積分點(diǎn)的應(yīng)力,而非節(jié)點(diǎn)上的應(yīng)力。有了位移模式,再通過虛功原理得到單元?jiǎng)偠染仃嚕缓缶酆峡倓偅蠼馄胶夥匠蹋蜁?huì)把基本未知量——節(jié)點(diǎn)位移求出來了。通過節(jié)點(diǎn)位移得到單元應(yīng)變結(jié)果,利用物理方程求得單元應(yīng)力結(jié)果。
在等參元中,單元中n+1階(n=p-m)高斯積分點(diǎn)上的應(yīng)變或應(yīng)力近似解比其它部位具有較高的精度,因此我們稱(n+1)階高斯積分點(diǎn)是等參元中的最佳應(yīng)力點(diǎn)。
展開 07-通過多重積分法求解點(diǎn)接觸彈性變形Fortran和MATLAB程序 ¥19.89
07-通過多重積分法求解點(diǎn)接觸彈性變形Fortran和MATLAB程序,程序請(qǐng)見下文附件及百度網(wǎng)盤鏈接
06-通過多重積分法求解線接觸彈性變形Fortran和MATLAB程序 ¥19.89
06-通過多重積分法求解線接觸彈性變形Fortran和MATLAB程序,程序請(qǐng)見下文附件及百度網(wǎng)盤鏈接