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

조회 수: 5 (최근 30일)
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

채택된 답변

Ravi Kumar
Ravi Kumar 2024년 5월 2일
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
  댓글 수: 1
Michael Tilton
Michael Tilton 2024년 5월 2일
Thanks Ravi,
The example you lead me to had enough detail so that I was able create and apply my particular heat flux function.
Mike

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by