登录
首页 » Others » fluent udf中文帮助

fluent udf中文帮助

于 2020-11-04 发布
0 463
下载积分: 1 下载次数: 8

代码说明:

fluent udf中文帮助本章简要地介绍了用户自定义函数(UDF)及其在 Fluent 中的用法。在 1.1 到 1.6 节中我们会介绍一下什么是 UDF;如何使用 UDF,以及为什么要使用 UDF,Makefile udfmakefile udf2DEF INE PROPERTYDEFINE DRIFT DI AM基础输运方程单元()面,区域()和线(操作求解器数据运仃输运方程求解器建立在有限容积法的基础上,这种方法将计算域离散为有限数目的控制体或是单元。网格单元是中基本的计算单元,这些单元的守恒特性必须保证。也就是说普通输运方程,例如质量,动量,能量方程的积分形式可以应用到锊个单元:/pad+,p·dA=中 TODa+/,SwAunsteadyeonv画 ctiondiffusiongeneration此处,是描述普通输运数量的变量()根据所求解的输运方程它可取不同的值。下面是在输运方程中可求解的的子集E守恒与否需要知道通过单元边界的通量。因此,需计算出单元和面上的属性值(单元()面,区域()和线(单元和单元面被组合为一些区域(),这些区域规定了计算域(例如,入口,出口,壁面)的物理组成)。当用户使用的时,用户的叮调用流体区域或是边界区域的计算变量(需要获得适当的变量,比如说是区域参考)和单元,以便标定各个单元。区域)是一群单元或单元面的集合,它可以由模型和区域的物理特征(比如入∏,出∏,壁面,流伓区域)来标定。例如,·些被指定为面域()的单元面可以被指定为类型,由此,速度也就可指定了。线()是据结构的内部名称,可被用来指定一个区域结构可作为数据储存器米使用,这些数据对于它所表示的单元和面来说是公用的(操作多数的任务需要在一个线的所有单元和面上重复执行。比如,定义一个自定义轮廓函数()则会对一个面线上)的所有单元和面进行循环。为了用户方使向用户提供了一些循环宏工具(来执行对单元,面,节点()和线()的重复操作例如,单元循环宏()可以对给定单元线上的所有单元进行循环操作()。而面循环宏()则可调用所有给定面线()的面。提供的循环工具请见在某些情况下需要对某个变量操作,而这个变量恰恰又不能直接被当作变量来传递调用。比如,如果用户使用宏来定义,求解器将不会向它传递指针。这种情况下,用户函数需要用提供的宏来调用线指针(见求解器数据通过用户界面将函数(它已被编译和连接)连接到求解器上可实现调用求解器变量。旦和求解器正确连接,无论何时,函数都可调用求解器数据。这些数据将会被作为用户变量自动地传递给注意,所有的求解器变量,不管是求解器传递给的,还是传递给求解器的,都使用单位。运行将会在侦定时刻被调用。但是,也可对它们进行异步执行,使用宏,还可在需要时()执行。详情请见解释和编译的比较编译和的构建方式一样。脚木被用来调用编译器来构建一个当地目标代码库()。目标代码库包含高级语言源代码的机器语言翻译。代码库在运行时由“动态加载”()过程连接到上。连接后,与共亨库的联系()将会被保存在用户的文件中这样,当以后再读入文件时,此编译库将会与自动连接。这些库是针对计算机的体系结构和·定版本的使用的。所以,当更新,或计算机操作系统改变,或是在不同类型的机器上运行时,这些库必须重新构建而解释则是在运行吋,直接从语言源代码编译和装载()。在运行中,源代码被编译为中介的独立于物理结构的使用预处理程序的机器代码(被调用时,机器代码由內部仿真器(),或注释器)执行。注释器不具备标准编译器的所有功能;它不支持语言的某些原理。所以,在使用吋,有语言限制(见)。例如,不能够通过废弃结构()来获得数据。要获得数据结构,必须使用由提供的预定义宏。另一个例子是不能识别指针数组。这些功能必须由来执行。编译后,用户的函数名称和内容将会被储存在文件中。函数将会在读入文件时被自动编译。独立于物理结构的代码的外层()叮能会导致执行错误(),但却可使共亨不同的物理结构,操作系统,和版本。如果运行速度较慢,不用被调节就可以编译代码的形式(运行中的和请见选择或是时,注意以下内容:对其它平台是便捷的(可作为()来运行不需编译器。慢需要较多的代码。在使用语言上有限制。不能与编译系统或用户库()连接。只能使用预定义宏来获得结构中的数据。(见和)比运行快在使用语言上不存在限制可用任何编译器编译。能调用以其他语言编写的函数机器物理结构需要用户建立的每个版本的共享库(如果包含有注释器()不能处理得语言元素,则不能作为)运行总的来说,当决定使用那种类型的时使用作为简单的函数使用作为复杂的函数,这些函数对有较大要求(例如每次运行时,在每个单元上均须调用的属性需要使用编译库一个例子编辑代码,并且在用户的模型中有效使用它,须遵循以卜七个基木步骤定义用户模型。编制语言源代码。运行读入,并设置文件。编译或注释()语言源代码。在中激活开始计算。分析计算结果,并与期望值比较。在开始解决问题前,用户必须使用定义希望解决的问题()。例如,加入用户希望使用来定义一个用户化的边界条件()。用户首先需要定义一系列数学方程来描述这个条件。接下来用户需要将这些数学方程(概念设计)用语言写成一个函数)。用户可用文本编辑器米完成这一步。以为后缀名米把这个文件保存在工作路径下。写完语言函数后,用户即可运行并且读入或设置文件()。对C语言源代码进行注释,编译,和调试),并在中激活用户函数()。最后,运行计算(),分析结果并与期望值比较。()。根据用户对结果的分析,可将上述整个过程重复几次。具体如下。定义用户模型生成和使用的第一步是定义用户的模型方程。如图所示的涡轮叶片。模拟叶片冑围的流玚使用了非结构化网格。计算域由底端的周期性边界()延伸到顶端的相同部分(),速度入口在左边,压力出口在右边。Irvine ua〔15512405危e893nde5)文中对入口速度为常数分布和抛物线分布的流场进行了比较。分段线性的分布可由边界场选项得到(),而多项式分布则只能使用用户自定义函数得到。进口速度为常数()的结果如图1.7.2和1.7.3所示。当流动沿着涡轮叶片进行时,初始速度场被改变了。了4101265105 tces. 89E.11电+01Turbine vane〔1551cl,2405他e,的93nde引假定现在要设涡轮叶片入∏速度不是常数值,其分布如下2un=20-2000745士变量在入口中心处为0.0,在入口上部和下部则分别为而入口中心处的速度为边界上为0。用户可用描述这一分布,并将它应运到模型中来解决这类问题。编制语言源代码。选定方程定义后,用户可用任意文本编辑器来书写C语言代码。以扩展名保存源代码文件保存到工作路径下。关于的书写请参考下面是一个怎样在中应用方程的例子。的功能由主要的宏()米定义。此处,宏用来表示下面的代码旨在给求解器捉供边界的轮廓信息。书中将在以后部分讨论其它的宏宏的第一个变量用来定义速度入口面板中的函数。名称可任意指定。在给定的边界区域上的所有单元面()上将会使用函数的这个方程。当用户在用户界面选定作为边界条件时,将会自动定义线()。下标由应用程序自动定义。中被用来形成对边界区域上所有单元面的循环()。对于每个面,面的质心()的坐标可由宏来获得。抛物线方程中用到了坐标,速度值通过宏来返回给面。宏和宏都是提供的宏。详情请见5读入,并设置文件建立后,用户开始设置在工作路径下启动读入(或设置)文件(如果文件以前设置过,请确认它是否被保存在了工作路径编详或注释()语言源代码这部分将例中的源代码作为来编译。注意,这个例子不可应用于的并行网络()。完整的编译和连接请见确认的文件(如果以前设置过)和语言源代码在工作路径卜。用面板编译例如, ud fexamp leInterpreted UDFSSource file rlameample+CCPP Command nameStack sizeH Display Assembly ListingH Use Contributed CPPCompilecospHelp在下键入语言源代码文件例如, udfexample.c。如果用户源代码不在目前工作路径下,则在编译,需在面板中间如文件完整的路径。在栏里,选择预处理器。省设置为如果用户函数的局部变量数目大于将会导致堆栈溢出。这种情況下,应将设置为比局部变量大的数

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • matlab实现视频动态物体检测与追踪
    运用MATLAB实现视频中动态物体的检测与追踪。代码经个人使用过,绝对可用,但请注意该视频背景是静止的,并且是单目标检测。
    2020-12-01下载
    积分:1
  • RTKLIB开源项目(2.4.3)
    RTKLIB是日本东京海洋大学开发(Tokyo University of Marine Science and Technology)开发的一个开放源程序包,供标准与精确GNSS全球导航卫星系统应用。RTKLIB包括一个可移植的程序库和几个应用程序(AP)库。RTKLIB的特点:(1)支持标准的和精确的定位算法:GPS,GLONASS,QZSS准天顶卫星系统,北斗和SBAS(2)支持多种定位模式与GNSS实时和后处理:单点,DGPS / DGNSS,动态的,静态的,移动基线,定点,PPP运动,PPP静态和PPP定点(3)支持多种标准格式和协议GNSS:RINEX 2.10,2.
    2021-05-07下载
    积分:1
  • 自适应滤波器设计及Matlab实现
    简单描述自适应滤波的原理及在MATLAB中实现的方法,并辅以相关MATLAB代码供大家交流。1绪论11引言人类传递信息的主要媒介是语言和图像。据统计,在人类接受的信息中,听觉信息占20%,视觉信息占60%,其它如味觉、触觉、嗅觉总的加起来不过占20%,所以图像信息是十分重要的信息。然而,在图像的获取和图像信号的传输过程中,图像信号中不可避免的混入各种各样的随机噪声,造成图像失真(图像退化)。造成人类所获取的信息和实际是有偏差的,成为人类从外界获取准确信息的障碍。因此,对图像信号中的随杋噪声的抑制处理是图像处理中非常重要的一项工作在图像的获取和传输过程中所混入的噪声,主要来源于通信系统中的各种各样的噪声,根据通信原理及统计方面的知识,可以知道在通信系统中所遇到的信号和噪声,大多数均可视为平稳的随机过稈。又有“高斯过程又称正态随机过程,它是一种普遍存在和重要的随机过程,在通信信道中的噪声,通常是一种高斯过程,故又称高斯噪声。囚此,在大多薮的情况下,我们可以把造成图像失真的噪声可视为广义平稳高斯过程本文针对图像信号中混入的随机噪声,在怎样把现有的滤波算法应用到实际的图像复原中去的问题上提出了解决方法,并且应用 Matlab软件编程对图像进行处理。1.2研究目标及现状121图像复原技术的目标为了从含有噪声的数据中提取我们所感兴趣的、接近规定质量的图像,我们需要设计个系统满足:当信号与噪声同时输入吋,在输出端能将信号尽可能精确地重现出来,而噪声却受到最大抑制,即最佳滤波器。122图像复原抆术的研究现状日前的图像复原技术,即去噪的滤波技术可以分为两大类:传统滤波和现代滤波。传统滤波技术是建立在已知有用信号和干扰噪声的统计特性(自相关函数或功率谱)基础上的噪声去除;现代滤波技术则是不需要知道图像的先验知识,只是根据观测数据,即可对噪声进行有效滤除。早在20世纪40年代,就对平稳随机信号建立了维纳滤波理论。根据有用信号和干扰噪声的统计特性(自相关函数或功率谱),以线性最小均方误差(MSE)估计准则所设计的最佳滤波器,称为维纳滤波器。这种滤汲器能最大程度的滤除干扰噪声,提取有用信号。但是,当输入信号的统计特性偏离设计条件,则它就不再是最佳的了,这在实际应用中受到了限制。到60年代初,由于空间技术的发展,出现了卡尔曼滤波理论,即利用状态变量模型对非平稳、多输入多输出随机序列作最优估计。卡尔曼滤波器既可以对平稳的和平稳的随机信号作线性最佳滤波,也可以作为非线性滤波[2]。然而只有在对信号和噪声的统计特性已知的情况下,这两种滤波器才能获得最优解。在实际的应用中,往往无法得到这些统计特性的完验知识,或者统计特性是随时间变化的,因此,这两种滤波器就实现不了真正的最佳滤波。Widrow B.和Hof于1967年提出的自适应滤波理论,可使在设计自适应滤波器时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的工作过程中逐渐估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳。自适应滤波器自动调节参数可以通过各和不同的递推算法来实现,由于它采用的是逼近的算法,使得实际估计值和理论值之间必然存在差距,也就造成了自适应滤波问题没有唯一的解。依照各种递推算法的特点,我们把它应用于不同的场合。现在广为应用的自适应滤波方法主要是基于以下几种基本理论,再融合递推算法导出来的:(1)基于维纳滤波理论的方法维纳滤波是在最小均方误差准则下通过求解维纳霍夫方程来解决线性最优滤波问题的。基于维纳滤波原理,我们利用相关的瞬时值通过在工作过程中的逐步调整参数逼近信号的统计特性,实现最优滤波。由此,我们得到一种最常用的算法—最小均方算法,简称LMS算法。(2)基于卡尔曼滤波理论的方法卡尔曼滤波是线性无偏最小方差滤波递推滤波,它能使滤波器工作在平稳的或非平稳的环境,得到最优解。利用卡尔曼滤波理论的递推求解法导出自适应滤波器更新权矢量得不同递推算法。比LMS算法有极快的收敛速率,可是计算复杂度也增大∫,它需要计算卡尔曼矩阵。(3)基于最小二乘准则的方法维纳滤波和卡尔曼滤波推导的算法是基于统计概念的,而最小二乘佔计算法是以最小误差平方和为优化目标的。根据滤波器的实现结构,有以下3种不同的最小二乘自适应滤波算法:自适应递归最小二乘法(RLS),自适应最小二乘格型算法,QR分解最小二乘算法。(4)基于神经网络理论的方法神经网络是有大量的神经元相互连接而成的网络系统,实质上它是一个高度非线性的动力学网络系统,这个系统具有很强的自适应、自学习、自组织能力,以及巨量并行性、容错性和坚韧性,因而,它可以做很多传统的信号和信息处理技术所不能做的事情。因其超强的自动调节能力,使符它在自适应信号处理方面有着广阔的前景[2]在一系列的自适应算法中,虽然基于后面3种基本理论的方法在收敛速率和稳定、坚韧性方面有着更好的性能,但是,基于维纳滤波理论的IMS算法因其算法简单,而且能达到满意的性能,得到了青睐,成为了应用最广泛的自适应算法。为此,本文主要研究LMS自适应滤波器在图像去噪方面的应用。2理论基础21基本自适应滤波器的模块结构自适应滤波器通常由两部分构成,其一是滤波子系统,根据它所要处理的功能而往往有同的结构形式。另一是自适应算法部分,用来调整滤波子系统结构的参数,或滤波系数。在自适应调整滤波系数的过程中,有不同的准则和算法算法是指调整自适应滤波系数的步骤,以达到在所描述的准则下的误差最小化。自适应滤波器含有两个过程,即自适应过程和滤波过程。前一过程的基本目标是词节滤波系数"(),使得有意义的目标函数或代价函数()最小化,滤波器输出信号y()逐步逼近所期望的参考信号4k),由两者之间的误差信号(k)驱动某种算法对滤波系数进行调整,使得滤波器处于最佳工作状态以实现滤波过程。所以自适应过程是一个闭合的反馈环,算法决定了这个闭合环路的自适应过程所需要的时间。但是,由于目标函数)是输入信号(k),参考信号(k)及输出信号y(k)的函数,即20=ack,.y,因此目标函数必须具有以下两个性质(1)非负性g (=8[x(k), d(k), y(k] 20Vx(), u(k), y(k)(2.1)(2)最佳性E()=E[x(k),d(k),y(k)]=0(22在自适应过程中,自适应算法逐步使目标函数(最小化,最终使()逼近于(),滤波参数或权系数()收敛于",这里"是自适应滤波系数的最优解即维纳解。因此,自适应过程也是自适应滤波器的最佳线性估计的过程,既要估计滤波器能实现期望信号()的整个过程,又要估计滤波权系数以进行有利于主要目标方向的调整。这些估计过程是以连续的时变形式进行的,这就是自适应滤波器需要有的自适应收敛过程。如何缩短自适应收敛过程所需要的收敛时间,这个与算法和结构有关的问题时人们一直重视研究的问题之—[2]。当然滤波子系统在整个自适应滤波器的设计中也占有很重要的地位,因为它对最终的滤波性能有很大的影响。本文要研究的是基于维纳滤波原理的LMS算法,那么下面我们需要介绍一下基本维纳滤波原理。22基本维纳滤波原理基本维纳滤波就是用来解决从噪声中提取信号问题的一种过滤(或滤波)方法。它基于平稳随机过程模型,且假设退化模型为线性空间不变系统的。实际上这种线性滤波间题,可以看成是种估计问题或种线性佔计问题。基本的维纳滤波是根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方误差最小条件下所得到的系统的传递函数万(3)或单位样本响应h(k)的形式给出的,因此更常称这种系统为最住线性过滤器或滤波器。设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位样本响应h(k)或传递函数h(x)的表达式,其实质是解维纳-霍大( Wiener-Hopf方程。基木维纳滤波器是这样的,有两个信号x(k)和y(k)同时加在滤波器上。典型地y(k)包含一个与x(k)相关地分量和另一个与x(k)个相关地分量。维纳滤波器则产生y(k)中与x(k)相关分量地最优估计,再从y(k)中减去它就得到ε(k)。y(kak)输出rk)维纳德波n=∑v(D)x(k-)f=0图21基本维纳滤被模型假定一个N个系数(权值)的FR滤波器的结构,维纳滤波和原始信号y(k)之间的差信号c(k)为ek= yk-nk=ye∑w(i)x(23)其中和w分别为输入信号矢量和权矢量,由下式确定(24)k-N-1)H(N-1)误差平方为2Y, x,w+w x.x,w对(3)式两边取期望得到均方误差(MSE),若输入x(k)与输出yk)是联合平稳的,则ELel=Ely,-2ELYXiwItElwx, x, w2.62P其中E[代表期望,=Ex是(k)的方差,P=E[yx1是长度为N地互相关矢量,R=Exx是NxN的自相矩阵。一个MSE滤波系数的图形是碗形地,且只有唯一地底部,这个图称为性能曲面,它是非负的。性能曲面地梯度可由下式给出2P+2R(2.7)Ytrim图22误差性能曲面每组系数w(i)(i=1,2,N-1)对应曲面是一点,在由面是地最小点梯度为0滤波权矢量达到最优”呷R P(28)即著名的维纳霍夫方稈的解。自适应滤波地仟条是采用合适的算法来调节滤波权重W,0)W,1),…W,N-1),从而找到性能曲面地最优点维纳滤波的实际用途有限,因为:(1)它需要已知自相关矩阵R和可相关矢量P,这两个量通常是未知的。(2)它包含∫矩阵的求逆,非常的耗时3)若信号为非平稳的,则R和P是时变的,导致必需重复计算。对于实际的应用需要一种能够依次加入地抽样点而得到"的算法。自适应算法就就是用于达到这个目的,而且不需显式计算R和P或进行矩阵求逆[3]3自适应滤波原理及算法在实际应用中常常会遇到这样的情况:随机信号的统计特性是未知的,或者信号的统计特性是缓慢的变化着的(非≯稳信号),这就促使人们去研究一类特殊的滤波器,这类滤波器具有以下特点:当输入过程的统计特性未知时,或者输入过程的统计特性变化时,能够相应的调整自身的参数,以满足某种准则的要求,由于这类滤波器能变动自身的参数以“适应”输入过程统计特性的估计或变化,因此,就把这类滤波器称为自适应滤波器41。在本文中我们研究的是退化图像复原的问题,由于图像自身的多样性和所混入的噪声的随机性和多样性,我们选择自适应滤波取出图像中混入的噪声。3.1横向滤波结构的最陡下降算法3.11最陡下降算法的原理首先考虑如下图所示的横向FIR自适应滤波器x(k-1k-2)x、-M+2)xR-M+l)e自适应控制算法1图31自适应横向滤波器结构它的输入序列以向量的形式记为X(k)=[x(k)x(k-1)(k-M+1)(3.1假设x()取自一均值为零,自相关矩阵为R的广义平稳随机过程,而滤波器的系数矢量(加权矢量)为:k)=[w,(k)w2(k)(32)以上二式中括号内的k为时间指数,因此,X()和W()分别表示时刻k的滤波器输入序列和加权值,滤波器的输山y(k)为:y(k)=∑w(n)x(n-t+1)33)式中M为滤波器的长度。图31中的“k称为“期望理想响应信号”,有时也可称为“训练信号”,它决定了设计最佳滤波器加权向量W(k)的取值方向。在实际应用中,通常用一路参考信号来作为期望响应信号。(k)是滤波器输出y(k)相对于a(k)的误差,即e(k)=d(k)-v(h)(34)显然,自适应滤波控制机理是用误差序列(k按照某种准则和算法对其系数w)n),=1.2…,M进行调节的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波状态。按照均方误差(MSE)准则所定义得目标函数是E(h)=Ele()(35)eId()-2d(k)y(k)+y(k)将式(3.4)代入式(3.5),目标函数可以化为c(k)=Ele(k)(3.6)E[d(k)]-2Eld(kw(k)x(k]+ elw(kX(eX(s)w(k)当滤波系数固定时,目标函数又可以写为c(k=[d(k]-2W(k)P+W(k)RW (k)(3.7)其中,P-趴是长度为N的期望信号与输入信号的互相关矢量,R=Exx是Nx的输入向量得自相关矩阵。由式(37)可见,自适应滤波器的目标函数()是延迟线抽头系数(加权或滤波系数)的二次函数。当矩阵R和矢量P已知时,可以由权矢量W(k)直接求其解。现在我们将式(3.7)对W求倒数,并令其等于零,同时假设R是非奇异的,由此可以得到目标函数最小的最佳滤波系数w为R P(38)
    2020-11-28下载
    积分:1
  • 质量免费——确定质量的艺术.pdf
    质量免费——确定质量的艺术.pdf
    2020-02-22下载
    积分:1
  • svm 支持向量机 回归 预测
    svm支持向量机的matlab 代码,可进行多目标分类及线性回归、预测!
    2020-06-24下载
    积分:1
  • MOEA/D、MOP多目标分解算法代码,MATLAB实现注释很详细
    多目标分解算法代码,配合张庆福06年发的文章看,MATLAB实现注释很详细
    2020-06-25下载
    积分:1
  • 粒子群优化算法 ppt
    粒子群优化算法(详细易懂,很多例子)粒子群优化算法粒子群优化算法
    2020-12-07下载
    积分:1
  • GSC matlab
    GSC(Generalized Sidelobe Canceller,广义旁瓣相消器)是麦克风阵列处理中实现语音增强的一种方法
    2020-11-04下载
    积分:1
  • 带有数据的风电功率小波预测方法,可直接运行。
    该代码带有我自己的风电场研究数据,如若下载,只能用于个人科研和学习,不能转手于别人,否则后果自负,该代码的风电功率采用小波预测方法,每段程序都有汉语注释,方便学习理解,主程序为:wavenn.m可直接运行。
    2020-06-23下载
    积分:1
  • SVPWM发波
    利用MATLAB M文件编写的SVPWM发波程序,很容易理解原理
    2020-12-11下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载