自然界和工程问题中会遇到大量的多相流动。物质一般具有气态、液态和固态三相,但是多相流系统中相的概念具有更为广泛的意义。在多项流动中,所谓的“相”可以定义为具有相同类别的物质,该类物质在所处的流动中具有特定的惯性响应并与流场相互作用。比如说,相同材料的固体物质颗粒如果具有不同尺寸,就可以把它们看成不同的相,因为相同尺寸粒子的集合对流场有相似的动力学响应。本章大致介绍一下Fluent中的多相流建模。
多相流动模式
我们可以根据下面的原则对多相流分成四类:
气-液或者液-液两相流:
气泡流动:连续流体中的气泡或者液泡。液滴流动:连续气体中的离散流体液滴。活塞流动:在连续流体中的大的气泡
分层自由面流动:由明显的分界面隔开的非混合流体流动。气-固两相流:
充满粒子的流动:连续气体流动中有离散的固体粒子。气动输运:流动模式依赖诸如固体载荷、雷诺数和粒子属性等因素。最典型的模式有沙子的流动,泥浆流,填充床,以及各向同性流。
流化床:由一个盛有粒子的竖直圆筒构成,气体从一个分散器导入筒内。从床底不断充入的气体使得颗粒得以悬浮。改变气体的流量,就会有气泡不断的出现并穿过整个容器,从而使得颗粒在床内得到充分混合。液-固两相流
泥浆流:流体中的颗粒输运。液-固两相流的基本特征不同于液体中固体颗粒的流动。在泥浆流中,Stokes数通常小于1。当Stokes数大于1时,流动成为流化(fluidization)了的液-固流动。
水力运输: 在连续流体中密布着固体颗粒
沉降运动: 在有一定高度的成有液体的容器内,初始时刻均匀散布着颗粒物质。随后,流体将会分层,在容器底部因为颗粒的不断沉降并堆积形成了淤积层,在顶部出现了澄清层,里面没有颗粒物质,在中间则是沉降层,那里的粒子仍然在沉降。在澄清层和沉降层中间,是一个清晰可辨的交界面。
三相流 (上面各种情况的组合)
多相系统的例子
气泡流例子:抽吸,通风,空气泵,气穴,蒸发,浮选,洗刷
液滴流例子:抽吸,喷雾,燃烧室,低温泵,干燥机,蒸发,气冷,刷洗
活塞流例子:管道或容器内有大尺度气泡的流动
分层自由面流动例子: 分离器中的晃动,核反应装置中的沸腾和冷凝
粒子负载流动例子:旋风分离器,空气分类器,洗尘器,环境尘埃流动
风力输运例子:水泥、谷粒和金属粉末的输运流化床例子:流化床反应器,循环流化床泥浆流例子: 泥浆输运,矿物处理
水力输运例子:矿物处理,生物医学及物理化学中的流体系统
沉降例子:矿物处理
多相建模方法
计算流体力学的进展为深入了解多相流动提供了基础。目前有两种数值计算的方法处理多相流:欧拉-拉格朗日方法和欧拉-欧拉方法。
欧拉-拉格朗日方法
在Fluent中的拉格朗日离散相模型遵循欧拉-拉格朗日方法。流体相被处理为连续相,直接求解时均纳维-斯托克斯方程,而离散相是通过计算流场中大量的粒子,气泡或是液滴的运动得到的。离散相和流体相之间可以有动量、质量和能量的交换。
该模型的一个基本假设是,作为离散的第二相的体积比率应很低,即便如此,较大的质量加载率()仍能满足。粒子或液滴运行轨迹的计算是的,它们被安排在流相计算的指定的间隙完成。这样的处理能较好的符合喷雾干燥,煤和液体燃料燃烧,和一些粒子负载流动,但是不适用于流-流混合物,流化床和其他第二相体积率不容忽略的情形。
欧拉-欧拉方法
在欧拉-欧拉方法中,不同的相被处理成互相贯穿的连续介质。由于一种相所占的体积无法再被其他相占有,故此引入相体积率(phasicvolume fraction)的概念。体积率是时间和空间的连续函数,各相的体积率之和等于1。从各相的守恒方程可以推导出一组方程,这些方程对于所有的相都具有类似的形式。从实验得到的数据可以建立一些特定
的关系,从而能使上述方程封闭,另外,对于小颗粒流(granularflows),则可以通过应用分子运动论的理论使方程封闭。
在FLUENT中, 共有三种欧拉-欧拉多相流模型,分别为:流体体积模型(VOF),混合物模型,以及欧拉模型。
VOF模型
所谓VOF模型,是一种在固定的欧拉网格下的表面跟踪方法。当需要得到一种或多种互不相融流体间的交界面时,可以采用这种模型。在VOF模型中,不同的流体组分共用着一套动量方程,计算时在全流场的每个计算单元内,都记录下各流体组分所占有的体积率。VOF模型的应用例子包括分层流,自由面流动,灌注,晃动,液体中大气泡的流动,水坝决堤时的水流,对喷射衰竭(jet breakup)(表面张力)的预测,以及求得任意液-气分界面的稳态或瞬时分界面。
混合物模型
混和物模型可用于两相流或多相流(流体或颗粒)。因为在欧拉模型中,各相被处理为互相贯通的连续体,混和物模型求解的是混合物的动量方程,并通过相对速度来描述离散相。混合物模型的应用包括低负载的粒子负载流,气泡流,沉降,以及旋风分离器。混合物模型也可用于没有离散相相对速度的均匀多相流。
欧拉模型
欧拉模型是Fluent中最复杂的多相流模型。它建立了一套包含有n个的动量方程和连续方程来求解每一相。压力项和各界面交换系数是耦合在一起的。耦合的方式则依赖于所含相的情况,颗粒流(流-固)的处理与非颗粒流(流-流)是不同的。对于颗粒流,可应用分子运动理论来求得流动特性。不同相之间的动量交换也依赖于混合物的类别。通过FLUENT的客户自定义函数(user-defined functions),你可以自己定义动量交换的计算方式。欧拉模型的应用包括气泡柱,上浮,颗粒悬浮,以及流化床。
多相流模型的选择基本原则
通常,你一旦决定了采用何种模式最能符合实际的流动,那么就可以根据以下的原则来挑选最佳的模型。更为具体的指导,包括如何选择含有气泡,液滴和粒子的流动模型可以参见下面的细节指导。
对于体积率小于10%的气泡、液滴和粒子负载流动,采用离散相模型。具体内容参见第19章。
对于离散相混合物或者单独的离散相体积率超出10%的气泡、液滴和粒子负载流动,采用混合物模型或者欧拉模型。
混合模型(Mixture Model)
与VOF模型一样,混合模型使用单流体方法。它有两方面不同于VOF模型:
1、混合模型允许相之间互相贯穿(interpenetrating)。所以对一个控制容积的体积分数可以是0和1之间的任意值,取决于相和相所占有的空间。
2、混合模型使用了滑流速度的概念,允许相以不同的速度运动。(注,相也可以假定以相同的速度运动,混合模型就简化为均匀多相流模型)。
3、混合模型求解混合相的连续性方程,混合的动量方程,混合的能量方程,第二相的体积分数方程,还有相对速度的代数表达(如果相以不同的速度运动)。
欧拉模型(Eulerian Model)
单相模型中,只求解一套动量和连续性的守恒方程,为了实现从单相模型到多相模型的改变,必须引入附加的守恒方程。在引入附加的守恒方程的过程中,必须修改原始的设置。这个修改涉及到多相体积分数的引入和相之间动量交换的机理紊流模型(Turbulence Models)
为了描述单相中速度及标量的紊流、波动的影响,FLUENT使用了不同类型的封闭模型。与单相流动相比,多相流动动量方程中所模拟的项数是非常大的,这使得多相流模拟中的紊流模型非常复杂。
在模型内FLUENT提供了三种方法模拟多相流中的紊流:1. mixture turbulence model (default)2. dispersed turbulence model
3. Turbulence model for each phase
模型的选择依赖于你的应用中第二相紊流的重要性。
!!注:下面给出的每一种方法的描述都是基于标准模型。多相修正为RNG和realizable 模型是相似的,因此这里不在明确地给出。混合紊流模型(Mixture Turbulence Model)
混合紊流模型是默认的多相紊流模型。它代表了单相模型的第一扩展,它应用于相分离,分层(或接近分层)的多相流,和相之间的密度比接近1。这种情形下,使用混合属性和混合速度捕获紊流的重要特征是足够的。
分散紊流模型(Dispersed Turbulence Model)
当第二相的浓度稀时,分散紊流模型是合适的模型。这种情形下,颗粒间的碰撞可忽略而对第二相随机运动的起支配作用的是主相紊流的影响。所以第二相的波动量根据主相的平均特征和颗粒弛豫时间和粒子
相互作用时间的旋涡给出。
当明显地有一个主连续相和其它的是分散稀释的第二相时,这个模型是适用的。
每相的紊流模型(Turbulence Model for Each Phase)
最普通的多相紊流模型为每一相求解一套输运方程。当紊流传递在相间起重要作用时,这个紊流模型是合适的选择。
注:由于FLUENT为每个第二相求解两个附加的输运方程,每相的紊流模型比分散相紊流模型大大地增加了计算的强度。
对于活塞流,采用VOF模型。
对于分层/自由面流动,采用VOF模型。
对于气动输运,如果是均匀流动,则采用混合物模型;如果是粒子流,则采用欧拉模型。对于流化床,采用欧拉模型模拟粒子流。
对于泥浆流和水力输运,采用混合物模型或欧拉模型对于沉降,采用欧拉模型。
对于更加一般的,同时包含若干种多相流模式的情况,应根据最感兴趣的流动特征,选择合适的流动模型。此时由于模型只是对部分流动特征做了较好模拟,其精度必然低于只包含单个模式的流动
细节指导
对于分层流和活塞流,最直接的就是选择VOF模型。选择其他的模型就不那么直接。一般来说,下面的一些参数可以帮助选择合适的多相流模型: 粒子的加载率,, 和斯托克斯数, St。 (注意:这里“颗粒”一词泛指粒子,液滴和气泡)
粒子加载率的影响
粒子加载率对相之间的影响具有很大的作用。颗粒加载率定义为离散相的质量密度( d)和载体相的质量密度( c)之比:
物质密度比为:
气-固两相流中它大于1000,液-固两相流中在1左右,而气-液两相流中小于0.001。
利用这些参数,就可以估计粒子相中粒子之间的平均间隔距离。下面是由Crowe et al.给出的一种估计方法:
其中。 这些参数的信息对于决定如何来处理离散相是非常重要的。例如,对于某种气体-颗粒流动,其粒子加载率为1,那么粒子间距就等于8;于是粒子就可以看成相互孤立的 (也就是说,粒子加载率很低)。
根据粒子加载率的不同,相之间的影响程度可以分为三类:
对于低加载率,相之间的耦合作用是单向的;就是说,作为载体的流体介质可以通过推动和涡漩影响粒子的运动,但是
粒子对流体运动却没有影响。离散相,混合物以及欧拉模型都可以很好的处理这一类问题。由于欧拉模型是最消耗资源的,故此离散相和混合物模型相对更为合适。
对于中等的加载率,耦合作用成为双向的;就是说,流体通过推动和涡漩影响粒子运动的同时粒子反过来也通过消耗平均动量和涡漩来影响流动。离散相,混合物和欧拉模型都可以应用于这种情况,但是你需要考虑其他的一些影响因素来决定采用何种模型更为合适。可利用下文将要介绍的斯托克斯数作为判断的准则。
对于高加载率,在双向影响的基础上还有粒子压力和由粒子引起的粘性应力的耦合(是四向的耦合)。只有欧拉模型才能正确的处理此类问题了。
斯托克斯数的重要意义
对于具有中等粒子加载率的系统,通过估计斯托克斯数的大小可以帮助你选择合适的模型。斯托克斯数可以根据粒子响应时间和系统响应时间的关系来定义:
其中,而是根据所考察系统的特征长度()和特征速度()来定义的。
对于的情况,对载流而言,粒子将具有很好的跟随性,所以三种模型(离散相,混合物和欧拉模型)都可以采用,于是你可以选择最节省资源的模型(通常为混合物模型),或者根据到其他的因素选择最为合适的。对于的情况,粒子将于流场运动,此时选用离散相模型和欧拉模型比较合适。对于的情况,三种模型又都可以采用了,可以根据情况选择最节省资源的或者最为合适的的模型。
例子
某选矿器,特征长度为1 m,特征速度为10 m/s,于是对于直径为30微米的粒子,其斯托克斯数为0.04,而对于300微米的粒子,其斯托克斯数为4.0。显然,混合物模型就不适用于后者。
某矿处理机,特征长度为0.2 m,特征速度为2 m/s,则对300微米的粒子,斯托克斯数为0.005。在此情况下,你可以选择混合物模型或者欧拉模型。(因为粒子体积率太高,采用离散相模型是不适合的,见下文所述)
其他考虑因素
牢记一点,即离散相模型只适用于低体积率的情况。但同时,也只有离散相模型才允许你指定颗粒的分布或者在多相流模型中同时加入燃烧模型。
使用一般多相流模型的步骤(Steps for Using the GeneralMultiphase Models)
1.选中你想要使用的多相流模型(VOF, mixture, or Eulerian)并指定相数。对VOF模型,也指定VOF公式。DefineModels
Multiphase...
如果你选的是VOF模型,输入如下:
number of phases
VOF formulation (see Section 20.6.4)
(optional) implicit body force formulation (see Section 20.6.11)
如果你选择的是混合模型,输入如下:
number of phases
whether or not to compute the slip velocities (see Section 20.6.5)(optional) implicit body force formulation (see Section 20.6.11)(optional) cavitation effects (see Section 20.6.6)
如果你选的欧拉模型,输入如下:
number of phases
(optional) cavitation effects (see Section 20.6.6)
为了给多相流计算指定相数,在Number of Phases下输入合适的值。你最多可以指定20相。
2.从材料库中复制描述每相的材料。Define
Materials...
如果你使用的材料在库中没有,应创建一种新材料。关于为可压缩相(VOF and mixture models only)指定材料属性的详细内容如下:
如果你使用的是VOF或mixture模型为可压缩流动,注意如下:★ 只有相中的一个是可压缩的(也就是只有一相材料的密度你可以选
用理想气体定律)。
★ 如果你使用的是VOF模型,由于稳定性的原因,如果主相是可压缩的
会更好(尽管是不需要的)。
如果你在边界上指定总压力(也就是pressure inlet or intake fan),在那个边界上的具体的温度值对于可压缩相将会使用total temperature,而对其他相使用static temperature(它们是不可压缩的)
注意:如果你的模型中含有微粒(granular)相,你必须在fluid materialscategory中为它创建新材料(not the solid materials category)
3.定义相,指定相间的相互作用(interaction)(例如,使用OVF模型时的表面张力(surface tension),使用混合模型时的滑流速度,使用欧拉模型时的drag functions)Define
Phases...
为VOF模型定义相(Defining Phases for the VOF Model)
在VOF计算中为主相和第二相指定必要的信息和它们的相互作用的说明由下面给出。
!!通常,你可以你喜欢的任何方式指定主相和第二相。考虑你的选择如何影响问题的设置是一种很好的主意,特别是在复杂的问题中。例如,对区域一部分中的一相,如果你计划patch其初始体积份额为1,指定这个相为第二相更方便。同样,如果一相是可压缩的,为了提高解的稳定性,建议你指定它为主相。
!!记住,只能有一相是可压缩的。确定你没有选择可压缩材料(也就是对密度使用可压缩理想气体定律的材料)为多于一相的。
!!注意如果你在表面张力有重大影响的计算区域内使用四边形或六边形网格,表面张力影响的计算会更精确。如果你在整个区域内不使用四边形或六边形网格,那么你应当使用在影响区域内用四边形或六边形的混合网格。
如果你想包含沿着一对或多对相的界面上的表面张力的影响,如在Section 20.2.8中述的,点击Interaction... to open the Phase Interactionpanel.
包含沿着一对或多对相界面上表面张力(and, if appropriate, walladhesion))的影响,遵循以下步骤:1. Turn on the Surface Tension option.
2. 如果你想包含壁面黏附的,turn on the Wall Adhesion option. (When
Wall Adhesion is enabled, you will need to specify the contact angle ateach wall as a boundary condition。
对于你想包含表面张力影响的每一对相,指定一个常数表面张力系数。默认情况,所有表面张力系数都为零,表示沿着两相界面上没有表面张力。
!!对于涉及到表面张力的计算,建议你在Multiphase Modelpanel中为Body Force Formulation打开Implicit Body Force。这样做由于压力梯度和动量方程中表面张力的部分平衡,从而提高了解的收敛性。
定义混合模型中的相(Defining Phases for the Mixture Model)
在混合模型计算中为主相和第二相指定必要的信息和它们的相互作用的说明由下面给出。
!!记住,只能有一相是可压缩的。确定你没有选择可压缩材料(也就是对密度使用可压缩理想气体定律的材料)为多于一相的。
如果你在混合计算中要求解滑流速度,你想指定滑流速度的定义,click Interaction... to open the Phase Interaction panel在Slip Velocity下面,你可以通过在附近下拉列表中选择合适的项目给与主相相关的第二相指定滑流速度函数。
1. Select maninnen-et-al (the default) to use the algebraic slip
method of Manninen et al.
2. Select none if the secondary phase has the same velocity as the
primary phase (i.e., no slip velocity).
3、Select user-defined to use a user-defined function for the slipvelocity. See the separate UDF Manual for details.
定义欧拉模型中的相(Defining Phases for the Eulerian Model)
在欧拉多相流计算中为主相和第二相指定必要的信息和它们的相互作用的说明由下面给出。
在欧拉多相流计算中定义非颗粒(即液体或气体)第二相时,不打开Granular选项即可。
在欧拉多相流计算中定义颗粒第二相时,打开Granular选项,然后依次来定义:
Diameter
指定颗粒的直径。 You can select constant in the drop-down list andspecify a constant value, or select user-defined to use a user-definedfunction. See the separate UDF Manual for details about user-definedfunctions.
Granular Viscosity
指定颗粒的颗粒粘度的运动部分(in Equation 20.4-50)。You canselect constant (the default) in the drop-down list and specify a constant
value, select yamlal-obrien to compute the value using Equation 20.4-52, select gidaspow to compute the value using Equation 20.4-53,or select user-defined to use a user-defined function.Granular Bulk Viscosity
specifies the solids bulk viscosity (in Equation 20.4-8). You can selectconstant (the default) in the drop-down list and specify a constant value,select lun-et-al to compute the value using Equation 20.4-54, or selectuser-defined to use a user-defined function.Frictional Viscosity
specifies a shear viscosity based on the viscous-plastic flow (in Equation 20.4-50). By none in the drop-down list. If you want to include the fricdefault, the frictional viscosity is neglected, as indicated by the defaultselection of tional viscosity, you can select Equation constant andspecify a constant value, select schaeffer to compute the value using20.4-55, or select user-defined to use a user-defined function.Angle of Internal Friction
specifies a constant value for the angle used in Schaeffer's expression forfrictional viscosity (Equation 20.4-55). This parameter is relevant only ifyou have selected schaeffer or user-defined for the Frictional Viscosity.Packing Limit
specifies the maximum volume fraction for the granular phase (). Formonodispersed spheres the packing limit is about 0.63, which is thedefault value in FLUENT. In polydispersed cases, however, smallerspheres can fill the small gaps between larger spheres, so you may needto increase the maximum packing limit.
对颗粒和非颗粒流动,你必须指定在动量交换系数的计算中使用的曳力函数。对颗粒流,你也必须指定颗粒碰撞的归还系数(restitutioncoefficients)。为颗粒和非颗粒流动包含可选的升力和虚拟质量力(下面描述)也是可能的。为指定这些参数,click Interaction... to open thePhase Interaction panels
Specifying the Drag Function
FLUENT允许你为一对相指定曳力函数,步骤如下:
1.Click the Drag tab to display the Drag Function inputs.2. 对每一对相,从下面相应的列表中选择合适的曳力函数。
(1) Select schiller-naumann to use the fluid-fluid drag
function described by Equation 20.4-19. The Schiller andNaumann model is the default method, and it is acceptablefor general use in all fluid-fluid multiphase calculations.
(2) Select morsi-alexander to use the fluid-fluid drag
function described by Equation 20.4-23. The Morsi andAlexander model is the most complete, adjusting thefunction definition frequently over a large range ofReynolds numbers, but calculations with this model maybe less stable than with the other models.
(3) Select symmetric to use the fluid-fluid drag function
described by Equation 20.4-28. The symmetric model isrecommended for flows in which the secondary(dispersed) phase in one region of the domain becomes theprimary (continuous) phase in another. For example, if airis injected into the bottom of a container filled halfwaywith water, the air is the dispersed phase in the bottom half
of the container; in the top half of the container, the air is
the continuous phase
(4) Select wen-yu to use the fluid-solid drag function
described by Equation 20.4-40. TheWen and Yu modelis applicable for dilute phase flows, in which the totalsecondary phase volume fraction is significantly lower
than that of the primaryphase.
(5) Select gidaspow to use the fluid-solid drag function
described by Equation 20.4-42. The Gidaspow model isrecommended for dense fluidized beds.
(6) Select syamlal-obrien to use the fluid-solid drag function
described by Equation 20.4-32. The Syamlal-O'Brienmodel is recommended for use in conjunction with theSyamlal-O'Brien model for granular viscosity.
(7) Select syamlal-obrien-symmetric to use the solid-solid
drag function described by Equation 20.4-44. Thesymmetric Syamlal-O'Brien model is appropriate for a pairof solid phases.
(8) Select constant to specify a constant value for the drag
function, and then specify the value in the text field.
(9) Select user-defined to use a user-defined function for the
drag function (see the separate UDF Manual for details).
(10) If you want to temporarily ignore the interaction between
two phases, select none.
.
Specifying the Restitution Coefficients (Granular Flow Only)
对颗粒流,你必须为颗粒间的碰撞指定归还系数(in Equation 20.4-44 and in Equation 20.4-45)。除了为每一对颗粒相之间的碰撞指定归还系数外,你也得为同相颗粒之间的碰撞指定归还系数。
步骤如下:
1. Click the Collisions tab to display the Restitution Coefficient inputs.
2.For each pair of phases, specify a constant restitution coefficient. Allrestitution coefficients are equal to 0.9 by default.
Including the Lift Force
对颗粒和非颗粒流,在第二相颗粒、液滴、或气泡中包含升力(inEquation 20.4-10)的影响是可能的。这些升力作用于颗粒、液滴或气泡
主要是由于主相流场中的速度梯度。在大多数情形下,升力与曳力相比是不重要的,因此没必要包含它,如果升力重要(也就是说,如果相很快分离),你可以包含这个影响。
!!注意对大颗粒,升力更重要,但是FLUENT模型假设粒子直径远小于粒子间距离。这样对接近充满的颗粒(closely packed particles)或者小颗粒,包含升力是不合适的。
包含升力影响的步骤如下:
1. Click the Lift tab to display the Lift Coefficient inputs.
2. 对每一对相,从下面相应的列表中选择合适的指定方法。注意,既
然作用于颗粒、液滴或气泡的升力主要是由于主相流场中的速度梯度,你不必为存在于两个第二相间的每对相指定升力系数;只对存在于第二相和主相之间的每对相指定升力系数。
(1) Select none (the default) to ignore the effect of lift forces.
(2) Select constant to specify a constant lift coefficient, and then specify
the value in the text field.
(3) Select user-defined to use a user-defined function for the lift
coefficient (see the separate UDF Manual for details).Including the Virtual Mass Force
对颗粒和非颗粒流,当第二相相对于主相加速时包含存在的虚拟质量力(in Equation20.4-11)是可能的。当第二相的密度远小于主相的密度时虚拟质量的影响是重要的(也就是对瞬态泡状柱流(transientbubble column))。
包含虚拟质量力的影响,turn on the Virtual Mass option in thePhase Interaction panel.
虚拟质量力的影响被包含在所有第二相内;使它仅为颗粒相是不可能的。
Including Body Force(包含体积力)
在许多情况下,相的运动部分是由于重力的影响。为了包含这个体积力,应在Operating Conditions panel下选择Gravity并且指定Gravitational Acceleration.
DefineOperating Conditions...
对于VOF计算,你应当在Operating Conditions panel下选择Specified Operating Density,并且在Operating Density 下为最轻相设置密度。(这种排除了水力静压的积累,提高了round-off精度为动量平衡)。如果任何一相都是可压缩的,设置Operating Density为
零。
!!对于涉及体积力的VOF 和mixture计算,建议你在MultiphaseModel panel下为Body Force Formulation选择Implicit Body Force.这种处理通过解决压力梯度和动量方程中体积力的部分平衡提高了解的收敛。
4.(仅对欧拉模型)如果流动是紊流,定义多相紊流模型。DefineModels
Viscous...
5.如果体积力存在,turn on gravity and specify the gravitationalacceleration.DefineOperating Conditions...
6.指定边界条件,包括第二相体积份额在流动边界和(如果在VOF模拟中你模拟壁面附近)壁面上的接触角。 Define
Boundary Conditions...
多相流边界条件的设置在Boundary Conditions panel中进行,但是设置多相流边界条件的步骤与单相流模型有些不同。你必须分别为各个相设置一些条件,而其他的条件是所有相(也就是mixture)所共享的。
!!对于VOF计算,如果你在Phase Interaction 面板中选择了WallAdhesion,你能在wall上指定接触角为每一对相。
接触角()就是壁面和接触面切线的夹角,量度了在Wall面板的成对的列表中第一相的值。例如,如果你设置oil和air相的接触角在Wall面板中, 量度在oil相内。
对于所有对默认值是90度,就是没有壁面支持的影响(也就是,接触面垂直于支持面)。例如,接触角为45度,相当于水沿着容器面爬行,通常是水在玻璃上。
!!注意:当你选择了单相中的一个(而不是mixture),只有一类区域出现在Type列表中。在给定的边界上是不可能指定phase-specificzone类的,这种区域类型是为mixture指定的,它也适用于所有的单相。7.设置模拟具体的解参数 SolveControls
Solution...
VOF模型的求解策略(Solution Strategies for the VOF Model)
为了提高VOF模型求解的精度和收敛性,几条建议列举如下:
Setting the Reference Pressure Location
参考压力的位置应该移动到能减少压力计算的位置。默认的情况,参考压力的位置在单元中心或靠近点(0,0,0)。你可以通过指定新的Reference Pressure Location在Operating Conditions panel.中移动这个位置。
Define
Operating Conditions...
你选择的位置应当在这样的区域,那里总是包含密度最小的流体(也就是,气相,如果你计算的有一个气相和一个或多个液相)。这是因为当给定相同的速度分布时高密度流体的静压变化大于低密度流体。如果相对压力为零的区域出现在压力变化小的区域,将比压力变化出现在大的非零值的区域带来少的计算量。例如,在包含空气和水的系统,参考压力的位置选在充满空气的区域而不选在充满水的区域是非常重要的。
Pressure Interpolation Scheme
对所有的VOF计算,你应当使用body-force-weighted interpolation scheme or the PRESTO! scheme.
pressure
SolveControls
Solution...
Discretization Scheme Selection for the Implicit and EulerExplicit Formulations
当the implicit or Euler explicit scheme使用时,为了提高相间界面的清晰度(sharpness)你应当采用second-order or QUICK discretizationscheme为volume fraction equations。
SolveControls
Solution...
Pressure-Velocity Coupling and Under-Relaxation for the Time-Dependent Formulations
设置求解器的另一个变化是在你使用的速度压力耦合方案和欠松弛因子中。通常瞬变流计算建议采用PISO方案。使用PISO时允许增加所有欠松弛因子的值,而不会减弱解的稳定。通常你能增加所有变量的欠松弛因子到1并且能达到预期的稳定和收敛速度(要求每一时间步内用较少的迭代次数)。对于在四边形和三角形网格上的计算,用PISO方案时为了提高稳定性建议为压力选欠松弛因子为0.7-0.8。
SolveControls
Solution...
当用FLUENT进行任何模拟时,如果欠松弛因子设置为1时,解出现不稳定、发散行为,欠松弛因子必须减小。提高稳定性的另一个方法是减小时间步长。
Under-Relaxation for the Steady-State Formulation
如果你使用稳态隐式的VOF方案,为了提高稳定性,所有变量的欠松弛因子应设置在0.2~0.5之间。
混合模型的求解策略(Solution Strategies for the Mixture Model)
Setting the Under-Relaxation Factor for the Slip Velocity
你应当为滑流速度选用较低的欠松弛因子开始混合模型的计算。建议采用0.2或更小。如果解显示出好的收敛行为,你可逐渐增加这个值。
Calculating an Initial Solution
对某些情况(如旋风分离),如果开始计算时不求解体积份额和滑流速度方程,你会更快的获得解。一旦你启动了混合模型,你能暂时是这些方程无效而开始初始计算。
SolveControlsSolution...
在Solution Controls panel下,在Equations列表下不选VolumeFraction 和Slip Velocity.这样你开始计算初始流场。一旦收敛的流场获得了,你再打开Volume Fraction 和Slip Velocity方程,开始混合计算。
欧拉模型的求解策略(Solution Strategies for the Eulerian Model)
Calculating an Initial Solution
为了提高收敛性,在求解完整欧拉多相流模型前你可以先获得初始解。有两种方法你可以用来为欧拉多相流计算获得初始解:
1. 启动和求解问题用混合模型(选或不选滑流速度都可)代替欧拉模
型。然后启动欧拉模型,完成设置,采用混合模型的解作为起点继续计算。
2. 通常启动欧拉多相流计算,但是仅计算主相的流动。这样做时,
在Solution Controls panel的Equations下面不选Volume Fraction. 一旦你为主相获得了初始解,打开volume fraction 方程继续为各相计算。
!!注意:没有获得用混合模型或欧拉模型作为欧拉多相流模型的初始解,你不应该使用单相解。这样做,不能提高收敛性,可能会给流动的收敛带来更多的困难。
Temporarily Ignoring Lift and Virtual Mass Forces
如果你计划在稳态欧拉多相流模拟中包含升力和虚拟质量力,你经常减弱问题的稳定性,这有时发生在计算的早期阶段,是由于暂时忽略了升力和虚拟质量力引起的。一旦没有这些力的解开始收敛,你可以打断计算,合适地定义这些力,继续计算。8.初始化解和为第二相设定初始体积份额。 SolveInitialize
Patch...
设置初始容积比率
一旦你初始化了流动,你就能定义相的初始分布。对于瞬态模拟,这个分布将作为初始条件在t=0时刻;对于稳态模拟,设置初始分布在计算的早期阶段能提供更多的稳定性。
你可以使用Patch 面板为第二相修订( patch)初始容积比率。
SolveInitializePatch...
Patching Values in Selected Cells
一旦你初始化或者计算了全流场,你就可以为不同单元中特定的变量修补不同的值。例如,如果你有多重流体区域,你可能想要在不同的
区域修补不同的温度值。你也可以选择修补自定义流场函数(用自定义流场函数计算面板定义的)而不是修补一个常数值。如果你修补速度,你可以标明所指定的值是绝对速度或者相对于单元区域的速度。所有的修补操作都在下面的面板中进行。菜单:Solve/Initialize/Patch...。1. 在变量列表中选择要修补的变量。
2. 在Zones To Patch和/或Registers To Patch列表中选择你想要对所选变量修补数值的一个或多个区域和/或寄存器。
3. 如果你想要简单的修补一个常数值,只需要在数值框中输入相应数值就可以了。如果你想要修补先前定义的流场函数,请打开使用流场函数选项然后在流场函数列表中选择适当的函数。
4. 如果你在变量列表中选择了速度,而且你的问题包括移动参考系或者滑动网格,你可以在参考系框中选择绝对或者相对于单元区域来标明你所修补的速度是绝对速度还是相对于所选择的每一个单元区域的运动的速度(如果所解决的问题中没有区域运动,这两个选项是等价的)FLUENT中默认的速度修补参考系是相对参考系。如果解在你的大多数区域中是旋转的,使用相对选项可能比绝对选项更好一些。
5. 点击修补按钮更新流场数据(注意:修补不会对迭代或者时间步计数有影响)。
如果你想修订容积比率的区域已经作为隔离的单元区被定义,你只能修订那个地方的值。否则,你可以创建一个包括合适单元的“寄存器”并在这个寄存器 中修订值。使用寄存器
在单元寄存器中进行修补可以使我们灵活的在一个单元区域内修补不同的值。例如,你可能对某一组分只在具有特定浓度范围的流体单元内修补某一个特定值。你可以用适应中用于标记单元的功能创建一个单元寄存器(基本上是单元的一个列表)。这些功能允许你在物理位置,单元体积,梯度或者某一特定变量的等值线以及其它参数的基础上标记单元。关于适应中标记单元的信息请参阅网格适应一章。管理适应寄存器提供了关于操纵不同的寄存器创建新的寄存器的相关信息。一旦你创建了一个寄存器,你就可以用在选择的单元中修补数值一节中所介绍的方法来修补数值。
9.计算求解和检查结果
欧拉多相流模拟的附加指南(Additional Eulerian Multiphase Simulations)
Guidelines for
一旦你决定了欧拉多相流模型适合你的问题,你应当考虑求解你的
多相流问题的需求计算能力。要求的计算能力很强的依赖于所求解的输运方程的个数和耦合程度。对欧拉多相流模型,有大数量的高度耦合的输运方程,计算的耗费将很高,在设置你的问题前,尽可能减少问题的statement到最简化的可能形式。
在你开始第一次求解尝试,取而代之尽力去求解多相流动的所有的复杂方面,你可以以简单近似地开始并且知道问题定义的最终形式。简化多相流问题的一些建议列举如下:
使用六面体或四边形网格(而不用四面体或三角形网格)。减少相的数目。
你会发现即使简单的近似也会给你的问题提供有用的信息。
解的动画显示
在计算过程中,你可以用FLUENT做等值线、矢量、XY图、监视图(残差、统计、力、曲面或者体积)或者网格(主要对于动网格模拟有用)的动画。在开始计算之前,你需要指定要做动画的显示变量和绘图类型,并指定绘图保存的频率。在指定的间隔中,FLUENT会显示被请求的绘图并存储每一个。完成计算之后,你可以回放动画序列,修改视角(对于网格、等值线和矢量的图),需要的话,可以可以将动画保存为一序列的硬拷贝文件或者MPEG文件。
下面几节将会介绍解动画序列的定义、回放和保存动画序列,读入先前保存的动画序列等内容。1 定义动画序列
你可以使用解动画面板来创建动画序列并标明序列帧创建的频率。动画序列面板(下图)是从解动画面板打开的,它允许你定义每一个序列显示什么,在哪里显示以及每个帧如何存储。
你需要在解动画面板中开始动画序列的定义。菜单:Solve/Animate/Define...。
程序如下:
1. 增加动画序列值为你希望指定的动画序列数目。当增加这个值时,面板中附加的动画序列输入变成可编辑的。对于每一个序列,你需要执行下面的步骤。
2. 在名字标题中输入序列的名字。这个名字在回放面板中会作为辨别序列的依据。如果你将序列帧保存到磁盘,这个名字也用作文件名的前缀。
3. 你可以在Every下面设定迭代并在When下面的下拉列表中选择迭代或者时间步来标明在序列中所要创建新的帧的频率。其中时间步只是对非定常流才是有效的选择。例如,要创建每10个时间步的帧,你需要在Every下面输入10并在When下面选择时间步。
4. 点击Define...按钮打开动画序列面板(下图)
5. 在动画面板中定义序列参数(a) 在存储类型下面选择内存或者磁盘来指定动画序列帧保存的类型。
!!注意:在动画序列中FLUENT的图元文件是为每一个帧创建的。这些文件包含了所有场景的信息而不只是在图形中显示的视角。因此这些文件会非常大。在默认的情况下,这些文件会保存在磁盘中。如果你不想占用磁盘空间来保存这些文件,你可以选择将它们保存在内存中。然而,将它们保存在内存中会减少求解器可以使用内存的数量。不过,将序列保存在内存中回放速度会比磁盘快
(b) 如果选择保存类型是磁盘,请在存储目录框中指定要保存的目录(这可以是相对路径也可以是绝对路径)。
(c) 在窗口框中指定你需要绘图的窗口的ID,然后点击设定按钮(指定的窗口如果没有打开的话,现在就会打开)。
在迭代中,活动的图形窗口被设定为这个窗口来更新绘图。如果你希望每一个动画序列在不同的窗口中,你可以指定不同的窗口ID。6. 为序列定义显示属性。
(a) 在动画序列面板的显示类型下选择网格、等值线、矢量、XY图或者监视器来确定动画显示的类型。如果你选择的是监视器你可以在监视类型下拉列表:残差、力、统计、曲面或者体积中选择任何可用的监视类型。
当你第一次选择等值线、矢量或者XY图时,或者在第一次选择监视器时你选择了某一监视器类型,FLUENT会打开相应的面板(比如说:等值线面板或者矢量面板),这样你就可以修改设定并产生相应的显示。要对任何显示类型的显示设定再做出修改,请点击属性按钮
来打开选定的显示类型面板。
(b) 对于选定的显示类型(如:等值线或者解XY图)在面板中定义显示,然后点击显示或者绘图按钮。
注意:你必须点击显示或者绘图来初始化计算中被重复的场景。关于网格、等值线和矢量的显示的定义,请参阅下面的指导原则。7. 在你完成所有动画序列的定义之后别忘了在解动画面板中点击OK按钮。
注意,当你在动画序列面板中点击OK按钮确定某一序列时,该序列对应Active按钮会自动打开。你可以对当前不使用的序列关闭Active按钮,来选择使用所定义的动画序列的子集。定义动画序列的方针
如果你定义的动画序列包含网格、等值线或者矢量显示,那么在定义显示时要注意下面几点:
如果要在动画帧中包含光照影响,请确保在开始计算之前定义光照。如果你想要在等值线或者矢量显示中保持颜色的常数范围,你可以在等值线或者矢量面板中关闭自动范围选项来明确指定范围。
在动画序列帧中不会包含场景操作,场景操作是在场景描述面板中指定的。诸如通过对称平面的景象等视角的修改会被包括进来。
2 播放一个动画序列
一旦你定义了一个动画序列并执行了计算,或者读入了先前的动画序列,你可以使用回放面板(下图)来回放动画。菜单:Solve/Animate/Playback... 。
在回放面板的动画序列下面的序列列表中选择你想要播放的序列。要播放一次从开始到结束的动画,请点击回放标题下面的播放按钮。(这种方式的按钮的功能和标准视频播放器的相似。右边数第二个三角形按钮是播放按钮)。要反向播放动画一次,请点击倒放按钮(左边数第二个三角形按钮)。当播放动画时,帧的标尺显示相对于整个动画的播放位置。如果你想跳到指定的帧处你可以直接移动帧滑标到所需要的帧处,这样相应的帧就会显示在图形窗口中。
对于光滑动画,请在显示选项面板中打开双缓冲。这将会减少播放时的闪烁。
下面将会介绍回放动画的附加选项。修改视角
如果想在场景的不同视角播放动画,你可以在动画播放的窗口中使用鼠标来修改视角(如:平移、旋转、缩放)。需要注意的是,当你在序列列表中选择新的序列时(或者重新选择当前序列时),你对序列视角做的任何改变都会丢失。修改回放速度
不同的计算机播放动画的速度都是不一样的,这主要取决于场景的复杂性以及图形相关硬件的类型。你可能想要放慢回放的速度来获得最优视角。你可以用回放速度滑标来调节播放速度。摘选回放
有时候你可能只要播放很长动画序列的一部分。要实现这一功能你
可以修改回放标题下面的起始帧和终点帧。例如,如果你的动画包括50个帧,但是你只想播放20到35之间的帧,你就可以设定起始帧为20,终点帧为35。这样,当你播放动画时,就会从20帧开始到35帧结束。快进动画
你可以在回放中略过一些帧来快进或者快退动画。要快进动画,你可以设定增量然后点击快进按钮。例如,如果你有15个帧,起点是1帧,终点是15帧,增量是2,那么动画就会只播放1,3,5,7,9,11,13和15帧。点击快退按钮就会播放相应的15,13,11,9,7,5,3,1。
连续的动画
如果你想要重复连续的回放动画,有两个选项可供选择。要从起点到终点(或者从终点到起点)连续回放动画,请在回放模式下拉菜单中选择自动重复选项。要在播放中前后连续播放动画,每次调转播放方向,请在回放模式下拉列表中选择自动反向。
要关掉连续性回放,请在回放模式中选择播放一次。这是默认的设定。停止动画
要在回放中停止动画,请点击停止按钮(回放控制按钮中间的方块)。如果你的动画中包含非常复杂的场景,那么在动画停止之前可能会有轻微的滞后。
一个帧一个帧的播放动画
要手动一个帧一个帧的播放动画,请使用右边数第三个按钮(一竖线加一个三角形)。每点击一次这个按钮就会在图形窗口中显示下一个帧。反向的按帧播放方法同上,只不过要使用左起的第三个按钮。这一功能可以是你看清楚每一个感兴趣的帧。删除动画序列
如果想要移除应经读入或者创建的序列,请在序列列表中选择然后点击删除按钮。要全部删除电机全部删除按钮即可。
注意:如果你删除了未保存到磁盘的动画(即存储类型是内存的动画)这些动画就被永久的移除了。如果你要保存只存储在内存中的动画,你应该在删除或者退出FLUENT之前确信已经保存到磁盘了。3 保存动画序列
创建了动画序列之后,你可以保存成下面任何一种格式:
包含在FLUENT图元文件中的解动画文件。
硬拷贝文件,每个文件都包含了动画序列的帧。包含动画序列帧的MPEG文件。
注意:如果保存的是硬拷贝文件或者MPEG文件,你可以修改动画显示的图形窗口的视角(平移、旋转、缩放),然后保存修改后的视角而
不是初始的视角。解动画文件
如果存储类型选择的的是磁盘,FLUENT会为你自动保存解动画文件。它会被保存在指定的存储目录中,文件名就是你所指定的序列名,扩展名是.cxa(如:pressure-contour.cxa)。除了.cxa文件之外,
FLUENT还会为每一个帧保存图元文件,扩展名是.hmf(如:pressure-contour_2.hmf)。其中,.cxa文件会包含相关的.hmf文件的列表,并告诉FLUENT它们显示的顺序。
如果保存的类型是内存,那么相应的解动画文件(.cxa)以及相关的图元文件(.hmf)会在退出FLUENT之后丢失,除非你用下面的方法把它们保存起来。
当你想要重放动画时,你可以将动画序列保存成FLUENT可以重新读入的文件。如22.17.4节所述,FLUENT回放的解动画文件是和生成这个动画文件的算例和数据文件无关的。
要保存解动画文件和相关的图元文件,请在回放面板中的写/记录格式下拉列表中选择动画帧选项并点击写按钮。FLUENT会保存一个.cxa文件和动画序列每一个帧的.hmf文件。相应的.cxa文件名就是指定的序列名(如:pressure-contour.cxa),图元文件名则是指定的序列名后面加上帧数(如:pressure-contour_2.hmf)。所有的文件(.cxa和.hmf)都会被保存在当前工作目录中。硬拷贝文件
你可以为动画序列中的每一个帧生成一个硬拷贝文件。这一功能允许你将序列帧保存为使用外部动画程序如ImageMgick可以使用的文件。如上所述,你可以在保存硬拷贝文件之前,修改图形窗口的视角。要将动画保存为一系列的硬拷贝文件,请遵循如下步骤:
1. 在回放面板中的写/记录格式下拉列表中选择硬拷贝格式选项。2. 必要的话,点击硬拷贝选项按钮打开图形硬拷贝面板,并为保存硬拷贝文件设定适当的参数(例如,如果你要保存ImageMagick使用的硬拷贝文件,你就应该选择窗口倾倒格式。在图形硬拷贝面板中点击应用来保存你修改后的设定。
注意:不要在图形硬拷贝面板中点击保存按钮。在下一步中你将从回放面板保存硬拷贝文件。
3. 在回放面板中点击写按钮,FLUENT会回放动画,将每一个帧保存到的文件中。文件名由指定的序列名加上帧的数目组成(如:pressure-contour_2.ps),而且它们会被保存到当前的工作目录中。
MPEG文件
也可能将动画序列所有的帧保存到一个MPEG文件中,这种文件可以
用MPEG解码器如mpeg_play来观看。将整个动画序列保存到一个MPEG文件需要的磁盘空间比存储每一个窗口倾倒文件(用硬拷贝方法)少,但是MPEG文件的图像质量较差。如前所述,在保存MPEG文件之前我们可以修改图形窗口的视角。
要将动画保存为MPEG文件,请遵循如下步骤:
1. 在回放面板中的写/记录格式下拉列表中选择MPEG。2. 点击写入按钮
FLUENT会重新播放动画并将每一个帧保存在的scratch文件,然后会将这些所有的文件合并保存到单独的MPEG文件中。MPEG文件的名字就是指定的序列的名字,扩展名为.mpg(比如:pressure-contour.mpg),而且它会被保存在当前的工作目录中。4 读入动画序列
如果你已经将动画序列保存为一个解动画文件,你可以以后(或者在不同的线程中)将这个文件读入并播放动画。注意:你可以将解动画文件读入到任何FLUENT进程中,而不必将相应的算例和数据文件也读入。事实上,在将解动画读入到FLUENT之前,比根本就不必读入任何算例和数据文件。
要读入解动画文件,请在回放面板中点击读入按钮。此时会打开选择文件对话框,你可以在这里指定需要读入的文件名。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务