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

COMSOL动网格案例

COMSOL动网格案例
COMSOL动网格案例

COMSOL动网格案例

有限元方法是一种基于网格的数值计算方法,其一般流程为:

剖分网格是在几何模型的基础上进行的,但是我们在仿真过程中经常会遇到几何模型随着计算过程变化的情况,例如模拟电机转动、固体在流体中运动等,这时候,基于原来网格的方程就不再准确,而需要重新划分网格,即引入动网格的概念。

动网格是相对于传统“静”网格而言,一般仅在有运动物体参与的仿真模型中使用。引入动网格的概念之后,仿真流程就不再是单独的一条流水线,而变成了循环迭代模型。

动网格使用方法

根据重新划分网格的不同,动网格可以分为两种:

1用户提前知道运动物体的位移变化过程,从而可以手动指定网格的运动形式。

例如在下面的电动机案例中,中间部分的转子在不停转动,需要进行动网格的设置,但是由于其转速是固定的,因而网格的变换形式我们就可以预先指定。

2用户提前不知道运动物体如何运动,无法预先手动指定网格运动形式,需要软件自动重新绘制网格。

下面的案例模拟了管道中流体流过时,其中一个障碍物的变形情况。流体从管道的左侧向右流动,在流体压力作用下,原本直立在管道中的障碍物发生变形,向一侧倾斜。

由于我们无法事前了解网格的运动形式,所以也就无法指定网格运动,而交由软件自动划分,下图展示了这种情况下动网格的设置方案。

下面的图展示了网格变形情况。

与电动机的例子不同,我们在管道流动的案例中发现了网格的拉扯现象,即网格实际上没有重新划分,仅仅是网格单元的形状发生了变化,这仅适用于网格进行小范围变化的情形,当变形较大是,网格单元可能会被拉扯为畸形,从而降低计算精度,甚至导致模型不收敛。

我们可以很方便的验证一下,将障碍物的杨氏模量由200kPa改为2kPa,也就是将障碍物变得更软一些。

下面的图展示了此时的网格变形情况,实际上模型还没有算完,计算过程中由于不收敛停止了,我们仅展示了计算得到的部分结果。

可以看到,随着计算的进行,网格畸变比较严重,畸变区域的网格颜色由绿色(质量较好)转变为黄色(质量较差)。

有朋友可能会问,为什么电动机模型没有发生网格的拉扯行为?

这是因为在电动的模型中,我们采用了形成装配体+接触对的建模方案。转子和定子的网格边界本来就不是连续的。

重新划分网格

那我们该如何解决上述问题呢?显然,仅仅建立在使网格单元产生变形程度上的动网格无法解决大变形的问题。我们的解决方案是重新划分网格。

我们在瞬态求解器中添加一个重新划分网格的步骤,并设定重新划分网格的条件。瞬态求解器每计算一步,都会对重新划分网格的判定条件进行判定,若条件为真,则会在上一步边界条件的基础上自动重新绘制网格并在新的网格基础上继续向前推进时间步。

下面的图展示了软件在计算过程中自动重新剖分网格的结果,网格质量较好,不存在拉扯畸变现象。

结束语

我们在本文中简单介绍了动网格的概念及其初步用法,关于其进一步的用法还有很多,欢迎持续关注,来信交流!

动网格的入门专题

题记:在学习使用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)移动方向垂直于边界。 如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,

动网格

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 动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧光滑模型、动态层模型和局部重划模型。

FLUENT 动网格教程

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

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)

COMSOL光学案例

Modeling of Pyramidal Absorbers for an Anechoic Chamber Introduction In this example, a microwave absorber is constructed from an infinite 2D array of pyramidal lossy structures. Pyramidal absorbers with radiation-absorbent material (RAM) are commonly used in anechoic chambers for electromagnetic wave measurements. Microwave absorption is modeled using a lossy material to imitate the electromagnetic properties of conductive carbon-loaded foam. Perfectly matched layers Port Conductive pyramidal form Unit cell surrounded by periodic conditions Conductive coating on the bottom Figure 1: An infinite 2D array of pyramidal absorbers is modeled using periodic boundary conditions on the sides of one unit cell. Model Definition The infinite 2D array of pyramidal structures is modeled using one unit cell with Floquet-periodic boundary conditions on four sides, as shown in Figure 1. The geometry of one unit cell consists of one pyramid sitting on a block made of the same

comsol案例——肖特基接触

肖特基接触 本篇模拟了由沉积在硅晶片上得钨触点制成得理想肖特基势垒二极管得行为。将从正向偏压下得模型获得得所得J-V(电流密度与施加电压)曲线与文献中发现得实验测量进行比较 介绍 当金属与半导体接触时,在接触处形成势垒。这主要就是金属与半导体之间功函数差异得结果。 在该模型中,理想得肖特基接触用于对简单得肖特基势垒二极管得行为进行建模。使用“理想”这个词意味着在这里,表面状态,图像力降低,隧道与扩散效在界面处计算半导体与金属之间传输得电流应被忽略。 注意,理想得肖特基接触得特征在于热离子电流,其主要取决于施加得金属 - 半导体接触得偏压与势垒高度。这些接触通常发生在室温下掺杂浓度小于1×1016 cm-3得非简并半导体中。 模型定义 该模型模拟钨 - 半导体肖特基势垒二极管得行为。图1显示了建模设备得几何形状。它由n个掺杂得硅晶片(Nd = 1E16cm-3)组成,其上沉积有钨触点。该模型计算在正向偏压(0至0、25V)下获得得电流密度,并将所得到得J-V曲线与参考文献中给出得实验测量进行比较。该模型使用默认得硅材料属性以及一个理想得势垒高度由下列因素定义: ΦB=Φm-χ0 (1) 其中ΦB就是势垒高度,Φm就是金属功函数,χ0就是半导体得电子亲与力。选择钨触点得功函数为 Φm = 4,72V (2) 其中势垒高度为ΦB= 0、67V。 结果与讨论 图2显示了使用我们得模型(实线)在正向偏压下获得得电流密度,并将其与参考文献中给出得实验测量进行比较ref、 1(圆)。

建模说明 从文件菜单中,选择新建NEW。 N E W 1在“新建”窗口中,单击“模型向导”。 MODEL WIZARD 1 在模型向导窗口,选择2D轴对称 22在选择物理树中,选择半导体>半导体(semi)。 3单击添加。 4点击研究。 5在“选择”树中,选择“预设研究”>“稳态”。 6单击完成。 D E F I N I T I O N S 参数 1在“模型”工具栏上,单击“参数”。 2在“参数”得“设置”窗口中,找到“参数”部分。3在表格中,输入以下设置: 选择um做长度单位

Fluent动网格----layering个一个简单实例(作者Snow)

Fluent动网格----layering个一个简单实例我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。 1.Gambit画网格 本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做! 这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要制定。 2.编写UDF #include "udf.h" #include "unsteady.h" #include "stdio.h" #include "stdlib.h" /************************************************************/ real current_time = 0.0 ; Domain * domain ; Thread * thread ; real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment ) ; /************************************************************/ DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime) { current_time = CURRENT_TIME ; vel[0] = 30; Message("time=%f omega=%f\n",current_time) ; }

动网格实例

NACA0012翼型俯仰振荡(动网格的应用过程); 本例是想对作简谐振荡运动的NACA0012翼型的气动特性(升力系数,阻力系数和力矩系数)进行数值计算,来流速度为V, 攻角的变化规律为: Alpha(t)=A/2*sin(omega*t) 其中,A=10度,omega=10*pi 弧度/秒。 1、该例需要使用动网格来实现,首先需要编写刚体运动UDF实现翼型的俯仰运动,由于在FLUENT的UDF中只能指定速度,角速度;所以,需要将攻角对时间求导,得到转动角速度的规律: D(alpha)/dt=A*omega/2*cos(omega*t) 编写的UDF在附件中。 2、由于本例只是为了讲述动网格的实现,至于其他方面的设置及分析就不再讨论;这里详细讲述下动网格的建立以及动网格的预览的结果。步骤如下: 1)将mesh文件读入到FLUENT中,Grid:check,scale…,Smooth/Swap…;Display Grid; 2)定义求解器为,Define:pressure-based,2D,unsteady,Implicit,Green-Gauss Node Based(因本例使用的是三角形单元). 3)编译UDF,Define->User-Defined->Functions->Complied… 此时打开了Complied UDFs的窗口,Add…在选择UDF的对话框中找到NACA0012DM文件夹中的airfoil.c文件,选中,ok;此时返回到Complied UDFs的窗口点击Build,FLUENT 开始进行编译,可以在FLUENT窗口看到编译的一些过程提示;等编译完成,点击Load;就将已经编译好的UDF加载到FLUENT中了。 4)定义动网格参数,Define->Dynamic Mesh(选勾,激活动网格模型)->Parameters… 此时打开了Dynamic Mesh Parameters 窗口,在Models中只选取Dynamic Mesh,本例的网格类型为三角形单元,要实现的运动为小幅度的转动,因此选用的动网格更新方法为Smoothing+Remeshing;开始依次对这两种更新方法进行参数设定: Smoothing中的参数设定:

(完整版)NACA0012翼型俯仰振荡实例进行讲解动网格

以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; 首先需要声明的是,这个例子也是来源于网络,原作者不详,在此向他表示感谢。 1、问题描述 本例是想对作简谐振荡运动的NACA0012翼型的气动特性(升力系数,阻力系数和力矩系数)进行数值计算,来流速度为V,攻角的变化规律为: Alpha(t)=A/2*sin(omega*t) 其中,A=10度,omega=10*pi 弧度/秒。 2、该例需要使用动网格来实现,首先需要编写刚体运动UDF实现翼型的俯仰运动,由于在FLUENT的UDF中只能指定速度,角速度;所以,需要将攻角对时间求导,得到转动角速度的规律: D(alpha)/dt=A*omega/2*cos(omega*t) 编写的UDF在附件中。 3、由于本例只是为了讲述动网格的实现,至于其他方面的设置及分析就不再讨论;这里详细讲述下动网格的建立以及动网格的预览的结果。步骤如下: 1)将mesh文件读入到FLUENT中,Grid:check,scale…,Smooth/Swap…;Display Grid;2)定义求解器为,Define:pressure-based,2D,unsteady,Implicit,Green-Gauss Node Based(因本例使用的是三角形单元). 3)编译UDF,Define->User-Defined->Functions->Complied… 此时打开了Complied UDFs的窗口,Add…在选择UDF的对话框中找到NACA0012DM文件夹中的airfoil.c文件,选中,ok;此时返回到Complied UDFs的窗口点击Build,FLUENT开始进行编译,可以在FLUENT窗口看到编译的一些过程提示;等编译完成,点击Load;就将已经编译好的UDF加载到FLUENT中了。 4)定义动网格参数,Define->Dynamic Mesh(选勾,激活动网格模型)->Parameters… 此时打开了Dynamic Mesh Parameters 窗口,在Models中只选取Dynamic Mesh,本例的网格类型为三角形单元,要实现的运动为小幅度的转动,因此选用的动网格更新方法为Smoothing+Remeshing;开始依次对这两种更新方法进行参数设定: Smoothing中的参数设定: Spring Constant Factor(弹簧倔强系数),该值设定为一个较小的值,在0.01到0.1之间,本例选取0.08; Boundary Node Relaxation(边界节点松弛),设定为0.5; Convergence Tolerance(收敛判据),保持默认的0.001; Number of Iterations(迭代次数),保持默认的20; Remeshing中的参数设定: 为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。 将Minimum Length Scale及Maximum Length Scale均设置为0,为了使所有的区域都被标记重新划分; Maximum Cell Skewness(最大单元畸变),参考Mesh Scale Info…中的参考值0.51,将其设定为0.4,以保证更新后的单元质量; Size Remesh Interval(依照尺寸标准重新划分的间隔),将这个值设定为1,在FLUENT,不满足最大网格畸变的网格在每个时间步都会被标记,而后重新划分,而不满足最小,最大及尺寸函数的网格,只有在Current Time=(Size Remesh Interval)*delta t的时候,才根据这些尺寸的标准标记不合格的单元进行重新划分,为了保证每步的更新质量,将其修改为1,就是每个时间都根据尺寸的标准标记及更新网格。

Fluent 动网格实例具体操作步骤(完整资料).doc

【最新整理,下载后即可编辑】 Fluent 动网格实例具体操作步骤 目录 实例:Profile定义运动 (3) I、................................................................................................... 参数说明 3 II、 ................................................................................................. 操作步骤4 一、将计算域离散为网格 (4) 二、Fluent操作步骤 (5) 1. 启动Fluent 14.5求解器 (5) 2. 初始设置 (6) 3. 选择湍流模型 (7) 4. 设置流体物性 (8) 5. 设置边界条件 (9) 6. 动网格设置 (11) 7. 设置其它选项 (16)

Fluent 动网格实例具体操作步骤 在Fluent中,动网格模型可以用来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动网格在求解过程中计算网格要重构,例如汽车发动机中的气缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。 CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。(2)网格节点速度是通过求解得到的。如6DOF模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。 在Fluent中,动网格涉及的内容包括: (1)运动的定义。主要是PROFILE文件与UDF中的动网格宏。 (2)网格更新。FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。

动网格

①进行动网格演示时,首先设置为transient; ②动网格预览:display zone motion---preview mesh motion;预览之后不保存,重新打开才能恢复原样; ③问题: 出现负体积:如果有error前有warning,仔细查看; 第一章理论基础 1.1 网格生成方法比较 1)铺层layering 计算区域进行扩张和收缩时,网格进行合并或删除; 特点: ①网格的增加或删除是一层一层进行的; ②适用于四边形、六面体和三棱柱网格,不适用于三角形、四面体网格; ③常适用于边界线线性运动; 2)弹性光顺spring smoothing 计算区域进行扩张和收缩时,网格和节点像弹簧一样被拉伸和压缩(接近运动的地方压缩严重); 特点: ①节点数量和链接关系不发生变化; ②如果变形幅度过大,网格会高度扭曲; ③适用于三角形、四面体网格,也适用于四边形、六面体和三棱柱网格; 3)局部重构local remeshing 计算区域进行扩张和收缩时,会自动重构扭曲或尺寸过大的网格,以满足要求;

①节点的数量和链接关系会发生变化; ②适合大变形、大位移;仅使用与三角形网格和四面体网格; ③常和spring smoothing联合使用; 1.2 边界运动 1.2.1 in-cylinder 对于类活塞运动,fluent集成了气缸(in-cylinder)模型;dynamic mesh---option---in cylinder; 1)常用参数 Crank radius:曲柄半径;connecting rod length:连杆半径; (1)通过设置起始、终止角度、曲柄、连杆半径,调整指定边界运动范围; 设置crank angle step size,调整边界运动速度; 设置起始、终止角度、piston axis方向,调整边界运动的方向; 2)指定运动区域 Dynamic mesh zones---creat/edit; Zone name---选择gambit中指定的运动边界; Type---rigid body; Motion attributes---选择piston-full(motion udf/profile)---指定活塞轴方向(piston axis); 设置h_ideal(meshing option---cell hight); 1.2.2 profile 对于预先指定的运动,可用profile来描述; 1)define---profile---read;后缀名为prof;

Comsol案例解析03:PDE之-E-H方程

Comsol案例解析03:PDE之-E-H方程 本期导读 使用广义型PDE模块 注意在comsol中推导柱坐标系下的扩散项 使用积分耦合算子 从材料属性中提取函数单独使用 计算背景 Elenbaas与Heller最早研究电弧采用一维的壁稳弧,即可近似无限长的通道电弧,利用一维扩散方程研究径向上温度的分布。其著名的Elenbaas-Heller方程如下(包括边界条件等)

建模流程 维度:一维轴对称 参数: 几何:线段,长R0 材料:在材料库中选择-平衡放电-选择空气

从材料中提取函数:从方程可以看出,我们只需要材料的电导率和热导率。展开空气下面的基础属性,选择【热导率k的插值函数】,右击它选择【复制】,然后鼠标右击【定义】,弹出下拉菜单选择【粘贴插值函数】,提取函数完毕。电导率同样方法。调用函数注意格式:f_name(parameters) 积分:定义-组件耦合-选择积分(注意计算回转几何)

设置变量: 源项(将上述方程的扩散项展开,发现除了温度的二阶导数项,还包括一项,这一项我们归类到源项中,需要注意的是,在comsol的散度计算中,无论原方程变量使用的是哪种坐标系,▽算符计算散度都只有一种,即都与直角坐标系下相同,因此用户自己需要注意柱坐标系和球坐标系下对应的散度计算,将多余项统统归类为源项即可,其他复杂的方程都可以这样处理。) 其他变量

这里需要注意的是,电流变量I的计算表达式与给出的不同,这是因为积分已经选择了计算回转几何。 物理场设置: 模块主节点:设置单位,特别是对于有强迫症的同学,否则会出现各种黄色单位警告(虽然单位错误不影响最终计算结果)

一个动网格的例子

一个动网格的例子 BY HOTSON 花了一个下午的时间看了一点关于动网格的培训资料,颇受启发,于是想自己做一个例子,问题描述如下: 一个10cm*10cm 的二维空间,顶部有一个2cm 的开口,其余全部为壁面,其中底下的壁面上下往返运动(见profile 文件),里面充满空气air ,想要模拟出类似于针筒抽吸空气的效果。模型及其网格如图1所示,网格大小为0.4mm 。 图1 模型以及网格 以下详细描述fluent 中关于动网格的设定 首先,导入网格,当然注意单位的换算啦,按系统默认的m 作为单位,因此进行scale ,如图 2 图2 单位确定 出口 静止壁面 变形壁面 运动壁面

模型(model)以及材料(material)按默认的不做修改。勾选Dynamic Mesh,以及remeshing,如图3 图3 选择动网格模型 Smoothing和remeshing的设定都先采用默认的值,如图4 图4 动网格策略设定 下面,建立动网格区域(Dynamic mesh zone) 顶面和出口面均设定为静止网格(stationary),在mesh option中,cell height设定为0.0004m(即初始网格的大小,官方教程建议如此设定),如图5所示

A 顶面 B 出口面 图5 静止网格的设定 由于地面上下往复运动时,侧壁是变形的,因此两个侧壁设定为变形区域(deforming),将maximum length scale设定为0.01(当然,你也可以尝试其他值),maximum skewness设定为0.75。官方教程建议对于三角形网格,remeshing 的最大畸变度设定为0.75。如图6所示 图6 变形网格的设定 将底面设定为运动壁面,运动类型为刚体运动(Rigid body),同样cell height设

COMSOL入门-学习COMSOL案例库中的例子

学习COMSOL案例库中的例子 1,打开COMSOL MULTIPHYSICS: 双击COMSOL MULTIPHYSICS图标,进入基本功能界面,如下图 2,进入案例库:单机“文件”-“案例库”,如下图:

3,在“案例库”页面寻找个人感兴趣的案例,通常有如下两种方式: (1)直接在模块下进行搜索,这种方法要求对每个模块包含的内容比较了解,因为感兴趣的内容大多数时候分布在不同的模块。如一部分的压电案例包含在“结构力学模块”,单击“结构力学模块”,打开子模块列表,找到“压电效应”,单击“压电效应”,展开所有压电效应下的案例,如下图 (2)关键词搜索选择感兴趣案例,该方法能尽肯能全面的搜索到案例库中包含的所有感兴趣案例。如在搜索框内输入“压电”(建议输入英文” piezoelectric”,搜索的结果更全,下图所示分别为中文和英文搜索结果),点击“搜索”,即出现所有与压电相关的案例,如下图:

4,打开搜索到的案例,如在通过关键词搜索得到的结果中的“结构力学模块”-“压电效应”-“shear_bender”,鼠标左键单击“shear_bender”,弹出该案例的基本介绍,如下图: 注意页面左下角有两个可以执行的图标选项和,其中 (1):打开案例运行文件,其中包含该案例在COMSOL中的具体设置,部分案例同时包含运行结果(案例图标前面是实心蓝点的是包含结果的,如果是空心蓝点是不包含 结果,但是可以打开后运行出结果)。鼠标左键单击打开该案例COMSOL文件,如下图,任何部分都可以查看具体设置。 (2):打开该案例的背景介绍、COMSOL操作要点以及在COMSOL 中的具体操作(step-by-step)。鼠标左键单击打开PDF文件(电脑需

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)移动方向垂直于边界。 如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格

COMSOL稳态和瞬态的热性能仿真案例教学

COMSOL稳态和瞬态的热性能仿真案例教学 新建 1.打开comsol(我用的是comsol5.5,其他版本大致相同),新建→模型向导→选 择三维; 2.选择物理场:传热→固体传热,按增加→研究,选择研究:预置研究→稳态 →完成;

建模 3.导入相应的二维或三维模型,或者直接在COMSOL里自建几何模型;导入: 顶部工具栏:导入,选中几何1→选择单位→导入,最后形成联合体→全部构建; 网格化 4. 网格:“序列类型”默认是“物理场控制网格”; 5. 可改为“用户控制网格”,网格1 →尺寸,可以看到不同细化程度(软件默认)对应的“单元尺寸参数”,可手动修改网格尺寸;

6. 顶部工具栏:增加材料; 7. 可在右侧框内搜索要添加的材料,然后“增加到选择”;或者添加空材料,去选择一个域,然后材料属性目录下会出现做该仿真必要的参数,输入参数即 可; 载荷 8. 点击初始值1:温度默认单位K,可修改为℃; 9. 热绝缘1:默认选择所有边界; 10. 右键“固体传热”,添加温度,边界选择输入载荷的区域;

11. 右键添加“热通量”,边界选择全体导热的区域,在热通量一栏,输入广义热通量数值,即输入的能量值; 研究:结果 12. 点击“研究”开始计算,仿真完成后,结果下面自动出现“温度”;点击温度→体,出现仿真结果图;可通过派生值→全局计算,计算自己所需要的值 瞬态仿真 13. 顶部工具栏:增加研究

14. 右侧任务栏:预置研究→瞬态; 15. 研究2 →步骤1:研究设定; 16. 时间单位:可设置为ms;时间:设置仿真时间范围及步长; 17. 仿真完成后,结果下面自动出现“温度”; 18. 点击温度→表面。出现仿真结果图。可看到温升变化,和稳态保持一致; 19. 派生值,右键,“体最大值”,会在仿真图下方出现“表格2”,自动将时间和温度的对应变化列出来; 20. 在表格处,点击“表图”按钮,结果下面自动出现“一维绘图组”:会有温度

comsol单模光纤仿真案例

Step-Index Fiber Introduction The transmission speed of optical waveguides is superior to microwave waveguides because optical devices have a much higher operating frequency than microwaves, enabling a far higher bandwidth. Today the silica glass (SiO 2) fiber is forming the backbone of modern communication systems. Before 1970, optical fibers suffered from large transmission losses, making optical communication technology merely an academic issue. In 1970, researchers showed, for the first time, that low-loss optical fibers really could be manufactured. Earlier losses of 2000 dB/km now went down to 20 dB/km. Today’s fibers have losses near the theoretical limit of 0.16 dB/km at 1.55 μm (infrared light). One of the winning devices has been the single-mode fiber, having a step-index profile with a higher refractive index in the center core and a lower index in the outer cladding. Numerical software plays an important role in the design of single-mode waveguides and fibers. For a fiber cross section, even the most simple shape is difficult and cumbersome to deal with analytically. A circular step-index waveguide is a basic shape where benchmark results are available (see Ref. 1). This example is a model of a single step-index waveguide made of silica glass. The inner core is made of pure silica glass with refractive index n 1 = 1.4457 and the cladding is doped, with a refractive index of n 2 = 1.4378. These values are valid for free-space wavelengths of 1.55 μm. The radius of the cladding is chosen to be large enough so that the field of confined modes is zero at the exterior boundaries. For a confined mode there is no energy flow in the radial direction, thus the wave must be evanescent in the radial direction in the cladding. This is true only if On the other hand, the wave cannot be radially evanescent in the core region. Thus The waves are more confined when n eff is close to the upper limit in this interval. n eff n 2 >n 2n eff n 1 <<

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