Is this the proper way to run a transient simulation on a thermal 3D FEM with the PDE toolbox?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
How can I model a 3d FEM and run a transient simulation?
I've tried this so far and it doesn't seem to work
The real question is how do I run a 3d transient FEM? And view the result this doesn't work.
thermalmodel = createpde('thermal','transient');
gm = multicuboid(1,1,0.5,'ZOffset',0.5);
%if this doesn't work choose your own geometry
thermalmodel.Geometry = gm;
%%%%%%%%%%%%%%%%%%%%%%%GENERATE MESH %%%%%%%%%%%%%%%
% meshsize = 0.4;%mm
meshsize = 4;%mm
generateMesh(thermalmodel,'Hmax',meshsize/1000);
thermalmodel.Mesh
pdemesh(thermalmodel)
htc = vpa(25) *u.Watt/(u.m^2*u.Kelvin);
htc = rewrite(htc,u.Watt/(u.in^2*u.Kelvin));
htc = double(separateUnits(htc));
thermalBC(thermalmodel,'Face',1:thermalmodel.Geometry.NumFaces,...
'ConvectionCoefficient',htc,'AmbientTemperature',288.15);
thermalBC(thermalmodel,'Face',1,'Temperature',50+273);%bottom face
mybc = @(region,state) sin(350*state.time).^2;
thermalBC(thermalmodel,'Face',12,'Temperature',mybc);%top face
tfinal = 6;
tlist = 0:3:tfinal;
thermalIC(thermalmodel,0);
thermalmodel.SolverOptions.ReportStatistics = 'on';
result = solve(thermalmodel,tlist);
figure; pdeplot3D(thermalmodel)
pdeplot3D(thermalmodel,'XYData',T(:,end),...
'Contour','on','ColorMapData',results.Temperature);
title('Temperature in K')
colorbar
pdeplot3D(thermalmodel,'ColorMapData',results.Temperature);
axis equal
title(sprintf('Transient Temperature at Final Time ...
(%g seconds)',tfinal));
Antworten (0)
Siehe auch
Kategorien
Mehr zu Geometry and Mesh finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!