计算流体力学编程作业matlab,中科大计算流体力学CFD之大作业二.doc
中科大计算流体力学CFD之大作业二
CFD实验报告二
姓名:
学号:
一、题目
求解Poisson方程
,
, ,
, ,
, ,
描出等值线:, 0.2, 0.5, 0.75, 1.
要求所用方法:(1) Jacobi, G-S选一;SOR,线SOR,块SOR选一。迭代法要求误差;
(2) CG方法,MG方法选一。
二、报告要求
1)简述问题的性质、求解原则;
2)列出全部计算公式和步骤;
3)表列出程序中各主要符号和数组意义;
4)计算结果与精确解比较
5)结果分析(方案选择、比较、讨论、体会、建议等);
6)附源程序。
三、问题简要分析
3.1问题性质
从题目给出的问题可以看出,该方程是一个二阶线性非齐次偏微分方程,并且给出了四个边界条件,更具定解条件,所以该方程是可以求解的。
3.2求解原则
题中是关于x和y的二阶导数,因此可以用二阶中心差分离散,即用正五点格式离散泊松方程。将差分方程整理成以五对角矩阵为系数的线性方程组,用Jacobi或者CG或者SOR等迭代方法求解线性方程组,即可得到函数的在网格点处的离散值。同时,计算域为的矩形区域,划分结构网格,均匀步长,方向网格步长,方向网格步长,则方向网格点数为m=, 方向网格点数为n=。
四、计算公式和步骤
4.1 精确解的计算
题中已知四个边界条件,可以通过现已有的解析求解不难求得精确解(解析解)为。
4.2迭代求解一般过程
迭代法是求解离散代数方程组的主要方法。假如我们对题目中的PDE给定一个离散格式,则对每一个确定的离散点(i ,j),PDE转化为FDE,为,其中是离散格式中所有与有关的点,函数中所有元素都是线性叠加,即是线性多元函数。所以,将边界上给定结果以及中间的离散格式得到的结果综合起来就是一个线性方程组如下:
也就是,,令,
故,即
其中N可以分为对角阵、三对角阵、上下三角阵。
迭代式:
,给出初值
或者,残量
推出
收敛准则:1)n足够大,残量趋于零(小于)
2)
4.3方程离散
上述泊松方程在的正五点差分格式为:
将泊松方程在计算域网格点上进行差分得到差分方程:
以下对边界条件进行离散:
综合差分方程及边界条件将方程整理成线性方程组的形式得到:
其中,
;
4.4线性方程组迭代算法
对于线性方程组,可以利用以下迭代算法进行求解。
4.4.1 Jacobi迭代
将系数矩阵分解,Jacobi迭代格式为:
其中,。
4.4.2超松弛迭代法(Successive Over-Relaxation)
将系数矩阵分解,SOR迭代格式为:
其中,,为迭代松弛因子,当时,松弛迭代法就是Gauss-Seidel迭代法;当时被称为超松弛迭代。
4.4.3共轭梯度法(Conjugate Gradient)
共轭梯度法求解代数方程组的算法[2]为:
(1)假定初场;
(2)计算初余量;
(3)令;
(4)对,直到(记)
,结束。
五、结果比较与分析
由上面已经罗列的公式可知,精确求解的泊松方程为:,利用MATLAB编写程序==0.01分别用Jacobi迭代、超松弛迭代法、共轭梯度法进行计算,, 0.2, 0.5, 0.75, 1,并与精确解对比如下
图1 精确解的等值线
图2 Jacobi迭代法的等值线
图3超松弛迭代法的等值线
图4共轭梯度法的等值线
图5 数值解云图
图6精确解云图
定义数值解与精确解之间的误差为,计算得到:
根据题意以迭代误差小于为迭代收敛条件,将各个迭代算法求解整个问题的时间,求解线性方程组的迭代步数,计算误差列表如下:
JacobiSORCG直接求解耗费时间(s)0.785553.05530.04930.0321迭代步数74559961380精度8.0261E-045.6117E-052.6E-031.1457E-07其中:直接求解是MATLAB中求解线性方程组的左除算法,对于,则,其结果相当于;同时,SOR方法中的松弛因子。
综上所述:
1. 三种方法的数值解与精确解差别均很小,该算例验证了三种方法的正确性。
2. 根据题意采用的是均匀网格,从云图上可以看出,不同位置的等值线密度不同若采用非均匀网格,在比较密的加密网格可以提高计算的精度。
4. CG的迭代步数虽然较少,但是精度有待提高,可以通过提高算法收敛标准提高精度;
5. 程序采用的是正方形网格,未研究两个方向网格数目不同以及渐近网格对计算结果的影响。可以进一步研究其对计算结果和计算效率的影响。
六、源程序及其主要符号说明
符号说明如下表所示:
lx,ly求解区间
计算流体力学编程作业matlab,中科大计算流体力学CFD之大作业二.doc相关推荐
- 金融计算与编程 基于matlab,金融计算与编程.pdf
金融市场与风险管理系列教材 金融计算与编程 ---基于 MATLAB 的应用 曹志广 著 上海财经大学出版社 ( ) 图书在版编目 CIP数据 : / : 金融计算与编程 基于 的应用 曹志广著 上海 ...
- matlab 求虚数相位角,在matlab中怎么计算其相位
本文收集整理关于在matlab中怎么计算其相位的相关议题,使用内容导航快速到达. 内容导航: Q1:相位超前补偿器在matlab中是什么模块 首先介绍一下函数,angle()是求相位角,angle() ...
- LabVIEW与MATLAB混合编程——调用Matlab中.m的函数
LabVIEW与MATLAB混合编程--调用Matlab中.m的函数 1.调用labview中的matlab script 通过Labview中的Matlab script可以调用Matlab的.m程 ...
- HTML期末大作业~海贼王中乔巴专题漫画学生网页设置作业源码(HTML+CSS+JavaScript)...
HTML期末大作业~海贼王中乔巴专题漫画学生网页设置作业源码(HTML+CSS+JavaScript) 这次网页主要是介绍在近年来非常受关注的日本超人气漫画 海贼王 作者是尾田荣一郎 主页分为 漫画简 ...
- HTML期末大作业~海贼王中乔巴专题漫画学生网页设置作业源码(HTML+CSS+JavaScript)
HTML期末大作业~海贼王中乔巴专题漫画学生网页设置作业源码(HTML+CSS+JavaScript) 这次网页主要是介绍在近年来非常受关注的日本超人气漫画 海贼王 作者是尾田荣一郎 主页分为 漫画简 ...
- HTML奥运网页5页面文化 ~ 体育学生网页设计作业 ~ HTML+CSS+JS网页设计期末课程大作业 ~ web前端开发技术 ~ web课程设计网页规划与设计
HTML奥运网页5页面文化 ~ 体育学生网页设计作业 ~ HTML+CSS+JS网页设计期末课程大作业 ~ web前端开发技术 ~ web课程设计网页规划与设计 临近期末, 你还在为HTML网页设计结 ...
- HTML5+CSS大作业——个人网页(6页) 网页制作期末大作业成品
HTML5+CSS大作业--个人网页(6页) 网页制作期末大作业成品 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. 明 ...
- html网页设计期末大作业_HTML+CSS+JS网页设计期末课程大作业——橙色的素材火资源整站(25页)
html网页设计期末大作业_HTML+CSS+JS网页设计期末课程大作业--橙色的素材火资源整站(25页) 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶 ...
- 在matlab中可以计算式子的最大值吗,matlab求最大值
matlab遗传算法求最大值问题例题完整代码_IT认证_资格考试/认证_教育专区.matlab遗传算法求最大值问题例题完整代码 本文件的目的是减少您打字的烦恼 %主程序:用...... 11MATLA ...
- CST结果导入MATLAB,请教大家可以将CST结果调入到MATLAB中进行计算吗
请教大家一个问题,如题目所述. 如果可以,该如何操作呢? 谢谢! VBA export 導出數據 再導入Matlab處理麼? 说具体点,就是我已经用CST算出空间的磁场B的分布,但是想画出场结构的这样 ...
最新文章
- DKHadoop人力资源大数据解决方案架构
- 经常使用的时间同步server地址
- BZOJ1192: [HNOI2006]鬼谷子的钱袋
- linux中的keeplived源码装,keepalived源码安装及主备配置
- 进程返回linux系统编程之管道(二):管道读写规则和Pipe Capacity、PIPE_BUF
- 天猫首页迷思之-jquery实现左侧广告牌图片轮播
- 第九章 隐马尔科夫模型HMM
- 城市能源管理系统、实时监测、运行监测、负荷效应、预警管理、设备管理、设备入库、设备安装、设备检修、设备报废、设备查询、控制策略、系统集成、HTML/CSS/Bootstrap/jQuery/JS
- vue搭配animate4版本失效
- oracle查询所有表字段属性_MybatisPlus基础篇学习笔记(四)------查询方法
- 【多媒体封装格式详解】---MKV【3】完
- python判断不等_Python爬取620首虾米歌曲,揭秘五月天为什么狂吸粉?!
- 计算机网络有三大功能 数据通信,计算机网络的三大功能
- 《Cinema 4D + After Effects动态图形设计案例解析》——1.3 动态图形的应用领域
- deeplink跳转快应用返回出现两次系统添加桌面的弹框
- h5(网页) 调用相机拍照和相册,实现图片上传功能
- Scratch(三):跳一跳
- bash shell 命令 - linux
- JAVA分布式医疗云平台系统开发实战第一节 open-his系统技术架构与环境准备
- 安科瑞ASCB1系列智能微型断路器