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
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
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

类别

Help CenterFile Exchange 中查找有关 Geometry and Mesh 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by