吾生有涯 学海无涯
析模有界 知识无界

CFD编程实践

CFD编程基础
CFD Julia|02 传热方程:Runge-Kutta法-析模界

CFD Julia|02 传热方程:Runge-Kutta法

一维热传导方程为: 式中,为场变量;为时间;为介质扩散率。 前面的课程中使用的FTCS格式中,对时间项采用的向前差分格式只有一阶精度,我们可以想办法构造更高精度的时间格式,如本文后面将要使用的Runge-Kutta方法。 1 离散方程 Ru...

赞(0)胡坤胡坤阅读(279)去评论
CFD Julia|01 传热方程:FTCS离散-析模界

CFD Julia|01 传热方程:FTCS离散

一维热传导方程为: 式中,为场变量;为时间;为介质扩散率。传热方程描述了介质中场变量温度随时间的演化。 热传导方程的离散有多种方法,如有限体积法[11]、有限差分法[12]、有限元法[13]、谱方法[14]等。本文研究的是对所有偏微分方程(...

赞(1)胡坤胡坤阅读(335)评论(1)
CFD Julia|00 基本介绍-析模界

CFD Julia|00 基本介绍

CFD Julia是一个编程模块,其包含了从一维传热方程到二维不可压缩Navier-Stokes流动问题的Julia程序设计。这是个利用Julia撸CFD的基础教程,适合作为计算流体力学课程的课后作业。 Julia是个不错的计算机程序设计语...

赞(0)胡坤胡坤阅读(284)去评论
Julia CFD|13 方腔顶盖流-析模界

Julia CFD|13 方腔顶盖流

本文利用Julia计算方腔顶盖流动。 密闭空腔中的流体流动满足下面的控制方程: 1 离散方程 离散U动量方程: 离散v动量方程: 离散压力泊松方程: 改写为迭代式的形式。 2 初始值与边界值 初始条件下,计算区域内。 对于边界条件: y=2...

赞(0)胡坤胡坤阅读(208)去评论
Julia CFD|14 二维管流-析模界

Julia CFD|14 二维管流

本文利用Julia计算二维管道内压力驱动流动。 管道内压力驱动流动的控制方程如下: 与方腔流动唯一的区别在于U动量方程中多了一个源项F,以模拟压力驱动的影响。 1 离散形式 u-动量方程的离散形式为: 离散v动量方程: 离散压力泊松方程: ...

赞(0)胡坤胡坤阅读(798)去评论
Julia CFD|11 二维拉普拉斯方程-析模界

Julia CFD|11 二维拉普拉斯方程

二维拉普拉斯方程为: 拉普拉斯方程通常采用中心差分进行离散。离散方程为: 整理为迭代形式: 注: 拉普拉斯方程是一个稳态模型。 ” 计算区域内部初始条件,边界条件为: 对于此边界条件和初始条件,可以有解析解: 代码 using PyPlot...

赞(0)胡坤胡坤阅读(84)去评论
Julia CFD|12 二维泊松方程-析模界

Julia CFD|12 二维泊松方程

Poisson方程的表达式为: 与Laplace方程不同,Poisson方程带有源项。 1 方程离散 Poisson的离散方式与Laplace方程类似: 改成迭代式形式为: 2 初始值与边界值 假设计算区域初始条件下。四个边界上。 对于源项...

赞(0)胡坤胡坤阅读(90)去评论
Julia CFD|09 二维扩散问题-析模界

Julia CFD|09 二维扩散问题

二维扩散问题控制方程可写出下面形式: 这里时间项采用向前差分,空间项均采用中心差分,很容易写出离散方程: 同样写出待求项: 初始条件及边界条件见代码。 using PyPlot nx = 101ny = 101nu = 0.2dx = 2 ...

赞(0)胡坤胡坤阅读(101)去评论
Julia CFD|EX08 二维非线性对流-析模界

Julia CFD|EX08 二维非线性对流

本文描述利用Julia计算二维非线性对流问题。 二维非线性对流控制方程为: 这里时间项采用向前差分,空间项采用向后差分,离散方程可写成以下格式: 式中,i为x方向角标,j为y方向角标,n为时间项角标。 可得待求项: 采用初始条件: 其他位置...

赞(0)胡坤胡坤阅读(59)去评论
Julia CFD|EX07 二维线性对流-析模界

Julia CFD|EX07 二维线性对流

前面的案例大多数是一维的问题,从现在开始我们进入二维的世界。 事实上将一维问题扩展到二维甚至三维都是非常简单的,采用相同的思路。在2D空间中,结构网格可定义为: 注: 注意这里所提到的结构网格,我们在后面还会详细介绍。 ” 因此,可定义一阶...

赞(0)胡坤胡坤阅读(55)去评论
Julia CFD|06 数组操作-析模界

Julia CFD|06 数组操作

本文简单描述Julia中的数组操作。 1 数组操作 在计算量集中的程序中,使用numpy内置的函数操作能够有效地提高计算性能。下面来举一个例子,考虑到CFD中经常会遇到如下的迭代式: 假设给定初始值,可以通过迭代计算得到的值。 采用迭代方法...

赞(0)胡坤胡坤阅读(55)去评论
Julia CFD|04 一维扩散问题-析模界

Julia CFD|04 一维扩散问题

本文描述利用Julia求解计算一维扩散方程。一维扩散方程为: 与前面方程不同的地方在于此方程包含二阶导数,因此首先对二阶导数进行离散。 采用中心差分格式对二阶导数进行离散。 考虑泰勒展开式: 两式相加,可得到二阶导数项: 改变排列顺序,可得...

赞(0)胡坤胡坤阅读(76)去评论
Julia CFD|05 一维Burgers方程-析模界

Julia CFD|05 一维Burgers方程

本次利用Julia求解一维Burger方程。关于Burgers方程的具体描述,可以参阅维基百科。一维Burgers方程描述为: Burger方程中同时包含了对流项与扩散项,式中u为速度,为介质粘度。 对时间项采用向前差分,对空间项采用向后差...

赞(0)胡坤胡坤阅读(60)去评论
Julia CFD|02 一维非线性对流-析模界

Julia CFD|02 一维非线性对流

一维非线性对流问题的控制方程为: 采用时间向前空间向后差分格式进行离散,其离散方程为: 改写为迭代形式为: 注: 此处的离散格式为显式,也可以尝试改成其它差分格式(如时间向后、空间向前、中心差分等)进行离散。若采用隐式方式可能会涉及到代数方...

赞(0)胡坤胡坤阅读(60)去评论
Julia CFD|03 CFL条件-析模界

Julia CFD|03 CFL条件

在前面对流问题中,我们发现当网格网格数量增加时,数值计算会出现非物理解。 这里先写一个将网格数量作为参数的函数,以此来研究网格数量对计算结果的影响。 初始计算代码如下所示,这里采用固定的时间步长0.025 s。 using PyPlotus...

赞(1)胡坤胡坤阅读(79)去评论
Julia CFD|00 系列说明-析模界

Julia CFD|00 系列说明

本系列改编自CFD Python,亦即12 steps to Navier-Stokes。 该系列是一个学习计算流体动力学基础的实用模块,通过编制计算机程序求解描述流体流动物理的基本偏微分方程。系列来自于波士顿大学机械工程系Lorena B...

赞(1)胡坤胡坤阅读(170)去评论
Julia CFD|01 一维线性对流-析模界

Julia CFD|01 一维线性对流

一维线性对流问题的控制方程为: 对该控制方程时间项采用向前差分,对流项采用向后差分,控制方程可离散为以下形式: 写成迭代形式为: 利用Julia进行计算,代码如下所示。 # 使用PyPlot模块进行图形绘制,这个模块不是Julia的内置模块...

赞(0)胡坤胡坤阅读(124)去评论
【Python-CFD】10: 二维Burger方程-析模界

【Python-CFD】10: 二维Burger方程

本文利用有限差分法计算求解二维Burger方程。 二维Burger方程形式为: 离散方程可写成: 转换形式可以表达为: 用代码实现实际上很简单。 nx = 41ny = 41nt = 120c = 1dx = 2 / (nx - 1)dy ...

赞(0)胡坤胡坤阅读(296)去评论
【Python-CFD】09:二维扩散-析模界

【Python-CFD】09:二维扩散

二维扩散问题控制方程可写成下面形式: 这里时间项采用向前差分,空间项均采用中心差分,很容易写出离散方程: 同样写出待求项: 初始条件及边界条件见代码。 import numpy as npimport matplotlib.pyplot a...

赞(0)胡坤胡坤阅读(194)去评论

登录

找回密码

注册