Clear Filters
Clear Filters

How do I create and place a non-uniform heat flux (Gaussian) on a cylinder with a center hole?

8 views (last 30 days)
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

Accepted Answer

Ravi Kumar
Ravi Kumar on 2 May 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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!