|
[求助]
fluent模拟电池生热,编程时如何实现电池热源是温度和时间的函数,求虫友指导。
本人fluent新手,模拟电池生热遇到问题,求助各位虫友。下面的程序导入到fluent中没有问题,但是计算时残差没有变化,电池监测点的温度场也没有变化。
程序中的热源是温度和时间的函数,不知道编写的对不对,
#include "udf.h"
#define A1 80.345
#define A2 -3.422
#define A3 0.096
#define A4 -0.001
#define B1 -349.916
#define B2 17.782
#define B3 -0.685
#define B4 0.012
#define C1 1086.571
#define C2 -56.8
#define C3 2.673
#define C4 -0.054
#define D1 -1648.7
#define D2 87.302
#define D3 -5.15
#define D4 0.112
#define E1 1199.94
#define E2 -63.32
#define E3 4.857
#define E4 -0.112
#define F1 -325.382
#define F2 16.835
#define F3 -1.777
#define F4 0.043
DEFINE_SOURCE(heat_source,c,t,dS,eqn)
{
real resistance,T,C;
real source,ts=0.0;
T=C_T(c,t);
ts=RP_Get_Real("flow-time"
C=(1-(6*ts)/(3600*6));
resistance=(A1+A2*(T-273.15)+A3*pow((T-273.15),2)+A4*pow((T-273.15),3)+(B1+B2*(T-273.15)+B3*pow((T-273.15),2)+B4*pow((T-273.15),3))*C+(C1+C2*(T-273.15)+C3*pow((T-273.15),2)+C4*pow((T-273.15),3))*C*C+(D1+D2*(T-273.15)+D3*pow((T-273.15),2)+D4*pow((T-273.15),3))*pow(C,3)+(E1+E2*(T-273.15)+E3*pow((T-273.15),2)+E4*pow((T-273.15),3))*pow(C,4)+(F1+F2*(T-273.15)+F3*pow((T-273.15),2)+F4*pow((T-273.15),3))*pow((T-273.15),5))/1000;
source=(resistance*(6*6)+0.000138*6*(T-273.15));
dS=0;
return source;
} |
|