How to provide variable boundary conditions to second order partial differential equation?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kx (∂^2 T)/(∂x^2 )+Ky (∂^2 T)/(∂y^2 )=0 Subjected to @y = 0; ∂T/∂y=0 @x = 0; - Kx ∂T/∂x=f(y)=h_c (T_c (y)-T(x,y)) @x = a; - Kx ∂T/∂x=g(y)=h_h (T(x,y)-T_h (y))
0 comentarios
Respuestas (1)
Shishir Reddy
el 28 de Mayo de 2025
Hi Kiran
As per my understanding, you would like to solve the 2D steady-state heat conduction PDE with variable boundary conditions in MATLAB.
Kindly refer to the following steps which helps in implementing the same.
1. Create the model and define the rectangular geometry –
a = 1; % Length in x-direction
b = 1; % Length in y-direction
hL = 50; %convection coefficient
hR = 40;
TL = 300; % Temperature
TR = 350;
Kx = 10; % Thermal conductivity
% Create PDE model
model = createpde('thermal','steadystate');
% Define rectangular geometry
R1 = [3,4,0,a,a,0,0,0,b,b]';
g = decsg(R1,'R1',char('R1')');
geometryFromEdges(model,g);
2. Set thermal conductivity ‘Kx’ and apply the boundary conditions –
thermalProperties(model,'ThermalConductivity', Kx);
% Plot edge labels to get edge IDs
figure, pdegplot(model,'EdgeLabels','on'),title('Edge Labels'),axis equal
% Use the edge numbers shown in the plot
bottom = 1; % y = 0
left = 4; % x = 0
right = 2; % x = a
thermalBC(model,"Edge",bottom,"HeatFlux",0);
% At x = 0
thermalBC(model,"Edge",left, "ConvectionCoefficient",hL, "AmbientTemperature", TL);
% At x = a
thermalBC(model,"Edge",right, "ConvectionCoefficient",hR, "AmbientTemperature", TR);
3. Solve and plot –
% Solve
generateMesh(model,'Hmax',0.02);
result = solve(model);
% Plot result
figure
pdeplot(model,'XYData',result.Temperature);
title('Temperature Distribution');
colorbar;
For more information regarding ‘thermalBC’ function, kindly refer the following documentation –
I hope this helps.
0 comentarios
Ver también
Categorías
Más información sobre Partial Differential Equation Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

