国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于一維橢圓問題的瀑布型兩層算法研究

2021-10-19 01:52黃愛梅
攀枝花學(xué)院學(xué)報 2021年5期
關(guān)鍵詞:算例插值步數(shù)

黃愛梅

(福建船政交通職業(yè)學(xué)院,福建 福州 350000)

0 引言

在工程與物理領(lǐng)域中,偏微分方程是最為重要的數(shù)學(xué)模型,解決了彈性力學(xué)、時間相關(guān)問題、流體力學(xué)和積分方程等方面的科學(xué)問題[1]。多重網(wǎng)格法是求解偏微分方程數(shù)值解的有效方法之一,具有收斂速度快和計算工作量少等優(yōu)點[2]。然而,多重網(wǎng)格法并不適用于求解橢圓界面問題,無法準(zhǔn)確求解界面差分格式的離散方程,需結(jié)合曲面信息和跳躍條件構(gòu)建插值算子進(jìn)行求解[3,4]。在求解偏微分方程時,通過插值算子處理,擬補了傳統(tǒng)有限差分法求解的矩陣大型、稀疏、病態(tài)等缺陷[5]。此外,許多數(shù)學(xué)家根據(jù)不同的插值和限制算子衍生出多種不同形式的瀑布型多重網(wǎng)格法(CMG)來解決橢圓方程的數(shù)值問題[6,7]。例如,賈學(xué)良等采用次插值作為插值延拓算子構(gòu)建了新的瀑布型多重網(wǎng)格法,在容許誤差精度能準(zhǔn)確求出橢圓界面數(shù)值[8]。考慮到一個好的插值算子能為細(xì)層提供較好的初始值,進(jìn)而可以減少磨光迭代步數(shù)[9]。本文采用牛頓二次插值代替?zhèn)鹘y(tǒng)的線性插值,構(gòu)造了一種新瀑布型多重網(wǎng)格法,并給出數(shù)值算例驗證算法的有效性。

1 橢圓模型問題的傳統(tǒng)解法與新型

1.1橢圓型問題的差分離散

考慮如下一維橢圓型問題

(1)

其中p(x)∈C1[a,b];r(x);p(x)≥pmin>0,q(x)≥0。α和β為給定的常數(shù)。

首先將求解區(qū)間[a,b]進(jìn)行剖分,為簡單起見,將區(qū)間[a,b]分成N等份,分點為xi=a+ih(i=0,1,…,N),h=(b-a)/N,xi稱為網(wǎng)點(或結(jié)點、節(jié)點),h稱為步長。然后將微分方程(1)在網(wǎng)點xi處離散化。設(shè)xi(i=0,1,…,N-1)是任一內(nèi)結(jié)點。在點xi處,對充分光滑的函數(shù)u,根據(jù)精度為o(h2)的中心拆分公式有[10]

(2)

(3)

(4)

(5)

(6)

將式(3)-(6)代入式(1)式中,即得二階精度的差分方程

(7)

邊值條件對應(yīng)的差分方程為

u0=α,uN=β

(8)

將式(7)和式(8)寫成如下矩陣形式

Au=g

(9)

其中

(10)

其中g(shù)=(g1+α1α,g2,…gN-2,gN-1+cN-1β)T;u=(u1,u2,…,uN-1)T;

可以驗證,當(dāng)h充分小時,關(guān)系式|bi|≥|ai|+|ci|,i=2,…,N-2,|b1|>|c1|,|bN-1|>|aN-1|成立,也即矩陣A具有嚴(yán)格對角占優(yōu)性。實際上后兩式顯然成立,對第一式,注意h充分小及p(x)≥pmin,必有

因此A是非奇異矩陣,差分方程(9)有唯一解。

1.2瀑布型多重網(wǎng)格法

多重網(wǎng)格法也稱為多格子方法,是目前應(yīng)用于大型科學(xué)計算的一類有效的、新穎的計算方法,它在理論上是最優(yōu)階的方法,近年來由于大型計算機的迅速發(fā)展和功能的日趨完善,從而使得多格子方法作為最優(yōu)階的算法從理論變?yōu)楝F(xiàn)實,使得許多生產(chǎn)實踐中的實際問題,尤其是求解橢圓型方程邊值問題,其優(yōu)點在于不要求粗網(wǎng)格校正和限制算子。

Aiui=Fi,i=1,2,…,H

(11)

(12)

可以看到,網(wǎng)格層從ZH到Z1,只用了插值與迭代,沒有限制,校正及后磨光,程序比較簡單,并且總的工作量只有O(n)。

1.3新瀑布型兩層網(wǎng)格法

瀑布型多重網(wǎng)格法的思想是將粗層上的解逐層插值、磨光,直至最細(xì)網(wǎng)格層為止,為了減少中間網(wǎng)格上的計算量,本文采用步長為4h和h,離散問題(1),形成粗細(xì)兩層網(wǎng)格,而不需要生成步長為2h的中間網(wǎng)格,然后再將粗網(wǎng)上的解插值到細(xì)層,提出了瀑布型兩層網(wǎng)格法。

采用一種有效的插值算子,給出細(xì)層上一個較好的初始值,進(jìn)而減少磨光迭代步數(shù),可以加快瀑布型多重網(wǎng)格法的收斂速度。由于通常線性插值效果一般,導(dǎo)致采用線性插值的瀑布型多重網(wǎng)格法的計算精度一般,為了提高計算精度,本文引入牛頓二次插值作為插值算子,構(gòu)造了一種新的瀑布型兩層網(wǎng)格法。

1.3.1牛頓二次插值算子的構(gòu)造方法

在討論牛頓插值公式之前,先介紹與之相關(guān)的差商的概念及其性質(zhì)。

設(shè)已知x0,x1,x2及f(xi)=yi,i=0,1,2,f(x)在xi點的零階差商f[xi]記為

f[xi]=f(xi)

(13)

f(x)在x0,x1兩點的一階差商f[x0,x1]記為

f(x)在x0,x1,x2三點處的二階差商f[x0,x1,x2]記為

利用差商,來構(gòu)造牛頓二次插值公式。

f(x)=f[x]=f(x0)+(x-x0)f[x,x0]

f[x,x0]=f[x0,x1]+(x-x1)f[x,x0,x1]

依次類推,有

f[x,x0,x1]=f[x0,x1,x2]+(x-x2)f[x,x0,x1,x2]

從而有

(14)

將(14)式中后一式代入前一式便有

f(x)=f[x0]+(x-x0)f[x0,x1]+(x-x0)(x-x1)f[x0,x1,x2]

牛頓二次插值公式為

N2(x)=f[x0]+(x-x0)f[x0,x1]+(x-x0)(x-x1)f[x0,x1,x2],

把x0,x1,x2及f(xi)=yi,j=0,1,2代入上式得

(15)

所以,式(15)即為牛頓二次插值公式。

1.3.2新瀑布型兩層網(wǎng)格法

2 數(shù)值實驗

為了驗證本文算法的有效性與準(zhǔn)確性,分別采用如下兩個算例進(jìn)行分析。對以下的兩個算例,均采用中心差分離散,光滑算子為CG迭代,迭代終止條件為‖uk-uk-1‖<10-6,其中k為迭代步,“迭代步”欄中為最細(xì)層的迭代步數(shù),“能量誤差E”為采用不同的插值算子的瀑布型多重網(wǎng)格法得到的數(shù)值解與問題的真解的能量誤差。

算例1.-u″(x)+u(x)=f,x∈[0,1],u(0)=u(1)=0。

其中f=(-4x-2)ex-x2+2,真解u=x2(ex-1)

如表1所示,算例1在進(jìn)行迭代步數(shù)6和構(gòu)建8192個粗層點數(shù)與32767個細(xì)層點數(shù)后迭代終止。牛頓二次插值的能量誤差均小于線性插值的能量誤差,且迭代步數(shù)也相對少,節(jié)省了運算的時間。

表1 采用不同的插值算子的瀑布型兩層網(wǎng)格法對算例1的數(shù)值結(jié)果

算例2.-u″(x)+u(x)=f,x∈[0,1],u(0)=u(1)=0。

其中f=(-2+2x2)sinx-4xcosx-x2+2,真解u=x2(sinx-1)。

從表2可以看出,實驗結(jié)果與算例1類似,對于瀑布型二層網(wǎng)格法,采用牛頓二次插值作為插值算子比線性插值的效果要好一些,甚至能量誤差相差一個數(shù)量級且無限接近問題的真解,充分說明了牛頓二次插值的瀑布型二層算法具有計算精度高,迭代步數(shù)少的優(yōu)點,因此,本文設(shè)計的新瀑布型兩層網(wǎng)格法,進(jìn)一步豐富了求解一維橢圓型問題數(shù)值算法。

表2 采用不同的插值算子的瀑布型兩層網(wǎng)格法對算例2的數(shù)值結(jié)果

3 結(jié)論

對于一維橢圓問題的離散方程組,通過比較牛頓二次插值和線性插值作為插值算子運算過程構(gòu)建了瀑布型二層網(wǎng)格法。在相同的參數(shù)限制條件下,基于牛頓二次插值算子的瀑布型二層網(wǎng)格法具有更低的能量誤差,即算法的精度更高。

猜你喜歡
算例插值步數(shù)
滑動式Lagrange與Chebyshev插值方法對BDS精密星歷內(nèi)插及其精度分析
楚國的探索之旅
微信運動步數(shù)識人指南
基于pade逼近的重心有理混合插值新方法
提高小學(xué)低年級數(shù)學(xué)計算能力的方法
國人運動偏愛健走
不同空間特征下插值精度及變化規(guī)律研究
論怎樣提高低年級學(xué)生的計算能力
試論在小學(xué)數(shù)學(xué)教學(xué)中如何提高學(xué)生的計算能力
基于混合并行的Kriging插值算法研究
沛县| 贵阳市| 乌鲁木齐市| 浮梁县| 东光县| 天峻县| 西林县| 科尔| 兴业县| 溧阳市| 巨野县| 卢氏县| 德格县| 科尔| 葵青区| 永泰县| 巨野县| 岑溪市| 涪陵区| 隆回县| 常熟市| 深水埗区| 纳雍县| 岑溪市| 涟水县| 花莲县| 上杭县| 黄大仙区| 华宁县| 根河市| 乐都县| 奉贤区| 黄石市| 三亚市| 苏尼特右旗| 新绛县| 乐陵市| 香格里拉县| 花莲县| 泸水县| 万盛区|