求解隐式差分方程的加速迭代并行算法

合集下载

结构网格高精度CFD高效隐式求解及众核并行计算

结构网格高精度CFD高效隐式求解及众核并行计算

结构网格高精度CFD高效隐式求解及众核并行计算高阶精度格式相比低阶精度格式拥有高分辨率、低色散、低耗散等良好的性质,能够获得更精细的流场结构,对于气动声学、转捩、湍流等复杂流动问题的数值模拟具有重要意义。

大规模多尺度复杂几何外形流动问题的高精度CFD模拟计算开销大、求解耗时长,迫切需要发展与之适应的高效隐式求解方法和并行计算技术。

传统隐式求解方法多是从低精度CFD中发展而来,时间项Jacobian矩阵的离散和线性化精度通常低于二阶,应用到高精度CFD中时,与高阶空间离散格式不匹配,容易出现收敛缓慢、鲁棒性变差等问题。

无矩阵(Jacobian-Free)Newton-Krylov(JFNK)方法巧妙结合了具有超线性收敛性质的Newton类非线性求解方法以及求解大规模稀疏线性方程组的Krylov子空间方法,并可利用传统隐式求解方法作预条件子以提高收敛速度。

JFNK方法采用有限差商近似Jacobian矩阵和向量乘积,避免了Jacobian矩阵的直接计算和存储,这对高精度CFD应用尤其具有吸引力。

相比传统隐式求解方法,预条件JFNK方法更复杂,在CFD中的高效应用依赖于具体算法实现以及针对特定问题的预条件子选择和算法参数优化等,限制了其在高精度CFD模拟中的应用。

当前,高性能众核处理器的兴起以及宽向量处理部件的使用大幅提升了浮点计算性能,但丰富的并行性也对高精度CFD应用的并行性能优化提出了严峻挑战。

在拥有数百并行线程的众核处理器上,传统LU-SGS等具有内在强数据依赖特点的隐式线性求解器(预条件子)的共享存储并行可扩展性严重下降,且难以利用宽向量处理部件,迫切需要在研究新型高效CFD求解算法的同时,发展与众核体系结构适应的并行算法。

本文基于“天河二号”众核超级计算机以及自主发展的高精度加权紧致非线性格式(WCNS),开展结构网格高精度CFD应用高效隐式求解算法及其并行计算研究,并应用于实际的可压缩气动数值模拟中。

并行计算编程模型及系统架构研究

并行计算编程模型及系统架构研究

并行计算编程模型及系统架构研究一、综述随着信息技术的飞速发展,计算任务的数量和复杂性呈现出迅速增长的态势。

传统的单处理器计算系统已经无法满足这些日益增长的需求,因此并行计算技术在众多领域得到了广泛的关注和研究。

并行计算编程模型及系统架构的研究不仅具有理论价值,而且在实际应用中具有广泛的意义。

在过去的几十年里,人们提出了许多并行计算编程模型,包括共享存储模型、分布式内存模型和图形处理器模型等。

这些模型各自具有一定的优势和局限性,适用于不同类型的应用场景。

本文将对这些并行计算编程模型及系统架构进行综述,以期为相关领域的研究和应用提供有益的参考。

随着芯片技术的发展,硬件性能得到了极大的提升,这为新并行计算模型的出现提供了物质基础。

随着计算机体系结构的改进,如多核处理器、GPU和分布式计算机系统等,也为新并行计算模型的实现提供了可能。

在并行计算编程模型方面,本文将重点关注共享存储模型、分布式内存模型和图形处理器模型等方面的研究进展。

在分布式内存模型方面,本文将介绍一致性哈希、目录一致性协议等相关技术。

在图形处理器模型方面,本文将探讨通用计算GPU和图形处理器编程模型(GPGPU)的发展及其在密码学、科学计算和机器学习等领域的应用。

在并行计算系统架构方面,本文将分析多种计算系统的结构,如层次结构、众核计算系统和可扩展计算系统等。

本文还将关注如何提高并行计算系统的可扩展性、性能和容错性等方面的研究。

本文将对并行计算编程模型及系统架构进行深入的综述,为相关领域的研究和应用提供有价值的参考。

1. 并行计算的重要性与挑战随着信息技术的飞速发展,数字数据处理和存储的需求呈现出爆炸性增长。

在这种背景下,并行计算逐渐成为解决复杂计算问题和提高计算效率的关键手段。

并行计算不仅能够缩短计算时间,提高资源利用率,还能为多学科领域的研究提供强大的支持,推动科学研究的进步。

提升计算效率:并行计算通过在多个处理器上同时执行多个任务,显著提高了计算速度,缩短了问题的解决周期。

(完整word版)高斯-塞德尔迭代并行算法

(完整word版)高斯-塞德尔迭代并行算法

高斯-塞德尔迭代并行算法在并行计算中,高斯-塞德尔迭代采用与雅可比迭代相同的数据划分。

对于高斯-塞德尔迭代,计算i x 的新值时,使用11,,i n x x +-⋯的旧值和01,,i x x -⋯的新值。

计算过程中i x 与01,,i x x -⋯及11,,i n x x +-⋯的新值会在不同的处理器中产生,因此可以考虑采用时间偏移的方法,使各个处理器对新值计算的开始和结束时间产生一定的偏差。

编号为 my_rank 的处理器一旦计算出(_(_1))i x my rank m i my rank m ⨯≤+⨯的新值,就立即广播给其余处理器,以供各处理器对x 的其它分量计算有关i x 的乘积项并求和。

当它计算完 x 的所有分量后,它还要接收其它处理器发送的新的x 分量,并对这些分量进行求和计算,为计算下一轮的i x 作准备。

计算开始时,所有处理器并行地对主对角元素右边的数据项进行求和,此时编号为 0 的处理器 (简称为0p )计算出0x ,然后广播给其余处理器,其余所有的处理器用0x 的新值和其对应项进行求和计算,接着0p 计算出12,,,x x ⋯当0p 完成对1m x -的计算和广播后,1p 计算出m x ,并广播给其余处理器,其余所有的处理器用m x 的新值求其对应项的乘积并作求和计算。

然后1p 计算出12,,,m m x x ++⋯当1p 完成对2*1m x -的计算和广播后,2p 计算出2*m x ⋯,如此重复下去,直至1n x -在1p p -中被计算出并广播至其余的处理器之后,0p 计算出下一轮的新的0x ,这样逐次迭代下去,直至收敛为止。

具体算法框架描述如下: 算法 1 求解线性方程组的高斯-塞德尔迭代并行算法输入:系数矩阵n n A ⨯,常数向量n n b ⨯,ε,初始解向量n n x ⨯输出:解向量n n x ⨯Begin对所有处理器 my_rank(my_rank=0,…, p-1)同时执行如下的算法:(1) for i=my_rank*m to (my_rank+1)*m-1 do/*所有处理器并行地对主对角元素右边的数据求和*/(1.1) sum[i]=0.0(1.2)for j=i+1 to n-1 dosum[i]= sum[i]=+ a[i,j]*x[j]end forend for(2) while (total<n) do /*total 为新旧值之差小于 ε的x 的分量个数*/(2.1) iteration=0/* iteration 为本处理器中新旧值之差小于 ε的x 的分量个数*/(2.2)for j=0 to n-1 do /*依次以第 0,1, …, n-1行为主行*/(i) q=j/m(ii)if my_rank=q then /*主行所在的处理器*/[][][][]()[]temp x j , x j b j sum j /a j,j ==- /* 产生()x j 的新的值*/ if ([]x j temp ε-<││) then iteration= iteration +1 end if将x[j]的新值广播到其它所有处理器中/*对其余行计算x[j]所对于的内积项并累加*/sum[j]=0for i=my-rank* m to (my-rank+1)*m-1 doif (j ≠ i) then[][][][]sum i sum i a i,j *x j =+end ifend forelse /*其它处理器*/接收广播来的x[j]的新值/*对所存各行计算x[j]所对于的内积项并累加*/for ()i my rank* m to my rank 1* m 1=--+- do[][][][] s um i sum i a i,j *x j =+end forend ifend for(2.3)用Allreduce 操作求出所有处理器中iteration 值的和total 并广播到所有处理器中end whileend若取一次乘法和加法运算时间或一次比较运算时间为一个单位时间。

一类偏微分方程的几种并行迭代算法

一类偏微分方程的几种并行迭代算法

术的并行算法 , 通过程序设计对这些迭代算法 的加速 比、 并行效率等进行 了分析 , 验证了算法具有 良好 的并行
性和有效性。
关键词 : 红黑排序 ;共轭梯度 法 ; 多分裂迭代法 ; 投影技术
中图 分 类 号 : 15 2 O 7 . D I1.9 3 ji n 10 O :0 36 /. s.0 7—14 2 1 .10 8 s 4 X.0 10 .1
由于方程 的系数 变化 等对 并行 算法 的加 速影
响不大 , 不妨取 C =C =C =D =E=1 C = 2 y l 1 ,2 D =
0 步长 h=15 , 用二 阶 中心差商 和一 阶 向前差 , / 1利
商将式 ( ) 1 离散 , 得差分格 式(√= ,, ,0 为 : l2 … 5 )
数矩 阵便 具有适 合并 行计 算的 特殊 结 构。共 轭梯
( n2r D1i , s t y+D ) +E 2u u:0 0≤ , , Y≤ 1
/ l : Z o
MI 0 :
u I : = 1 + C S 1y 1 0 O T
l = l y 1 +C S 0 O
并 行计 算与并 行算 法是 大规模 科 学计算 的理 论基 础和 支持工 具 , 而这 些 计算 多数 源 于 偏 微 分 方程离 散后 得 到 的 大 型稀 疏 线性 方程 组 。 因此 , 这类 方程组 的求解 已成为数 值算 法研 究 的热 点 问 题 -] 9 3年 ,T N 3。17 S O E提 出了一 组有 效 的 三对
根 据 区域分 解 法 , 用界 面 点 把 整个 区域 分 先 解 成 多个子 区域 , 对 各 子 区域 用 上 述格 式 计 算 再
所 得 的界面 值 作 为 Drhe 边 界 条 件 , 算 子 区 icl i t 计 域上 的问题 , 得 其 并行 差 分 格 式 。 由于边 界 网 可

modelica的simple算法

modelica的simple算法

一、简介Modelica是一种面向物理建模和工程仿真的开放式建模语言,它的简单算法(simple algorithm)是其中的一种常用算法。

本文将介绍simple算法的基本原理、应用场景和优缺点。

二、简单算法的基本原理简单算法是一种基本的隐式数值积分方法,它通过迭代求解微分方程的数值解。

简单算法的基本原理如下:1. 对微分方程进行离散化处理,将微分方程转化为差分方程;2. 利用初始条件,采用迭代方法求解差分方程的数值解;3. 判断数值解的精度是否满足要求,如果不满足则继续迭代,直到满足要求为止。

简单算法的求解过程相对直观,易于理解和实现,因此在一些工程仿真软件中被广泛应用。

三、简单算法的应用场景简单算法适用于一些简单的动态系统仿真,特别是对于非刚性系统和非线性系统的仿真。

由于简单算法的迭代过程较为稳定,因此对于一些求解较为复杂的微分方程而言,简单算法可以提供较为可靠的数值解。

简单算法在电力系统、控制系统和热力系统等领域有着广泛的应用。

在这些系统中,通常涉及到复杂的微分方程,而简单算法可以提供较为准确的数值解,为工程设计和分析提供重要的支持。

四、简单算法的优缺点简单算法作为一种常用的数值积分方法,具有以下优缺点:1. 优点:(1)易于实现:简单算法的迭代过程相对简单,易于理解和实现;(2)稳定性较好:简单算法的迭代过程相对稳定,适用于一些复杂的微分方程的求解。

2. 缺点:(1)收敛速度较慢:简单算法的迭代过程需要较多的迭代次数,收敛速度较慢;(2)对刚性系统和高阶系统的适应性较差:简单算法在处理一些刚性系统和高阶系统时,可能会出现数值不稳定的情况。

简单算法作为一种常用的数值积分方法,适用于一些简单的动态系统仿真,具有易于实现、稳定性较好的特点,但在收敛速度和对复杂系统的适应性上存在一定的局限性。

五、结语简单算法作为Modelica建模语言的一种常用算法,在工程仿真和系统分析中有着重要的应用价值。

通过深入理解简单算法的基本原理和应用场景,可以更好地利用该算法进行系统建模和仿真,为工程设计和分析提供可靠的数值支持。

迎风差分法-概述说明以及解释

迎风差分法-概述说明以及解释

迎风差分法-概述说明以及解释1.引言1.1 概述迎风差分法是一种常用的数值计算方法,用于求解偏微分方程的数值解。

它以差分代替偏导数,将连续问题离散化为离散问题,通过逼近求解离散方程组来得到精确的数值解。

该方法的基本原理是将求解区域等分为小网格,利用节点上的函数值和它相邻节点上的函数值之间的差异来逼近导数的值。

根据所采用的向前差分、向后差分或中心差分的方式,可以得到迎风差分法的不同形式。

迎风差分法的应用场景非常广泛。

它可以用于求解一维或多维的空间问题,例如热传导方程、波动方程、扩散方程等。

此外,该方法还可以应用于流体力学、计算机模拟等领域,用于模拟复杂的物理现象和工程问题。

迎风差分法具有一些优点和缺点。

其优点之一是简单易懂,容易实现。

通过简单的差分运算,即可得到数值解。

此外,该方法的计算效率较高,可应对大规模离散问题。

然而,迎风差分法也存在一些缺点,例如对于非线性问题的处理相对困难,可能会出现数值耗散和数值耗散等问题。

综上所述,迎风差分法是一种重要的数值计算方法,能够有效地求解偏微分方程的数值解。

它在科学研究和工程实践中具有广泛的应用前景。

本文将深入探讨迎风差分法的基本原理、应用场景以及优缺点,并对其未来的发展做出展望。

文章结构部分的内容可以按照以下方式编写:1.2 文章结构本文将按照以下结构进行论述:第一部分是引言部分,包括概述、文章结构和目的。

引言部分将对迎风差分法进行简要介绍,说明文章的结构和目的,为读者提供文章的整体框架。

第二部分是正文部分,主要包括迎风差分法的基本原理、应用场景和优缺点。

在这一部分,将对迎风差分法的基本原理进行详细阐述,包括其基本概念、基本步骤和数学原理等。

随后,将介绍迎风差分法在各个领域的应用场景,包括物理学、工程学和计算机科学等。

同时,还将探讨迎风差分法的优点和缺点,对其进行客观评价,为读者提供全面的了解。

第三部分是结论部分,主要包括总结迎风差分法的重要性、对其展望和最终结论。

Ansys显示算法和隐式算法知识完全解读

Ansys显示算法和隐式算法知识完全解读

An sys 显示算法和隐式算法知识完全解读这是 ansys 里面的两种求解方法。

大多数非线性动力学问题一般多是采用显式求解方法, 特别是在求解大型结构的瞬时高度非 线性问题时, 显示求解方法有明显的优越性。

下面先简要对比一下隐式求解法和显示求解法。

动态问题涉及到时间域的数值积分方法问题。

在 80 年代中期以前,人们基本上采用纽曼法 进行时间域的积分。

根据纽曼法,位移、速度和加速度有着如下关系:u(i+1)=u(i)+ △ t*v(i)[(1 — 2p)a(i)+2p*a(i+1)]⑴ v(i+1)=V(i)+A t[(1-2q)a(i)+2qa(i+1)](2) 上面式子中u(i+1),u(i)分别为当前时刻和前一时刻的位移, 一时刻的速度,a(i+1)和a(i)为当前时刻和前一时刻的加速度, 为当前时刻与前一时刻的时问差,符号 * 为乘号。

由式 (1)和式 (2)可知,在纽曼法中任一时 刻的位移、 速度、 加速度都相互关联, 这就使得运动方程的求解变成一系列相互关联的非线性方程的求解, 这个求解过程必须通过迭代和求解联立方程组才能实现。

能出现病态而无确定的解。

隐式求解法最大的优点是它具有无条件稳定性, 任意大。

如果采用中心差分法来进行动态问题的时域积分, 则有如下位移、 速度和加速度关系式:u(i+1)=2u(i)-u(i-1)+a(i)( △ t)A 2(3) v(i+1)=[u(i+1)-u(i-1)] / 2(△ t) (4)式中 u(i-1) ,为 i-1 时刻的位移。

由式 (3)可以看出,当前时刻的位移只与前一时刻的加速度 和位移有关, 这就意味着当前时刻的位移求解无需迭代过程。

另外, 只要将运动过程中的质 量矩阵和阻尼矩阵对角化, 前一时刻的加速度求解无需解联立方程组, 从而使问题大大简化,这就是所谓的显式求解法。

显式求解法的优点是它既没有收敛性问题,也不需要求解联立方 程组,其缺点是时间步长受到数值积分稳定性的限制,不能超过系统的临界时间步长。

显式求解方法和隐式求解方法对比

显式求解方法和隐式求解方法对比

采用有限元方法开展结构的动力学分析最终归结为求解离散后的常微分方程组tR KU U C U M =++ 。

在时域内求解该方程最常用的方法是直接积分法,而又根据求解过程中是否需要迭代求解线性方程组,将直接积分法分为隐式积分方法和显式积分方法两类。

隐式积分法认为t+Δt时刻系统的状态不仅与t时刻状态有关,且与t+Δt时刻某些量有关。

因此隐式算法是根据t n 及t n-1...时刻体系的物理量值建立关于以t n+1时刻物理量为未知量的线性方程组,通过求解方程组确定t n+1时刻的物理量(常用的方法有线性加速度法、常平均加速度法、Newmark 方法、Wilson-θ法、Houbolt 方法等)。

而显式积分法认为t+Δt时刻系统的状态仅与t时刻状态有关可,因此可由t n 及t n-1...时刻体系的物理量值直接外推t n+1时刻物理量值(如中心差分法),不需要求解线性方程组,实现了时间离散的解耦。

两种算法的比较 :(1)隐式算法隐式算法基于虚功原理,要迭代计算。

隐式算法在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这一过程需要占用相当数量的计算资源、磁盘空间和内存。

理论上在这个算法中的增量步可以很大,但是实际运算中上要受到接触以及摩擦等条件的限制。

随着单元数目的增加,计算时间几乎呈平方次增加。

由于需要矩阵求逆以及精确积分,对内存要求很高。

隐式算法的不利方面就是收敛问题不容易解决,且在开始起皱失稳时,在分叉点处刚度矩阵出现奇异。

(2)显式算法显示算法基于动力学方程,无需迭代,包括动态显式和静态显式算法。

动态显式算法采用动力学方程的中心差分格式,不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,也不存在收敛控制问题。

该算法需要的内存也比隐式算法要少。

数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

它也有一些不利方面。

显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

显式算法与隐式算法的区别

显式算法与隐式算法的区别

1、显式算法
最大优点是有较好的稳定性。

动态显式算法采用动力学方程的一些差分格式(如广泛使用的中心差分法、线性加速度法、Newmark法和wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。

因此需要的内存也比隐式算法要少。

并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥。

因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

静态显式法基于率形式的平衡方程组与Euler向前差分法,不需要迭代求解。

由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。

为了减少相关误差,必须每步使用很小的增量。

2、隐式算法
隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这以过程需要占用相当数量的计算资源、磁盘空间和内存。

该算法中的增量步可以比较大,至少可以比显式算法大得多,但是实际运算中上要受到迭代次数及非线性程度的限制,需要取一个合理值。

3、求解时间t
使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元的尺寸成反比;
应用隐式方法,经验表明对于许多问题的计算成本大致与自由度数目的平方成正比;
因此如果网格是相对均匀的,随着模型尺寸的增长,显式方法表明比隐式方法更加节省计算成本。

CFX软件介绍

CFX软件介绍

ANSYS CFX——流体动力学分析技术的开拓者产品关键字精确的数值方法快速稳健的求解技术丰富的物理模型旋转机械流动分析的专有特征先进的网格剖分技术发展历史CFX是全球第一个通过ISO9001质量认证的大型商业CFD软件,是英国AEA Technology 公司为解决其在科技咨询服务中遇到的工业实际问题而开发,诞生在工业应用背景中的CFX 一直将精确的计算结果、丰富的物理模型、强大的用户扩展性作为其发展的基本要求,并以其在这些方面的卓越成就,引领着CFD技术的不断发展。

目前,CFX已经遍及航空航天、旋转机械、能源、石油化工、机械制造、汽车、生物技术、水处理、火灾安全、冶金、环保等领域,为其在全球6000多个用户解决了大量的实际问题。

回顾CFX发展的重要里程,总是伴随着她对革命性的CFD新技术的研发和应用。

1995年,CFX收购了旋转机械领域着名的加拿大ASC公司,推出了专业的旋转机械设计与分析模块-CFX-Tascflow,CFX-Tascflow一直占据着90%以上的旋转机械CFD市场份额。

同年,CFX成功突破了CFD领域的在算法上的又一大技术障碍,推出了全隐式多网格耦合算法,该算法以其稳健的收敛性能和优异的运算速度,成为CFD技术发展的重要里程碑。

CFX一直和许多工业和大型研究项目保持着广泛的合作,这种合作确保了CFX能够紧密结合工业应用的需要,同时也使得CFX可以及时加入最先进的物理模型和数值算法。

作为CFX的前处理器,ICEM CFD优质的网格技术进一步确保CFX的模拟结果精确而可靠。

2003年,CFX加入了全球最大的CAE仿真软件ANSYS的大家庭中。

我们的用户将会得到包括从固体力学、流体力学、传热学、电学、磁学等在内的多物理场及多场耦合整体解决方案。

CFX将永远和我们的用户伙伴一起,用最先进的技术手段,不断揭开我们身边真实物理世界的神秘面纱。

产品特色CFX是全球第一个在复杂几何、网格、求解这三个CFD传统瓶径问题上均获得重大突破的商业CFD软件。

胜利油田油藏数值模拟技术新进展及发展方向

胜利油田油藏数值模拟技术新进展及发展方向

胜利油田油藏数值模拟技术新进展及发展方向1. 胜利油田油藏数值模拟技术概述随着油气资源的日益减少和环境保护要求的不断提高,胜利油田面临着严重的资源约束和环境压力。

为了更好地开发利用石油资源,保护生态环境,提高油田的开发效率和经济效益,胜利油田对油藏数值模拟技术进行了深入研究和应用。

油藏数值模拟技术是一种基于数学模型和计算机技术的油气储层分析方法,通过对油藏地质、物理、化学等多学科信息的综合处理,实现对油藏储层结构、渗透率、流动状态等方面的高精度预测和优化调控。

胜利油田在油藏数值模拟技术研究方面取得了显著进展,主要表现在以下几个方面:一是提高了油藏数值模拟的精度和稳定性,为油气藏开发提供了更加科学、合理的决策依据;二是拓展了油藏数值模拟的应用领域,如油藏动态监测、产能评价、压裂方案设计等;三是加强了与国内外相关领域的交流与合作,引进了先进的技术和理念,促进了油藏数值模拟技术的创新与发展。

胜利油田将继续加大油藏数值模拟技术研究力度,重点关注以下几个方面的发展方向:一是进一步提高油藏数值模拟的精度和稳定性,满足油气藏开发的需求;二是拓展油藏数值模拟的应用领域,实现与油气田开发的全过程融合;三是加强与其他相关领域的交叉融合,推动油藏数值模拟技术与人工智能、大数据等新兴技术的深度融合;四是加强国际合作与交流,引进国外先进技术和理念,提升我国油藏数值模拟技术的整体水平。

1.1 数值模拟技术的定义与意义数值模拟技术是一种通过计算机对复杂物理现象进行建模、求解和预测的方法。

它将实际问题抽象为数学模型,然后利用计算机对模型进行求解,从而得到问题的解答。

在胜利油田油藏数值模拟中,数值模拟技术发挥着至关重要的作用。

数值模拟技术可以帮助我们更准确地描述油藏的物理特性,通过对油藏进行数值模拟,我们可以研究油藏的压力、流速、物性等参数随时间、空间的变化规律,从而揭示油藏的内部结构和行为特征。

这对于优化油藏开发方案、提高采收率具有重要意义。

隐式差分方程课件

隐式差分方程课件




1 2
时,加权六点格式为Crank-Nicolson隐式格式;
当 1 时,加权六点格式为古典隐式格式。
加权六点格式亦可直接由差商代替导数得到
U n1 m

U
n m
k

1 h2

U 2 n1
xm

(1
)
1 h2

U 2 n
xm
2.3.4 系数依赖于x,t的一维热传导方程的一 个隐式格式的推导
即两边去[1掉高kD于x2 二12阶 2导k 2数Dx4的项,]umn且1 用 [1h12(x21代替)k
Dx2
Dx2

1 2
(1
)2
k
2 Dx4
]umn
,则得差分格式
(1r
2 x
)U
n1 m

[1
(1
)r
2 x
]U
n m
或者 (1
2r
)U
n1 m
0.956 821 703 419 0.000 079
0.915 507 772 134 0.000 151
0.643 146 895 793 0.000 531
0.413 637 929 568 0.000 683
0.171 096 336 778 0.000 564
0.629 273 956 459 0.000 194
r
(U
n m1

U
n m1
)
由于格式(2.44)中包括六个结点,故也可 称为六点格式(如图2.6所示)。
图2.6
m-1,n+1
m,n+1
m+1,n+1

显式算法与隐式算法的区别

显式算法与隐式算法的区别

显式算法与隐式算法得区别1、显式算法最大优点就是有较好得稳定性。

动态显式算法采用动力学方程得一些差分格式(如广泛使用得中心差分法、线性加速度法、Newmark法与wilson法等),不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取得足够小,一般不存在收敛性问题。

因此需要得内存也比隐式算法要少。

并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥。

因而往往采用减缩积分方法,容易激发沙漏模式,影响应力与应变得计算精度。

静态显式法基于率形式得平衡方程组与Euler向前差分法,不需要迭代求解。

由于平衡方程式仅在率形式上得到满足,所以得出得结果会慢慢偏离正确值。

为了减少相关误差,必须每步使用很小得增量。

2、隐式算法隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型得线性方程组,这以过程需要占用相当数量得计算资源、磁盘空间与内存。

该算法中得增量步可以比较大,至少可以比显式算法大得多,但就是实际运算中上要受到迭代次数及非线性程度得限制,需要取一个合理值。

3、求解时间t使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元得尺寸成反比;应用隐式方法,经验表明对于许多问题得计算成本大致与自由度数目得平方成正比;因此如果网格就是相对均匀得,随着模型尺寸得增长,显式方法表明比隐式方法更加节省计算成本。

所谓显式与隐式,就是指求解方法得不同,即数学上得出发点不一样。

并不就是说显式只能求动力学问题,隐式只能求静力学问题,只就是求解策略不通。

显式求解就是对时间进行差分,不存在迭代与收敛问题,最小时间步取决于最小单元得尺寸。

过多与过小得时间步往往导致求解时间非常漫长,但总能给出一个计算结果。

解题费用非常昂贵。

因此在建模划分网格时要非常注意。

隐式求解与时间无关,采用得就是牛顿迭代法(线性问题就直接求解线性代数方程组),因此存在一个迭代收敛问题,不收敛就得不到结果。

CFD计算中某些并行方法的讨论

CFD计算中某些并行方法的讨论

-./ 计算中某些并行方法的讨论
刘 鑫 , 陆林生
(江南计算技术研究所, 江苏 无锡 !’,"(%)
摘要: 文章主要讨论 -./ 计算中总结出的某些通用的并行 方法。在区 域分 解方法 方面介 绍了 单区域分解策略并提出适合多区域分解的静态负载平衡算法; 在线性递归方程组求解方法上, 分析了现有方法采用不完全 01 分 解 可 能 带 来 的 解 的 扰 动 问 题, 并引入迭代方法提高解的稳 定性; 为实现严格隐式求解, 提出一种高效的基于流水关系有向图的流水线实现方法用于一类 复杂区域递归方程组的并行求解问题。实验结果表明上述讨论的并行方法是有效的。 关键词: -./;并行计算;负载平衡;迭代法;流水线并行 中图分类号: 23%"’ 4 ) 文献标识码: * 文章编号: (!""#) ’)+’ $ ")+% ", $ ""+, $ ",
"
引言
本文主要讨 论 -./ ( -CEFBA?A7C8?H .HB7M /I8?E9
处理中小规模和大规模并行的问题。此外, 本文还 讨论了隐式方法 求 解 线 性 递 归 方 程 组 时 不 完 全 的 并提出牛顿法 01 分解可能带 来 的 解 的 扰 动 问 题, 和预条件子共轭梯度法来修正方程组的解, 提高解 的稳定性。另 外, 在 线 性 递 归 方 程 组 并 行 求 解 时, 如果虚边 界 用 上 一 时 刻 的 值, 不是严格的隐式方 法, 由此引入流水线并行尝试解决弱隐式方法带来 串并行结果不 一 致 的 问 题。 实 验 结 果 表 明 上 述 讨 论的并行方法是有效的。
* $#
多区域分解一般分为两步, 第一步是先把处理 器总数分 配 给 各 个 区 域, 对于每个区域再进行分 解, 突出的问题 是 负 载 平 衡 问 题。 文 献 [+] 提出了 基于启发思想的 一 维 分 解 优 先 的 规 则 分 块 算 法 和 基于自动重分的 不 规 则 分 块 算 法 用 于 解 决 多 区 域 分解的负载平 衡 问 题。 一 维 分 解 优 先 的 规 则 分 块 算法的基本原理是按网格数比例分配处理器数, 并 在此基础上进行试探和调整, 这种规则分块算法通 信效率较高, 但在处理器数较少时难以实现负载平 衡。基于自动重 分 的 不 规 则 分 块 算 法 的 基 本 原 理 万方数据 是将超出平均负 载的最大块进行重新分割以满足

显式隐式求解

显式隐式求解

<显式动力学&隐式动力学分析>1、显式算法基于动力学方程,因此无需迭代;而静态隐式算法基于虚功原理,一般需要迭代计算2、显式算法最大优点是有较好的稳定性。

动态显式算法采用动力学方程的一些差分格式,不用直接求解切线刚度,不需要进行平衡迭代,计算速度快,时间步长只要取的足够小,一般不存在收敛性问题。

因此需要的内存也比隐式算法要少。

并且数值计算过程可以很容易地进行并行计算,程序编制也相对简单。

但显式算法要求质量矩阵为对角矩阵,而且只有在单元级计算尽可能少时速度优势才能发挥, 因而往往采用减缩积分方法,容易激发沙漏模式,影响应力和应变的计算精度。

静态显式法基于率形式的平衡方程组与Euler 向前差分法,不需要迭代求解。

由于平衡方程式仅在率形式上得到满足,所以得出的结果会慢慢偏离正确值。

为了减少相关误差,必须每步使用很小的增量。

3、隐式算法隐式算法中,在每一增量步内都需要对静态平衡方程进行迭代求解,并且每次迭代都需要求解大型的线性方程组,这个过程需要占用相当数量的计算资源、磁盘空间和内存。

该算法中的增量步可以比较大,至少可以比显式算法大得多,但是实际运算中上要受到迭代次数及非线性程度的限制,需要取一个合理值。

4、求解时间使用显式方法,计算成本消耗与单元数量成正比,并且大致与最小单元的尺寸成反比; 应用隐式方法,经验表明对于许多问题的计算成本大致与自由度数目的平方成正比;因此如果网格是相对均匀的,随着模型尺寸的增长,显式方法表明比隐式方法更加节省计算成本隐式算法将冲压成型过程的计算作为动态问题来处理后,就涉及到时间域的数值积分方法问题。

在80年代中期以前,人们基本上使用纽曼法进行时间域的积分。

根据纽曼法,位移、速度和加速度有着如下的关系:[][](1)()()(12)()2(1)(1)()(12)()2(1)u i u i t v i p a i pa i v i v i t q a i qa i +=+∆⨯-+++=+∆-++上面式子中, u(i+1)和u(i) 分别为当前时刻和前一时刻的位移, v(i+1)和v(i)为当前时刻和前一时刻的速度, a(i+1)和a(i)为当前时刻和前一时刻的加速度,p 和q 为两个待定参数。

NS方程隐式分区并行计算

NS方程隐式分区并行计算
荛。毒品一
2001年5月
cH。NE。E,。u篡AL嚣c。M:k焉NA。,HY。。c。
cHINEsE JouRNAL oF
0199 07
coMPuTATIoNAL PHYslcs
%:?j揣 i::。{ioi
[文章编号]1001.246x(2001)03
N.S方程隐式分区并行计算
邹 辉1, 李劲菁1, 吴子牛2
N和zouH最近提出了一套适合三点块
t对角隐式格式的定常和非定常可压无粘流的覆盖 分区并行计算方法,并对方法的性能进行了分析证 明_2 J.这套方法如果推广到N—S方程,对定常问题 的收敛性和非定常问题的时间精度有什么影响,是 本文要讨论的这种方法对于定常和非定常问题都
不需要在每一时间步上叠代,也不需要对隐式部分
O 0 ●
o”2
o o
AV:坐
户 E
4—3

钆2


i一瓦

o。∥Ⅶ
上h

叫,


1一万,

o上脚
万方数据





第18卷
o 。。
o o o
成2
伊=生

1一毒・

o生,
上阶
。w扣旷

胁 胁
风=}苦
y一阶
筑,“(下标s=l,2)是空间算子,≠。定义在网格点 丁=i△,’,■=J△,处.
有网格在第二方向的网格点数较少(等于33),我们 只使用水平分区两个方向同时分区与单方向分区 相比势必会增加通讯次数.但这种消极影响在网格 点数变的巨大时就显得不重要了,就像在实际情况 中使用那样 定常计算时,使用完全时间滞后耦合条件对非 定常问题,使_r『I完全时间滞后覆盖/投影交界面处 理,L,,=2(4 cFI}1).

多重网格法简介(MultiGrid)

多重网格法简介(MultiGrid)

多重⽹格法简介(MultiGrid)多重⽹格法是⼀种⽤于求解⽅程组的⽅法,可⽤于插值、解微分⽅程等。

从专业⾓度讲多重⽹格法实际上是⼀种多分辨率的算法,由于直接在⾼分辨率(⽤于求解的间隔⼩)上进⾏求解时对于低频部分收敛较慢,与间隔的平⽅成反⽐。

就想到先在低分辨率(间隔较⼤)上进⾏求解,因为此时,间隔⼩,数据量⼩,进⾏松弛时的时空耗费⼩,⽽且收敛快,⽽且⼀个很重要的优点是在低分辨率上对初值的敏感度显然要低于对⾼分辨率的初值的要求。

这⼀点是显⽽易见的,例如我们平时看⼀个很复杂的物体,在很远的地⽅,你可能就觉得它是⼀个点或⼀个球,但是在近处你就不能这么近似,或许发明多重⽹格法的⼈就是从这⼀基本⽣活常识发现的吧。

多重⽹格法可以直接在低分辨率上以⼀个随意的初值进⾏计算,然后再进⾏插值,提⾼其分辨率,再在更⾼分辨率进⾏计算;也可以现在⾼分辨率以随意初值进⾏计算,得到⼀个结果,再将其限制(插值)到低分辨率去,再在低分辨率上进⾏解算,最终再从低分辨率经插值计算达到⾼分辨率。

有关多重⽹格法的资料可以到这⾥下载:多重⽹格技术(multigrid solver)微分⽅程的误差分量可以分为两⼤类,⼀类是频率变化较缓慢的低频分量;另⼀类是频率⾼,摆动快的⾼频分量。

⼀般的迭代⽅法可以迅速地将摆动误差衰减,但对那些低频分量,迭代法的效果不是很显著。

⾼频分量和低频分量是相对的,与⽹格尺度有关,在细⽹格上被视为低频的分量,在粗⽹格上可能为⾼频分量。

多重⽹格⽅法作为⼀种快速计算⽅法,迭代求解由偏微分⽅程组离散以后组成的代数⽅程组,其基本原理在于⼀定的⽹格最容易消除波长与⽹格步长相对应的误差分量。

该⽅法采⽤不同尺度的⽹格,不同疏密的⽹格消除不同波长的误差分量,⾸先在细⽹格上采⽤迭代法,当收敛速度变缓慢时暗⽰误差已经光滑,则转移到较粗的⽹格上消除与该层⽹格上相对应的较易消除的那些误差分量,这样逐层进⾏下去直到消除各种误差分量,再逐层返回到细⽹格上。

gauss-seidel 迭代法的红黑着色并行算法

gauss-seidel 迭代法的红黑着色并行算法

【gauss-seidel 迭代法的红黑着色并行算法】1. 背景介绍gauss-seidel 迭代法是一种常用的数值计算方法,适用于求解线性方程组或者优化问题。

它通过不断迭代更新变量的值,逐步逼近方程组的解。

然而,在大规模的计算中,传统的 gauss-seidel 迭代法效率较低,因为无法充分利用并行计算的优势。

为了提高计算效率,红黑着色并行算法应运而生,它将方程组的变量划分为红色和黑色两类,并行计算红色和黑色变量,从而加快收敛速度。

2. 红黑着色并行算法原理红黑着色并行算法的基本原理是将方程组的变量划分为红色和黑色两类,然后并行计算两类变量。

具体来说,首先将所有变量按照其在方程组中的位置划分为红色和黑色,并行计算红色变量,然后再并行计算黑色变量。

这样可以充分利用并行计算的优势,加快迭代的收敛速度。

3. 算法实现红黑着色并行算法的实现并不复杂,只需要将传统的 gauss-seidel 迭代法进行一定的改进。

将所有变量按照其在方程组中的位置划分为红色和黑色;分别并行计算红色和黑色变量;将计算得到的新变量值合并,进行下一轮迭代。

这样,可以有效地提高计算效率,特别是在大规模计算中效果更为显著。

4. 应用与优势红黑着色并行算法在求解大规模线性方程组或优化问题时具有明显的优势。

通过充分利用并行计算的优势,加快了迭代的收敛速度,降低了计算时间和资源消耗。

在科学计算、工程建模和数据处理等领域得到了广泛的应用。

5. 个人观点与总结作为一种高效的并行计算方法,红黑着色并行算法对于提高计算效率和加速收敛速度具有重要意义。

尤其是在大规模计算和高性能计算中,其优势更为突出。

在实际应用中,我们可以充分发挥红黑着色并行算法的优势,提高计算效率,加速问题求解的过程。

6. 结语在本文中,我们对 gauss-seidel 迭代法的红黑着色并行算法进行了介绍和探讨,并分析了其原理、实现、应用和优势。

通过对这一主题的深入讨论,希望能够使读者更加全面、深刻地理解红黑着色并行算法的重要性和价值所在。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档