STARCCM基础培训教程(共131张)_第1页
STARCCM基础培训教程(共131张)_第2页
STARCCM基础培训教程(共131张)_第3页
STARCCM基础培训教程(共131张)_第4页
STARCCM基础培训教程(共131张)_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、所属:所属:CDAJ CHINACDAJ CHINAChap.1: STAR-CCM+Chap.1: STAR-CCM+简简介介Chap.2: STAR-CCM+Chap.2: STAR-CCM+网格功能网格功能Chap.3: STAR-CCM+Chap.3: STAR-CCM+计计算算设设定定Chap.4: STAR-CCM+Chap.4: STAR-CCM+后后处处理理Chap.5: STAR-CCM+Chap.5: STAR-CCM+的工具(的工具(toolstools) )Chap.6: Chap.6: 一个一个简单简单的例子的例子Chap.7: Chap.7: 附附录录1.1 STA

2、R-CCM+1.1 STAR-CCM+是什么是什么? ?1.2 STAR-CCM+ 1.2 STAR-CCM+ 求解求解问题问题的的过过程程. .1.3 STAR-CCM+ 1.3 STAR-CCM+ 的工作界面的工作界面. .1.4 1.4 现现有的网格功能有的网格功能. .1.5 1.5 现现有的物理模型有的物理模型. .STAR-CCM+由CD-adapco公司开发, 是“下一代的CFD解决方案”强强大的网格能力大的网格能力:从面网格(Surface wrapper)到体网格。先先进进的物理模型的物理模型: 包括层流,湍流,多相流,气穴,辐射,燃烧,边界层转戾,高马赫流,共轭热传导等等,

3、以及新的热交换器和风扇模型。多面体网格:多面体网格: 较少的内存和更快的求解速度。强强大的可大的可视视化:化:: 分析过程中的动态显示。 可信可信赖赖的的结结果果: STAR-CCM+ solver的稳健性网格兼容性网格兼容性: STAR-CD, ICEM, GridGen, Gambit 十十亿亿以上的网格以上的网格处处理能力理能力: 诞生之初,STAR-CCM+就专门为处理大规模网格而设计。.STAR-CCM+ makes the Tour de France less of a Drag 准准备备网格网格选择选择物理模型物理模型输输入模型入模型设设定定边边界条件界条件设设定初始条件定初始

4、条件运算运算后后处处理理STAR-CCM+ STAR-CCM+ 的工作界面的工作界面(workspace)(workspace)如下如下: :和其他网格生成和其他网格生成软软件的件的协调协调性性 l可以可以输输入来自以下网格入来自以下网格: :pro-STARpro-STARGridgenGridgenFluentFluentGambitGambitSTAR-CDSTAR-CDICEMICEMl可以可以输输出到出到pro-STARpro-STAR进进行后行后处处理理面网格面网格 l面网格工具面网格工具: :Surface remesherSurface remesherSurface wrap

5、perSurface wrapperHole fillerHole fillerEdge zipperEdge zipper特征特征线线提取和提取和编辑编辑工具工具体网格体网格 l3 3种体网格模型种体网格模型: :tetrahedral tetrahedral polyhedralpolyhedraltrimmedtrimmedl边边界界层层网格模型:网格模型: prism layerprism layerl精精细细网格网格调节调节: :Volume sourcesVolume sources全局或局部参数全局或局部参数设设置置网格演化网格演化 lTransform Transform 缩缩

6、放放, , 平移和旋平移和旋转转l对边对边界(界(boundariesboundaries)和区域()和区域(regionsregions)的分裂和合)的分裂和合并并l创创建,建,删删除和融合交界面(除和融合交界面(interfacesinterfaces) )l融合内部融合内部边边界界l将将3 3维维网格网格转转化化为为2 2维维表面几何表面几何输输入入 l可以可以导导入的面网格或几何入的面网格或几何: :.dbs - pro-STAR surface database mesh file.dbs - pro-STAR surface database mesh file.inp - pro

7、-STAR cell/vertex shell input file.inp - pro-STAR cell/vertex shell input file.nas - NASTRAN shell file.nas - NASTRAN shell file.pat - PATRAN shell file.pat - PATRAN shell file.stl - Stereolithography file.stl - Stereolithography file流流动动和能量和能量l 无粘,无粘,层层流,湍流。流,湍流。l 气体,液体,固体和多孔介气体,液体,固体和多孔介质质。 。l 共共轭

8、传热轭传热l 自由表面自由表面 (VOF)(VOF)l 空化空化(cavitation)(cavitation)l 辐辐射射类类型的型的热热交交换换l FAN FAN性能曲性能曲线线修正的修正的动动量源量源项项。 。基本模型基本模型l空空间间 二二维维l l 轴对轴对称称 三三维维l 时间时间 稳态稳态 显显式非式非稳态稳态 隐隐式非式非稳态稳态l 运运动动运运动动参照系模型参照系模型# # 刚刚体运体运动动模型模型辐辐射射lSurface-to-surfaceSurface-to-surfacelDiscrete ordinateDiscrete ordinate湍流湍流 lSpallart

9、-Allmaras Spallart-Allmaras lK-Epsilon K-Epsilon lK-OmegaK-Omegal雷雷诺应诺应力力输输运方程运方程 l壁面壁面处处理理 (Low y+, High y+, All y+)(Low y+, High y+, All y+)l壁面距离壁面距离 (Exact, Approximate)(Exact, Approximate)l边边界界层转层转戾(戾(prescriptive boundary-layer prescriptive boundary-layer transitiontransition) )燃燃烧烧lEddy Break

10、Up (EBU)Eddy Break Up (EBU)lPresumed Probability Density Function Presumed Probability Density Function (PPDF), adiabatic and non-adiabatic(PPDF), adiabatic and non-adiabatic2.1 2.1 面网格面网格2.1.1 Surface Wrapper2.1.1 Surface Wrapper2.1.2 Surface Remesher2.1.2 Surface Remesher2.1.3 2.1.3 特征特征线线2.1.4 2.

11、1.4 修修补补工具(工具(hole filler, edge zipper)hole filler, edge zipper)2.2 2.2 体网格体网格2.2.1 Polyhedral mesher2.2.1 Polyhedral mesher2.2.2 Tetrahedral mesher2.2.2 Tetrahedral mesher2.2.3Trimmer2.2.3Trimmer2.2.4 prsim layer mesher2.2.4 prsim layer mesher2.3 2.3 模型的演化模型的演化2.4 2.4 界面的界面的处处理理 在在导导入的入的CADCAD数据数据质

12、质量量较较差差时时, , 例如存在例如存在: :l洞和洞和缝缝隙隙; ;l错错配的配的边边; ;l多重多重边边(multiple edges);(multiple edges);l折叠尖角折叠尖角(sharp angle folds);(sharp angle folds);l很差的三角形状很差的三角形状 ( (如如needles cells);needles cells);l交叉交叉(self intersection); (self intersection); l非流形拓扑非流形拓扑结结构构(non-manifold topology)(non-manifold topology)时时,

13、 surface wrapper, surface wrapper可以用来提供一个封可以用来提供一个封闭闭,流形,非交叉的表面。包括:,流形,非交叉的表面。包括:l封封闭闭洞洞(holes), (holes), 缝缝隙隙(gaps)(gaps)和和错错配的面配的面(mismatches); (mismatches); l去掉双重面去掉双重面(double surfaces), (double surfaces), 除去不需要的内部几何特征除去不需要的内部几何特征; ; l简简化表面化表面, , 除去不必要的除去不必要的细节细节; ;l提供基于曲率提供基于曲率(curvature), (curv

14、ature), 临临近率近率(proximity)(proximity)以及以及对对独立表面的独立表面的细细化化lSurface wrapperSurface wrapper的属性有的属性有3 3个选项个选项: :Do curvature refinementDo curvature refinementDo gap closureDo gap closureDo proximity refinementDo proximity refinementl缺省情况下缺省情况下, , 只有只有Do Do curvature refinementcurvature refinement打开打开curv

15、ature refinement,curvature refinement,gap closure, gap closure, proximity refinementproximity refinement在附在附录录中有介中有介绍绍使用使用surface wrappersurface wrapper时时, ,有如下的全局控有如下的全局控制参数制参数: :lbase size;base size;lgap closure size;gap closure size;lsurface curvaturesurface curvature(#Pts/circle(#Pts/circle ); )

16、;lsurface proximity (surface proximity (Search FloorSearch Floor, , # # Points in a gapPoints in a gap); );lsurface size;surface size;lwrapper feature angle; andwrapper feature angle; andlwrapper scale factorwrapper scale factor解解释释在区域在区域(region)(region)这这一一级级, , 有三个有三个选项选项来来进进一步控制包面效果一步控制包面效果, ,它它们

17、们是是: :volume of interest specification;volume of interest specification;contact prevention; contact prevention; smallest wrapping volumesmallest wrapping volume其中体其中体积积指定指定(volume of interest (volume of interest specification)specification)有如下四个有如下四个选项选项: :externalexternal; ;largest internallargest

18、internal; ;seed pointseed point; ; nth largestnth largestLargest internalexternalSeed pointNth largest解解释释有关区域有关区域RegionRegion和和边边界界(boundary)(boundary)的概念的概念见见附附录录在在边边界界(boundary)(boundary)这这一一级级, , 对对每一个每一个边边界界, ,有四个控制参有四个控制参数数: :lcustom gap closure size;custom gap closure size;lcustom surface cur

19、vature;custom surface curvature;lcustom surface proximity; custom surface proximity; lcustom surface sizecustom surface size解解释释l surface remesher surface remesher用来用来对对已有的表面已有的表面进进行再次三角化行再次三角化, , 以以便提高表面三角形便提高表面三角形质质量量, , 为为生成体网格做准生成体网格做准备备. . lRemeshingRemeshing的效果主要取决你的效果主要取决你设设定的目定的目标标尺度尺度, , 同同

20、时时可以提可以提供基于表面曲率供基于表面曲率(curvature), (curvature), 临临近率近率(proximity)(proximity)的的细细化化. . l在每个在每个边边界界(boundary), (boundary), 可以可以设设定不同的目定不同的目标标尺度尺度, , 进进行局行局部控制部控制. .也可以取消也可以取消remesher, remesher, 以便保留原始网格以便保留原始网格. . lSurface remesherSurface remesher的属性的属性有两个有两个选项选项: :Do curvature refinementDo curvature

21、refinementDo proximity refinement Do proximity refinement l缺省情况下缺省情况下, , 两个两个选项选项都都打开打开curvature refinement,curvature refinement,proximity refinementproximity refinement在附在附录录中有介中有介绍绍使用使用surface remeshersurface remesher时时, ,有如下的有如下的全局控制参数全局控制参数: :lbase size;base size;lsurface curvaturesurface curvat

22、ure(#Pts/circle(#Pts/circle ); );lsurface growth rate;surface growth rate;lsurface proximity(surface proximity(Search FloorSearch Floor, , # Points in a gap# Points in a gap); );lsurface sizesurface size解解释释l在区域在区域(region)(region)这这一一级级, , remesherremesher没有控制没有控制选项选项. .l在在边边界界(boundary)(boundary)这这

23、一一级级, , 有有如下四个控制参数如下四个控制参数: : custom surface curvaturecustom surface curvature; ;custom surface proximitycustom surface proximity; ;custom surface sizecustom surface size; ; customize surface remeshingcustomize surface remeshing解解释释l为为了抓住想要的几何特征了抓住想要的几何特征, , 得到高得到高质质量的网格量的网格( (无无论论是面网格是面网格还还是体网格是体网格

24、), ), 有必要定有必要定义义特征特征线线. . 所有定所有定义为义为特征特征线线的的边边(edge),(edge),将会在将会在meshingmeshing过过程中保留程中保留. .l此外此外, , 在在进进行表面修理行表面修理时时( (例如例如补补洞洞, , 缝缝合合边边), ), 也也需要事先定需要事先定义义特征特征线线. .STAR-CCM+STAR-CCM+里里, , 可以可以创创建下面建下面五种特征五种特征线线: : lsharp edgessharp edges 创创建基于建基于锐边锐边角度角度值值(Sharp edge angle value)(Sharp edge angl

25、e value)的特征的特征线线 ( (缺省缺省值为值为3131度度); );lfree edgesfree edges 将所有的自由将所有的自由边边定定义义为为特征特征线线; ;lnon-manifold edgesnon-manifold edges 将所有的非将所有的非流形流形边边定定义为义为特征特征线线; ;lpatch perimeterspatch perimeters 将将patchpatch的周的周围围定定义为义为特征特征线线lboundary perimetersboundary perimeters 将将边边界的周界的周围围定定义为义为特征特征线线l特征特征线线可以按照如下

26、方可以按照如下方式手式手动动添加添加l可以可以对对特征特征线进线进行行编编辑辑( (重新分重新分组组或或删删除除) )STAR-CCM+STAR-CCM+里可以利用特征里可以利用特征线对线对表表面面进进行修行修补补. .l补补洞洞 (hole filler)(hole filler)l缝缝合合边边 (edge zipper)(edge zipper)lSTAR-CCM+STAR-CCM+有三种体网格模型有三种体网格模型: :tetrahedral meshertetrahedral mesherpolyhedral mesherpolyhedral meshertrimmer trimmer

27、l对对以上以上3 3种网格模型种网格模型, , 都可以同都可以同时时使用使用prism layer prism layer meshermesher, , 以便在近壁区域以便在近壁区域产产生棱柱状生棱柱状边边界界层层网格网格. .l使用使用volume source (volume source (包括包括长长方体方体, , 球体球体, , 圆圆柱体柱体, , 圆锥圆锥体体) )可以可以对对网格密度网格密度进进行控制行控制l当解析当解析结结果存在果存在时时, , 生成新的网格后生成新的网格后, , 解析解析结结果会自果会自动动映射到新的网格上映射到新的网格上. . l使用使用polyhedra

28、l mesherpolyhedral mesher产产生的网格如下生的网格如下: :l使用使用tetrahedral meshertetrahedral mesher产产生的网格如下生的网格如下: :l使用使用trimmertrimmer产产生的网格如下生的网格如下: :边边界界层层网格有如下控制参量网格有如下控制参量: :l边边界界层层层层数数; ;l边边界界层层厚度厚度; ; l边边界界层层分布分布( (三种方法任三种方法任选选其一其一): ): stretching factorstretching factornear wall thicknessnear wall thickness

29、thickness ratiothickness ratioStretching factor: Stretching factor: 相相邻邻两两层层厚度之比厚度之比Near wall thickness: Near wall thickness: 最靠近壁面那一最靠近壁面那一层层的厚度的厚度Thickness ratio: Thickness ratio: 最外最外层层和最内和最内层层厚度之比厚度之比2.3.1 2.3.1 三三维维网格网格转转化二化二维维网格网格2.3.2 2.3.2 针对针对区域区域(region)(region)的演化的演化 区域的区域的

30、缩缩放放 区域的平移区域的平移 区域的旋区域的旋转转 区域的合并区域的合并 区域的分割区域的分割2.3.3 2.3.3 针对边针对边界界(boundary)(boundary)的演化的演化 边边界的合并界的合并 边边界的融合界的融合 边边界的分割界的分割 边边界的投影界的投影l导导入三入三维维网格后网格后, , 任何位于任何位于Z=0Z=0平面的平面的边边界

31、界(boundary)(boundary)都可以被抽取出来都可以被抽取出来, , 然后作然后作为为二二维维网格来网格来计计算算. .l通通过连续过连续性性对对区域区域进进行分割行分割l可以通可以通过过用用户场户场函数来函数来对对区域区域进进行分割行分割, , 例如通例如通过过Tools Field functions new function, Tools Field functions new function, 建立名建立名为为User Field Function 1User Field Function 1的用的用户户函数函数: : ($Centroid0 4) ? 0 : 1($Ce

32、ntroid0 = -1) ? 1 : 0 步步骤骤: :读读入列表数据入列表数据选择选择指定方式指定方式为为Table(Table(* *) )选选中已中已读读入的入的tabletable数据数据1 12 23 3l在在SolverSolver节节点,可以点,可以调调整整诸诸如如松弛因子,松弛因子,CourantCourant数之数之类类的的求解器参数求解器参数STAR-CCM+STAR-CCM+可以提供两种可以提供两种监监控:控:l残差残差监监控控(residual monitors)(residual monitors)l基于基于ReportReport的的监监控控(report-bas

33、ed monitors) (report-based monitors) l残差(残差(residual)residual)代表各守恒代表各守恒方程在控制方程在控制单单元的不元的不满满足足程度。缺省情况下,在程度。缺省情况下,在进进行行运算运算时时残差残差监监控(控(Monitors)Monitors)和残差和残差显显示示(plots)(plots)会自会自动动创创建。建。l基于基于ReportReport的的监监控可以用来控可以用来监监视视我我们们感感兴兴趣的趣的变变量(例如量(例如压压力系数)在迭代力系数)在迭代过过程中的程中的变变化化情况。情况。l任何一个任何一个reportreport

34、都可以用来都可以用来创创建建监监控控(Monitor), (Monitor), 同同时时基于基于reportreport的的监监控控(Monitor)(Monitor)可以用可以用做做计计算的算的终终止判据。止判据。l使用自使用自动动生成的生成的终终止判据止判据稳态稳态非非稳态稳态l使用基于使用基于监视监视(monitor)(monitor)的的终终止判据止判据最大最大值值最小最小值值渐进值渐进值l稳态稳态 Maximum Steps; Maximum Steps; Stop File: Stop File:l非非稳态稳态 Maximum Inner Iterations; Maximum I

35、nner Iterations; Maximum Physical Time; Maximum Physical Time; Maximum Steps; and Maximum Steps; and Stop File. Stop File.解解释释l相相对对于于设设置迭代步数,更有意置迭代步数,更有意义义的方法是的方法是设设置基置基于于监视值监视值的的终终止条件,例如限定残差最小止条件,例如限定残差最小值值,或,或是是监监控某个物理量(例如阻力系数和升力系数)控某个物理量(例如阻力系数和升力系数)是否达到是否达到稳稳定。定。l有有3 3种限制方法:种限制方法: 最小最小值值(minimum

36、)(minimum)最大最大值值(maximum)(maximum)渐进值渐进值(asymptotic limit)(asymptotic limit)l缺省情况下,基于缺省情况下,基于monitormonitor的的终终止条件均采止条件均采用最小用最小值值限制。限制。l选择选择最大或最小最大或最小值值限制限制后,可在属性后,可在属性栏设栏设置指置指定的数定的数值值。 。l使用使用渐进值渐进值限定限定(asymptotic limit)(asymptotic limit)的方法可以的方法可以让让我我们监视们监视某个某个变变量是否达到量是否达到稳稳定定. . 如在如在给给定区定区间间(如(如10

37、10个迭代步数)的最大个迭代步数)的最大变变化量(化量(|Max-Min|)|Max-Min|)小小于某个数于某个数值值, ,则计则计算算终终止。止。4.1 4.1 显显示几何示几何4.2 4.2 显显示示标标量量4.3 4.3 显显示矢量示矢量4.4 4.4 显显示流示流线线4.5 4.5 显显示示x-yx-y图图l操作操作: ScenesNew SceneGeometry: ScenesNew SceneGeometryl在属性在属性栏栏可控制不同的可控制不同的显显示模式示模式, , 如如显显示网格示网格, , 特征特征线线, , 轮轮廓廓线线等等l操作操作: ScenesNew Scen

38、eScalar: ScenesNew SceneScalarl在属性在属性栏栏可控制可控制标标量的量的显显示示l操作操作: ScenesNew SceneVector: ScenesNew SceneVectorl在属性在属性栏栏可控制矢量的可控制矢量的显显示示l缺省情况下缺省情况下显显示的是速度示的是速度场场,但是其,但是其它矢量它矢量场场也可以也可以显显示出来。示出来。显显示流示流线线的步的步骤骤: :创创建一个新的建一个新的SceneScene创创建一个新的建一个新的derived part. derived part. ( (操作操作: Derived Parts New : Deri

39、ved Parts New Streamline. )Streamline. )这样这样一个新的一个新的streamlinestreamline节节点会出点会出现现在在该该SceneScene下下, , 可以在属性可以在属性栏栏控控制制显显示效果示效果. (lines, ribbons,tubes). (lines, ribbons,tubes)1 12 23 3显显示示X-YX-Y图图的步的步骤骤: :l右右击击Plots, Plots, 选择选择 NewPlotXYPlot. NewPlotXYPlot. l选择选择数据所在的数据所在的part(part(如某如某个截面个截面) )l选择选

40、择X, YX, Y轴轴的的类类型型, , 选择选择函函数名称数名称2 21 13 3l5.1 5.1 注注释释l5.2 5.2 局部坐局部坐标标系系l5.3 5.3 场场函数函数l5.4 table5.4 tablel5.5 5.5 用用户户子程序子程序l5.6 Volume shapes5.6 Volume shapesl注注释释是什么是什么注注释释就是用就是用户户想要增加在想要增加在图图形里面的文字或形里面的文字或图图片片. .添加注添加注释释的步的步骤骤: :右右击击 AnnotationsAnnotations节节点点, , 选择选择New Simple TextNew Simple

41、Text出出现现新的新的节节点点:user 1, :user 1, 在属性在属性栏进栏进行定行定义义. .将定将定义义好的注好的注释释拖到拖到scenescene图图形中形中1 12 23 3l局部坐局部坐标标系可以在全局坐系可以在全局坐标标系的基系的基础础上定上定义义. . 可可以是笛卡以是笛卡尔尔, , 圆圆柱或球形坐柱或球形坐标标系系. .l局部坐局部坐标标系系经经常用来定常用来定义边义边界条件和初始条件界条件和初始条件, , 例如例如: :提供一个旋提供一个旋转进转进口的速度剖面口的速度剖面. . 提供一个旋提供一个旋转转区域的速度区域的速度l在在ToolsTools节节点点, Coo

42、rdinate Systems node New , Coordinate Systems node New Cartesian Coordinate System. Cartesian Coordinate System. l在属性在属性栏进栏进行定行定义义. .l将将创创建好的局部坐建好的局部坐标标系系节节点点” ”拖拖” ”到到SceneScene图图形窗形窗口口( (见见1)1)或是或是” ”拖拖” ”到到该该SceneScene节节点点( (见见2).2).(1)(1)(2)(2)lSTAR-CCM+STAR-CCM+可以可以让让用用户户定定义义自己的自己的场场函数函数, , 可以是

43、可以是标标量量场场或矢量或矢量场场; ; 可以手可以手动创动创建或是在建或是在已有已有场场函数的基函数的基础础上定上定义义l定定义义用用户场户场函数的函数的语语法采用法采用C C语语言子集言子集. . 如果如果出出现语现语法法错误错误, , 在在输输出窗口有相出窗口有相应应提示提示. . 例如例如: : ($Position0 = -1) ? 1 : 0($Position0 = -1) ? 1 : 0 ($Time = 0.01) ? 1000 : 300+70000($Time = 0.01) ? 1000 : 300+70000* *$Time$Time 1. 1.在在ToolsTool

44、s节节点点, , 选择选择Field Field Functions New Function. Functions New Function. 2. 2.在属性在属性栏对栏对函数函数进进行具体定行具体定义义对函数进行定义对函数进行定义$Temperature $Velocity $Position0 $Velocity0 定定义义用用户场户场函数函数时经时经常要引用已有的函数常要引用已有的函数l体体积积份数初始分布份数初始分布: : ($Position0 = -1) ? 1 : 0 ($Position0 = -1) ? 1 : 0l边边界上的温度随界上的温度随时间时间的的变变化化(0.1

45、(0.1秒之前从秒之前从300K300K线线性上升到性上升到1000K: 1000K: ($Time = 0.01) ? 1000 : 300+70000($Time = 0.01) ? 1000 : 300+70000* *$Time $Time l采用采用X, Y, ZX, Y, Z的形式定的形式定义义一个管道的初始速度一个管道的初始速度场场, , 以以X=4X=4为为分界面分界面, , 在大直径截面上的速度在大直径截面上的速度为为10, 10, 在小直径截面上速在小直径截面上速度度为为2: 2:($Centroid0 4) ? 2 : 10, 0, 0 ($Centroid0 File.

46、 New File. 步步骤骤: :创建一个新的空创建一个新的空table table (XYZ(XYZ或或 R Internal )R Internal )指定数据所在的指定数据所在的part.part.指定抽取的变量指定抽取的变量. .抽取数据抽取数据. .这样这样, , 新的新的tabletable数据创建出来数据创建出来. . 可以用于当前模拟或可以用于当前模拟或是输出到外部文件是输出到外部文件12143lUser code User code 可以可以让让用用户户自己定制函数自己定制函数, , 函函数可以用数可以用C, C+ C, C+ 或或FortranFortran写成写成. .

47、lUser codeUser code采用用采用用户库户库( (user libraryuser library) )的形式的形式出出现现. . 每个用每个用户库户库包含一个包含一个( (或多个或多个) )用用户户函数函数( (user functionuser function) )和一个注册函数和一个注册函数( (library registration functionlibrary registration function). ). l一旦用一旦用户库户库(user library)(user library)被被导导入入, , 其定其定义义的用的用户户函数会出函数会出现现在合适的下

48、拉菜在合适的下拉菜单单(drop-down lists)(drop-down lists)中中, , 以以备备使用使用. . lUser code User code 一般用来指定一般用来指定边边界界(boundary)(boundary)或区域或区域(region)(region)上的上的值值的分布的分布. . 例如初始条例如初始条件件, , 边边界条件界条件, , 源源项项. . l用来定用来定义标义标量量场场或矢量或矢量场场的的User code, User code, 其其功能和功能和 Field FunctionField Function差不多差不多. . 但是相比但是相比Fiel

49、d Function, User codeField Function, User code显显得更加得更加强强大大, , 可以可以实现实现更复更复杂杂的功能的功能. .Loading a New User LibraryLoading a New User Libraryl用用户户函数的函数的书书写必写必须须遵守遵守C C模版模版( (C templateC template) )或或FortranFortran模版模版( (Fortran templateFortran template) )的的规规范范. . l每个定每个定义义的用的用户户函数都要加至注册函数中函数都要加至注册函数中(

50、(library registration functionlibrary registration function), ), 以以实现实现注册注册. .l编译编译用用户户函数和注册函数函数和注册函数, , 可以得到最可以得到最终终所需的所需的用用户库户库( (user libraryuser library). ). C C模版模版#include Real.h #include Real.h void void namename( (resultresult, int size, , int size, args .args .); ); FortranFortran模版模版subrou

51、tine subroutine namename(result, size, (result, size, args .args .) ) use StarRealMod use StarRealMod integer, intent(in) : size integer, intent(in) : size 以下用户函数设定边界上的温度梯度为零.#include Real.h /* Set boundary temperature equal to cell temperature */ void zeroGradT(Real *result, int size, int (*fc)2, R

52、eal *T) int i; /* Loop through all entities applying T_boundary = T_cell * * fci0 is the cell next to i */ for (i = 0; i != size; +i) resulti = Tfci0; 以下用户函数设定边界上的温度梯度为零.C Set boundary temperature equal to cell temperature subroutine zeroGradT(result,size,fc,T) use StarRealMod implicit none integer,

53、 intent(in) : size real(StarReal), intent(out) : result(size) integer, intent(in) : fc(2,*) real(StarReal), intent(in) : T(*) integer iC Loop through all entities applying T_boundary = T_cellC fc(1,i) is the cell next to i do i = 1,size result(i) = T(fc(1,i) end do return endl每个用每个用户库户库必必须须包含一个注册函数包

54、含一个注册函数: uclib (for C) : uclib (for C) 或者或者 uflib (for Fortran). uflib (for Fortran). l当用当用户库户库被加被加载时载时, STAR-CCM+ , STAR-CCM+ 会首先会首先调调用注用注册函数册函数, , 以便确以便确认认用用户库户库里究竟定里究竟定义义了哪些用了哪些用户户函数函数, , 以及它以及它们们的返回的返回值值的的类类型是什么型是什么. .l注册函数注册函数(Library registration functions) (Library registration functions) 也也须

55、须遵遵守守C C模版或模版或FortranFortran模版的模版的规规范范. .#include uclib.h void zeroGradT(Real*, int, int*, Real*); void initVelocity(Real*, int, CoordReal*); void sutherlandViscosity(Real*, int, Real*); void uclib() /* Register user functions here */ ucfunc(zeroGradT, BoundaryProfile, Zero Gradient Temperature); uc

56、arg (zeroGradT, Face, FaceCellIndex, sizeof(int2); ucarg (zeroGradT, Cell, Temperature, sizeof(Real); ucfunc(initVelocity, RegionProfile, Initial Velocity); ucarg(initVelocity, Cell, Centroid, sizeof(CoordReal3); ucfunc(sutherlandViscosity, ScalarFieldFunction, Sutherland Viscosity); ucarg(sutherlan

57、dViscosity, Cell, Temperature, sizeof(Real); The equivalent library registration function in Fortran 90 could be coded in uflib.f: subroutine uflib() use StarRealMod implicit noneC Register user functions here external zeroGradT,initVelocity,sutherlandViscosity call uffunc(zeroGradT, BoundaryProfile

58、, & Zero Gradient Temperature) call ufarg (zeroGradT, Face, & FaceCellIndex, 2*StarIntSize) call ufarg (zeroGradT, Cell, & Temperature, StarRealSize) call uffunc(initVelocity, RegionProfile, & Initial Velocity) call ufarg(initVelocity, Cell, & Centroid, 3*CoordRealSize) call uffunc(sutherlandViscosi

59、ty, ScalarFieldFunction, & Sutherland Viscosity) call ufarg(sutherlandViscosity, Cell, & Temperature, StarRealSize) return endl用如下的命令用如下的命令编译编译得到用得到用户库户库 . .Compiler CompilationCommandGCCgcc-fPIC-shared*.c-olibuser.soGNUFortran77g77-fPIC-shared*.f-olibuser.soG95g95-fPIC-shared*.f-olibuser.solVolume

60、shapesVolume shapes可以可以让让用用户户定定义义四种不同四种不同类类型的封型的封闭闭体体积积, , 即即块块状状, , 圆锥圆锥, , 圆圆柱柱, , 球体球体, , 以便以便进进行网格行网格细细化化( (或粗化或粗化). ).lVolume shapes Volume shapes 可以可以手手动输动输入数入数值创值创建或使用交互式工具建或使用交互式工具. .l可以使用不同可以使用不同类类型的型的Volume shapes, Volume shapesVolume shapes, Volume shapes之之间间可可交叉交叉. .Tools Volume Shapes N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论