|
|
发表于 2013-5-12 12:15:51
|
显示全部楼层
回复 1# vipher 的帖子
我也有相同的问题,我做的是一个等离子体发生器的流场模拟,也应为添加了UDS,要设定一个uds-DIFFUSIVITY,这个问题我也没有理解,我的是这样的。
//////////////////////////////////////////定义标量方程的扩散系数//////////////////////////////////////
/*DEFINE_DIFFUSIVITY(electrical_conductivity,c,t,i)
{
float sigma;
real x,y,line;
real xc[ND_ND];
real ELEC6300_1,ELEC6300_2,ELEC6300,Jiaquan,ELEC10,ELEC_F;
p0 = 101325 * 1;
p1 = 101325 * 0.1;
p2 = 101325 * 0.01;
p3 = 101325 * 0.001;
temperature = C_T(c,t);
pressure = C_P(c,t);
if (pressure>=p0)
{
sigh=gasprop(temperature,tbsig0);
sig=sigh;
ELEC6300=gasprop(6300,tbsig0);
}
else if (pressure>=p1&&pressure<p0)
{
sigh= gasprop(temperature,tbsig0);
sigl=gasprop(temperature,tbsig1);
sig=sigh+(sigl-sigh)/(p1-p0)*(pressure-p0);
ELEC6300_1= gasprop(6300,tbsig0);
ELEC6300_2=gasprop(6300,tbsig1);
ELEC6300=ELEC6300_1+(ELEC6300_2-ELEC6300_1)/(p1-p0)*(pressure-p0);
}
else if (pressure>=p2&&pressure<p1)
{
sigh= gasprop(temperature,tbsig1);
sigl=gasprop(temperature,tbsig2);
sig=sigh+(sigl-sigh)/(p2-p1)*(pressure-p1);
ELEC6300_1= gasprop(6300,tbsig1);
ELEC6300_2=gasprop(6300,tbsig2);
ELEC6300=ELEC6300_1+(ELEC6300_2-ELEC6300_1)/(p2-p1)*(pressure-p1);
}
else if (pressure>=p3&&pressure<p2)
{
sigh= gasprop(temperature,tbsig2);
sigl=gasprop(temperature,tbsig3);
sig=sigh+(sigl-sigh)/(p3-p2)*(pressure-p2);
ELEC6300_1= gasprop(6300,tbsig2);
ELEC6300_2=gasprop(6300,tbsig3);
ELEC6300=ELEC6300_1+(ELEC6300_2-ELEC6300_1)/(p3-p2)*(pressure-p2);
}
else
{
sigh=gasprop(temperature,tbsig3);
sig=sigh;
ELEC6300=gasprop(6300,tbsig3);
}
if (i==0)
{
C_CENTROID(xc,c,t);
x=xc[0];
y=xc[1];
if(x>0.096)
{
if(temperature<=6300)
{
Jiaquan = (100000-pressure)/(100000-100);
ELEC_F= (ELEC6300-10)*temperature/6300+10;
sigma = Jiaquan*ELEC_F+(1-Jiaquan)*sig;
if(sigma<=0)
{
Message ("ELEC CONDUCTITY IS MODIFIED!!!!\n");
Message ("Jiaquan:%g\n",Jiaquan);
Message ("ELEC_F:%g\n",ELEC_F);
Message ("ELEC CONDUCTITY:%g\n",sigma);
}
}
else
sigma = sig;
}
else
sigma = sig;
}
/*{
C_CENTROID(xc,c,t);
x=xc[0];
y=xc[1];
if(x>=0.0081&&x<=0.00846)
{
line = 0.675676*x - 0.00537;
if(y<=line)
{
if(temperature<=6300)
{
Jiaquan = (150000-pressure)/150000;
ELEC_F= (ELEC6300-5)*temperature/6300+5;
sigma = Jiaquan*ELEC_F+(1-Jiaquan)*sig;
if(sigma<=0)
{
Message ("ELEC CONDUCTITY IS MODIFIED!!!!\n");
Message ("Jiaquan:%g\n",Jiaquan);
Message ("ELEC_F:%g\n",ELEC_F);
Message ("ELEC CONDUCTITY:%g\n",sigma);
}
}
else
sigma = sig;
}
else
sigma = sig;
}
else if(x>0.00846&&x<=0.016)
{
if(temperature<=6300)
{
Jiaquan = (500000-pressure)/500000;
ELEC_F= (ELEC6300-10)*temperature/6300+10;
sigma = Jiaquan*ELEC_F+(1-Jiaquan)*sig;
if(sigma<=0)
{
Message ("ELEC CONDUCTITY IS MODIFIED!!!!\n");
Message ("Jiaquan:%g\n",Jiaquan);
Message ("ELEC_F:%g\n",ELEC_F);
Message ("ELEC CONDUCTITY:%g\n",sigma);
}
}
else
sigma = sig;
}
else
sigma = sig;
}*/
/*if (i==0) sigma = sig;*/
else if(i==1) sigma=1;
else if(i==2) sigma=1;
else sigma=0;
return sigma;
}*/
你可以看看,这是别人写的,我在学习,如果有什么了解我可以告诉你。 |
|