计算流体温度使用PDEPE汽缸内
22日视图(30天)
显示旧的评论
我试图解决以下问题:
- 有一个液缸内初始温度;
- 这种液体开始冷却,而气缸冷却的水环境造成的;
- 我的目标是“时间与流体温度”。
我开始使用“pdepe”脂肪酸的建模问题。我所做的第一个试图模型只是R0 = 4之间的地区和R1 = 6,试图将边界条件应用于内部和外部的面孔。外的脸,我没有问题,因为水外缸固定温度和对流系数也是一个常数。
但是,我没能模型内部边界条件。我所需要的目的,所有缸内的液体可以考虑有相同的温度在给定的时间。因此,可以认为
,在那里
T
缸内的液体温度和吗
内壁的温度的气缸(它的脂肪酸的时间和将由PDEPE计算)。
我没有设法写这个BC PDEPE所需的函数,
。
任何人都可以帮忙吗?
接受的答案
比尔•格林
2022年8月12日
我写了一个1 d PDE解算器,输入语法相似
pdepe
但是有一些
其他改进包括夫妇额外的常微分方程的能力
PDE。(这是他的评论中提到的代码Torsten)。
我用这段代码模型你的问题,我理解它。因为你没有提供
任何材料和其他属性的值,我只是以为一些看起来
对我来说)还算合理。计算结果也看起来对我来说)还算合理。代码已经
经过我相当自信的正确性,但我缺乏自信
正确地建模您的特定问题。
我有下面的输入文件。
函数matlabAnswers_8_11_2022
R0 = 1;R1 =含量;%半径米
wallConductivity = 150;
wallDensity = 2800;
wallSpecHeat = 800;
hWater = 100;%对流多项式系数之间的坦克和含有水
hTank = 200;%对流槽之间的多项式系数和内热源
tempTank = 50;%初始温度的流体内部热源
tempWater = 20;%包含水的温度
x = linspace (R0 R1 10);
t = linspace (0,1 e4, 50);
pdeFunc = @ (x, t, u, DuDx) thepde (x, t, u, DuDx wallConductivity, wallDensity, wallSpecHeat);
initialWallTemp = tempWater;
icFunc = @ (x) theIC (x, initialWallTemp);
bcFunc = @ (xl, ul, xr, ur, t, v, vdot) theBC (xl, ul, xr, ur, t, v, vdot, hWater, tempWater, hTank);
odef = @ (t, v, vdot x, u) odeFunc (t, v, vdot x, u, hTank);
odeicf = @ () odeIcFunc (tempTank);
opts.abstol = 1 e-8;
opts.reltol = 1的军医;
m = 1;
xOde = R0;
[u, uOde] = pde1dm (m, pdeFunc, icFunc bcFunc x, t, odef, odeicf, xOde,选择);
图;情节(t, u (: 1));网格;包含t;标题(的内表面的温度);
图;情节(t, u(:,结束));网格;包含t;标题(的外表面温度);
图;情节(t, uOde);网格;包含t;标题水箱温度的;
结束
函数[c、f、s] = thepde (x, t, u, DuDx wallConductivity, wallDensity, wallSpecHeat)
c = wallDensity * wallSpecHeat;
f = wallConductivity * DuDx;
s = 0;
结束
函数情况= theIC (x, initialWallTemp)
情况= initialWallTemp;
结束
函数[pl, ql,公关,qr] = theBC (xl, ul, xr, ur, t, v, vdot, hWater, tempWater, hTank)
pl = hTank * (v-ul);
ql = 1;
公关= hWater * (ur-tempWater);
qr = 1;
结束
函数f = odeFunc (t, v, vdot x, u, hTank)
% ODE变量定义了槽液的温度
ρ= 997;
cp = 4182;
R0 = x;
f = vdot + 2 * hTank * (vu) /(ρ* cp * R0);
结束
函数v0 = odeIcFunc (tempTank)
v0 = tempTank;
结束
更多的答案(3)
Torsten
2022年8月10日
因此,可以认为,Tdot = 2 * h * (T-Tw) /(ρ* * R0 cp), T是气缸内的流体温度和Tw筒的内壁的温度(这是脂肪酸的时间和将由PDEPE计算)。
和你如何得到T ?或者这是你的问题吗?
如果你有T, pdepe方程的r = r0
λ* dTw / =α* (Tw-T)博士
这可以在bcfun设置
pl = - t1 * (ul-T);
ql = 1.0;
如果你有设置
f =λ* dudx
在pdefun。
Torsten
2022年8月12日
编辑:Torsten
2022年8月12日
比较:
R0 = 1;
R1 =含量;%半径米
t0 = 0;
t1 = 1 e4;%的时间限制
wallConductivity = 150;
wallDensity = 2800;
wallSpecHeat = 800;
rhoWater = 997;
cpWater = 4182;
hWater = 100;%对流多项式系数之间的坦克和含有水
hTank = 200;%对流槽之间的多项式系数和内热源
tempTank = 50;%初始温度的流体内部热源
tempWater = 20;%包含水的温度
nr = 10;
r = linspace (R0、R1、nr);%的空间离散化
r = r。';
rm = 0.5 * (r (1: nr-1) + (2: nr));%细胞中心
元= 50;
t = linspace (t0, t1, nt);%输出时间
initialtempWall = tempWater;%初始温度
initialtempTank = tempTank;
y0 = [initialtempWall *的(nr, 1); initialtempTank);
[T、Y] = ode15s (@ (T、Y) odefun (T, Y, nr, r, rm, wallConductivity, wallDensity, wallSpecHeat,…
rhoWater、cpWater hWater、hTank tempWater), t, y0);%解算器调用
%绘制温度曲线在墙上为特定的输出时间
图(1)
情节(r, [Y (1,1: nr); Y (2, 1: nr); Y (5、1: nr); Y (10 1: nr); Y (11、1: nr)))
%绘制在某些墙温度资料点
图(2)
情节(t) [Y (: 1), Y (:, 5), Y (:, 10)))
%绘制温度内缸的水
图(3)
情节(t、Y (:, nr + 1))
函数dTemp = odefun (t, y, nr, r, rm, wallConductivity, wallDensity, wallSpecHeat,…
rhoWater、cpWater hWater、hTank tempWater)
tempWall = y (1: nr);
tempTank = y (nr + 1);
dtempWalldt = 0 (nr, 1);
%壁温度
%左边界
dtempWalldt (1) = 1 / r (1) * (rm (1) * wallConductivity * (tempWall (2) -tempWall (1) / (r - r (1) (2))…
r (1) * hTank * (tempWall (1) -tempTank)) / (rm (1) - r (1)) /…
(wallDensity * wallSpecHeat);
%内分
dtempWalldt (2: nr-1) = 1. / r (2: nr-1)。* (rm (2: nr-1)。* wallConductivity。* (tempWall (3: nr) -tempWall (2: nr-1)。/ (r - r (3: nr) (2: nr-1)) -…
rm (1: nr 2)。* wallConductivity。* (tempWall (2: nr-1) -tempWall (1: nr 2)。/ (r (2: nr-1) - r (1: nr 2))) / (rm (2: nr-1) rm (1: nr 2)。/…
(wallDensity * wallSpecHeat);
%对边界
dtempWalldt (nr) = 1 / r (nr) * (r (nr) * hWater * (tempWater-tempWall (nr)) rm (nr-1) * wallConductivity *…
(tempWall (nr) -tempWall (nr-1)) / (r (nr) - r (nr-1))) / (r (nr) rm (nr-1)) /…
(wallDensity * wallSpecHeat);
%水箱温度
dtempTankdt = 2 / r (1) * hTank * (tempWall (1) - tempTank) / (rhoWater * cpWater);
%返回时间衍生品
dTemp = [dtempWalldt; dtempTankdt];
结束
0评论
罗德里戈Resende
2022年8月15日
编辑:罗德里戈Resende
2022年8月15日
1评论
比尔•格林
2022年8月15日
很高兴听到这个
pde1dm
为你工作!
>唯一改变我在怀疑如果我能代替“江淮”“江淮”(1)。
明显的语义。/运营商增强后2010 b版本。
改变你的所有元素是可以的,只要在你的网(条目
xmesh
数组)
是均匀间隔的。但是,对于非均匀网格,它将失败,因为这些值
在
江淮
数组是不同的。
这一变化应在一般情况下,成本的慢,可能是
添加这一行:
dNdx = 0 (nen长度(江淮));
在这条线:
江淮= (x (i2) - x (i1)) / 2;
和替换
dNdx = dN (:, i)。/江淮;
与
为j = 1:欧宁
dNdx (j) = dN (j,我)。/江淮;
结束