用户编码的边界配置文件
本节包含用户编码的边界配置文件示例。
假设要将边界上的温度指定为与相邻网格单元中相同。 可以创建一个名为 zeroGradT 的用户函数,将温度和面网格单元索引场作为参数并返回边界温度。
在 C 中,使用 uclib.h 文件,可以在文件 zeroGradT.c 中对以下内容进行编码:
#include "uclib.h"
/* Set boundary temperature equal to cell temperature */
void
USERFUNCTION_EXPORT zeroGradT(Real *result, int size, int (*fc)[2], Real *T)
{
int i;
/* Loop through all entities applying T_boundary = T_cell *
* fc[i][0] is the cell next to i */
for (i = 0; i != size; ++i)
{
result[i] = T[fc[i][0]];
}
}
使用 StarReal.f 文件,Fortran 90 中的等效文件可以是文件 zeroGradT.f:
C Set boundary temperature equal to cell temperature
subroutine zeroGradT(result,size,fc,T)
use StarRealMod
implicit none
integer, intent(in) :: size
real(StarReal), intent(out) :: result(size)
integer, intent(in) :: fc(2,*)
real(StarReal), intent(in) :: T(*)
integer i
C Loop through all entities applying T_boundary = T_cell
C fc(1,i) is the cell next to i
do i = 1,size
result(i) = T(fc(1,i))
end do
return
end
然后,可以向 Simcenter STAR-CCM+ 注册此用户函数。