- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二讲__4.1傅里叶伪谱法12.ppt
1.确认修课名单;
2.作业在下周四前交齐,可以重新提交;
3. 考试时间:11月28日下午3:20-5:20;
4. 答疑地点:科研楼东侧403室
5. 考前布置一个大作业,不用提交。
傅里叶伪谱法
有限差分法:直接从微分方程出发,用差商代替微商,
从而将微分方程直接转化为代数方程。
有限元法:首先将微分方程转化为等效积分形式,
应用变分原理或者加权余量法,
从而将定解问题转化为代数方程。
伪谱法是一种高效、高精度计算地震波动场的数值方法,它利用快速傅里叶变换对波动方程进行空间求导。对介质参数平滑变化的非均匀介质,最小波长所需要的节点数比有限差分法少,因此和有限差分法相比,它的计算精度高、计算速度快,很适合于大规模模型的计算。
最初的伪谱法大多基于三角函数,随后出现了基于傅立叶函数、切比雪夫
函数的伪谱法,发展出更有效的自由边界和吸收边界的处理方式。
伪谱法是全局方法,只能用在空间域。如果所求解的是含时微分方程,一般用简单的有限差分方法来处理时间域的计算。
傅里叶伪谱法将波场函数表示为傅里叶级数的展开形式,
空间域的求导转化为波数域的乘积计算,
时间域的求导用二阶差分格式给出。
(Kosloff et al., 1984)
在空间域,利用离散傅里叶变换求出位移对空间的导数。
考虑偏微分方程和边界条件:
谱方法
其中L和B分别为线性微分算子和边界微分算子。
问题:求以上偏微分方程的数值解。
答案:数值解是满足边界条件,同时使以下残差较小的函数
如何度量残差的大小?
=加权余量法(Method of Weighted Residuals: MWR):
设PN是Hilbert空间的一个有限维子空间,在该空间内寻找
取该子空间的一组基函数作为试探函数(trial functions):
Hilbert空间:完备的内积空间,
希尔伯特空间为基于任意正交系上的多项式表示的傅立叶级数和
傅立叶变换提供了一种有效的表述方式,而这也是泛函分析的核心概念之一。
一般把偏微分方程形式称为强形式(strong form),由于以上微分方程在U内每一点都成立,因此总可以找到权函数w,使得下式成立:
上式称为偏微分方程的等效积分形式。
对于数值解,由于存在残差:
所以以上等效积分形式不能严格满足。由以上等效积分形式可以得
到以残差表示的近似的等效积分形式:
加权余量法是通过选择待定系数,强迫残差R在某种平均意义上等于零,残差的加权积分为零可得到一组方程,用来求解待定系数,进而得到原问题的近似解答。
谱方法
谱方法
有限差分方法:试探函数为重叠的局部(local)低阶多项式。
有限单元方法:试探函数为局部(local)光滑函数(固定阶数的多项式,只在U的子域内
非零)。
谱方法:试探函数为全局的(global)光滑函数(如:Fourier级数)。
用配点法求解偏微分方程组
Fourier伪谱方法
连续傅里叶变换
离散傅里叶变换
快速Fourier变换(Fast Fourier transform,FFT):
例:乘积运算次数
网格节点数 全矩阵 向量乘积FFT 比值
1D(nx=512) 2.6x105 9.2x103 28.4
1D(nx=2096) 4.4x106 4.6x104 94.98
1D(nx=8384) 7.0x107 2.2x105 312.6
全矩阵-向量相乘的运算次数与FFT运算次数的比值可以看作使用
FFT时的加速比。
李本文
李本文
function df=sderld(f,dx)
%SDERLD(f,dx) spectral derivative of vector
nx=max(size(f));
% initialize k
kmax=pi/dx;
dk=kmax/(nx/2);
for i=1:nx/2;
k(i)=i*dk;
k(nx/2+i)=-kmax+i*dk;
end
k=sqrt(-1)*k;
%FFT and IFFT
ff=fft(f);
ff=k.
文档评论(0)