模板用户函数 (C)

本节提供可用于创建用户函数的模板。

用户函数的通用目的在于根据此模板,使用通过对 args(参数) 进行运算获得的值填充 result(结果) 组分表,如示例中所示:

#include "uclib.h"
void name(result, int size, args ...);

name(名称):函数名。 这是任意名称:Simcenter STAR-CCM+ 不会对特定功能施加特定函数名。 但是,有一些受保护的名称必须避免:ucarg、ucfunc、ucfunction、uclib、ufarg、uffunc、uflib

result(结果):用户函数返回的值的组分表。 它声明为:

Real *result

(对于标量函数),或者:

Real (*result)[3]

(对于矢量函数)。 result(结果) 组分表的每个元素表示一个网格单元或面,具体取决于用户函数的类型。

size(尺寸)result(结果) 组分表中的元素数量。

args(参数)Simcenter STAR-CCM+ 传递到函数的参数从可用变量的列表中选择并通过 ucarg 请求。 下表中提供了包含各类元素的 arg(参数) 组分表的声明形式。

元素类型 声明

int

int *arg

实部

Real *arg

unsigned int

int *arg

Vector<2, unsigned int>

int (*arg)[2]

Vector<3, CoordReal>

CoordReal (*arg)[3]

Vector<3, Real>

Real (*arg)[3]

例如,将

CoordReal (*centroid)[3], Real *temperature

形心位置和温度声明为参数。

RealCoordReal 类型可定义浮点变量的精度,它们在 uclib.h 文件中定义。