SIMPLE算法及计算例子
力学流体simple算法完成

力学流体simple算法完成一、简介力学流体(Computational Fluid Dynamics,CFD)是一种通过数值模拟来研究流体运动的方法。
它可以帮助工程师和科学家了解流体如何在各种条件下移动和相互作用,以及如何在不同的环境中优化设计。
其中simple算法是一种常用的求解Navier-Stokes方程的方法,本文将对其进行详细介绍。
二、simple算法基础1. Navier-Stokes方程Navier-Stokes方程是描述流体运动的基本方程之一,它包含了三个主要部分:质量守恒方程、动量守恒方程和能量守恒方程。
其中,质量守恒方程描述了质量在空间和时间上的变化;动量守恒方程描述了力对流体速度的影响;能量守恒方程描述了温度在空间和时间上的变化。
2. 离散化方法为了求解Navier-Stokes方程,需要将其离散化为有限个离散点上的代数形式。
这可以通过有限差分、有限元或谱方法等技术实现。
其中,有限差分法是最常用的离散化方法之一。
3. simple算法原理simple算法是一种求解Navier-Stokes方程的迭代方法,它采用了分步求解的策略。
simple算法包括三个主要步骤:预处理、压力修正和速度修正。
其中,预处理步骤用于确定初始速度场和压力场;压力修正步骤用于计算压力场的变化;速度修正步骤用于更新速度场。
通过迭代这三个步骤,可以逐渐收敛到稳定的解。
三、simple算法实现1. 离散化首先需要将Navier-Stokes方程离散化为有限差分形式。
例如,在二维情况下,可以将动量守恒方程离散化为:$ \frac{u_{i+1,j}^{n+1}-u_{i,j}^{n}}{\Delta t}+\frac{u_{i,j+1}^{n}-u_{i,j-1}^{n}}{2\Delta y}-\frac{\nu}{\Delta x^2}(u_{i+1,j}^{n+1}-2u_{i,j}^{n+1}+u_{i-1,j}^{n+1})=-\frac{p_{i+1,j}-p_{i,j}}{\Delta x}$其中,$u$表示水平方向的速度,$v$表示垂直方向的速度,$p$表示压力,$\nu$表示粘性系数。
SIMPLE算法及计算例子

第二个问题:压力的一阶导数是以源项的形式出现在动簧方程中。采用分离式求解各 变量的离散方程时,由于压力没有独立的方程,压力与速度的关系隐含于连续性方程中,如 果压力场是正确的,则据此压力场求得的速度场一定满足连续性方程。如何构造求解压力场 的方程,或者说在假定初始乐力分布_|亓如何构造计算压力改进值得方程,就成了分离式求解 法中的一个关键问题。
在交错网格系统中,关『.“、v的离散方程可通过对U、v番白的控制容积作积分而 得出。这时压力梯度的离散形式对虬为(PF—P,,)/dx,对k为(P.。一P,,)/ay,亦即相邻 两点间的压力羞构成了印/彘、印/砂,这就从根本上解决了采川一般网格系统时所遇到 的困难,这也是交错网格的成功之处。
Keywords:SIMPLE algorithm;turbulence modeling;gravity current; numerical simulation;computational fluid mechanics
上海交通大学博十后出站报告
第一章SIMPLE算法概述
SIMPLE算法解析

SIMPLE算法解析SIMPLE算法(Sequential IMage Partitioning framework with Learned Evolutionary optimization)是一种用于图像分割的算法。
这个算法结合了序列化图像分割和深度学习优化的思想,旨在提高图像分割的准确性和效率。
图像分割是计算机视觉领域中的一个重要任务,它将图像划分成多个具有语义意义的区域,通常用于目标检测、图像分析和计算机辅助诊断等应用。
在传统的图像分割方法中,通常通过手动选择特征和设计规则来实现图像分割。
然而,这些方法需要大量的人工参与,并且往往无法解决复杂场景下的图像分割问题。
序列化分割阶段首先将图像切分成若干个小块,并对每个小块进行分割。
这个过程使用了一种遗传算法来寻找最佳的分割方案。
遗传算法是一种模仿自然进化过程的优化方法,它通过不断演化和选择适应度高的解决方案来寻找最优解。
在序列化分割阶段中,遗传算法通过对小块的分割组合进行来找到最佳的图像分割方案。
深度学习优化阶段通过使用深度卷积神经网络(CNN)对序列化分割结果进行优化。
该网络学习如何根据输入图像的上下文信息进行调整,使得分割结果更加准确。
深度学习优化阶段使用了大量的标注图像来进行训练,通过不断迭代训练来提高网络的性能。
整个SIMPLE算法的流程如下:首先,将输入图像切分为多个小块。
然后,使用遗传算法对这些小块进行分割,找到最佳的分割方案。
接下来,将分割结果输入深度学习网络进行优化,得到最终的图像分割结果。
SIMPLE算法的优点是能够根据图像的上下文信息进行分割,从而获得更加准确的分割结果。
同时,使用遗传算法进行分割方案的,可以大大减少计算量。
此外,深度学习优化阶段可以通过大量的标注图像进行训练,从而获得更好的性能。
然而,SIMPLE算法也存在一些局限性。
首先,该算法对图像的初始分割方案比较敏感,如果初始方案不好,可能会导致后续的优化效果不佳。
SIMPLE算法及计算例子

SIMPLE算法及计算例子算法是指一系列解决问题的步骤和规则,是计算机科学的基础。
简单算法是指易于理解和实现的算法,适用于一些简单的问题。
下面是几个简单算法及其计算例子。
1.冒泡排序算法:冒泡排序是一种基础的排序算法,它依次比较相邻的元素,如果顺序不对则进行交换,直到整个序列有序为止。
计算例子:假设有一个数字序列[5,3,8,4,2],使用冒泡排序算法将其从小到大进行排序。
-第一次迭代:比较5和3,交换位置,得到序列[3,5,8,4,2]-第二次迭代:比较5和8,位置不变,继续比较下一对数字-第三次迭代:比较8和4,交换位置,得到序列[3,5,4,8,2]-第四次迭代:比较8和2,交换位置,得到序列[3,5,4,2,8]经过第四次迭代后,发现序列已经是有序的,算法结束。
最终的有序序列为[2,3,4,5,8]。
2.欧几里得算法:欧几里得算法用于计算两个非负整数的最大公约数。
算法基于两个数的辗转相除法,即先用较大数除以较小数得到余数,然后用较小数除以余数,依次循环,直到余数为0为止。
计算例子:假设需要计算36和48的最大公约数。
-第一次迭代:48除以36,余数为12-第二次迭代:36除以12,余数为0迭代过程中余数为0时,算法结束,最大公约数为123.线性算法:线性算法用于在一个无序列表或数组中寻找一些元素的位置。
它是一种直观的方法,逐个比较列表中的元素,当找到匹配的元素时返回其位置,否则返回未找到。
计算例子:假设有一个列表[4,2,7,1,9,5],需要找到数字7的位置。
-从列表的第一个元素开始,比较其与目标数字7-第一次比较:4!=7,继续比较下一个元素-第二次比较:2!=7,继续比较下一个元素-第三次比较:7=7,找到匹配,返回位置3最终结果为数字7的位置为3这些是一些简单算法及其计算例子,它们是计算机科学中最基础的算法之一、无论是冒泡排序还是求最大公约数,这些算法都体现了计算机程序处理问题的思维方式和逻辑。
SIMPLE算法讲解

SIMPLE算法讲解在计算机科学中,算法是一组解决问题的明确指令步骤。
算法可以用于执行各种复杂任务,从图像处理到数据排序。
而SIMPLE(The Symbolic Instruction Manipulation Program for Libraries and Education)算法是为了简化低级机器指令的编写而产生的一种高级编程语言。
本篇文章将简要介绍SIMPLE算法及其应用。
SIMPLE算法最初由美国化学家Daniel D. McCracken于1960年代开发,旨在为非计算机专业人士提供一种易于学习和使用的编程语言。
SIMPLE算法的语法类似于英语,因此非常易于理解和阅读。
它被广泛应用于教育领域,并被用作初学者编程课程的教学工具。
```BEGININPUTa,bc:=a+bOUTPUTcEND```上述代码的功能是输入两个数值a和b,然后将它们相加,并将结果输出。
通过这个简单的例子,我们可以看到SIMPLE算法注重指令的可读性和可理解性。
除了基本的输入输出操作,SIMPLE算法还提供了条件语句和循环语句等控制结构,使得编写复杂程序也变得相对容易。
例如,我们可以使用条件语句来实现一个简单的判断奇偶数的程序:```BEGININPUT numIF num % 2 = 0 THENOUTPUT "Even"ELSEOUTPUT "Odd"ENDIFEND```上述代码通过使用IF-ELSE语句对给定的数字进行判断,并输出相应的结果。
通过使用条件语句,我们可以根据不同的条件执行不同的指令,从而实现程序的分支控制。
SIMPLE算法还提供了多种数据类型和操作符,包括整型、字符型、浮点型、数组等。
这使得编写更复杂的程序成为可能。
同时,SIMPLE算法不仅可以用于简单的算术和逻辑操作,还可以进行文件读写、排序等更高级的计算操作。
尽管SIMPLE算法已经有一段时间没有被广泛使用,但它的原则和设计理念仍然对现代编程有一定的影响。
SIMPLE算法解析

By 刘昇
SIMPLE
SIMPLE:Semi-Implicit Method for Pressure Linked Equation/求解压力耦合方程的半隐方法 Patankar和Spalding与1972年提出 这种算法提出不久很快就成为计算不可压流场的主 要方法,随后这一算法以及其后的各种改进方案成 功的推广到可压缩流场计算中
平均N-S方程:模型可根据所采用的微分方程数进行分类为:
零方程模型、一方程模型、两方程模型、四方程模型、七方 程模型等。
湍流模型选取
湍流模型选取的准则:流体是否可压、建立特殊的可行的问
题、精度的要求、计算机的能力、时间的限制。 FLUENT软件中提供以下湍流模型:
Spalart-Allmaras 模型 k-ε模型 3 k-ω模型 雷诺应力模型(RSM)
对于多相流动中的,欧拉系列模型(欧拉欧拉模型、mixture
模型和VOF模型)推荐PISO算法,其中VOF模型强制使用 PISO算法,以保证计算的收敛性
对于复杂网格特别是网格的扭曲度较大时也推荐PISO模型
湍流/紊流
湍流是一种高度复杂的三维非稳态、带旋转的不规则流动。
湍流流体的各种物理参数,如速度、压力、温度等都随时间 与空间发生随机的变化。 从物理结构上说,湍流是由各种不同尺度的涡旋叠合而成的 流动,这些漩涡的大小及旋转轴的方向分布是随机的。大尺 度的涡旋主要是由流动的边界条件所决定,其尺寸可以与流 场的大小相比拟,是引起低频脉动的原因;小尺度的涡旋主 要是有粘性力所决定,其尺寸可能只有流场尺度的千分之一 量级,是引起高频脉动的原因。大尺度的涡旋破裂后形成小 尺度涡旋。较小尺度的涡旋破裂后形成更小尺度的涡旋。大 尺度的涡旋不断地从主流获得能量,通过涡旋间的相互作用, 能量组建向小的涡旋传递。最后由于流体粘性的作用,小尺 度的涡旋不断消失,机械能就转化(或称为耗散)为流体的 热能。同时,由于边界作用、扰动及速度梯度的作用,新的 涡旋又不断产生,这就构成了湍流运动。
SIMPLE算法介绍

1
流体力学和传热学的控制方程 控制容积法及方程离散 离散方程的求解方法 SIMPLE算法的思想和实施
2
流体力学和传热学的控制方程
连续性方程(质量守恒) 连续性方程(质量守恒)
r ∂ρ + div ( ρv ) = 0 ∂t ∂t
* j
α 松驰因子
39
aj
α
ϕ j = Σanbϕnb + b + (1 − α )
aj
α
ϕ* j
a=1: Jacobi or G-S a=1: a<1: a<1: SUR a>1: a>1: SOR ①对于混合型: ②椭圆型: 亚松驰(SUR) 超松驰(SOR)
40
SIMPLE算法 SIMPLE算法
1、U 控制容积
α eue = Σα nb unb + b − ( pi +1, j ,k − pi , j , k ) Ae
二维
Ae = ∆y ×1
三维
Ae = ∆y ∆z
41
ij
ue
i j+1
u控制容积
42
2. V 控制容制
α n vn = Σα nbunb + b − ( ρij +1,k − ρij ,k ) An
a j +1 = Fe exp( pe ) − 1
Fw a j −1 = exp( pw ) − 1
a j = a j +1 + a j −1 + ( Fe − Fw )
23
24
混合格式
pe < −2 | pe |≤ 2 pe > 2 a j +1 De a j +1 De a j +1 De = − pe = 1− =0 pe 2
方腔驱动流源代码(SIMPLE算法)

p
x 0
其中
biu, j
xy M ui, j t
1 u 1 1 1 M M aiu1, j y u iM , ai -1, j y u iM 1, j u i , j , j u i -1, j Re x Re x 4 4 1 1 1 u 1 M M aiu, j 1 x viM , ai , j 1 x viM , j vi 1, j , j 1 vi 1, j 1 Re y Re y 4 4
1 2 2 xy 1 M M M M aiu, j y uiM x viM 1, j u i 1, j , j vi 1, j vi , j 1 vi 1, j 1 Re x Re y t 4 4
1 viM vi*, j ,j
将修正后的速度分量代入离散后的连续性方程,得到压力修正方程
p p aip , j pi , j a p ,q p p ,q bi , j
其中
a a
p i 1, j
y 2 y 2 x 2 x 2 p p p u , ai 1, j u , ai , j 1 v , ai , j 1 v ai , j ai 1, j ai , j ai , j 1
, G 2 分别定义在主控制体的中心和角点,如图所示,并按照如下方式离散
F 2 G 2
通量 F
1
1 M 1 M 1 M 1 1 M 1 vi 1, j viM viM , j vi 1, j vi , j 1, j vi , j 4 Re y 1 1 M M 1 M 1 1 M 1 u iM viM 1, j u i , j vi 1, j vi , j 1, j vi , j 4 Re x
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动量方程:
—a(p=_u)+乳(puU):v.(印“)一字
({2)
Ol
ox
_a(p『_v)+V.(pvU):v.(pvv)一挈
(13)
uf
oy
—a(p_w)+v.(户w可)=v.(胛w)一害
(1.4)
0lΒιβλιοθήκη Oz能量方稃:—a(p-T)+v.(p功):v.(生v 7_)+sy
(1 5)
ol
C
若考虑湍流运动,采JH两方程模式,则还有湍流动能k疗科和湍流动能耗散率占方科:
The effect of shallow water depth on a big FPSO(Floating Production,Storage and Offioading System)is numerically simulated in case three.It has been shown that the viscous plays a very'small role and so it carl be neglected in this condition.The varying law of pressure produced by shallow water to FPSO is given.
The numerical simulation of current generating system of the ocean engineering basin is given in case tour and some useful advice is given to aid the design of current generating system
上海交通大学 博士后士学位论文 SIMPLE算法及应用
姓名:张立柱 申请学位级别:博士后士
专业:计算流体力学 指导教师:廖世俊
20050301
摘要
SIMPLE(Semi—ImplicitMethodfor Pressure Linked Equations)算法是目前国际上求解不 可压缩流动的主要数值方法,可解狄不可压缩流动中伪压力扰动及缺少独立求解压力方程的 凼难。本文首先介鲋SIMPLE算法的基本思想及步骤,并给出几个成功葬例。
算例..给山两相油膜扩展的的数值模拟。采用体积分数(VOF)法币¨SIMPLE算法,数值 再现了油膜扩展两阶段渐进相似推移规律:头部速度以运行时间的一I/3次幂降低的浮力一 一惯l生力阶段和头部速度以运行时间的一5/8次幂降低的浮力——车占性力阶段。
算例三给出大型FPSO浅水横摇效应的数值模拟,得出在浅水横摇效席中粘性力起的作 删很小,可忽略不计,并给出浅水对FPSO的压力随水深的变化规律。
第二个问题:压力的一阶导数是以源项的形式出现在动簧方程中。采用分离式求解各 变量的离散方程时,由于压力没有独立的方程,压力与速度的关系隐含于连续性方程中,如 果压力场是正确的,则据此压力场求得的速度场一定满足连续性方程。如何构造求解压力场 的方程,或者说在假定初始乐力分布_|亓如何构造计算压力改进值得方程,就成了分离式求解 法中的一个关键问题。
上海交通大学博士后出站报告
p
咚二I泛二二?
厂]厂]厂~。.
幽1-1一般网格计算产生的不真实解
1。3交错网格及动量方程的离散
为解决流场计葬中的第一个关键问题,即让动量方程的离散形式能够检测出不合理的 波形压力场,目前通用的方法是采用交错网格,这样动量方程中压力梯度的离散形式是以相 邻两点间的压力差来表示的,因而获得合理的压力场。
称为非定常项、对流项、扩散项和源项。
1.2不可压缩流动求解的关键问题
N—S方程是非线性的,其系数包含“、y、W等被求餐,因而问题的数值求解要用到 迭代法,不过这并不构成特殊的困难。动量方程数值求解中所遇到的主要困难是与一阶导数
项婴强的离散有关。
第一个问题:如果采用方法建立网格,即将“、v、w和P均存于同一套网格节点上, 则会遇到如下问题。以一维流动为例,稳态时有:
倒∥塑瓦:一一言挈++p∥育a可2u
(¨1.,9’)
对于图I.I所示均匀网格,将(1.9)式中的各项均取中心差分,得羞分方程为:
∥。蛩一警+H等铲
∽旧
(1.10)式表明,对i点的离散不包括p。,而是把被i点隔开的两邻点的压力联系了起来。
于是会产生这样的问题:如果在流场迭代求解过程的某一层次上,在压力场的当前值加上一 个锯齿状的压力波,如酗1-1所示,则动量方程的离散形式无法把这一不合理的分量检测出 来,而是会一直保留到迭代过程收敛并作为正确的压力场输出,如幽1-I中虚线所示。
墨盟+v.(pCk)=v.((∥+丝)v七)+G一伊
(1 6)
掣0f+V蛔两=V.((∥+争dV∞+iClkEu飞piE2K
∽7)
这里CI利。2为经验常数。 以上流体力学控制方稃可表示为以r通_I_I』形式
上海交通大学博士后出站报告
旦铲丹(p珊娟(r≯V卅s
(18)
式中毋为通用变量,可以代表“、v、w、T等求解变量,F。为扩散系数。上式四项依次
1.1流体力学基本控制方程
考虑三维直角坐标系,殴流体的速度欠量U在三个坐标上的分量分别是“,v,w,
压力为P,流体的密度为卢。这里/,/,v,w,P及p都是空间坐标及时间的函数。根据 质量守恒定律、动餐守恒定律及能量守恒定律,我们得到如r的流体力学控制方程: 连续性方程:
娑十V.(p西)=o
(1.1)
岸例四通过数值模拟辅助人}:造流系统设计,对造流系统蹬计给出了一些有益的建议。
关键词 slMPLE算法:湍流模式;异重流: 数值模拟: 计算流体力学
Abstract
SIMPLE(Semi—Implicit Method for Pressure Linked Equations)algorithm is the principal numericaI method to numerical simulate incompressible fluid flow,it call remove the di硒cults of fake pressure disturbance and of neglecting specific pressure equation for incompressible fluid flow successful.The main thoughts and steps ofSIMPLE algorithm are given firstly in this paper, and then several examples are given.
The two—phase lock-release gravity current consist ofoil and water is numerically simulated via volume of fluid(VOF)and SIMPLE algorithm in case two,and two phase asymptotic and self-similar spreading law of oil nIm is numerically reproduced It has been shown that the two·phase lock—release gravity current passes through an initial inertial·gravity regime with current front speed decreases with negative third power of time after release and a second gravity—viscous regime with current front speed decreases with negative five eighths power of time a船r release
Keywords:SIMPLE algorithm;turbulence modeling;gravity current; numerical simulation;computational fluid mechanics
上海交通大学博十后出站报告
第一章SIMPLE算法概述
对于不可压缩流动,由于其控制方程对空间各坐标都是椭圆型的,给数值求解带来较 大困难。Patankar与Spalding T-1972年提出的SIMPLE(Semi.Implicit Method for Pressure Linked Equation)算法是一种能够有效地求解不可压缩流动的数值方法,自其问世以来在世 界各国计算流体力学及计算传热学界得到,、泛的认可和应用,这一算法及其后的各种改进方 案已成为计算不可压缩流场的主要方法,并成功推广到可乐缩流场的计算中,成为一种可以 计算具有任何流速流动的数值方法。
上述两个关键问题都与乐力梯度的离散及压力的求解有关,统称为压力与速度的耦合
问题。如果数值解得出了波形压力场,则称为压力与速度间的失耦。为克fl滕-.力与速度之间
的失耦,可以采J=f;i交错网格。为解决第二个问题即采J^}J分离式求解方法时箨类变量能同步地 加以改进以提高收敛述度,就发展出了SIMPLE系列算法。
在交错网格系统中,关『.“、v的离散方程可通过对U、v番白的控制容积作积分而 得出。这时压力梯度的离散形式对虬为(PF—P,,)/dx,对k为(P.。一P,,)/ay,亦即相邻 两点间的压力羞构成了印/彘、印/砂,这就从根本上解决了采川一般网格系统时所遇到 的困难,这也是交错网格的成功之处。
所谓交错网格就是把速度“,v及压力P(包括其它所有标量场及物性参数)分别存 储于三套不同网格上的网格系统。如图l一2所示:速度U存于压力控制容积的东、西界面上, 速度v存下.压力控制容积的南、驰界面上,U、v各自的控制容积则是以速度所在位置为中 心的。“控制释积与主控制容积(即压力的控制容积)在x方向有、卜个步跃的错位,而v控 制容积与主控制容积在Y方向有、r个步K的错位,交错网格之名称由此而来。