第41卷第11期
2020年11月
哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报Journal of Harbin Engineering University员工精神
Vol.41ɴ.11
Nov.2020
STAR-CCM +与一维用户程序耦合方法
张银星1,2,高璞珍1,何晓强1,陈冲3,林宇琦1
,刘怡雯4
(1.哈尔滨工程大学核安全与仿真技术国防重点学科实验室,黑龙江哈尔滨150001;2.海军工程大学核科学技术学院,湖北
武汉430033;3.中国舰船研究设计中心,湖北武汉430064;4.武汉第二船舶设计研究所,湖北武汉430064)
摘㊀要:为了探究棒束通道内的自然循环流动特性,本文采用将三维计算流体动力学(CFD )软件STAR-CCM +与一维用户程序(Ur Code )耦合的方法进行研究㊂通过三维软件模拟棒束通道,一维自定义用户程序模拟自然循环回路的方法实现对包含棒束通道的自然循环系统的模拟㊂为证明数值模拟结果的准确性,将数值模拟得到的自然循环冷却剂流量和棒束通道内压降结果与实验结果进行比较,结果表明:数值模拟结果与实验值符合较好,证实STAR-CCM +与一维用户程序耦合的计算方法能够很好的预测棒束通道的自然循环流动特性㊂本文对一维用户程序与三维STAR-CCM +之间的数据交互方法做了说明,为实现一维用户程序与STAR-CCM +耦合研究提供参考㊂关键词:棒束通道;自然循环;数值模拟;用户程序;STAR-CCM +;耦合模拟;数据交互;流动特性DOI :10.11990/jheu.201906045
网络出版地址:http ://wwwki /kcms /detail /23.1390.u.20201028.1428.012.html 中图分类号:TL33㊀文献标志码:A㊀文章编号:1006-7043(2020)11-1669-06
Coupled method of STAR-CCM +and one-dimensional ur code
ZHANG Yinxing 1,2
,GAO Puzhen 1
,HE Xiaoqiang 1
,CHEN Chong 3
,LIN Yuqi 1
,LIU Yiwen 4
(1.Fundamental Science on Nuclear Safety and Simulation Technology Laboratory,Harbin Engineering University,Harbin 150001,
China;2.College of Nuclear Science and Technology,Naval University of Engineering,Wuhan 430033,China;3.China Ship Devel-opment and Design Center,Wuhan 430064,China;4.Wuhan Second Ship Design and Rearch Institute,Wuhan 430064,China)
Abstract :To explore the natural circulation flow characteristics in a rod bundle channel,we studied the method for coupling the three-dimensional computational fluid dynamics (CFD)software STAR-CCM +with one-dimensional ur code.The simulation of a natural circulation system containing a rod bundle channel was achieved by simula-ting both a natural circulation loop with one-dimensional ur code and a rod bundle channel with three-dimensional CFD software.To check the accuracy of the numerical simulation results,the simulation results of the natural circu-lation coolant flow rate and
the pressure drop in the rod bundle channel are compared with the experimental results.It is found that the numerical simulation results agree well with the experimental results,and it is proved that the simulation method of STAR-CCM +coupling with one-dimensional ur code is a good predictor of the natural circu-lation flow characteristics of the rod bundle channel.This paper gives a detailed description of the data interaction method between the one-dimensional ur code and the three-dimensional STAR-CCM +,which provides a reference for other scholars to realize the coupling between STAR-CCM +and ur code.
Keywords :rod bundle channel;natural circulation;numerical simulation;ur code;STAR-CCM +;coupled sim-ulation;data interaction;flow characteristics
谓语用英语怎么说收稿日期:2019-06-13.网络出版日期:2020-10-28.基金项目:国家自然科学基金项目(11605033);核能安全劳氏基金
项目.
作者简介:张银星,女,博士研究生;
高璞珍,女,教授,博士生导师.
虎的简笔画
通信作者:高璞珍,E-mail:
㊀㊀核能的发展与应用对于我国综合国力的提升有重要意义㊂民用核能主要应用于核反应堆中,对于大多数压水堆,堆芯为棒束通道结构㊂因此研究棒束通道内的热工水力特性对于彻底了解核反应堆的
运行机理至关重要㊂若反应堆在运行过程中发生了事故,非能动安全系统就会发挥作用以确保反应堆的安全,因此棒束通道内的自然循环流动特性是值得研究的㊂由于棒束通道结构的特殊性,有许多学者通过实验㊁数值模拟进行研究[1-5]㊂实验研究可以得到更为准确㊁更令人信服的实验结果,数值模拟研究可以节省大量的人力㊁物力㊁财力㊂但对于想要较为精准地通过数值模拟来研究自然循环条件下棒束通道的热工水力特性,就需要将包括棒束通道的
哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报第41卷
整个自然循环回路都进行模拟,这对于三维CFD 数值模拟来说需要的时间更长,对计算机的要求更高㊂为解决这一困难,许多学者对三维CFD 数值模拟软件与一维程序耦合进行了研究,李伟等[6]证明了三维CFD 数值模拟软件FLUENT 与热工水力分析系统程序RELAP5耦合研究可以很好地分析简单的单相流或复杂的两相流问题;Palazzi 等[7-8]通过模拟管道中的摩擦阻力系数证明了STAR-CCM +与RELAP5-3D 耦合的可行性;Gilman [9]通过编写用户自定义程序建立了新沸腾模型,该模型能够准确预测CFD 模拟中过冷沸腾流体的温度和热流密度㊂王宁波等[10]对5ˑ5棒束通道内的压降特性进行了数
值研究,但对于单一的CFD 数值模拟,仅能模拟强迫循环条件下的流动特性,无法模拟自然循环条件下的热工水力特性㊂孔松等[11]用一维分析程序RELAP5对小型核动力装置进行了自然循环运行特性分析,但由于一维程序的局限性,很难对结构复杂的部件(例如反应堆堆芯)进行分析㊂
为探究反应堆堆芯内的固有安全性,本文研究
自然循环条件下棒束通道内的流动特性,将研究棒束通道的三维CFD 数值模拟与除去棒束通道外的自然循环回路其他部分的一维程序模拟耦合计算,以期用经济的方法计算得到更为准确的数值模拟结果㊂通过这种方法既可以将棒束通道通过三维CFD 数值计算较为精细的模拟出来,又可以考虑自然循环回路对棒束通道的影响㊂自然循环回路管道多为普通圆管,采用一维程序进行模拟也可以得到很好的计算结果㊂本文采用三维CFD 数值模拟软件STAR-CCM +与一维用户程序(Ur Code)耦合以实现自然循环条件下棒束通道的数值模拟㊂海州湾
1㊀三维与一维耦合方法
为确保三维与一维程序耦合数值模拟结果的准确性,首先要进行实验研究,将得到的自然循环实验数据用来验证数值模拟结果准确与否㊂实验装置为包含3ˑ3棒束通道的自然循环回路,如图1所示㊂本文所述三维与一维程序耦合模拟皆基于该试验台㊂具体实验方法见文献
[2]㊂
图1㊀自然循环实验装置
Fig.1㊀Natural circulation experimental facility
㊀㊀为模拟自然循环条件下棒束通道的流动特性,本文采用基于有限体积法的CFD 软件STAR-CCM +
13.04对实验段3ˑ3棒束通道进行三维数值模拟,并利用编程语言C ++自行编写除去棒束通道外的自然循环回路其他管道,再将2个部分通过STAR-CCM +的用户程序自定义接口交互,以实现自然循环回路的完整数值模拟㊂1.1㊀三维CFD 数值模拟
棒束通道实验段结构如图2所示㊂棒束通道实
验段长度为800mm,利用STAR-CCM +内的3D-CAD 模型可直接进行建模㊂1.1.1㊀网格独立性分析
本文采用多面体网格实现棒束通道主体结构的网格划分,采用棱柱层网格模型应用在所有的壁面边界㊂图3给出棒束通道内生成的三维网格㊂
为了验证数值计算的准确性,首先需进行网格无关性验证㊂在网格独立的条件下对数值模型进行验证㊂以入口速度v =2m /s 的工况为例,对棒束通
㊃
0761㊃
第11期张银星,等:STAR-CCM +与一维用户程序耦合方法
道进行了网格考核㊂以棒束通道出口温度T o ㊁棒束通道出口速度v o 及棒束通道进出口压降ΔP 作为监测量㊂选取网格数分别为868147㊁1192331㊁1213874和1671941的4套网格,当网格数从868147变化到1671941时,棒束通道的出口温度T o ㊁出口速度v o 和进出口压降ΔP 随网格数量的变化趋势如表1所示㊂从表1中可以看出,模型2中T o 的改变量为0.0033%,v o 的改变量为0.15%,ΔP 的改变量为1.03%,故认为网格数在1192331已达到独立㊂本文计算中选取网格数为1192331㊂
图2㊀棒束通道结构
Fig.2㊀Rod bundle channel
structure
图3㊀棒束通道网格示意
Fig.3㊀Rod bundle channel grid diagram
表1㊀网格无关性验证
Table 1㊀Grid independence verification
网格模型
网格数
T o /K
ΔP /Pa v o /(m ㊃s -1)
#1868147
321.417
12647.21
2.011554
#21192331
321.430911642.65
2.01109
#31213874
321.431311643.42
2.010805#4
1671941
321.441511764.32
2.008034
1.1.2㊀模型验证
儿童骨龄怎么测为保证数值模拟的准确性,本文对竖直条件下的棒束通道进行模型验证㊂在图1所示的实验装置中进行绝对压力为0.4MPa,棒束通道加热功率为18kW /m 2的实验,将得到的实验结果与相同条件下不同湍流模型的计算结果进行比较㊂为找到最适合棒束通道的湍流模型,本文尝试了6种模型,分别为标准(Wilcox)k-ω模型㊁标准k-ε模型㊁可实现的k-ε模型㊁可实现的k-ε两层模型㊁雷诺应力湍流模型与SST (Menter)k-ω模型㊂数值模拟过程中将棒束通道入口设为速度入口边界,出口设为压力出口边界,棒束壁面设为定热流量,外壁面设为绝热,由
黑兔子此得到棒束通道进出口压降ΔP 随雷诺数Re 的变化曲线如图4所示㊂从图4中可以看出SST (Ment-er)k-ω模型可以很好地模拟棒束通道内的压降特性㊂故本文将选用SST (Menter)k-ω模型用于棒束通道的数值模拟计算㊂
1.2㊀一维Ur Code 耦合方法
本文采用自行编写的一维用户程序(Ur Code)来模拟除棒束通道外的回路部分,包括预热器㊁冷却器与连接管路,如图1所示㊂首先编写一维用户自定义程序,得到稳态条件下系统回路的自然循环流量,和该自然循环流量对应的速度,进而将其设为CFD 数值模拟的入口速度,最后模拟得到自然循环条件下棒束通道内的流动特性
㊂
图4㊀CFD 不同模型与实验数据压降对比
Fig.4㊀Comparison of pressure drop between different
轻轻一捏CFD models and experimental data
因此,编写一维程序的目的就是找到实验回路达到稳定状态的自然循环流量值,即驱动压头与总阻力
压头相等时的流量值㊂设冷却器与棒束通道中心高度差为L ,棒束通道出口至冷却器进口冷却剂的密度为ρh ,冷却器出口到预热器进口冷却剂的密度为ρc ,采用换热中心假设,则驱动压头为ΔP d =(ρc -ρh )gL ㊂总阻力压头ΔP z 包括沿程阻力与局部阻力㊂沿程阻力即为各个管路的沿程阻力,具体计算方法为:
ΔP f =λl d q 2
2ρA 2
(1)
式中:λ为沿程阻力系数;l 为管路长度;d 为当量直径;ρ为流过该管路的冷却剂密度;A 为管路流通面积;q 为质量流量㊂其中沿程阻力系数λ的计算方法[12]为:
λ=64/Re ,Re <2320
a +bRe -c ,2320<Re <40000.3164/Re 0.25,4000<Re <1ˑ105
0.0032+0.221Re -0.237,Re >1ˑ105ìî
íïïïï(2)
式中:a =0.094k 0.225+0.53k ;b =88k 0.44;c =1.62k 0.134;k =ε/d 是相对粗糙度㊂
局部阻力包括棒束通道㊁预热器㊁冷却器处的局
㊃
1761㊃
哈㊀尔㊀滨㊀工㊀程㊀大㊀学㊀学㊀报第41卷
部阻力,以及各管路之间连接处,管路与棒束通道㊁预热器㊁冷却器连接处的局部阻力㊂局部阻力中除却棒束通道内的阻力外,其他部分相对较小,可以忽略不计㊂那么,总阻力压头表示为ΔP z =ΔP f +ΔP -ρgH ,ΔP 为棒束通道进出口压降,ρ为棒束通道的定性密度,H =800mm 为棒束通道长度㊂
因此,当实验回路中驱动压头与总阻力压头相等时,即ΔP d =ΔP z 时即可输出自然循环回路质量流量q ㊂具体程序框图如图5所示
㊂
图5㊀一维用户程序框图
Fig.5㊀One-dimensional ur code program chart
值得注意的是,将STAR-CCM +模拟的迭代次数输入到一维程序中是为了编写实现STAR-CCM +迭代次数超过一定步数(例如100步)后再进行上述循环过程的语句,目的是让CFD 达到相对收敛后再进行自然循环计算,从而避免计算结果的发散㊂1.2.1㊀用户库
从上文可知,一维用户程序需要将STAR-CCM +中的计算结果作为已知量,并且需要将用户程序计算得到的自然循环速度传递给STAR-CCM +,使之作为棒束通道入口速度值㊂一维用户程序与STAR-CCM +之间的数据传递需要通过事先把用户自编程序编译成链接库,然后作为用户库加载到STAR-CCM +中的方式来实现㊂
1)用户函数接口㊂
本文采用C ++来编写用户函数,以实现得到自然循环回路流量的目的㊂通过库注册函数(uclib.cpp)指明用户函数类型为标量场函数 ScalarField-Function ,以此在STAR-CCM +中棒束通道入口处通过设置场函数的方法来设置入口速度值㊂注册方法可以通过调用ucfunc 来实现,具体代码为:
ucfunc(main, ScalarFieldFunction , Iteration-Velocity );
其中,main 为用户函数主函数名称,IterationVe-locity 为显示在STAR-CCM +下拉列表中的函数名㊂
另外,可通过调用ucarg 注册用户函数所需的来自STAR-CCM +的参数,包括棒束通道进出口温度㊁压降,入口速度,迭代次数,具体代码为:
ucarg(main, Cell ,"$tinReport",sizeof(Co-ordReal));/∗棒束通道入口温度,K∗/
ucarg (main, Cell ,"$toutReport ",sizeof (CoordReal));/∗棒束通道出口温度,K∗/
ucarg(main, Cell ,"$pjReport",sizeof(Co-ordReal));/∗棒束通道压降,Pa∗/
ucarg(main, Cell ,"$vReport",sizeof(Coor-dReal));/∗棒束通道入口速度,m /s∗/
ucarg(main, Cell ,"$Iteration",sizeof(Co-ordReal));/∗迭代次数∗/
其中,Cell 表示对于网格单元场的参数类型;It-eration 为STAR-CCM +中原有的场函数,表示为迭代次数;tin㊁tout㊁pj㊁v 为在STAR-CCM +中生成的报告,后缀加上Report 可以同样实现场函数的功能;size 为变量组分表中元素所需的储存(以字节为单位),此大小可用于确保用户函数的精度与STAR-CCM +的精度相匹配,所有的场函数参数都应设置为CoordReal,即表示为双精度型浮点数据,另外尽管迭代次数Iteration 为整型数据,也同样需要设定为双精度型浮点数据㊂值得注意的是,必须按照上述变量在用户函数中的所需顺序调用ucarg㊂本文中主函数的形参列表为:
void main (CoordReal ∗result,int size,Coord-Real ∗tin,CoordReal ∗tout,CoordReal ∗pj,Coor-dReal ∗v,CoordReal ∗Iter)
其中,result 为用户函数的返回值的组分表,对于本文来说即为自然循环速度值;size 为result 组分表中的元素数量㊂
至此可以得到库注册函数uclib.cpp 代码如下:#include "uclib.h"void uclib()
{/∗这里为上文所述的注册用户函数∗/}
在与uclib.cpp 相同的目录中创建文件uclib.
㊃
2761㊃
第11期张银星,等:STAR-CCM+与一维用户程序耦合方法
h,以声明uclib.cpp中使用的函数㊂uclib.h文件中定义了在用户函数中使用的变量和函数类型,它对于所有代码都一样,具体内容参见STAR-CCM+用户指南[13]㊂2)创建用户库㊂
至此,用户库源码已生成完毕,包括uclib.h㊁uclib.cpp㊁main.cpp,由于在一维程序编写过程中需要查物性参数,因此还需调用物性库函数wasp97.h㊁wasp97.cpp㊂将上述文件同STAR-CCM+安装目录中的UrFunctions.lib编译链接成为动态链接库即可应用在STAR-CCM+中实现一维程序与三维CFD的耦合计算㊂
下面说明编译方法㊂本文在Microsoft Visual C++2013上进行编译,且Windows仅支持64位版本㊂打开VS2013x64本机工具命令提示,将工作目录定位到当前工作目录,并使用以下命令将源程序uclib.cpp㊁main.cpp㊁wasp97.cpp编译到对象文件中:
cl/MD/D_WINDOWS/DDOUBLE_PRECISION -c∗∗∗.cpp
即可将源代码编译成二进制目标文件uclib. obj,main.obj,wasp97.obj㊂
下面说明链接方法㊂在VS2013x64本机工具命令提示中输入如下命令:
link-dll/out:IterationVelocity.dll uclib.obj main.obj wasp97.obj"F:\Program Files\CD-adapco\ 13.04.011-R8\STAR-CCM+13.04.011-R8\star\lib\ win64\intel16.3-r8\lib\UrFunctions.lib"
链接成功后可在当前工作目录中得到动态链接库IterationVelocity.dll㊂将该用户库在STAR-CCM+模拟中加载,可发现场函数列表中新增场函数Ur IterationVelocity,将其设置为入口速度幅值即可实现一
维Ur Code与三维CFD的耦合计算,研究自然循环条件下棒束通道的流动特性㊂
2㊀结果分析
通过上述方法可以对自然循环条件下的棒束通道进行数值模拟㊂当系统压力为0.3MPa时,在实验操作中,可以通过提高预热器加热功率或棒束通道实验段加热功率来增加实验回路的自然循环流量㊂对于数值模拟而言,为得到与实验相对应的多组工况,提高预热器加热功率转化为增加棒束通道实验段入口温度,提高棒束通道实验段加热功率可以通过直接在模拟中设置棒束热流量来实现㊂
若保持棒束通道加热功率不变,逐渐提高预热器的加热功率,可以得到系统回路自然循环流量随棒束通道入口温度变化关系㊂为方便与数值模拟结
果对比,图6展示了回路自然循环速度与棒束通道
入口温度关系曲线,其中模拟速度值为棒束通道进
出口速度平均值㊂从图中可以看出采用三维CFD
软件STAR-CCM+和一维自定义用户程序耦合模拟
可以很好地预测棒束通道内的自然循环速度值,可
以认为STAR-CCM+与一维Ur Code耦合能够研究棒束通道内的自然循环流动特性㊂针对图1所示实
验过程中得到引压管2㊁3间的压降值ΔP2,同样在模拟中得到相同部位的压降,并与实验值ΔP2进行对比,如图6所示,可以看出二者符合较好,最大误差在0.5%以内
㊂
图6㊀变预热器功率实验值与模拟值对比Fig.6㊀Comparison of experimental and simulation results of variable preheater power
同样,若保持预热器加热功率不变,逐渐提高棒束通道的加热功率,可以得到系统回路自然循环速度随棒束通道热流量的变化关系,如图7所示㊂对于压降ΔP2也采用与图6同样的处理方法,对比结果如图7所示,发现二者仍然符合较好,最大误差在0.5%以内㊂可以看出无论是改变预热器功率或改变棒束通道加热功率,STAR-CCM+与一维用户程序耦合都能很好地预测棒束通道内的自然循环流动特性
讲幼儿故事
㊂
图7㊀变棒束通道功率实验值与模拟值对比Fig.7㊀Comparison of experimental and simulation results of variable rod bundle channel power
㊃3761㊃