MATLAB Answers

Applying boundary conditions to a circle

조회 수: 13(최근 30일)
Alun Owen
Alun Owen 1 Jul 2020
답변: Ravi Kumar 1 Jul 2020
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
Alun Owen
Alun Owen 1 Jul 2020
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 1 Jul 2020
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