Implementing Radiative Boundary Conditions in PDE Toolbox
8 次查看(过去 30 天)
显示 更早的评论
Hello,
I am trying to recreate the "Non-linear Heat Transfer in a Thin Plate" using MATLAB's PDE Toolbox with a 3D rather 2D mesh. Instead of specifying the a-coefficient with the equation for radiative heat transfer, I am specifying the g-boundary term on opposing faces of this box geometry. Likewise, my fixed temperature boundary condition is now along the bottom face of the box.
My problem is that the 3D example is not working (temperature distribution is uniform), whereas the 2D example provided is giving me a reasonable temperature distribution which drops off the farther we move from the fixed temperature boundary condition.
My code is given below:
%% GLOBAL CONSTANTS
STEFAN_BOLTZMANN = 5.670373e-8;
T_COLD_SPACE = 2.7;
%% INITIALIZE PDE PROBLEM
nPDE = 1;
pdeModel = createpde(nPDE);
% import geometry file of a box
gd = importGeometry(pdeModel,'./stl files/myblock.stl');
h1 = figure('Name','Geometry');
pdegplot(pdeModel,'FaceLabels','on');
% material properties
E = 68.9E9; % [Pa]
nu = 0.3; % [n/a]
lambda = E*nu/(1+nu)/(1-2*nu);
mu = E/2/(1+nu);
k = 167; % [W/m/K]
rho = 2700; % [kg/m^3]
Cp = 896; % [J/kg/K]
% emmitting surface properties
emiss = 0.5;
% create mesh
hmax = 0.5;
hmin = 0.2;
mesh = generateMesh(pdeModel,'Hmax',hmax,'Hmin',hmin,'GeometricOrder','quadratic');
h2 = figure('Name','Mesh');
pdeplot3D(pdeModel);
[p,e,t] = meshToPet(mesh);
% define PDE
c = k;
a = 0;
f = 0;
d = rho*Cp;
% apply boundary conditions
uBottom = applyBoundaryCondition(pdeModel,'Face',3,'u',200);
radiationFunction = @(region,state)-emiss * STEFAN_BOLTZMANN * ( (state.u.^4) - (T_COLD_SPACE^4) );
gLeft = applyBoundaryCondition(pdeModel,'Face',2,'g',radiationFunction);
gRight = applyBoundaryCondition(pdeModel,'Face',4,'g',radiationFunction);
u = assempde(pdeModel,c,a,f);
figure('Name','Steady-State Solution');
pdeplot3D(pdeModel,'colormapdata',u);
1 个评论
Torsten
2016-1-22
Note that temperatures have to be prescribed in K, not in °C when dealing with radiative boundary conditions.
So T_COLD_SPACE = 2.7 looks wrong to me.
Best wishes
Torsten.
回答(1 个)
Alan Weiss
2016-1-22
编辑:Alan Weiss
2016-1-22
You have a nonlinear equation, so you need to use a nonlinear solver. I followed your script exactly (with the Block.stl geometry and no Hmin or Hmax in the meshing) and got a nice-looking nonconstant plot.
u = pdenonlin(pdeModel,c,a,f);
figure('Name','Steady-State Solution');
pdeplot3D(pdeModel,'colormapdata',u);

Alan Weiss
MATLAB mathematical toolbox documentation
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Geometry and Mesh 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!