泊松方程的多重网格法(两层).docx

泊松方程的多重网格法(两层).docx

ID:59150180

大小:41.54 KB

页数:2页

时间:2020-09-11

泊松方程的多重网格法(两层).docx_第1页
泊松方程的多重网格法(两层).docx_第2页
资源描述:

《泊松方程的多重网格法(两层).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、求解Poisson方程,,,,,,,离散误差和原函数满足相同的PDE本题使用简单的二层网格粗网格修正格式V循环来求解,具体可分为4个步骤:(1)在细网格上迭代求解迭代步后,计算所得近似值的残差(n表示在细网格上)(2)在粗网格上精确求解误差方程(2n表示在粗网格上)(3)进行粗网格修正(4)然后回到(1),以新的为初值,开始下一个V循环,直到达到一定的收敛标准为止。上述循环叫做二层网格V循环。是把细网格上的残差限制到粗网格上的算子,称之为“限制算子”。是把粗网格上的结果差值到细网格上的算子,称之为“差值

2、算子”。下面是C++代码//多重网格法求解泊松方程voidCFDtest::solveByMG(Matrix&psi,Matrixf)//多重网格法{doublestep3=step2*ui.comboBox_stepRatio->currentText().toInt();intn1=(int)(1.0/step2+0.5);intn2=(int)(1.0/step3+0.5);Matrixgama1(n1,n1);//细网格残差Matrixw(n2+1,n2+1);//粗网格节点误差Matrixps

3、i_old(psi);boolisOK=false;boolisOK2=false;while(!isOK){//细网格上G-S迭代3步for(intk=0;k<3;k++){isOK=true;intNum++;for(inti=1;i

4、[j]);if(abs(psi[i][j]-old_data)>intError){isOK=false;}}if(isOK)//如果达到允许误差范围,跳出for循环{break;}}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。