模板用户函数 (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
形心位置和温度声明为参数。
Real 和 CoordReal 类型可定义浮点变量的精度,它们在 uclib.h 文件中定义。