Applying boundary conditions to a circle

4 ビュー (過去 30 日間)
Alun Owen
Alun Owen 2020 年 7 月 1 日
回答済み: Ravi Kumar 2020 年 7 月 1 日
For my dissertation, I need to model an Underground Thermal Energy Storage (UTES) and show how heat will effect the surrounding soil. For some reason, when applying a temperature of 30 degrees celsius to an inner circle, the final model shows everyhting with a temperature of 0 degrees celsius. Below is the code, any help is appreciated.
thermalmodelS = createpde('thermal','steadystate');
R1 = [3; 4; -2.7; 2.7; 2.7; -2.7; -3.7; -3.7; 3.7; 3.7];
R2 = [3; 4; -2.2; 2.2; 2.2; -2.2; -3.2; -3.2; 3.2; 3.2];
R3 = [3; 4; -2.025; 2.025; 2.025; -2.025; -3.025; -3.025; 3.025; 3.025];
R4 = [3; 4; -2; 2; 2; -2; -3; -3; 3; 3];
C1 = [1; 0; 0; 1.5; 0; 0; 0; 0; 0; 0];
C2 = [1; 0; 0; 1.3; 0; 0; 0; 0; 0; 0];
gdm = [R1 R2 R3 R4 C1 C2];
sf = 'R1+R2+R3+R4+C1+C2';
ns = char('R1','R2','R3','R4','C1','C2');
ns = ns';
dl = decsg(gdm,sf,ns);
geometryFromEdges(thermalmodelS,dl);
pdegplot(thermalmodelS,'EdgeLabels','on','FaceLabels','on');
xlim([-2.7 2.7]);
ylim([-3.7 3.7]);
axis equal
inital model - easy to play about to change sizes, add stuff etc
Soil is sand with moisture content of 3.3%
UTES housed in concrete
Soil properties
thermalProperties(thermalmodelS, 'ThermalConductivity',2,"Face",1);
Concrete
thermalProperties(thermalmodelS,'ThermalConductivity',1.13,'Face',2);
Insulation
thermalProperties(thermalmodelS,'ThermalConductivity',0.13,'Face',3
Crushed sandstone for heat transfer of hot water (which is 30 degrees)
thermalProperties(thermalmodelS,'ThermalConductivity',6.2,'Face',4);
304 stainless steel
thermalProperties(thermalmodelS,'ThermalConductivity',16.2,'Face',6);
Water at 30 degrees
thermalProperties(thermalmodelS,'ThermalConductivity',0.55,'Face',5);
thermalBC(thermalmodelS,"Edge",[21 22 23 24],'Temperature',30);
thermalBC(thermalmodelS,'Edge',[17 18 19 20],'HeatFlux',1215);
thermalBC(thermalmodelS,'Edge',[16 15 8 7],'HeatFlux',67.8);
thermalBC(thermalmodelS,'Edge',[14 13 6 5],'HeatFlux',0.222226);
thermalBC(thermalmodelS,'Edge',[12 11 4 3],'HeatFlux',12.6);
generateMesh(thermalmodelS,'Hmax',0.2);
figure
pdeplot(thermalmodelS);
axis equal
title 'UTES temperature affect on soil'
R = solve(thermalmodelS);
T = R.Temperature;
figure
pdeplot(thermalmodelS,'XYData',T,'Contour','on','ColorMap','hot');
axis equal
title 'Temperature, Steady State Solution'
  2 件のコメント
Adam Danz
Adam Danz 2020 年 7 月 1 日
All values of T are 0 so it's not surprising that the final plot depicts a field of 0-values.
unique(T)
ans =
0
If that's unexpected, then something is wrong with your thermalmodelS model.
As someone who is also wrapping up the final analyses of his dissertation, I know what it's like to come across these kind of glitches. But in the end, you'll need to understand the model inside and out so you'll benefit the most by dissecting the model and debugging it yourself. I know nothing about thermal analysis models so that's about as much help as I can give.
Alun Owen
Alun Owen 2020 年 7 月 1 日
Yeah, I've realised that T = 0, I just don't understand why as I've stated that the edges of the circle should be 30. Thanks for your time, and good luck with your dissertation.

サインインしてコメントする。

採用された回答

Ravi Kumar
Ravi Kumar 2020 年 7 月 1 日
Hi Alun,
You are applying your BCs on interior edges, these are not boundaries. Please refer to this page:
Perhaps you need to use internalHeatSource function to apply heat generation in the interior regions. You can only specify boundary conditions on the boundary.
Regards,
Ravi

その他の回答 (0 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by