Clear Filters
Clear Filters

¿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)
% 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);
Unrecognized function or variable 'edges'.
% 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;

Answers (1)

Torsten
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".

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!