How to provide variable boundary conditions to second order partial differential equation?

5 vues (au cours des 30 derniers jours)
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))

Réponses (1)

Shishir Reddy
Shishir Reddy le 28 Mai 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.

Catégories

En savoir plus sur Partial Differential Equation Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by