ftcs格式 matlab,计算流体力学_对流方程_有限差分法_Lax格式_迎风格式_FTCS格式(8页)-原创力文档..._weixin_39796868的博客-程序员秘密

技术标签: ftcs格式 matlab  

有限差分法数值求解一维伯格斯方程

作者:潭花林

引言

本文利用有限差分法计算了一维伯格斯方程的初边值问题。采用FTCS格式,并深入讨论了它的相容性、收敛性与稳定。有限差分法在计算流体力学、数值传热学中都有众多的应用,而且可以用于高维情形。所有问题都是采用matlab编程计算。本文只是一个简单的一维问题的算例。

关键词:计算流体力学,有限差分法,一维对流方程

题目

用计算机求对流方程的初值问题

的数值解(由于对流方程的计算结果只依赖与上游,只需要给出上有的边界条件就可以了)。

(1)分别用C格式,Lax格式,FTCS格式在 ,两种情况下计算。

(2)计算范围为,取,计算80个时间步长。

(3)写出计算报告,内容为

(I)计算课题

(II)计算框图

(III)计算程序

(IV)计算结果,时的,图

(V)体会

计算原理

迎风格式

内点采用如下差分格式

初值为

边界条件为

稳定性:

差分格式的稳定性:误差方程与差分方程相同

设误差为,则

放大因子

所以

为使,应有

对于本问题,初值和边界条件并不影响稳定性和收敛性问题。

根据Lax等价定理,对于适定的处置问题,只要差分格式相容,稳定的就是收敛的。

Lax格式

内点采用如下差分格式

初值为

边界条件为

稳定性:

差分格式的稳定性:误差方程与差分方程相同

设误差为,则

放大因子

所以

为使,应有

对于本问题,初值和边界条件并不影响稳定性和收敛性问题。

根据Lax等价定理,对于适定的处置问题,只要差分格式相容,稳定的就是收敛的。

FTCS格式

内点采用如下差分格式

初值为

边界条件为

稳定性:

差分格式的稳定性:误差方程与差分方程相同

设误差为,则

放大因子

所以

所以该格式是完全不稳定的。

计算结果及其讨论

时,结果是收敛的

时刻,三种格式的处理是相同的,处理结果如 REF _Ref370418215 \h 图 1所示,这是由于还没有开始数值计算。

图 SEQ 图 \* ARABIC 1

时刻,计算结果如 REF _Ref370418250 \h 图 2所示,Lax格式和迎风格式的结果几乎是相同的,而FTCS格式却出现了很大的数值震荡。

图 SEQ 图 \* ARABIC 2

时刻,计算结果如 REF _Ref370418261 \h 图 3所示,Lax格式和迎风格式的结果几乎是相同的,并且结果已经接近稳态。而FTCS格式却数值震荡更大了,在几百的量级。

图 SEQ 图 \* ARABIC 3

时刻,三种格式的处理是相同的,处理结果如 REF _Ref370418281 \h 图 4所示,Lax格式和迎风格式的结果几乎是相同的,并且结果已经接近稳态。而FTCS格式却数值震荡更大了,在十万的量级。

图 SEQ 图 \* ARABIC 4

时,结果是不收敛的

时刻,计算结果如 REF _Ref370418173 \h 图 5所示,三种格式的处理是相同的,这是由于还没有开始数值计算。

图 SEQ 图 \* ARABIC 5

时刻,计算结果如 REF _Ref370418302 \h 图 6所示,三种格式都出现了不同程度的数值震荡,在之前的稳定性分析中,已经指出,时,即使是迎风格式和Lax格式也是不稳定的,只有几的量级。

图 SEQ 图 \* ARABIC 6

时刻,计算结果如 REF _Ref370418313 \h 图 7所示,三种格式都出现了不同程度的数值震荡,在之前的稳定性分析中,已经指出,时,即使是迎风格式和Lax格式也是不稳定的,震荡量级到了几百。

图 SEQ 图 \* ARABIC 7

时刻,计算结果如 REF _Ref370418324 \h 图 8所示,三种格式都出现了不同程度的数值震荡,在之前的稳定性分析中,已经指出,时,即使是迎风格式和Lax格式也是不稳定的,震荡量级到几千万。

图 SEQ 图 \* ARABIC 8

体会

在数值计算中,由于计算量很大,不可能通过微分方程的推导就获得解析解,编写程序已经是不可或缺的了。使用Matlab编写程序,虽然计算速度会比C、C++、Fortran等语言慢一些,但是却易于调试。本文中的程序只用了两次就调试成功。

差分格式虽然看起来都差不多,但是稳定性的各自不同。FTCS格式虽然具有二阶的精度,但是不收敛,精度再高也没有用。数值震荡在一开始或许并不大,但是随着计算的进行,震荡的量级就不容小觑了。

对于显示格式,都是条件稳定的,需要足够小才可以保证稳定条件。本文中的一维方程稳定性条件还不是很苛刻。但是如果问题是二维的,甚至是三维的,需要更小,计算量就会很大。

致读者

文章中多处用到Mathtyp

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39796868/article/details/116014166

智能推荐

QUDPSocket接收信号无法触发问题_qt中readyread不触发信号_sunyabc2008的博客-程序员秘密

QT5.14,Server-Client应用,Server为树莓派,Client为Android设备,代码封装用QT编写封装为soAndroid上点击按钮,调用so发送数据,Server能正常接收数据。Server原路(获取到ip和port)发送给Client响应数据,然而Client就是不触发readyRead信号。解决:在通过udp发送数据的地方,调用waitForReadyRead,问题解决。void SocketTester::sendMessage(QString msg){QNet

Android 应用的启动方式_android应用启动方式_bwf_erg的博客-程序员秘密

Android中应用的启动方式有两种:冷启动和热启动。那它们分别是什么意思呢?冷启动:当启动应用时,后台没有该进程的应用,这时系统会重新创建一个新的进程分配给该应用,这种启动方式为冷启动。热启动:当启动应用时,后台已经有该应用的进程(如:back键、home键,应用虽然会退出,但是该应用的进程依然会保留在后台),在已经有该进程应用的情况下,这种启动方式就会从已有的进程中来启动该应用,这个方

ip首部校验和计算_clangke的博客-程序员秘密

  IP首部校验和的计算方法:  1.把校验和字段清零。  2.然后对每16位(2字节)进行二进制反码求和,反码求和的意思是先对每16位求和,再将得到的和转为反码。  接下来详细描述反码求和的步骤:看下面的代码  算法:<br />SHORT checksum(USHORT* buffer,int size)<br />{<br />    unsignedlong cksum = 0;<br />    while(size>1)<br />    {<br />        cksum +=*buff

DP与HDMI、MIPI各种协议介绍、行/场消影_行消隐和场消隐_cy413026的博客-程序员秘密

1. DP(display port)和HDMI这两种都是高速高质量多媒体传输协议。同时包括音视频的传输。2. MIPI的各种协议MIPI(mobileindustry processor interface)是为移动产业制定的一系列处理接口。在这里主要介绍视频图像相关的 CSI和DSI协议。CSI:camera serial interface。相机端的高速串行接口DSI:display serial interface 。显示端的高速串行接口Understanding .

zhihu-spider之Feign——zhihu-spider开源项目使用技术详解(其六)_夕阳雨晴的博客-程序员秘密

zhihu-spider之Feign——zhihu-spider开源项目使用技术详解(其六)1.Feign简介  Feign是一个声明式的Web服务客户端这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud增加了对Spring MVC注释的支持,并使

随便推点

ubuntu18.04使用Easyconnect不能正常连接sslvpn解决办法_easyconnect ubuntu18_Flying Stone的博客-程序员秘密

网上查了以下,貌似是Easyconnect还不支持ubuntu 18.04,所以需要一些非常规操作来正常运行创建脚本(例如,命名为sslvpn),写入以下内容/usr/share/sangfor/EasyConnect/EasyConnect --enable-transparent-visuals --disable-gpu &amp;sleep 5s&amp;&amp;sudo /bin/bash /usr/share/sangfor/EasyConnect/resources/shell/s.

FPGA面积优化_yan0110的博客-程序员秘密

1、什么是面积优化?虽然集成电路是有厚度的,但在单元模块的布局上,各个模块之间是平铺的关系。在完成相同逻辑功能的基础上,减少模块的数量,就可以减少所占的面积,所以叫面积优化...

Java中继承的实现_继承 实现_想种胡杨的博客-程序员秘密

继承描述的是一种能力:可以使用现有类的所有功能,并在无需重新编写原有类的情况下进行功能上的扩展。要使用继承,必须满足 is-a 原则(代码复用),定义的语法为:子类 extends 父类。子类:又称为派生类,子类一定具有父类的全部属性与行为,并且拥有的属性更多,具有的行为更加丰富,表示的范围更小。父类:又称为超类。继承的基本实现:class Person { ...

递归 树形结构 的数据 追加修改属性_递归为树型结构设置属性_qq_313351390的博客-程序员秘密

initData(orgList) { // 第一种 if (orgList.length) { for (var i = 0; i &lt; orgList.length; i++) { orgList[i].switchValue = 0 if (this.orgIdList.length) { for...

Binary XML file line #19: Error inflating class com.××.pull2.view.CustomListView_xushuangshuang1的博客-程序员秘密

android 在定义标签和类相关联是,会出现这样的错误,这是因为在关联类中的要实现public CustomListView(Context pContext, AttributeSet pAttrs) { super(pContext, pAttrs); init(pContext); }其实细看错误列表就可以看出 java.lang.R

省选专练APIO2009Oil采油区域_LauJiYeoung的博客-程序员秘密

神仙题难点在于代码实现这狗日的题。。。首先暴力是这样的枚举三个坐标这是n^6做法,没什么卵用但是我们发现把一张图分割成3块那么可以做但是问题是这是情况多多的所以成了码农题#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int N=1801;int sum[N][N]={};int a[N][N]={};//左上 int b[N...

推荐文章

热门文章

相关标签