Simcenter Amesim
两相流code opening feature功能补充说明
2023-01-18T07:39:55.000-0500
Simcenter Amesim Automation Connect
Simcenter System Simulation Client for Git
Simcenter Amesim
Teamcenter Share
摘要
本文介绍了两相流库管道模型的自定义压降和自定义热交换代码编辑功能的帮助补充说明,同样也适用于所有code opening feature的功能应用
详细信息
本文介绍的功能是Amesim – Code opening feature里的dynamic library handling tool。以两相流库管道TPFPHE0001为例,模型对于压降和换热计算有多种选项,其中用户可以选择使用external user-defined function来进行自定义编程。这里以pressure drop(压降)的自定义代码功能为例。
选择external user-defined function后,点击下方的蓝色超链接会出现以下自定义代码编辑APP界面:
上图显示了使用此界面的4个步骤:
获取相关子模型代码模板并保存(第一次使用点击New,后续可以点击Open打开已有代码)
编辑自定义代码
选择编译器并编译dll
将编译好的dll应用到模型参数里
详细的操作方法及说明可以在软件的帮助中搜索Code opening implementation中得到。
点击左上方“New”会生成以下代码模板,要求用户在模板指定的位置修改或者添加代码(其他部位修改无效,会被软件自动删除)。以下是自定义代码编辑的注意事项:
补充说明第一条:用户只能在红色框内进行添加/修改,否则自定义代码无效。
补充说明第二条:蓝色框内的代码是无用代码,且必须删除。
补充说明第三条:自定义变量命名要避开软件自带的常用变量名,如pi,alpha等。
补充说明第四条:自定义代码计算部分要自行处理/预防计算失常的情况,如除以0、产生nan的无法计算情况和计算得到inf这三类情况。
补充说明第五条:杜绝出现不符合物理现实的代码,比如平白无故对某个物理量进行加减乘除。例如此管道的质量流量(kg/s),其入口质量流量=出口质量流量(管道不考虑泄露)。如果自定义代码给出 出口质量流量=入口质量流量+0.001,则这是不符合物理现实的,也会导致软件计算异常甚至停止。
补充说明第六条:紫色框内的2个输出变量dp,ddpdg,注意ddpdg是dp对G的偏导数,因此用户自定义代码必须遵循这个规则。
补充说明第七条:紫色框内的2个输出变量dp,ddpdg,在定义时需要考虑2种不同的工质状态(即单相状态和两相流状态)。自定义代码示例如下:
sv = 1./ *rho;
if
((*x > 0.) && (*x < 1.))
/*two-phase*/
{
mu = *x / *muv + (1.0 - *x) / *mul;
mu = 1.0 / mu;
tpf_iter_dp_(G, &ff_loc, &ffg, &dffgdg, diag, &mu, rr);
*dp = *G*ffg *sv;
*ddpdg = (ffg + *G * dffgdg) * sv;
}
else
/*single-phase*/
{
if
(*x <= 0.)
{
mu = *mul;
}
else
{
mu = *muv;
}
tpf_iter_dp_(G, &ff_loc, &ffg, &dffgdg, diag, &mu, rr);
*dp = *G*ffg *sv;
*ddpdg = (ffg + *G * dffgdg) * sv;
}
coeff_xi = 0.5* (*le) / (*diam);
*dp *= coeff_xi;
*ddpdg *= coeff_xi;
以下是作为示例的两相流管道代码模板:
知识库文章 ID# KB000048587_ZH_CN
内容
摘要
详细信息
关联组件
Amesim Automation Connect