fluent udf中文帮助
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。如果用户源代码不在目前工作路径下,则在编译,需在面板中间如文件完整的路径。在栏里,选择预处理器。省设置为如果用户函数的局部变量数目大于将会导致堆栈溢出。这种情況下,应将设置为比局部变量大的数
- 2020-11-04下载
- 积分:1
张贤达的《高阶统计量信号处理方法》
高阶统计量分析方法是一种重要的非高斯信号分析方法,在此上传张贤达的这本书,希望对大家的学习有所帮助专题内容概述高阶统计量的定义、性质和估计155()高阶矩、高阶累积量及其谱·*·····“········““··“·(二)高阶累积量与高阶谱的性质三)高阶累积量与高阶谱的估计…......19、非最小相位系统的辨识21(一)基本问题21(二)MA系统的辨识.25(三)ARMA系统的辨识…135四、谐波恢复42()基本问题42()谐波恢复的高阶累积量方法……………·………43五、空间窄带信号源的波达方向估计()基本问题46(二)基于二阶统计量的DOA估计方法及其不足.147(三)基于高阶统计量的DOA估计方法53、概述高阶统计量( (Higher-order Statistics)是指比二阶统计量更高阶的随机变量或随机过程的统计量。二阶统计量有:〉随机变量(矢量):方差、协方差(相关矩)、二阶矩。随机过程:自相关函数、功率谱、互相关函数、互功率谱、自协方差函数等高阶统计量有:随机变量(矢量):高阶矩( Higher-order Moment),高阶累积量(Higher-order Cumulant)随机过程:高阶矩、高阶累积量、高阶谱( Higher- order Spectra,Polyspectra)。从统计学的角度,对正态分布的随机变量(矢量),用一阶和二阶统计量就可以完备地表示其统计特征。如对一个高斯分布的随机矢量,知道了其数学期望和协方差矩阵,就可以知道它的联合概率密度函数。对一个高斯随机过程,知道了均值和自相关函数(或自协方差函数),就可以知道它的概率结构,即知道它的整个统计特征。但是,对不服从髙斯分布的随机变量(矢量)或随机过程,一阶和二阶统计量不能完备地表示其统计特征。或者说,信息没有全部包含在一二阶统计量中,更高阶的统计量中也包含了大量有用的信息。高阶统计量信号处理方法,就是从非高斯信号的高阶统计量中提取信号的有用信息,特别是从一、二阶统计量中无法提取的信息的方法。从这个角度来说,高阶统计量方法不仅是对基于相关函数或功率谱的随机信号处理方法的重要补充,而且可以为二阶统计量方法无法解决的许多信号处理问题提供手段。可以亳不夸张地说,凡是使用功率谱或相关函数进行过分析与处理,而又未得到满意结果的任何问题,都值得重新试用高阶统计量方法。高阶统计量的概念于1889年提出。高阶统计量的研究始于六十年代初,主要是数学家和统计学家们在做基础理论的研究,以及针对光学、流体动力学、地球物理、信号处理等领域特定问题的应用研究。直到八十年代中、后期,在信号处理和系统理论领域才掀起了高阶统计量方法的研究热潮。标志性的事件有:1. K. S. Lii. m. rosenblatt "Deconvolution and Estimation of TransferFunction phase and Coefficients for non-Gaussian Linear processes AnnStatistcs, Vol, 10, pp. 1195-1208, 1982首次用高阶统计量解决了非最小相位系统的盲辩识问题。2.C.L. Nikias,M.R. Raghuveer的综述文章“ Bispectrum Estimation:ADigital Signal Processing Framework”在Proc.正EE发表,1987July3.1989、1991、1993、1995、1997、1999年举办了六届关于高阶统计量的信号处理专题研讨会(海军研究办公室,NSF, IEEE Control SystemSociety, IEEE ASSP Society, IEEE Geoscience and Remote sensingSociety4. IEEE Trans.onAC1990年1月专辑5. IEEE Trans, on AssP1990年7月专辑。6.J.M. Mendel的综述文章 Tutorial on Higher- Order statistics( Spectra)inSignal Processing and System Theory: Theoretical Results and SomeApplications”.Proc,正E,1991(主要是关于非最小相位系统辨识)。7.C.L. Nikias&A.P. Petropula的专著 Higher-order Spectral Analysis:ANonlinear Processing Framework,由 Prentice-Hall I1993出版。8. Signal Processing,19944月专辑。9. Circuits, Systems, and Signal Processing,1994.6月专辑。高阶统计量方法已在雷达、声纳、通信、海洋学、电磁学、等离子体物理、结晶学、地球物理、生物医学、故障诊断、振动分析、流体动力学等领域的信号处理问题中获得应用。典型的信号处理应用包括系统辨识与时间序列分析建模、自适应估计与滤波、信号重构、信号检测、谐波恢复、图像处理、阵列信号处理、盲反卷积与盲均衡等。在信号处理中使用高阶统计量的主要动机可以归纳成四点1、抑制未知功率谱的加性有色噪声的影响。2、辨识非最小相位系统或重构非最小相位信号。自相关函数或功率谱是相盲的,即不包含信号或系统的相位信息。仅当系统或信号是最小相位时,二阶统计量的方法才能获得正确的结果。相反,高阶统计量既包含了幅度信息,又保留了信号的相位信息,因而可以用来解决非最小相位系统的辨识或非最小相位信号的重构问题。3、提取由于高斯性偏离带来的各种信息对于非高斯信号,其高阶统计量中也包含了大量的信息。对模式识别、信号检测、分类等问题,有可能从高阶统计量获得信号的显著分类特征,4、检测和表征信号中的非线性以及辨识非线性系统。如用来解决非线性引起的二次、三次相位耦合问题。参考资料:1、张贤达,《时间序列分析一高阶统计量方法》,清华大学出版社,1996。2、沈凤麟等,《生物医学随机信号处理》(第9章),中国科学技术大学出版社,1999。3 J M. Mendel. "Tutorial on Higher-order Statistics(Spectra) in SignalProcessing and Systems Theory: Theoretical Results and SomeApplications. Proc. IEEE, Vol. 79, pp. 278-305, 19914, C. L. Nikias A. P, Petropulu. Higher-order Spectral Analysis: ANonlinear Processing Framework. Prentice-Hall. 19935 C L. Nikias J. M. Mendel.Signal Processing with Higher-orderSpectra. IEEE Signal Processing Magazine, Vol 10, July, pp 10-37, 19936 C. L Nikias M. R Raghuveer." Bispectrum Estimation: A DigitalSignal Processing Firamewoork". Proc. IEEE, Vol. 75, pp. 869-891, 19877 P. A. Delaney d. O. Walsh. " A Bibliography of Higher-Order Spectraand Cumulants". IEEE Signal Processing Magazine, Vol 11 July, pp. 61-7019948、J.A. Cadzow.“ Blind Deconvolution via Cumulant Extrema”.IEEESignal Processing Magazine, Vol 13, No 3, pp 24-42, 1996www.ant,uni-bremen.edu.de/hoshome二、高阶统计量的定义、性质和估计(一)高阶矩、高阶累积量及其谱从随机变量→随机矢量→随机过程)1、随机变量的特征函数与累积量定义:设随机变量x具有概率密度fx),其特征函数定义为(s)=f()edx=Eel其中s为特征函数的参数。(可看作八x)的拉普拉斯变换)特征函数Φ(s)只是参数s的函数。对Φ)求k次导数,可得Φ^(s)=Exe因此(O)=E}=m也就是说)在原点阶导数等孩x阶筹k。因此,Φ(s)也称作矩生成函数(又叫第一特征函数)。矩生成函数可以唯一地、完全地确定一个概率分布。这可由矩生成函数唯一性定理阐明:定理:设F(x)和G(x)是具有相同矩生成函数的分布函数,即:e dF (x)= esdG(x)则F(x)=G(x)由矩生成函数可以定义随机变量κ的累积量生成函数(又叫第二特征函数)及累积量。定义:设随机变量x的矩生成函数为Φ(s),则函数H(s)=nΦ(s)称为x的累积量生成函数,而v()在原点的k阶导数dky(s)ds k0称为x的k阶累积量如果将s)和v展开成 Taylor级数,根据以上定义,就会有①(s)=1+m1S+m2S2+…+,,mkS+…k!(2+4+x12cmk!k1也就是说,x的k阶矩和累积量分别是其矩生成函数和累积量生成函数的Taylor级数展开中s项的系数。2、随机矢量的特征函数与累积量定义:令x=[x,x2,…,x是一随机矢量,且s=s,s2,…,sr,则随机矢量x的矩生成函数定义为Φ(S1SES11+2x2+…+Skxkl52为Ex的累积量生成函数定义为(S1,S2,…,Sk)=lnΦ(s1,x的(vy2…,w)阶矩和累积量分别定义为矩生成函数和累积量生成函数的Iayr级数展开中S1S2…S项的函数,即0Φ(S1,s2;…,s)ExVIS"Y(1521512skas1Os2…ask其中vko对v=V2=…=认=1的特殊情况,记随机矢量x的矩和累积量分别为mom(,,cum(Y1X我们下面将用它们来定义随机过程的高阶矩和累积量。3、随机过程的高阶矩和高阶累积量定义:设{x(n)}为k阶平稳随机过程,则该过程的k阶矩定义为ma(z1,z2,…,k-)=mom{x(n),x(n+),…,x(n+xk-1)}而k阶累积量定义为cs(1,z2,…,k-)=cum{x(m),x(nt+),…,x(n+tk1)}根据这一定义,平稳随机过程的k阶矩和k阶累积量实质上就是取x1=x(n),x2=x(n+a),…,x=x(n+k)之后的随机矢量[(n),x(n+z),…,
- 2020-12-03下载
- 积分:1