首页 > 其他分享 >Fluent:方法选用归总

Fluent:方法选用归总

时间:2024-04-10 11:34:28浏览次数:25  
标签:求解 流动 网格 归总 Fluent 选用 算法 梯度 方法

scheme

在数值计算的背景下,"Scheme"指的是用于对连续数学方程(如流体动力学方程和热传导方程)进行数值近似的方法。这些方案定义了如何通过离散的数值方法近似求解连续方程,包括以下几个方面:

  • 时间离散化:决定如何计算随时间变化的量,如一阶显式、一阶隐式、二阶隐式等方法。
  • 空间离散化:涉及到如何处理空间梯度和流体流动,包括迎风离散化(Upwind)、中心差分(Central Differencing)、高阶迎风(Higher-Order Upwind)等。
  • 压力-速度耦合:如SIMPLE、PISO等算法,这些方法用于求解流体流动中速度场和压力场的耦合问题。
  • 湍流模型离散化:确定如何近似湍流模型中的各种量,比如k-ε模型、k-ω模型、LES(大涡模拟)等的离散化方式。

压力速度耦合中的scheme

在ANSYS Fluent中,选择合适的压力-速度耦合算法(Scheme)是实现准确和高效模拟的关键。不同的耦合算法适用于不同的流动条件和问题类型,以下是几种常用的压力-速度耦合算法及其选择建议:

  1. SIMPLE算法(Semi-Implicit Method for Pressure-Linked Equations)
    适用情况:适合于稳态和不太复杂的瞬态流动问题。特别是对于低速、不可压缩流动,SIMPLE算法通常能提供良好的收敛性和效率。
    选择建议:如果你的模型是稳态的,或者是低速流动,并且对计算时间有较严格的要求,可以优先考虑SIMPLE算法。
  2. PISO算法(Pressure-Implicit with Splitting of Operators)
    适用情况:特别适合于处理高速流动、强烈旋转流动、以及高度非线性的瞬态流动问题。PISO算法对于瞬态问题提供了更快的收敛速度和更好的稳定性。
    选择建议:如果你的模拟是瞬态的,特别是涉及到复杂流动特性(如高速、高度旋转或强烈不稳定流动),PISO是更好的选择。
  3. SIMPLEC算法(SIMPLE-Consistent)
    适用情况:是SIMPLE算法的一个改进版本,提高了压力-速度耦合的一致性。适用于大多数流动问题,特别是当SIMPLE算法难以收敛时。
    选择建议:如果SIMPLE算法在某些情况下收敛性不佳,可以尝试SIMPLEC算法。它在保持计算效率的同时,可能提供更好的收敛特性。
  4. 面向耦合算法(Coupled Algorithm)
    适用情况:这是一种完全耦合的解算器,适用于求解可压缩和不可压缩流动。它特别适合于处理涉及密度变化显著的流动,例如跨音速或超音速流动。
    选择建议:如果你的流动问题涉及到显著的密度变化或是高速流动,尤其是在跨音速或超音速条件下,使用面向耦合算法可能更适合。

Flux type:rhie-chow:momentum based和distance based

在ANSYS Fluent中,Rhie-Chow插值是一种用来避免压力-速度耦合问题中的数值振荡的技术。它特别针对基于有限体积法的计算流体动力学(CFD)代码。原理上,它通过一种特殊的插值方法改善了压力场和速度场的耦合,减少了由于离散化而引入的误差。在Fluent中,Rhie-Chow插值有两种不同的应用方式:“基于动量的(Momentum-Based)”和“基于距离的(Distance-Based)”。

  1. 基于动量的(Momentum-Based)
  • 含义:这种方法在计算面上的速度时,考虑了面两侧(单元中心到面中心)的动量差异。这种方法通过直接考虑动量方程来改进速度的预测,使其更加准确地反映压力梯度的影响。
  • 适用情况:通常适用于处理较为复杂的流动,尤其是当流场中存在剧烈的压力梯度变化时。这种方法能够更好地捕捉流动中的细节,提高模拟的准确性。
  1. 基于距离的(Distance-Based)
  • 含义:这种方法在处理速度场时,考虑了从单元中心到面的几何距离。它通过调整计算面速度的方式,减少了由于网格不均匀引起的数值振荡。
  • 适用情况:特别适用于网格高度非结构化或网格质量不是很高的情况,因为它可以在这些情况下提供更稳定的解。

如何选择
选择哪种Rhie-Chow插值方法,主要取决于你的具体问题和网格类型:

  • 对于动量变化较大的流动:如果你的模拟问题中流动具有较大的动量变化或压力梯度变化,例如在流动分离或复杂几何结构附近,选择基于动量的方法可能更合适,因为它提供了更准确的流场预测。

  • 对于网格质量较低或高度非结构化的情况:如果你的计算域包含大量非结构化网格,或者网格质量不是特别高,基于距离的方法可能更优,因为它能提高这些情况下的计算稳定性。

空间离散化的梯度(Gradient)

在ANSYS Fluent中,空间离散化的梯度计算对模拟的准确性和稳定性至关重要。梯度计算用于求解流场中各物理量(如速度、温度、压力等)的空间变化率,是求解流体流动和热传递问题的基础。Fluent提供了多种梯度计算方法,每种方法都有其适用条件和特点。下面介绍常见的几种梯度离散化方法及其选择指南:

  1. Green-Gauss Node Based
  • 特点:这种方法基于节点值计算梯度,并使用格林-高斯定理在整个控制体上积分。它能提供较高的精确度,特别适用于非均匀或非结构化网格。
  • 选择建议:如果你的网格是非均匀或非结构化的,而且对解的准确性有较高要求,可以选择这种方法。
  1. Green-Gauss Cell Based
  • 特点:这种方法在每个控制体内部计算物理量的梯度,然后将这些梯度平均到节点上。它相对简单,计算效率较高,适用于多种类型的网格。
  • 选择建议:对于大多数问题,特别是当计算效率是主要考虑因素时,可以使用这种方法。它在结构化网格和质量较好的非结构化网格上都能提供可靠的结果。
  1. Least Squares Cell Based
  • 特点:利用最小二乘法在每个控制体上拟合梯度,提高了在不规则网格上的梯度计算准确性。
  • 选择建议:当网格质量变化较大,特别是在存在强烈梯度和复杂几何形状的流动问题上,使用最小二乘法可以提高计算的准确性。
  1. Least Squares Node Based
  • 特点:这种方法使用最小二乘法直接在节点上计算梯度,能够在非结构化或不规则网格上提供高精度的梯度估计。
  • 选择建议:在需要高精度梯度计算,且网格非常复杂(如细小的几何细节或高度不规则的网格)时,这种方法是一个好选择。

一阶精度和二阶精度

精度越高,计算越准确,但是所耗费的计算资源和成本也就越大,一阶精度稳定性比较好。对于计算中关心的参数可以选择二阶精度,其余选择一阶精度。

pseudo time method

伪时间步进方法(Pseudo Time Stepping Method)是一种数值计算技术,用于加速计算流体动力学(CFD)模拟中的收敛速度。这种方法通过引入一个虚构的时间维度来对稳态问题进行迭代,从而提高求解过程的稳定性和效率。伪时间步进方法特别适用于以下几种场景:

  1. 稳态问题的求解
    对于需要求解稳态流场的问题,伪时间步进方法可以提高求解过程的稳定性和收敛速度。通过在求解过程中逐步调整伪时间步长,可以有效地处理复杂的流动现象,如激波、分离流等,使求解过程更加稳定和高效。

  2. 大规模、复杂的几何结构
    在处理具有复杂几何结构的流动问题时,伪时间步进方法可以帮助管理求解过程中的数值挑战,如处理高度不规则的网格或在流动中存在的剧烈变化。这种方法有助于在没有牺牲太多计算时间的情况下保持数值解的稳定性。

  3. 高速流动
    伪时间步进方法适用于处理高速流动问题,如跨音速或超音速流动,其中可能涉及激波和压缩性效应。在这些情况下,伪时间步进可以帮助克服由于流动特性引起的数值挑战,加快收敛速度。

  4. 压力基耦合求解器
    在使用压力基耦合求解器(如SIMPLE、PISO等)求解流体流动问题时,伪时间步进方法可以作为加速技术来提高求解稳定性和效率。它对于加速初始阶段的收敛特别有效。

  5. 非线性问题的线性化
    对于涉及强烈非线性的问题,伪时间步进方法可以通过引入额外的时间维度来帮助线性化问题,从而简化求解过程。这对于一些涉及复杂物理过程和化学反应的流动模拟特别有用。

标签:求解,流动,网格,归总,Fluent,选用,算法,梯度,方法
From: https://www.cnblogs.com/bbhnqxx/p/18125693

相关文章

  • 飞天发布时刻丨阿里云 ApsaraMQ 全面升级,携手 Confluent 发布全新产品
    随着云计算和大数据的快速发展,云原生消息队列作为分布式系统架构中的关键组件,正以前所未有的速度向前发展。3月29日10:00,阿里云飞天发布时刻,阿里云消息队列服务将宣布向ApsaraMQ进行全面升级,实现全系产品Serverless化,并联合全球领先的数据流平台Confluent共同发布全新产......
  • The most influential person
    Inthecenterofanemptystage,amanstoodwithabrownfedorahatandabrownwindbreaker,holdingaredmicrophone.Surroundinghimwasavastredseaoffans.Heslowlyraisedthemicrophone,breakingthesilenceaftertheprevioussongended."......
  • spinlock和mutex选用方法
    资料参考:《宋宝华Linux设备驱动开发详解》 spinlock和mutex选用方法如下:1、当锁不能被获取到时,使用互斥体的开销仅仅是上下文切换,使用自旋锁的开销是等待获取自旋锁(由临界区的执行时间决定)。若临界区比较小,适合使用自旋锁。若临界区较大,适合使用互斥锁2、互斥锁所保护的临......
  • RSS Fever API 服务搭建避坑指南(FreshRSS + Fluent Reader, 2024年最新可用教程)
    1.适用人群需要通过RSS主动获取来自订阅源的信息,并且希望在多个设备上实现订阅源共享;拥有一台云服务器,并安装了Linux系统;能够访问谷歌。注意,这不是一篇非常详细的教程,对于教程中涉及的程序(如FreshRSS),官方和用户分别提供了充足的配置资料和经验分享,我会避免直接搬运它......
  • 在WinForms中的使用FluentScheduler实现定时任务
     在WinForm程序中使用 FluentScheduler框架实现一个多任务的定时执行功能。 1、使用Nuget安装 FluentScheduler包,默认使用最新稳定版2、以下是实现功能的代码:1usingSystem;2usingSystem.Windows.Forms;3usingFluentScheduler;45publicpartialclas......
  • C# WebApi定时任务FluentScheduler的使用
    第一步:通过NuGget包下载安装FluentScheduler包;第二步:在全局配置文件Global.asax中注册定时任务,方法如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Http;usingSystem.Web.Routing;usingFluentScheduler;......
  • fluentd 报错处理
    一些问题的处理方式记录failedtoreaddatafrompluginstoragefilepath="/var/log/kernel.pos/worker0/storage.json"error_class=Fluent::ConfigErrorerror="Invalidcontents(notobject)inpluginstoragefile:'/var/log/kernel.pos/worker0/storage......
  • 云消息队列 Confluent 版正式上线!
    作者:阿里云消息队列前言在2023年杭州云栖大会上,Confluent成为阿里云技术合作伙伴,在此基础上,双方展开了深度合作,并在今天(3月1日)正式上线“云消息队列Confluent版”。通过将 Confluent在ApacheKafka领域的专业技术及实战经验与阿里云强大的云基础设施及服务体系相结合,......
  • 引入JavaScript自定义提示信息(账户密码不为空,必须勾选用户协议)
     当不输入用户或密码就登录时不勾选用户协议就登录时form表单的修改,引入了onsubmit控件,提交表单时,调用validateForm函数<formaction="/home"method="post"onsubmit="returnvalidateForm()">validateForm函数内容functionvalidateForm(){//验证用户名和密......
  • 在k8S中,Fluentd的工作原理是什么?
    在Kubernetes(k8s)中,Fluentd作为日志收集器和转发器,其工作原理主要包括以下几个关键步骤:数据收集:Fluentd在Kubernetes集群中通常以DaemonSet形式部署,确保每个Node节点上都有一个Fluentd实例运行。Fluentd使用输入插件(InputPlugins)从各个容器的日志源获取数据......