内容发布更新时间 : 2024/11/5 19:40:30星期一 下面是文章的全部内容请认真阅读。
CFD实验报告一
姓名: 学号:
一、题目:
利用中心差分格式近似导数d2y/dx2,数值求解常微分方程
d2y?sin2x (0?x?1) dx2sin2 4步长分别取?x=0.05, 0.01, 0.001,0.0001。
yx?0?0 yx?1?1?
二、报告要求:
1)列出全部计算公式和步骤;
2)表列出程序中各主要符号和数组意义;
3)绘出数值计算结果的函数曲线,并与精确解比较;
4)比较不同差分格式和不同网格步长计算结果的精度和代价; 5)附源程序。
三、相关差分格式
二阶导数d2y/dx2的三点差分格式有向前差分、向后差分和中心差分,表达
式分别如下:
?2uuj?2?2uj?1?uj一阶向前差分:2??O??x?2?x?x?2uuj?2?2uj?1?uj一阶向后差分:2??O??x?
?x?x2?2uuj?1?2uj?uj?1二阶中心差分:2??O??x2?2?x?x代入微分方程可以得到差分方程,表达式分别如下:
一阶向前差分:一阶向后差分:二阶中心差分:uj?2?2uj?1?uj?x2uj?2?2uj?1?uj?x2uj?1?2uj?uj?1?x2=sin2xj=sin2xj =sin2xj对于三种差分格式,差分格式可以改写成AY?b的形式,其中A是相同的,
非齐次项b不同,如下所示:
??21??1?21????系数矩阵 A???????1?21???1?2????y0???sin2x??x2??1????一阶向前差分 ?b1????2sin2x??x??k?3??2?sin?2xk?2???x?y1????sin?2x2???x2?y0???2sin2x??x??3???一阶向后差分 b2????2?sin2x??x?k?1???2?sin?2x???x?y?k1???sin?2x1???x2?y0???2sin2x??x??2???二阶中心差分 b3?????2sin2x??x?k?2????sin?2x???x2?y?k?11??求解AY?b可以得到各节点y的值Y??y1
四、计算公式和步骤;
1.关于精确解的推导:
d2y已知2?sin2x,对
dxy2?yk?2yk?1?。
T边界条件yx?01x进行两次积分,得到y??sin2x?C1x?C2,再结合
4sin2?0和yx?1?1?得到相对应的C1和C2,确定最后精确解为:
41y??sin2x?x。
4
2.关于数值求解方法:
对于方程组AY?b可直接求解,也可以使用追赶法求解,下面介绍简单追赶法求解三对角方程组的过程。
对于三对角方程组:
?d1c1??y1??b1??ad??y??b?c222???2??2??????=????????????yadcn?1n?1n?1??n?1??bn?1???andn?????yn????bn??
系数矩阵A中仅三对角线上的数值不全为0,其余位置上的数值全为0,是典型的对角占优的三对角矩阵,利用高斯消去法,经过n-1次消元可以化为同解方程组:
?1u1??y1??q1????y??q?1u2???2??2??????=???????????yq1un?1??n?1??n?1???1?????yn????qn??
如上所示,求这些值的过程(即消元过程)称为追:
u1?c1/d1,q1?b1/d1,ui?ci/?di?ui?1ai??i?2,...,n?1?qi??bi?qi?1ai?/?di?ui?1ai??i?2,...,n?
再利用回代过程求出方程组的各变量:
yn?qn,yi?qi?uiyi?1?i?n?1,n?2,...,1?
这一逆序求变量的过程(回代过程)称为赶。
五、计算结果与分析
根据题意需要分别取步长?x=0.05, 0.01, 0.001,0.0001进行计算,因此采用MATLAB进行编程运算,然后将数值解与精确解进行比较,如下图所示: