当前位置:文档之家› 动网格例子

动网格例子

动网格例子
动网格例子

预先说明

本文中选用例子和相关程序,主要参考:

[1].SimWe仿真论坛\ *午夜流星*, ”简单动网格制作", 2006-4-26 08:24。

[2].流体中文网论坛\hp270388026 ,“软件发布:用vc++开发Fluent UDF 希望斑竹将本贴”,2006/05/08 09:34am。

在此要特别感谢两位的工作与帮助。

其中模型相关的mesh文件和udf的C文件可以在[1]中下载得到

以下是我初次使用Fluent_VC++ Programer软件的一些经过。作为VC初学者,有关VC好多方面不大了解,所以其中费了点周折和失误。但毕竟这些也都是其中的一部分,所以也都写进来了,还让大家见笑了。

1.打开Fluent_VC++ programer程序,建立工程文件夹E:\FC, 点击Add Macros,准备添加编辑自定义宏。

2.选择4 Dynamic Mesh Model 类宏中的DEFINE_CG_MOTION(…),再在Function name 输入口中输入函数名dy_mesh。点击Add function,VC++自动项目更新。

3.转到VC++界面,打开文件Serial files\Source Files\functions.cpp。可见,该文件中已有内容如下:

显然,我们建立了名为dy_mesh的宏的初步框架文件。下面对该宏文件添加内容。就本简单举例言,编辑成如下:

其中,添加的代码只是定义了一个简单的刚体自转同时水平周期性平动的运动特性。该段代码直接在Fluent加入时,是可用的,而且运行正常。

4.直接在VC界面中编译该宏文件。编译结果出现下面的提示:――――――――――――――――――――――――――――――――――――

--------------------Configuration: Serial - Win32 Release--------------------

Compiling...

functions.cpp

E:\FC\Serial\functions.cpp(1) : fatal error C1083: Cannot open precompiled header file: 'Release/Serial.pch': No such file or directory

Error executing cl.exe.

functions.obj - 1 error(s), 0 warning(s) ―――――――――――――――――――――――――――――――――――――

作为一个VC++中的晚辈,请问一下,其中的这个fatal error是什么意思呢?

5.第二天,再来试试。先分别编译Serial files\Source Files中的另外两个cpp文件:Serial.cpp 和StdAfx.cpp,编译都成功了。然后,再重新编译functions.cpp。出现下面的提示:―――――――――――――――――――――――――――――――――――

--------------------Configuration: Serial - Win32 Release--------------------

Compiling...

functions.cpp

E:\FC\Serial\functions.cpp(14) : warning C4305: '=' : truncation from 'const double' to 'float'

functions.obj - 0 error(s), 1 warning(s)―――――――――――――――――――――――――――――――――――――

6.暂时忽略这个Warning。回到FluentVC++6.0 Programmer对话框界面,选择Compliling project下的Serial,点击Compling。编译成功,弹出提示框:

7.打开Fluent界面,读入case文件E:\FC\dong.cas。注意,目录一致。

8.Load udf到Fluent中,直接在UDF Library Manager对话框中的Library Name栏中输入

libudf,然后点击load即可。当然,此时原来随case文件引入的udf文件已无法可用,可以通过Unload来卸载原来的udf Library文件。上面操作在Fluent输出窗口显示如下提示:

其中,wave::libudf-1即原来设定的udf;另外,宏dy_mesh也正常载入了。

9.在Fluent中更新动网格运动边界/域设置。这里主要是更新由新定义宏dy-mesh定义的那部分。如下图所示。

其中的Zones:motion即为定义的刚体运动边界。点击Creat,完成运功动特性的UDF定义更新。

10.Mesh Preview。可以预览动网格变化状态,由此也可以来检查前面设置是否正确。初始网格图:

Mesh Motion相关设置,以及推进一定时间步后动网格更新得到的网格图:

动网格的入门专题

题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢! 该专题主要包括以下的主要内容: ##1. 动网格的相关知识介绍; ##2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; ##3. 与动网格应用有关的参考文献; ##4. 使用动网格进行计算的一些例子。 ##1. 动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。 弹簧近似光滑模型 在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。 原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法: (1)移动为单方向。 (2)移动方向垂直于边界。 如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,

网格划分的几种基本处理方法

网格划分的几种基本处理方法 贴体坐标法: 贴体坐标是利用曲线坐标,并使其坐标线与燃烧室外形或复杂计算区域边界重合,这样所有边界点能够用网格点来表示,不需要任何插值。一旦贴体坐标生成通过变换,偏微分方程求解可以不在任意形状的物理平面上,而在矩形或矩形的组合(空间问题求解域为长方体或它们的组合)转换平面上进行。这样计算与燃烧室外形无关,也与在物理平面上网格间隔无关。 而是把边界条件复杂的问题转换成一个边界条件简单的问题;这样不仅可避免因燃烧室外形与坐标网格线不一致带来计算误差,而且还可节省计算时间和内存,使流场计算较准确,同时方便求解,较好地解决了复杂形状流动区域的计算,在工程上比较广泛应用。 区域法: 虽然贴体坐标系可以使坐标线与燃烧室外形相重合,从而解决复杂流动区域计算问题。但有时实际流场是一个复杂的多通道区域,很难用一种网格来模拟,生成单域贴体网格,即使生成了也不能保证网格质量,影响流场数值求解的效果。因此,目前常采用区域法或分区网格,其基本思想是,根据外形特点把复杂的物理域或复杂拓扑结构的网格,分成若干个区域,分别对每个子区域生成拓扑结构简单的网格。由这些子区域组合而成的网格,或结构块网格。对区域进行分区时,若相邻两个子域分离边界是协调对接,称为对接网格;若相邻两子域有相互重叠部分,则此分区网格称为重叠网格。根据实际数值模拟计算的需要,把整个区域(燃烧室)分成几个不同的子区域,并分别生成网格。这样不仅可提高计算精度,而且还可节省计算机内存,提高收敛精度。但是计算时,必须考虑各区域连接边界处耦合以及变量信息及时、准确地传递问题。处理各个区域连接有多种方法,其中一个办法是在求解各变量时各区域可以单独求解若干次而对压力校正方程.设压力校正值在最初迭代时为零,为了保证流量连续各个区域应同时求解,然后对各个速度和压力进行校正。或者采用在两个区域交界处有一个重叠区,两个区域都对重叠区进行计算,重叠区一边区域内的值,要供重叠区另一边区域求解时用。或通过在重叠内建立两个区域坐标对应关系,实现数据在重叠区内及时传递。如果两个区采用网格疏密分布不相同,要求重叠区二边流量相等。区域法能合理解决网格生成问题,已被大量用来计算复杂形状区域流动。 区域分解法: 对于复杂几何形状的实际燃烧装置,为了保证数值求解流场质量,目前常采用区域分解法。该法基本要点是:根据燃烧室形状特点和流场计算需要,把计算区域分成一个主区域和若干个子区域,对各个区域(块)分别建立网格,并对各个区域分别进行数值求解。区域分解原则是尽量使每个子区域边界简便以便于网格建立,各个子区域大小也尽可能相同,使计算负载平衡有利于平行计算。各区域的网格间距数学模型以及计算方法都可以不同,通常在变量变化梯度大的区域,可以布置较细网格,并采用高阶紊流模型和描述复杂反应的紊流燃烧模型,以便更合理模拟实际流场。对于变量变化不太大区域,可采用较疏的网格和较简单的数学模型,这样可节省计算时间。各子区域的解在相邻子区域边界处通过耦合条件来实现光滑,相邻子区域连接重叠网格或对接网格来实现,在各子区域交界处通过插值法提供各子域求解变量的信息传递,满足各子域流场计算要求通量和动量守恒条件以便实现在交界面处各子域流场解的匹配和耦合,从而取得全流场解。 非结构网格法: 上述各方法所生成的网格均属于结构化网格,其共同特点是网格中各节点排列有序,每个节点与邻点之间关系是固定的,在计算区域内网格线和平面保持连续。特别是其中分区结构网格生成方法已积累了较多经验,计算技术也较成熟,目前被广泛用来构造复杂外形区域

有限元网格划分的基本原则

有限元网格划分的基本原则 划分网格是建立有限元模型的一个重要环节,它要求考虑的问题较多,需要的工作量较大,所划分的网格形式对计算精度和计算规模将产生直接影响。为建立正确、合理的有限元模型,这里介绍划分网格时应考虑的一些基本原则。 1 网格数量 网格数量的多少将影响计算结果的精度和计算规模的大小。一般来讲,网格数量增加,计算精度会有所提高,但同时计算规模也会增加,所以在确定网格数量时应权衡两个因数综合考虑。图1中的曲线1表示结构中的位移随网格数量收敛的一般曲线,曲线2代表计算时间随网格数量的变化。可以看出,网格较少时增加网格数量可以使计算精度明显提高,而计算时间不会有大的增加。当网格数量增加到一定程度后,再继续增加网格时精度提高甚微,而计算时间却有大幅度增加。所以应注意增加网格的经济性。实际应用时可以比较两种网格划分的计算结果,如果两次计算结果相差较大,可以继续增加网格,相反则停止计算。 图1 位移精度和计算时间随网格数量的变化 在决定网格数量时应考虑分析数据的类型。在静力分析时,如果仅仅是计算结构的变形,网格数量可以少一些。如果需要计算应力,则在精度要求相同的情况下应取相对较多的网格。同样在响应计算中,计算应力响应所取的网格数应比计算位移响应多。在计算结构固有动力特性时,若仅仅是计算少数低阶模态,可以选择较少的网格,如果计算的模态阶次较高,则应选择较多的网格。在热分析中,结构内部的温度梯度不大,不需要大量的内部单元,这时可划分较少的网格。 2 网格疏密 网格疏密是指在结构不同部位采用大小不同的网格,这是为了适应计算数据的分布特点。在计算数据变化梯度较大的部位(如应力集中处),为了较好地反映数据变化规律,需要采用比较密集的网格。而在计算数据变化梯度较小的部位,为减小模型规模,则应划分相对稀疏的网格。这样,整个结构便表现出疏密不同的网格划分形式。图2是中心带圆孔方板的四分之一模型,其网格反映了疏密不同的划分原则。小圆孔附近存在应力集中,采用了比较密的网格。板的四周应力梯度较小,网格分得较稀。其中图b中网格疏密相差更大,它比图a中的网格少48个,但计算出的孔缘最大应力相差1%,而计算时间却减小了36%。由此可见,采用疏密不同的网格划分,既可以保持相当的计算精度,又可使网格数量减

动网格

FLUENT6.1全攻略 图10-16 转子定子模型的静压等值线图 在显示速度矢量时,同样有绝对速度和相对速度两种形式。另外需要注意的是,后处理过程不能在交界区中的壁面、内部、周期等类型的边界上建立数据显示面(surface),但是可以在交界面上建立数据显示面,但结果将是单边的,就是只显示交界面一侧的结果。而且在跨越交接面时,等值线中可能会有细微的不连续。在画三维填充等值线时,图形中可能会出现一些小缝,但是这些缝只是图形显示问题,与解的连续性无关。 10.6 动网格模型 10.6.1 简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT根据每个迭代步中边界的变化情况自动完成。在使用移动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF定义边界的运动方式。 FLUENT要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则 21

FLUENT6.1全攻略 22 的,可以在模型设置中用FLUENT 软件提供的非正则或者滑动界面功能将各区域连接起来。 10.6.2 动网格守恒方程 在任意一个控制体中,广义标量Φ的积分守恒方程为: ()∫∫∫∫??+??=??+V V Φg V V dV S A d ΦΓA d u u ρΦV ρΦd dt d G G G G (10-7) 式中ρ为流体密度,u G 为速度向量,g u G 移动网格的网格速度,Γ为扩散系数,ΦS 为 源项,V ?代表控制体V 的边界。 方程(10-7)中的时间导数项,可以用一阶后向差分格式写成: ()()t V V dV dt d n n V ΔΦ?Φ=Φ+∫ρρρ1 (10-8) 式中n 和n+1代表不同的时间层。n+1层上的V n+1由下式计算: t dt dV V V n n Δ+=+1 (10-9) 式中dV/dt 是控制体的时间导数。为了满足网格守恒定律,控制体的时间导数由下式计算: ∫∑??=?=V n j j j g g f A u A d u dt dV G G G G , (10-10) 式中n f 是控制体积的面网格数,j A G 为面j 的面积向量。点乘j j g A u G G ?,由下式计算: t V A u j j j g Δ=?δG G , (10-11) 式中j δV 为控制体积面j 在时间间隔Δt 中扫过的空间体积。 10.6.3 动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧光滑模型、动态层模型和局部重划模型。

单元网格的划分

单元网格的划分 这个可能对很多朋友有帮助,就不设回复可见了。 网格划分对有限元分析的重要性相信大家都知道吧。适当的网格划分不仅节省时间,而且也更能得到满意的分析结果。 在集成模式下,一般使用AUTOGEM来控制网格的划分。 进入Mechanica模式后可以点击菜单的AUTOGEM菜单选择创建。 也可以直接点击右上的创建图标: 一般要求不是很高的模型的时候,就直接点击创建了 当Mechanica 在网格化模型时遇到问题时,“诊断:AutoGEM 网格”(Diagnostics : AutoGEM Mesh) 对话框便会打开。Mechanica 会在“诊断”(Diagnostics) 对话框中写入错误或警告消息。 如果模型网格化顺利完成,未出现任何问题,“诊断”(Diagnostics) 对话框会打开,显示网格化过程中创建的节点数和元素数。报告节点数时,Mechanica 不会将在边和基准曲线末端创建的节点计入。 确定了问题之后,修复几何的最好方法就是修改零件尺寸。例如,如果一个用户想要穿透零件的孔延伸得不够远,则该零件可能存在一个极薄的区域,这对网格化操作来说并不可行。另外一个可能会导致出现网格化问题的几何示例是半径极小的修饰倒圆角。可以在分析该零件之前隐含这些特征。 如果模型针对给定几何产生了意料之外的高元素计数,或者模型显示出异乎寻常的元素集中度(通常由密集的点云来表示),这时请格外注意。 如果没问题就可以选择保存网络,为下一步分析节省时间。当然,分析的时候就可以选择”从研究复制网格了“。 当系统缺省设置不能满足我们的要求的时候,就需要对AUTOGEM进行适当的设置了。 点击右侧“AUTOGEM控制按钮”: 有下面几种类型 边分布即分配节点数量,并沿曲线或表面边缘间隔放置,通过指定曲线或表面边缘节点的数目,来控制梁,壳,固件等的节点数量,如果指定的节点数量不足,系统可能根据几何模型的要求和复杂度来增加节点数量,第一个/最后一个节点间隔比即第一个与最后一个交点间隔比率,如果输入比例为3,则最后一个长度间隔为第一个间隔长度的3倍。之间的间隔比例从1逐渐增加到3。如果输入1,则所有间隔长度相等。 避免附加节点:确保创建的节点与网格划分标准相同,如果指定的节点数量不足,系统显示警告,将根据需要插入节点,选择此项可能导致网格划分失败,因此在绝对必要时才选择此项。 最小边长: 选择此项,可以确保网格划分忽略边缘和基准曲线的长度小于或等于指定的长度,但是不忽略比指定的长度小的边或曲线。 排除的隔离,这个就是手动排除会导致网格划分出问题的地方。 最大单元尺寸:控制网格生成器创建元素的大小。如果值太小,则划分的网格数量非很多。。。边长度除以曲率”(Edge Length by Curvature)可以在与弯曲曲面相邻的地方创建相对较小的元素。如果是组件,必须为顶部组件定义“边长度除以曲率”(Edge Length by Curvature),而且此定义对该组件全局有效。网格化组件时,Mechanica 会忽略先前指定给零件或元件的任何其它网格控制。 边长度/曲率半径的比率(Edge Length / Radius of Curvature ratio) –将比率指定为一个正实

网格划分模版

生成的网格所能达到的基本指标 1概述 1.1控制网格质量的必要性 在CFD计算中数值误差,也即数值解与微分方程精确解之间的偏差,主要是由截断误差及网格划分不够细密所造成的。而当离散格式的截断误差确定以后,网格的疏密及其分布特性就成了决定离散误差的关键因素。一般在CFD计算中,第一步就是生成计算网格,流场的主要信息都存储在计算网格的节点或者界面上,网格生成质量的高低直接影响着数值分析结果的精度与稳定性。特别是近壁处及通量梯度较大的区域的网格分布最为关键。粗糙的网格会导致数值模拟精度的降低,甚至不能得到收敛解;而过细的网格一方面会耗费过多的计算资源,另一方面也可能导致离散误差的增加,选择适宜的精密网格对于提高计算精度非常关键。因此生成高质量的、适宜的精密网格是获得高精度数值模拟结果的必要条件,在进行CFD计算中必须控制网格的数量及质量。 1.2对计算网格的基本要求 网格分为结构化和非结构化两大类,由于结构化网格在计算精度、计算时间等方面存在相对优势,目前在CFD计算中广泛采用的仍是结构型网格。因此为确保计算结果的正确性及模拟的精度,本课题组要求尽量使用结构化网格,除非在极个别的情况下(如几何结构过于复杂,很难生成结构化网格)才允许使用非结构化网格。 对生成的六面体结构化网格的质量有以下几方面的要求: 首先计算网格中不允许存在负体积,这是保障计算网格正确性的基本要求。 网格单元的总体分布应尽量与主流方向保持一致。 有叶片的区域,应采用绕叶片的O型网格来处理边界层内的流动,另外,O型网格对网格加密很有利。 在所有计算区域的边界处的计算网格线应最大程度的与边界正交,角度最小应大于45°。 计算单元的纵横比不能过大,一般应控制在[1,100]之间,不应高于100。(Aspect Ratio,[1,∞],越接近于1表明网格质量越高)

Fluent动网格专题讨论

Fluent动网格专题讨论(-) 题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢! 该专题主要包括以下的主要内容: ##1. 动网格的相关知识介绍; ##2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; ##3. 与动网格应用有关的参考文献; ##4. 使用动网格进行计算的一些例子。 ##1. 动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。 弹簧近似光滑模型 在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。 原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法: (1)移动为单方向。 (2)移动方向垂直于边界。 如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shapes?,然后激活该选项即可。 动态层模型 对于棱柱型网格区域(六面体和或者楔形),可以应用动态层模型。动态层模型的中心思想是根据紧邻运动边界网格层高度的变化,添加或者减少动态层,即在边界发生运动时,如果紧邻边界的网格层高度增大到一定程度,就将其划分为两个网格层;如果网格层高度降低到一定程度,就将紧邻边界的两个网格层合并为一个层: 如果网格层j扩大,单元高度的变化有一临界值:

网格划分实例详细步骤

一个网格划分实例的详解 该题目条件如下图所示: Part 1:本部分将平台考虑成蓝色的虚线 1. 画左边的第一部分,有多种方案。 方法一:最简单的一种就是不用布置任何初始的2dmesh直接用one volume 画,画出来的质量相当不错。 One volume是非常简单而且强大的画法,只要是一个有一个方向可以 mapped的实体都可以用这个方法来画网格,而事实上,很多不能map的单元也都可以用这个命令来画,所以在对三维实体进行网格划分的时候,收件推荐用one volume来试下效果,如果效果不错的话,就没有必要先做二维单元后再来画。 方法二:先在其一个面上生成2D的mesh,在来利用general选项,这样的优点是可以做出很漂亮的网格。

相比之下:方法二所做出来的网格质量要比一要高。 2. 画第二段的网格,同样演示两种方法: 方法一:直接用3D>solid map>one volume 方法二:从该段图形来看,左端面实际上由3个面组成,右端面由一个部分组成,故可以先将左端面的另两个部分的面网格补齐,再用general选项来拉伸,但是,问题是左面砖红色的部分仅为3D单元,而没有可供拉伸的源面网格,故,应该先用face命令生成二维网格后,再来拉伸,其每一步的结果分见下:

在用general选项时,有个问题需要注意:在前面我们说过,source geom和elemes to drag二选一都可以,但是这里就不一样了,因为source geom选面的话,只能选择一个面,而此处是3个面,所以这里只能选elemes to drag而不能选择source geom.

FLUENT 动网格教程

FLUENT动网格教程 摘自https://www.doczj.com/doc/bf8122236.html,/dvbbs/dispbbs.asp?boardid=61&id=1396题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Me sh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!。 该专题主要包括以下的主要内容: §一、动网格的相关知识介绍; §二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; §三、与动网格应用有关的参考文献; §四、使用动网格进行计算的一些例子。 §一、动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUE NT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。

网格划分的方法

网格划分的方法 1.矩形网格差分网格的划分方法 划分网格的原则: 1)水域边界的补偿。舍去面积与扩增面积相互抵消。2)边界上的变步长处理。 3)水、岸边界的处理。 4)根据地形条件的自动划分。 5)根据轮廓自动划分。

2.有限元三角网格的划分方法 1)最近点和稳定结构原则。 2)均布结点的网格自动划分。 3)逐渐加密方法。 35 30 25 20 15 10 5 05101520253035

距离(m)距 离 (m) 3. 有限体积网格的划分方法 1) 突变原则。 2) 主要通道边界。 3) 区域逐步加密。

距离(100m) 离距(100m )距离(100m)离距(100m )

4. 边界拟合网格的划分方法 1) 变换函数:在区域内渐变,满足拉普拉斯方程的边值问题。 ),(ηξξξP yy xx =+ ),(ηξηηQ yy xx =+ 2) 导数变化原则。 ?????? ??????=?????? ??????-ηξ1J y x ,???? ??=ηηξξy x y x J 为雅可比矩阵,??? ? ??--=-ηηξξy x y x J J 11, ξηηξy x y x J -= )22(1 222233ηηξηξηηξηξξηηηηηξξηηξξξηξy y x y y y x y y x x y y x y y x y J xx +-+-+-= 同理可得yy ξ,xx η,yy η。 变换方程为 020222=+++-=+++-)()(ηξηηξηξξηξηηξηξξγβαγβαQy Py J y y y Qx Px J x x x 其中2222,,ξξηξξηηηγβαy x y y x x y x +=+=+=。

网格划分的技巧和策略

在中国CAE论坛上看到这个,挺不错的 壳体单元网格划分时,如果能了解一些网格划分的技巧和策略,将会事半功倍。壳体网格划分可以从3个方面入手:几何模型、划分方法和解决策略。 1 几何模型 可以从以下几个方面了解和处理几何模型问题 (1)了解部件的形状,主要集中在尺寸小的部分。 (2)什么样的特征可以被忽略,例如小的倒角和圆孔。 (3)何种特征对分析是关键的特征,这些特征对确保好的单元质量是需要的。 2 划分方法(自动+手工) 可以采用如下方法 (1)将部件分割为不同的区域。 (2)每个区域必须有可能只使用一种三维网格模式。 (3)寻找下述特点区域:大量生成区域、对称性区域、产生困难的区域。 (4)寻找大量不同区域和方法。 (5)注意什么样的二维网格模式被要求。 (6)观察周围区域:什么功能可以在那里使用。 (7)二维网格模式是否可以延伸到相邻区域中。 (8)寻找对网格模式不能处理位置进行网格划分的方法:如果这样做了,寻找网格可以触及的曲面;注意周围网格将与此模式相融合。 (9)小特征融入大特征中;大特征划分网格时必须考虑到小特征。 (10)注意网格模式。 3 解决策略 壳体网格划分的主要策略如下 (1)内部特征衔接外部特征: l 不能变成被限制的。 l 网格模式需要一个面流入以便它们可以停止 l 从内到外划分网格可以避免此问题。 (2)小特征融入到大特征中:注意模式、大特征划分网格时必须考虑到小特征。 (3)硬特征应当先处理,否则它们会变得难于处理。 (4)通常情况下首先进行大量的生成,后面的编辑是比较容易的。 某些区域比较重要的网格划分的质量要求高些,如力的作用区域,边界条件所在的区域。一些设计区域和离设计区域比较远的地方可以适当放宽要求,但是最好是一些网格性能指标要满足。

网格划分原则

有限元分析中的网格划分好坏直接关系到模型计算的准确性。本文简述了网格划分应用的基本理论,并以ANSYS限元分析中的网格划分为实例对象,详细讲述了网格划分基本理论及其在工程中的实际应用,具有一定的指导意义。 1 引言 ANSYS有限元网格划分是进行数值模拟分析至关重要的一步,它直接影响着后续数值计算分析结果的精确性。网格划分涉及单元的形状及其拓扑类型、单元类型、网格生成器的选择、网格的密度、单元的编号以及几何体素。从几何表达上讲,梁和杆是相同的,从物理和数值求解上讲则是有区别的。同理,平面应力和平面应变情况设计的单元求解方程也不相同。在有限元数值求解中,单元的等效节点力、刚度矩阵、质量矩阵等均用数值积分生成,连续体单元以及壳、板、梁单元的面内均采用高斯(Gauss)积分,而壳、板、梁单元的厚度方向采用辛普生(Simpson)积分。辛普生积分点的间隔是一定的,沿厚度分成奇数积分点。由于不同单元的刚度矩阵不同,采用数值积分的求解方式不同,因此实际应用中,一定要采用合理的单元来模拟求解。 2 ANSYS网格划分的指导思想 ANSYS网格划分的指导思想是首先进行总体模型规划,包括物理模型的构造、单元类型的选择、网格密度的确定等多方面的内容。在网格划分和初步求解时,做到先简单后复杂,先粗后精,2D单元和3D单元合理搭配使用。为提高求解的效率要充分利用重复与对称等特征,由于工程结构一般具有重复对称或轴对称、镜象对称等特点,采用子结构或对称模型可以提高求解的效率和精度。利用轴对称或子结构时要注意场合,如在进行模态分析、屈曲分析整体求解时,则应采用整体模型,同时选择合理的起点并设置合理的坐标系,可以提高求解的精度和效率,例如,轴对称场合多采用柱坐标系。有限元分析的精度和效率与单元的密度和几何形状有着密切的关系,按照相应的误差准则和网格疏密程度,避免网格的畸形。在网格重划分过程中常采用曲率控制、单元尺寸与数量控制、穿透控制等控制准则。在选用单元时要注意剪力自锁、沙漏和网格扭曲、不可压缩材料的体积自锁等问题 ANSYS软件平台提供了网格映射划分和自由适应划分的策略。映射划分用于曲线、曲面、实体的网格划分方法,可使用三角形、四边形、四面体、五面体和六面体,通过指定单元边长、网格数量等参数对网格进行严格控制,映射划分只用于规则的几何图素,对于裁剪曲面或者空间自由曲面等复杂几何体则难以控制。自由网格划分用于空间自由曲面和复杂实体,采用三角形、四边形、四面体进行划分,采用网格数量、边长及曲率来控制网格的质量。 3 ANSYS网格划分基本原则 3.1 网格数量 网格数量的多少将影响计算结果的精度和计算规模的大小。一般来讲,网格数量增加,计算精度会有所提高,但同时计算规模也会增加,所以在确定网格数量时应权衡两个因数综合考虑。

动网格流沙版完美整理.

动网格 让网格动起来(1)—闲谈动网格 在固体有限元计算中,网格运动实非什么稀奇事儿。而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。 流体计算与固体完全不同。其根源在于它们使用的网格类型不同。当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。这其实是由流体力学研究方法所决定的。宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。 世界是公平的。有利必有弊。朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。然而很不幸的是,现实生活中有太多网格边界运动的实例。如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。 计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。并不计算网格节点位移。因此要让网格产生运动,通常给节点施加的物理约束是速度。CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。(2)网格节点速度是通过求解得到的。如6DOF模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。 对于第一类动网格问题,在fluent中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加速度、转动惯量等物理量的计算。在fluent 中,可以使用6DOF模型进行处理,在CFX中,可以使用刚体模型(13.0以上版本才有)。在FLUENT中,动网格涉及的内容包括: (1)运动的定义。主要是PROFILE文件与UDF中的动网格宏。 (2)网格更新。FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。 需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。 动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。在避免负网格的同时,努力提高运动更新后的网格质量。

高性能计算、分布式计算、网格计算、云计算概念与区别

高性能计算、分布式计算、网格计算、云计算--概念和区别 《程序员》2009-02 P34 “见证高性能计算21年” 高性能计算(High Performance Computing)HPC是计算机科学的一个分支,研究并行算法和开发相关软件,致力于开发高性能计算机(High Performance Computer)。 分布式计算是利用互联网上的计算机的中央处理器的闲置处理能力来解决大型计算问题的一种计算科学。 网格计算也是一种分布式计算。网格计算的思路是聚合分布资源,支持虚拟组织,提供高层次的服务,例如分布协同科学研究等。网格计算更多地面向科研应用,商业模型不清晰。网格计算则是聚合分散的资源,支持大型集中式应用(一个大的应用分到多处执行)。 云计算(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。云计算的资源相对集中,主要以数据中心的形式提供底层资源的使用,并不强调虚拟组织(VO)的概念。云计算从诞生开始就是针对企业商业应用,商业模型比较清晰。云计算是以相对集中的资源,运行分散的应用(大量分散的应用在若干大的中心执行);

目录 高性能计算、分布式计算、网格计算、云计算--概念和区别 (1) 高性能计算 (3) 百科名片 (3) 概念 (3) 服务领域 (3) 网格 (5) 百科名片 (5) 网格的产生 (5) 网格技术的特征及其体系结构 (5) 高性能计算机的发展与应用 (17) 我国高性能计算机应用前景及发展中的问题 (17) 高性能计算机与大众生活息息相关 (17) 高性能计算机发展任重道远 (18) 分布式计算、网格计算和云计算 (21) 分布式计算 (21) 网格计算 (21) 云计算 (22) 网格计算和云计算的概念和区别 (24) 目标不同 (24) 分配资源方式的不同 (25) 殊途同归 (26) 钱德沛教授:云计算和网格计算差别何在? (27) 云计算与网格计算的概念 (27) 网格计算的特点是什么呢? (27) 云计算与网格计算区别何在 (28)

FLUENT动网格技术简介

FLUENT动网格简介 在固体有限元计算中,网格运动实非什么稀奇事儿。而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。 流体计算与固体完全不同。其根源在于它们使用的网格类型不同。当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。这其实是由流体力学研究方法所决定的。宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。 世界是公平的。有利必有弊。朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。然而很不幸的是,现实生活中有太多网格边界运动的实例。如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。 计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。并不计算网格节点位移。因此要让网格产生运动,通常给节点施加的物理约束是速度。CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。(2)网格节点速度是通过求解得到的。如6DOF 模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。 对于第一类动网格问题,在fluent中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加

网格划分

有限元网格划分 摘要:总结近十年有限元网格划分技术发展状况。首先,研究和分析有限元网格划分的基本原则;其次,对当前典型网格划分方法进行科学地分类,结合实例,系统地分析各种网格划分方法的机理、特点及其适用范围,如映射法、基于栅格法、节点连元法、拓扑分解法、几何分解法和扫描法等;再次,阐述当前网格划分的研究热点,综述六面体网格和曲面网格划分技术;最后,展望有限元网格划分的发展趋势。 关键词:有限元网格划分;映射法;节点连元法;拓扑分解法;几何分解法;扫描法;六面体网格 1 引言 有限元网格划分是进行有限元数值模拟分析至关重要的一步,它直接影响着后续数值计算分析结果的精确性。网格划分涉及单元的形状及其拓扑类型、单元类型、网格生成器的选择、网格的密度、单元的编号以及几何体素。在有限元数值求解中,单元的等效节点力、刚度矩阵、质量矩阵等均用数值积分生成,连续体单元以及壳、板、梁单元的面内均采用高斯(Gauss)积分,而壳、板、梁单元的厚度方向采用辛普生(Simpson)积分。 2 有限元网格划分的基本原则 有限元方法的基本思想是将结构离散化,即对连续体进行离散化,利用简化几何单元来近似逼近连续体,然后根据变形协调条件综合求解。所以有限元网格的划分一方面要考虑对各物体几何形状的准确描述,另一方面也要考虑变形梯度的准确描述。为正确、合理地建立有限元模型,这里介绍划分网格时应考虑的一些基本原则。 2.1 网格数量

网格数量直接影响计算精度和计算时耗,网格数量增加会提高计算精度,但同时计算时耗也会增加。当网格数量较少时增加网格,计算精度可明显提高,但计算时耗不会有明显增加;当网格数量增加到一定程度后,再继续增加网格时精度提高就很小,而计算时耗却大幅度增加。所以在确定网格数量时应权衡这两个因素综合考虑。 2.2 网格密度 为了适应应力等计算数据的分布特点,在结构不同部位需要采用大小不同的网格。在孔的附近有集中应力,因此网格需要加密;周边应力梯度相对较小,网格划分较稀。由此反映了疏密不同的网格划分原则:在计算数据变化梯度较大的部位,为了较好地反映数据变化规律,需要采用比较密集的网格;而在计算数据变化梯度较小的部位,为减小模型规模,网格则应相对稀疏。 2.3 单元阶次 单元阶次与有限元的计算精度有着密切的关联,单元一般具有线性、二次和三次等形式,其中二次和三次形式的单元称为高阶单元。高阶单元的曲线或曲面边界能够更好地逼近结构的曲线和曲面边界,且高次插值函数可更高精度地逼近复杂场函数,所以增加单元阶次可提高计算精度。但增加单元阶次的同时网格的节点数也会随之增加,在网格数量相同的情况下由高阶单元组成的模型规模相对较大,因此在使用时应权衡考虑计算精度和时耗。 2.4 单元形状 网格单元形状的好坏对计算精度有着很大的影响,单元形状太差的网格甚至会中止计算。单元形状评价一般有以下几个指标: (1)单元的边长比、面积比或体积比以正三角形、正四面体、正六面体为参考基准。 (2)扭曲度:单元面内的扭转和面外的翘曲程度。 (3)节点编号:节点编号对于求解过程中总刚矩阵的带宽和波前因数有较大的影响,从而影响计算时耗和存储容量的大小

ICEM CFD动网格学习

FLUENT动网格教程 该专题主要包括以下的主要内容: §一、动网格的相关知识介绍; §二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; §三、与动网格应用有关的参考文献; §四、使用动网格进行计算的一些例子。 §一、动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUE NT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即 弹簧近似光滑模型(spring-based smoothing)、 动态分层模型(dynamic layering) 局部重划模型(local remeshing)

相关主题
文本预览
相关文档 最新文档