UDF函数

合集下载

udf、udaf、udtf函数定义与用法

udf、udaf、udtf函数定义与用法

udf、udaf、udtf函数定义与用法UDF、UDAF、UDTF是三种不同类型的用户自定义函数,在各种数据库和分布式计算框架中都有广泛应用。

它们用于扩展数据库或计算框架的功能,使用户可以根据自己的需求编写自定义的函数。

UDF(User-Defined Function)是用户自定义函数的简称,它接收一组输入参数并返回一个值。

UDF可以用于查询中对数据进行转换、过滤、计算等操作。

例如,在一个关系型数据库中,可以通过UDF实现字符串连接、日期格式化等操作。

在大数据分析中,UDF可以用于对数据进行特定的预处理或转换,以满足数据分析的需求。

UDAF(User-Defined Aggregation Function)是用户自定义聚合函数的简称,它接收多个输入参数并返回一个聚合结果。

UDAF可以用于对数据进行分组计算,例如求平均值、求和、计数等。

在关系型数据库中,UDAF可以用于对查询结果进行聚合操作,例如统计每个分组的平均销售额。

在大数据分析中,UDAF可以用于对大规模数据进行聚合计算,例如对用户行为数据进行分组统计。

UDTF(User-Defined Table Function)是用户自定义表函数的简称,它接收一组输入参数并返回一个表作为输出结果。

UDTF可以用于对数据进行复杂的处理或转换,并生成一个新的表作为输出。

例如,在关系型数据库中,可以通过UDTF将一列数据拆分为多个行数据,并生成一个新的表。

在大数据分析中,UDTF可以用于对复杂的结构化数据进行解析或转换,并生成一个新的表作为输出结果。

在不同的数据库或计算框架中,UDF、UDAF、UDTF的定义和用法可能有所不同。

通常,用户需要按照相应的语法规则编写函数的定义,并注册到数据库或计算框架中。

一旦注册成功,用户就可以在查询或分析过程中调用这些自定义函数,以实现自己的需求。

总的来说,UDF、UDAF、UDTF是数据库和计算框架中用于扩展功能的重要组成部分。

udf函数

udf函数

udf函数今天让我们一起来聊一聊UDF函数:1. 什么是UDF函数?UDF函数(User-Defined Function)是指用户自定义的函数,它是通过UDF框架定义、实现并应用在数据处理过程中的自定义函数。

它可以应用于Hadoop的map-reduce程序,还可以应用与Hive,Pig等数据处理技术。

2. UDF函数的作用UDF函数主要是解决经典的SQL分步查询无法自定义处理数据,以及SQL查询很难实现一些比较复杂逻辑的情况,UDF函数可以把一些复杂逻辑以高效的方式实现,从而让数据处理变的更容易,更简单。

3. UDF函数的优势(1)UDF函数可以实现定制开发:采用UDF函数,可以快速实现用户定义的算法,进行数据的处理和分析;(2)UDF函数可以优化数据分析性能:UDF函数可以使SQL查询更加快速,减少数据的传输次数,从而提升分析性能;(3)UDF函数可以降低数据存储性能:UDF函数可以降低数据存储资源消耗,提高存储效率;(4)UDF函数可以提高数据挖掘的效率:UDF函数可以降低数据处理的时间、计算的复杂度,从而提升数据挖掘的效率。

4. UDF函数的实现UDF函数的实现通过UDF框架,在UDF框架上实现用户自定义函数,从而完成UDF函数的设计和实现。

UDF框架主要包括定义函数功能、函数实现和函数应用三个部分。

UDF框架通过定义函数功能,确定UDF函数实现的参数列表;通过函数实现,编写UDF函数实现代码;通过函数应用,将UDF函数应用于数据处理过程。

5. UDF函数的应用UDF函数的应用有:(1)应用于数据处理:UDF函数可以用于清洗数据,实现某些业务逻辑处理,解析日志等;(2)应用于安全验证:UDF函数可以帮助实现更安全的权限验证处理;(3)应用于数据库优化:UDF函数可以帮助实现数据库优化,提高查询效率;(4)应用于数据分析:UDF函数可以帮助用户实现快速、高效的数据分析服务。

以上就是关于UDF函数的介绍,希望对大家学习数据分析技术有所帮助。

udf函数和udtf函数

udf函数和udtf函数

udf函数和udtf函数(原创实用版)目录1.UDF 函数和 UDTFF 函数的定义和特点2.UDF 函数和 UDTFF 函数的应用场景3.UDF 函数和 UDTFF 函数的优缺点比较4.UDF 函数和 UDTFF 函数的实例演示5.UDF 函数和 UDTFF 函数的未来发展趋势正文一、UDF 函数和 UDTFF 函数的定义和特点UDF(User-Defined Function)函数,即用户自定义函数,是一种可以在数据库中创建的自定义函数,它可以用于实现一些特定的业务逻辑或者数据处理功能。

UDTFF(User-Defined Table-Generating Function)函数,即用户自定义表生成函数,是一种可以在数据库中创建的自定义函数,它可以用于生成新的表格或者修改现有的表格结构。

二、UDF 函数和 UDTFF 函数的应用场景UDF 函数通常用于实现一些简单的数据处理功能,例如字符串处理、数学计算等。

而 UDTFF 函数则通常用于实现一些复杂的数据处理功能,例如数据分组、数据聚合等。

三、UDF 函数和 UDTFF 函数的优缺点比较UDF 函数的优点在于其简单易用,可以直接在 SQL 语句中调用,而且其执行效率较高。

但是,UDF 函数的缺点在于其功能较为单一,无法处理复杂的业务逻辑。

相比之下,UDTFF 函数则可以处理复杂的业务逻辑,但是其编写和调用较为复杂,执行效率也较低。

四、UDF 函数和 UDTFF 函数的实例演示以下是一个 UDF 函数的实例:```CREATE FUNCTION GET_LENGTH(str VARCHAR)RETURNS INTBEGINRETURN LENGTH(str);END;```该函数用于获取字符串的长度。

以下是一个 UDTFF 函数的实例:```CREATE FUNCTION GENERATE_TABLE(col1 INT, col2 VARCHAR) RETURNS TABLE (id INT PRIMARY KEY, col1 INT, col2 VARCHAR) BEGINRETURN QUERYSELECT id, col1, col2FROM (SELECT id, col1, col2 FROM DUAL) tWHERE ROWNUM <= 10;END;```该函数用于生成一个包含两列的表格,每行包含一个整数和一个字符串。

genericudf 与 普通的udf 函数

genericudf 与 普通的udf 函数

genericudf 与普通的udf 函数标题:深入理解GenericUDF与普通UDF函数的区别与应用在大数据处理和分析中,用户定义的函数(User Defined Function,简称UDF)扮演着至关重要的角色。

它们允许开发者根据特定的需求定制数据处理逻辑,极大地提升了数据处理的灵活性和效率。

在Hadoop生态系统中,主要有两种类型的UDF:普通UDF和GenericUDF。

本文将详细解析这两种UDF的区别,并通过实例一步步展示其应用。

一、普通UDF普通UDF是Hive中最基本的自定义函数类型。

它主要用于处理单个数据行或列,并返回一个单一的结果。

普通UDF需要开发者实现evaluate()方法,该方法接受一个或多个参数,并返回一个结果。

以下是一个简单的普通UDF示例,该函数接收一个字符串参数并返回其长度:javaimport org.apache.hadoop.hive.ql.exec.UDF;public class StringLengthUDF extends UDF {public int evaluate(String str) {if (str == null) {return 0;}return str.length();}}在这个例子中,我们定义了一个名为StringLengthUDF的类,它继承了UDF基类。

然后我们实现了evaluate()方法,该方法接受一个字符串参数,并返回其长度。

二、GenericUDF相比于普通UDF,GenericUDF提供了更大的灵活性和可扩展性。

GenericUDF可以处理多种数据类型,并且可以返回复杂的数据结构。

在GenericUDF中,开发者需要实现initialize()、getReturnType()和evaluate()方法。

以下是一个简单的GenericUDF示例,该函数接收两个整数参数并返回它们的和:javaimport org.apache.hadoop.hive.ql.udf.generic.GenericUDF; importorg.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; importorg.apache.hadoop.hive.serde2.objectinspector.primitive.Primitive ObjectInspectorFactory;importorg.apache.hadoop.hive.serde2.objectinspector.primitive.IntObjectI nspector;public class AddUDF extends GenericUDF {private IntObjectInspector intOI1;private IntObjectInspector intOI2;Overridepublic ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {if (arguments.length != 2) {throw new UDFArgumentException("AddUDF accepts exactly 2 arguments");}if (!(arguments[0] instanceofIntObjectInspector) !(arguments[1] instanceof IntObjectInspector)) {throw new UDFArgumentException("Both arguments should be of int type");}this.intOI1 = (IntObjectInspector) arguments[0];this.intOI2 = (IntObjectInspector) arguments[1];returnPrimitiveObjectInspectorFactory.javaIntObjectInspector;}Overridepublic Object evaluate(DeferredObject[] arguments) throws HiveException {int arg1 = intOI1.get(arguments[0].get());int arg2 = intOI2.get(arguments[1].get());return arg1 + arg2;}Overridepublic String getDisplayString(String[] children) {return "add(" + children[0] + ", " + children[1] + ")";}}在这个例子中,我们定义了一个名为AddUDF的类,它继承了GenericUDF基类。

大数据hive 注册udf 函数

大数据hive 注册udf 函数

大数据技术在当今社会中扮演着越来越重要的角色,它能够帮助企业从海量数据中获取有用的信息,从而指导决策和提高效率。

在大数据技术中,Hive是一个重要的组成部分,它是建立在Hadoop基础之上的数据仓库工具,能够将结构化的数据文件映射为一张数据库表,并提供类SQL语句进行查询。

在Hive中,用户自定义函数(User Defined Function,简称UDF)的注册和使用是非常常见的操作,本文将重点介绍如何在Hive中注册UDF函数。

1. UDF函数概述UDF(User Defined Function)是用户自定义的函数,它能够接收一定数量的参数,并返回一个值。

在Hive中,UDF是用来扩展Hive SQL操作功能的重要方式。

用户可以根据自己的需求编写UDF函数,并将它注册到Hive中,从而可以在Hive的SQL语句中调用这些函数。

2. UDF函数的注册在Hive中,注册UDF函数需要经过以下几个步骤:(1)创建UDF函数用户需要编写自己的UDF函数,可以使用Java或者Python等语言来编写。

UDF函数需要实现Hive中定义的接口,并根据输入参数进行相应的处理,最后返回相应的数值或对象。

(2)打包UDF函数编写完UDF函数之后,用户需要将函数打包成jar包,以便在Hive 中进行注册和调用。

用户需要保证jar包中包含了编写的UDF函数以及相关的依赖包,确保在Hive中能够正常运行。

(3)上传jar包到Hive将打包好的jar包上传到Hive所在的服务器上,可以使用scp或者ftp等工具进行上传。

用户需要将jar包放在Hive的安装目录下的lib 文件夹中,以便Hive能够识别和加载这个jar包。

(4)注册UDF函数通过Hive的命令行或者Hue等工具,用户可以登入Hive,并使用CREATE FUNCTION命令来注册UDF函数。

用户需要指定函数的名称、输入参数的类型和输出参数的类型等信息,并指定jar包中的UDF函数的类名。

自定义udf函数

自定义udf函数

自定义udf函数随着数据处理在现代计算机系统中的重要性日益提高,UDF(用户定义函数)的作用也越来越受到重视。

UDF,也称自定义UDF函数,是一种自定义的函数,可以极大地提高处理数据的效率。

因此,许多软件开发人员都在尝试开发UDF函数,以更好地实现数据处理和分析的目标。

UDF函数可以定义为一个独立的子程序,具有独立的参数和返回值定义。

UDF函数通常可以处理多元数据,还可以传递算法,使用它来转换和操作数据。

它可以处理复杂的数据,如图像数据,图形数据,多维数据,空间数据等等,而且可以对数据进行更多高级操作,如模式识别,信号处理等等,从而大大提高了处理数据的效率。

现在的UDF函数的使用已经普遍开放,各种外部软件开发人员可以快速开发自定义UDF函数,并且在现有系统中进行实现,以更好地满足客户需求。

为了让UDF函数更好地应用于实际工作,外部软件开发人员也需要考虑一些重要的技术问题,如使用UDF函数的计算引擎,系统架构和数据库等等。

使用UDF函数的计算引擎要考虑的第一个问题是,它是否支持UDF函数?另外,为了让UDF函数更加灵活、有效地工作,它的计算引擎要支持UDF函数的一些关键特性,如支持条件计算,支持排序和排序,支持多个参数,支持嵌入式查询等等,并且要具备良好的性能。

其次,外部软件开发人员需要考虑UDF函数的系统架构问题。

UDF 函数的系统架构可以分为两个层次:计算引擎层和数据库层。

计算引擎层负责处理数据,提供各种函数操作,允许调用UDF函数,以便进行更复杂的计算操作;数据库层则负责存储和维护数据,提供存储检索机制,提供专业的数据处理功能,允许用户注册自定义UDF函数,以便可以更好地利用其进行数据处理。

最后,还需要考虑UDF函数的数据库问题。

UDF函数使用的数据库要具备高性能,高可靠性和安全性,支持多种数据库技术,能够按需提供动态数据服务,支持用户自定义UDF函数,允许用户在数据库中调用UDF函数,并能够处理大量数据的需求。

udf编译

udf编译

udf编译UDF编译什么是UDF?UDF(User Defined Function)即用户自定义函数,是一种用户可以自行编写并添加到数据库中的函数。

它可以扩展数据库的功能,使得用户可以使用自己定义的函数来完成一些特定的操作。

UDF编译过程在MySQL中,UDF是通过动态链接库(DLL)实现的。

因此,要使用UDF,必须先将其编译成动态链接库。

1. 编写UDF源代码首先需要编写一个C/C++源文件来实现自己想要实现的功能。

这个源文件需要包含以下内容:- 头文件:包含必要的头文件,如mysql.h、stdio.h等。

- 函数声明:声明需要实现的函数。

- 函数定义:实现需要实现的函数。

例如,下面是一个简单的UDF源代码示例:```#include <stdio.h>#include <mysql.h>my_bool hello_init(UDF_INIT *initid, UDF_ARGS *args, char *message);void hello_deinit(UDF_INIT *initid);char* hello(UDF_INIT *initid, UDF_ARGS *args, char* result, unsigned long* length, char* is_null, char* error);my_bool hello_init(UDF_INIT *initid, UDF_ARGS *args, char *message){return 0;}void hello_deinit(UDF_INIT *initid){return;}char* hello(UDF_INIT *initid, UDF_ARGS *args, char* result, unsigned long* length, char* is_null, char* error){sprintf(result, "Hello, %s!", args->args[0]);*length = strlen(result);return result;}```这个UDF实现的功能是将输入的字符串加上“Hello, ”前缀输出。

阿里云 udf函数

阿里云 udf函数

阿里云 udf函数阿里云UDF函数是阿里云提供的一种自定义函数,可以在MaxCompute等阿里云大数据平台上使用。

UDF函数可以根据用户的需求,自定义函数的功能和逻辑,扩展平台的计算能力,提高数据处理的效率和灵活性。

一、UDF函数的定义和特点UDF函数全称为User-Defined Function,即用户自定义函数。

它是一种特殊类型的函数,允许用户根据自己的需求,编写并注册自己的函数。

UDF函数可以在SQL查询中直接调用,实现自定义的计算逻辑。

UDF函数具有以下特点:1. 可以根据用户需求自定义函数的功能和逻辑。

2. 可以接受多个输入参数,并返回一个结果。

3. 可以在SQL查询中直接调用,非常方便。

4. 可以在大数据平台上高效地进行数据处理和计算。

二、UDF函数的使用场景UDF函数在大数据处理中有广泛的应用场景,例如:1. 数据清洗和预处理:通过自定义的UDF函数,可以快速、灵活地对原始数据进行清洗、过滤、转换等操作,提高数据质量和准确性。

2. 数据转换和格式化:通过UDF函数,可以将数据从一种格式转换为另一种格式,例如将时间戳转换为日期格式,或者将字符串转换为数字格式。

3. 复杂计算和逻辑处理:通过UDF函数,可以实现更加复杂的计算和逻辑处理,例如统计某个指标的平均值、最大值、最小值等,或者根据一定的规则进行数据分类和标记。

4. 自定义业务规则:通过UDF函数,可以根据业务需求,实现自定义的业务规则,例如根据用户的购买记录,判断用户的购买偏好,或者根据用户的浏览行为,推荐相关的商品。

三、UDF函数的开发和使用步骤开发和使用UDF函数的步骤如下:1. 开发UDF函数:根据自己的需求,编写UDF函数的代码逻辑,实现所需的功能。

2. 注册UDF函数:将开发好的UDF函数注册到阿里云大数据平台上,使其可以被查询语句调用。

3. 调用UDF函数:在SQL查询语句中,通过函数名和参数列表调用已注册的UDF函数,获取计算结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• • • • • • • • • • 边界条件 材料性质 表面与体积反应速率 输运方程源项 用户标量输运方程(UDS) 调节每次迭代值 初始化流场 异步执行 后处理改善 模型改进(离散项模型,多相混合物模型,辐 射模型等)
UDF举例
上壁面温度 绝 热 壁 面 温度: 315K 300K
绝 热 壁 面
mu_lam = 143.2135 - 0.49725 * temp;
else mu_lam = 1.; return mu_lam; }
FLUENT求解过程中UDFs的先后顺序
非 耦 合 求 解 器
耦 合 求 解 器
FLUENT 网格拓扑
• • • • • • • 单元(cell) 区域被分割成的控制容积 单元中心(cell center) FLUENT中场数据存储的地方 面(face) 单元(2D or 3D)的边界 边(edge) 面(3D)的边界 节点(node) 网格点 单元线索(cell thread) 在其中分配了材料数据和源项的单元组 面线索(face thread) 在其中分配了边界数据的 面组 • 节点线索(node thread) 节点组 • 区域(domain) 由网格定义的所有节点、面和单元线索的组
局部变量
• 局部变量只用于单一的函数中。当函数 调用时,就被创建了,函数返回之后, 这个变量就不存在了,局部变量在函数 内部(大括号内)声明。在下面的例子 中,mu_lam和temp是局部变量。
DEFINE_PROPERTY(cell_viscosity, cell, thread) { real mu_lam; real temp = C_T(cell, thread); if (temp > 288.) mu_lam = 5.5e-3; else if (temp > 286.)
UDF分类与区别
• UDFs 使用时可以被当作解释函数或编译函数 • 解释函数在运行时读入并解释 • 编译UDFs 则在编译时被嵌入共享库中并与 Fluent 连接 • 解释UDFs 用起来简单但是有源代码和速度方 面的限制不足。编译型UDFs 执行起来较快也 没有源代码限制但设置和使用较为麻烦
UDF的用途-满足用户个性化需求
Function that Modify an Argument #include "udf.h"
#define K1 2.0e-2 #define K2 5. DEFINE_VR_RATE(user_rate, c, t, r, mole_weight, species_mf, rr, rr_t) { real s1 = species_mf[0]; real mw1 = mole_weight[0]; if (FLUID_THREAD_P(t) && THREAD_VAR(t).fluid.porous) *rr = K1*s1/pow((1.+K2*s1),2.0)/mw1; else *rr = 0.; }

Fluent数据类型
• cell_t • face_t •
cell_t是线索(thread)内单元标识符的数据 类型。它是一个识别给定线索内单元的整数索 引。face_t是线索内面标识符的数据类型。它 是一个识别给定线索内面的整数索引。 Thread Thread数据类型是FLUENT中的数据结构。它 充当了一个与它描述的单元或面的组合相关的 数据容器。 Node Node数据类型也是FLUENT中的数据结构。 它充当了一个与单元或面的拐角相关的数据容 Domain器。 Domain数据类型代表了FLUENT中最高水平 的数据结构。它充当了一个与网格中所有节点、 面和单元线索组合相关的数据容器。
UDF源文件中包含udf.h文件
• #include "udf.h" • 通过在你的UDF源文件中包含udf.h,编译过程 中所有的 DEFINE 宏的定义与源代码一起被包 含进来。udf.h文件也为所有的C库函数头文件 包 含 #include 指 示 , 与 大 部 分 头 文 件 是 针 对 Fluent 提 供 的 宏 和 函 数 是 一 样 的 ( 例 如 , mem.h)。除非有另外的指示,没必要在你的 UDF中个别地s定义UDF
• DEFINE_MACRONAME(udf_name, passedin variables)
• 这里括号内第一个自变量是你的UDF的名称。 名称自变量是情形敏感的必须用小写字母指定。 • 一旦函数被编译(和连接),你为你的UDF选 择的名字在 FLUENT下拉列表中将变成可见的 和可选的。第二套输入到DEFINE 宏的自变量 是从FLUENT求解器传递到你的函数的变量。
用户自定义函数
UDF
用户自定义函数
• 用户自定义函数或UDF 是用户自编的程 序它可以被动态的连接到Fluent 求解器上 来提高求解器性能用户自定义函数用C 语言编写使用DEFINE 宏来定义UDFs 中 可使用标准C 语言的库函数也可使用预 定义宏Fluent Inc.提供通过这些预定义宏 可以获得Fluent 求解器得到的数据
温度分布
Profile处理
((Temp point 26) (x 0.00E-03 2.00E-03 4.00E-03 6.00E-03 8.00E-03 1.00E-02 1.20E-02 1.40E-02 1.60E-02 1.80E-02 2.00E-02 2.20E-02 2.40E-02 2.60E-02 2.80E-02 3.00E-02 3.20E-02 3.40E-02 3.60E-02 3.80E-02 4.00E-02 4.20E-02 4.40E-02 4.60E-02 4.80E-02 5.00E-02 ) (y 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 ) (t 3.49E+02 3.50E+02 3.50E+02 3.47E+02 3.46E+02 3.44E+02 3.41E+02 3.39E+02 3.36E+02 3.33E+02 3.31E+02 3.28E+02 3.26E+02 3.24E+02 3.22E+02 3.20E+02 3.19E+02 3.18E+02 3.17E+02 3.16E+02 3.16E+02 3.16E+02 3.15E+02 3.15E+02 3.15E+02 3.15E+02 ))
边界温度分布
左侧温度分布
下面温度分布
场温度分布
UDF编写-用C语言
• 注释 /* 这是刘某人讲课示范用的程序 */ • 数据类型 Int:整型 Long:长整型 Real:实数 Float:浮点型 Double:双精度 Char:字符型
UDF解释函数在单精度算法中定义real类型为float型,在双精度算法宏定义 real为double型。因为解释函数自动作如此分配,所以使用在UDF中声明所有的 float和double数据变量时使用real数据类型是很好的编程习惯。
侧面与地面两处UDF
定义一个以上UDF
上壁面温度 温 度 抛 物 线 分 布 300K
绝 热 壁 面
温度: 315K
温度分布
UDF编写
#include "udf.h"
DEFINE_PROFILE(bottom_temperature, thread, position)
{ 程序1
}
DEFINE_PROFILE(side_temperature, thread, position) { 程序2 } DEFINE_PROFILE(inlet_velocity,thread,position) { 程序3。。。。。。 }
Profile处理要点
• (和一般计算一样设置求解器,模型等) • Define-Profile-Read (数据) • Define-BoundaryCondition-所需设置的 面-Thermal-Temperature-Temp t • (和一般计算一样,设置其它边值条件、 初值条件及求解与结果检查等)
DEFINE_PROPERTY 返 回一个 udf.h 中指定的 real 数据类型。两个 real 变量 传入函数:通过函数计算 层 流 粘 度 mu_lam 的 值 , 其是温度 C_T(cell,thread) 的函数。根据单元体温度, 计 算 出 mu_lam , 在 函 数 结 尾 , mu_lam 值 被 返 回 。
UDF任务
• • • • • 返回值 修改自变量 返回值和修改自变量 修改FLUENT变量(不能作为自变量传递) 写信息到(或读取信息从)case或data文 件
返回值
DEFINE_PROPERTY(cell_viscosity, thread) { • real mu_lam; real temp = C_T(cell, thread); if (temp > 288.) mu_lam = 5.5e-3; else if (temp > 286.) mu_lam = 143.2135 - 0.49725 * temp; else mu_lam = 1.; return mu_lam; } cell,
相关文档
最新文档