Implementing Radiative Boundary Conditions in PDE Toolbox

9 views (last 30 days)
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 Comment
Torsten
Torsten on 22 Jan 2016
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.

Sign in to comment.

Answers (1)

Alan Weiss
Alan Weiss on 22 Jan 2016
Edited: Alan Weiss on 22 Jan 2016
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

Community Treasure Hunt

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

Start Hunting!