¿Por que me aparece el error de Incorrect number or types of inputs or outputs for function applyBoundaryCondition en mi codigo?
3 views (last 30 days)
Show older comments
% Definir las dimensiones del bloque en metros
L = 0.12; % largo en metros
H = 0.01; % altura en metros
% Crear el modelo PDE
model = createpde('thermal', 'transient');
% Definir la geometría del rectángulo usando decsg
R1 = [3, 4, 0, L, L, 0, 0, 0, H, H]';
gd = R1;
ns = char('R1');
ns = ns';
sf = 'R1';
[dl, bt] = decsg(gd, sf, ns);
% Crear la geometría del modelo
geometryFromEdges(model, dl);
% Especificar las propiedades físicas del material
conductividad = 0.3; % conductividad térmica en W/(m·K)
densidad = 1060; % densidad en kg/m³
calor_especifico = 2500; % calor específico en J/(kg·K)
thermalProperties(model, 'ThermalConductivity', conductividad, ...
'MassDensity', densidad, ...
'SpecificHeat', calor_especifico);
% Definir las condiciones iniciales
temperatura_inicial = 25; % temperatura inicial en °C
thermalIC(model, temperatura_inicial);
pdegplot(model,"EdgeLabels","on")
% Definir las condiciones de frontera (todas las caras a 140°C)
h = 10; % coeficiente de convección en W/(m^2·K)
Tamb = 25; % temperatura ambiente en °C
applyBoundaryCondition(model, 'mixed', 'Edge', edges, 'ConvectiveCoefficient', h, 'AmbientTemperature', Tamb);
% Generar la malla
generateMesh(model);
% Definir el rango de tiempo de simulación
tiempo_final = 60; % tiempo final en segundos
n_pasos = 50; % número de pasos de tiempo
tlist = linspace(0, tiempo_final, n_pasos);
% Resolver el problema de transferencia de calor
resultado = solve(model, tlist);
% Extraer la temperatura en cada nodo de la malla para el tiempo final
temperatura_final = resultado.Temperature(:, end);
% Graficar la distribución de temperatura en el tiempo final
figure;
pdeplot(model, 'XYData', temperatura_final, 'Contour', 'on');
title('Distribución de temperatura en el tiempo final');
xlabel('x (m)');
ylabel('y (m)');
colorbar;
0 Comments
Answers (1)
Torsten
on 16 Jun 2024
Edited: Torsten
on 16 Jun 2024
Instead of "edges", you have to include the edge number to which you want to apply the boundary condition.
I plotted the geometry for that you know which edge number corresponds to which edge.
And I think you have to use "ThermalBC" instead of "applyBoundaryCondition".
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!