How do I create and place a non-uniform heat flux (Gaussian) on a cylinder with a center hole?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Michael Tilton
le 2 Mai 2024
Commenté : Michael Tilton
le 2 Mai 2024
I'm trying to add a non-uniform heat flux to my simple model of a cylinder with a center hole. I know I need to create a function that describes the heat flux (Gaussian) but not sure how to do that in the context of my model. I believe the function can be applied as a thermalBC to Face 2 as shown below.
T_initial = 20;
t_end = 100;
model=createpde('thermal','transient');
geo = multicylcinder([.3,2],.2,'void',[1,0]);
modelGeometry = geo;
pdegplot(model,'FaceLabels',on);
thermalProperties(model,'ThermalConductivity',4,'MassDensity',210,'SpecificHeat',73);
thermalIC(model,T_initial);
% Heat Flux Function
% ------------------
% function Qflux = @nonUniformHeatFlux
% ???
% ???
% ???
% end
thermalBC(model,'Face',1,'Temperature',20);
thermalBC(model,'Face',2,'HeatFlux',@nonUniformHeatFlux)
generateMesh(model)
pdemesh(model)
tlist = 0:10:t_end
modelresults = solve(model, tlist)
end
0 commentaires
Réponse acceptée
Ravi Kumar
le 2 Mai 2024
Hi Michael,
Please take look at this example:
Specifically, heatFluxSteady or heatFluxTimeDependent at the end of the example function might help you figure out the details you are looking for.
Regards,
Ravi
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!