Implementing Radiative Boundary Conditions in PDE Toolbox

8 visualizaciones (últimos 30 días)
Brian
Brian el 21 de En. de 2016
Comentada: Torsten el 22 de En. de 2016
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 comentario
Torsten
Torsten el 22 de En. de 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.

Iniciar sesión para comentar.

Respuestas (1)

Alan Weiss
Alan Weiss el 22 de En. de 2016
Editada: Alan Weiss el 22 de En. de 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!

Translated by