【Python-CFD】10: 二维Burger方程
本文利用有限差分法计算求解二维Burger方程。 二维Burger方程形式为: 离散方程可写成: 转换形式可以表达为: 用代码实现实际上很简单。 nx = 41ny = 41nt = 120c = 1dx = 2 / (nx - 1)dy ...
本文利用有限差分法计算求解二维Burger方程。 二维Burger方程形式为: 离散方程可写成: 转换形式可以表达为: 用代码实现实际上很简单。 nx = 41ny = 41nt = 120c = 1dx = 2 / (nx - 1)dy ...
二维扩散问题控制方程可写成下面形式: 这里时间项采用向前差分,空间项均采用中心差分,很容易写出离散方程: 同样写出待求项: 初始条件及边界条件见代码。 import numpy as npimport matplotlib.pyplot a...
前面的案例大多数是一维的问题,从现在开始我们进入二维的世界。 事实上将一维问题扩展到二维甚至三维都是非常简单的,采用相同的思路。在2D空间中,结构网格可定义为: 注意这里所提到的结构网格,我们在后面还会详细介绍。 因此,可定义一阶差分格式:...
随便在网上翻一翻,都可以发现到处都在讲Python的计算效率很低。我们前面的案例运算量都很小,因此没有什么感觉。今天来聊一聊如何利用数组运算提升Python的计算效率。 前面的案例中大量采用了Python数值计算包numpy,然而并未使用到...
本次利用Python求解Burger方程。关于Burgers方程的具体描述,可以参阅维基百科。一维Burgers方程描述为: 该方程同时包含了对流项与扩散项,式中u为速度,ν为介质粘度。 对时间项采用向前差分,对空间项采用向后差分,二阶导数...
本文描述利用Python求解计算一维扩散方程。 一维扩散方程为: 与前面方程不同的地方在于此方程包含二阶导数,因此首先对二阶导数进行离散。 采用中心差分格式对二阶导数进行离散。 考虑泰勒展开式: 两式相加,可得到二阶导数项: 改...
前面的文章中,并没有完全解决CFL的问题。有眼力好的童鞋们可能发现了,利用Courant数进行控制之后,虽然计算不会崩溃,但计算精度却下降了。 如没有采用Courant数进行控制之前,网格数为81时,计算结果如图所示。 ...
关于Python-CFD系列,前面其实已经有过说明,不过还是有很多人留言问询,想想这里还是写篇短文一并回答了。 这个系列实际上是来自波士顿大学机械工程系Lorena Barba教授2009年到2013年期间教授课程的一部分,名为12 ste...
在前面【Python-CFD】02:线性对流方程中,所采用的计算参数是固定的(具有固定的时间步长和网格尺寸),下面尝试着更改这些参数,看看对于计算结果是否存在影响。 还是用上次的代码做测试,为了方便测试,对代码进行简单封装,代码如下(相同的...
一维常系数对流方程是CFD中最简单最基本的方程。然而这个简单的方程能够告诉我们很多关于CFD方面的东西。模型方程如下式: 下面在Python中实现该求解过程。 代码如下所示: import numpy as npimport m...
研究生课程《计算流体力学》又开课了,今年决定使用网络上广泛流行的12 steps to Navier-Stokes作为数值算法入门教程。 以前的CFD课程要么光讲理论,要么光讲软件应用,很少结合代码来讲,今年决定改一改。CFD嘛,毕竟是和计...