06 2017 档案
摘要:“工欲善其事必先利其器”,软件装不上,讲再多的使用技巧也是白搭。近期不少留言说OpenFOAM不容易安装,今天来谈谈如何在Linux下利用Docker安装OpenFOAM。 Linux发行版众多,估计有几百种,比较流行的是三个派系: RHEL系。比较出名的发行版像Red Hat Enterprise
阅读全文
摘要:前言:很多人说OpenFOAM很难,要啃上很多的理论书籍,什么流体力学、计算流体力学、矩阵理论、线性代数、数值计算、C++程序设计神马的,看看光这一堆书就能吓倒绝大多数的人。其实我们并不一定要从这些基础的东西入手,我觉得要学习使用一个工具,首先使它运转起来才是最靠谱的。通过大量实例练习,做多了自然就
阅读全文
摘要:本案例演示利用OpenFOAM的icoFoam求解器计算弯曲管道中的混合流动问题。 1 拷贝tutorials文件 启动终端,且拷贝tutorials文件夹中的文件。利用命令: 将案例文件拷贝到了$FOAM_RUN路径中。 此时可以利用命令查看目录结构: 查询结果如下图所示。 包含三个文件夹:0、c
阅读全文
摘要:光顺(Smoothing)方法是最基本的网格节点更新方法。Fluent提供了三种光顺方法: 弹簧光顺 扩散光顺 光顺 三种方法比较 |比较项|弹簧光顺|扩散光顺|线弹性光顺| | | | | | |计算量|小|适中|大| |网格质量|较差|较好|最好| |网格适应|所有类型|所有类型|不适用多面体及
阅读全文
摘要:扩散光顺是Fluent提供的另外一种常用的网格光顺方法。其基本原理是通过求解扩散方程得到网格节点的运动位移。 扩散光顺基本计算 扩散光顺通过求解 以下扩散方程来设置网格的节点位置。 ∇⋅(γ∇→u)=0 其中,u为网格的运动速度。求
阅读全文
摘要:本案例主要描述如何在Fluent中处理包含了公转和自转的复合运动。涉及到的内容包括: 多区域模型创建 滑移网格设置 区域运动UDF宏DEFINE_ZONE_MOTION 案例描述 案例几何如图所示。 其中红色区域为静止区域,绿色区域绕圆心以角速度1 rad/s旋转,蓝色区域随绿色区域绕圆心旋转的同时
阅读全文
摘要:动网格除了前面讲了很多的关于运动指定之外,另一个重要主题则为网格的更新。 在部件运动之后,不可避免的会造成网格形状的变化,如若不对网格加以控制,在持续运动的过程中,则可能造成网格极度变形、歪曲率过大,甚至产生负体积。因此必须对发生变形的网格进行矫正。 Fluent主要提供了三种方式控制网格: Smo
阅读全文
摘要:本文所述的区域运动并非动网格中的运动域,而是指在多参考系(MRF)或滑移网格中所涉及到的区域的运动。 在滑移网格中指定区域运动时,除了能够指定绝对运动外,还能指定某一区域与其他区域间的相对运动,如图所示。 区域运动的指定,除了可以采用Profile文件外,还可以利用UDF宏DEFINE_TRANSI
阅读全文
摘要:今天有网友在群里讨论开发CFD软件的事情,众说纷纭,有网友提到“没有必要开发CFD软件了,直接使用开源OpenFOAM就行”。但个人认为这说法还是有一些需要商榷的地方,开源软件也不是万金油。 以下部分内容翻译自网站 "CAEWatch" ,有修改。 当人们在谈论开源CFD解决方案时,经常会听到下面的
阅读全文
摘要:Fluent动网格中的DEFINE_GRID_MOTION宏允许用户定义网格节点的运动。本案例演示采用DEFINE_GRID_MOTION宏指定边界节点的运动。 案例动网格效果如图所示。 案例描述 本案例几何模型如图所示。 如图所示的同心圆柱体,内圆柱面进行扩张与收缩运动。其脉动位移可表达为: $$
阅读全文
摘要:在动网格中,对于那些既包含了运动也包含了变形的区域,可以通过UDF来指定区域中每一个节点的位置。这给了用户最大的自由度来指定网格的运动。在其他的动网格技术中(如重叠网格)则很难做到这一点。定义网格节点的位置是通过UDF宏DEFINE_GRID_MOTION来实现的。 步骤 可以通过以下步骤来指定既包
阅读全文
摘要:本案例描述使用动网格过程中处理边界变形的问题。 案例描述 本案例几何为一个抛物线旋转成型的几何体。如图所示。 其中上壁面刚体运动引起抛物面变形。刚体运动方程为: $$ v=\left\{ \begin{array}{c} 0.3t,t4
阅读全文
摘要:在动网格中关于部件运动除了指定刚体运动外,有时还需要指定某些边界的变形,这种情况经常会遇到,尤其是与运动部件存在相连接边界的情况下,如下图中边界1运动导致与之相连的边界2和边界3发生变形。 Fluent中预制了三种变形方式: faceted plane cylinder 除此以外,Fluent还允许
阅读全文
摘要:DEFINE_CG_MOTION宏通常用于定义刚体部件的运动。本文以一个简单的案例描述DEFINE_CG_MOTION的使用方法。 案例描述 本次计算的案例如图所示。在计算域中有一个刚体块(图中的小正方形),其运动速度为: ux=0.1sin(6.8t) 由速度方程可知其运动周期为
阅读全文
摘要:除了利用Profile进行运动指定之外,Fluent中还可以使用UDF宏来指定部件的运动。其中用于运动指定的宏主要有三个: DEFINE_CG_MOTION DEFINE_GEOM DEFINE_GRID_MOTION 今天主要看第一个UDF宏DEFINE_CG_MOTION。 用途 DEFINE_
阅读全文
摘要:最近总有小伙伴向我询问Fluent中的动网格问题,因此决定做一期关于Fluent动网格技术的内容。 动网格技术在流体仿真中很特殊,应用也很广。生活中能够碰到形形色色的包含有部件运动的问题,比如说我现在想要出门,那么开门的一瞬间,门的运动会影响到房间内部的空气流动,这就是一个典型的动网格问题。在工程中
阅读全文
摘要:动网格中一个重要任务是部件运动方式的指定。在动网格中指定部件的运动,往往将部件的运动方式指定为其加速度、速度或位移与时间的相关关系,本文主要讲述如何在Fluent中利用瞬态Profile文件指定部件的运动方式。 在Fluent中指定部件运动主要有两种方式:Profile与UDF宏。当运动方程已知时,
阅读全文
摘要:UDF除了可以以解释的方式外,其还可以以编译的方式被Fluent加载。解释型UDF只能使用部分C语言功能,而编译型UDF则可以全面使用C语言的所有功能。 1 编译型UDF介绍 编译型UDF的构建方式与ANSYS Fluent可执行文件自身的构建方式相同。在代码构建过程中,其利用一个名为Makefil
阅读全文
摘要:UDF宏有两种方式可以被Fluent所接受:编译和解释。其中有一些宏既可以被解释也可以被编译,而一些宏则只能被解释。有一些场合只接受编译后的UDF(如动网格中的一些宏),而有些场合既可以接受编译的UDF,还能接受解释后的UDF。那么解释型的UDF与编译型的UDF到底存在何种差异?本文主要描述解释型U
阅读全文
摘要:今天要讲的内容是关于C语言的预处理。搞清楚了这个,就可以分析UDF中的各种头文件源代码,从此写UDF不求人。 1 关于预处理 在UDF的各种头文件中(文件路径D:\Program Files\ANSYS Inc\v180\fluent\fluent18.0.0\src),存在各种以 开头的语句,如下
阅读全文
摘要:这里以一个简单的初始化案例来描述UDF的使用过程。 0 Fluent中的Patch Fluent中提供了全域初始化以及局部Patch功能。对于整体区域的全局初始化可以采用starndard及hybrid方法进行初始化,指定各种物理量的初始分布。而对于计算域中的局部区域初始化,则可以通过Patch功能
阅读全文
摘要:Fluent UDF利用的是C语言,本文简单介绍在UDF中经常会用到的C语言常识。 本文部分内容来自UDF手册。 1 C语言中的注释 C语言中的注释利用 来实现。例如: 注释也可以跨行实现,如: 注意:在编写UDF的过程中,不能把DEFINE宏(如DEFINE_PROFILE)放置在注释中,否则会引
阅读全文
摘要:windows操作系统下UDF的编译需要借助Visual Studio中的C编译器。因此若要想编译UDF,则必须事先配置好编译环境。 Visual Studio Visual Stuido(后面简称VS)是微软开发的一款程序设计IDE,可以用于windows环境下计算机软件的开发。 : Micros
阅读全文
摘要:要怎样做才能做到无畏惧编写任何UDF程序?估计很多与UDF打交道的人都会问到这个问题。 面对UDF文档中那众多的宏描述,小伙伴们是不是感觉到茫然无措,不知从何入手。有时候读别人写好的程序感觉并不难,然而自己写的时候总是感觉不对劲。 我们今天就来聊聊UDF到底该怎么学。 关于C语言 Fluent UD
阅读全文
摘要:前面基本完成了动网格专题的发布,不过还是有一些内容并没有更新进去,比如说in cylinder、接触检测、2.5D网格重构等。不过这些都是小技巧,写起来挺麻烦,以后有时间再通过案例视频的方式讲解好了。从今天开始最近一段时间准备发布Fluent UDF的一些内容。 关于UDF UDF并不是什么神秘的东
阅读全文