Thermal mass with dynamic reference
1 次查看(过去 30 天)
显示 更早的评论
I'm trying to model a stack of 3 materials in simulink with SimScape.
I basically have to create a very basic model of 3 sheets of material that lie on top of each other. At the bottom there is a cooling system that keeps the temperature on the bottom surface of the bottom sheet at 27 degrees. On the top of the 3 stacked sheets I apply a constant heatflow source.
For my model I assume that each sheet behaves like a thermal resistance (or better, conductivity) in parallel with a thermal capacity (thermal mass).
The problem I now have is that the thermal mass of the top sheet needs to be connected to the thermal mass in the middle sheet. And the thermal mass in the middle sheet needs to be connected to the thermal mass in the bottom sheet. So I have a parallel resistance and capacitance for all the sheets.
Electrically this would look like this:
The question:th How do I create this model in the thermal domain? The current source can simply be replaced by a heatflow source, the voltage source can be replaced by a temperature source, the resistors can be replaced by thermal conductivity, but for the capacitors there is a problem. I can replace those by thermal masses but I can only reference thermal masses to a static reference and not to a dynamic node. If I connect the thermal masses to the reference I change the behavior of the model (that would have the effect of referencing the capacitors to ground in the electrical domain). Any tips on how to solve this?
0 个评论
回答(2 个)
Sebastian Castro
2016-3-4
编辑:Sebastian Castro
2016-3-4
I think you should use the Simscape language and customize the equations of the Thermal Mass block to get what you want. The build process to get the custom block is at this link.
Just double-click the Thermal Mass block, click the "View Source" link and copy the code over to a new file. I got this working as shown in the attached image. The code is here:
component customMass
% Custom Thermal Mass
nodes
A = foundation.thermal.thermal; % :top
B = foundation.thermal.thermal; % :bottom
end
parameters
mass = { 1, 'kg' }; % Mass
sp_heat = { 447, 'J/(kg*K)' }; % Specific heat
end
variables
% Differential variables
T = {0, 'K'}; % Temperature difference between A and B
Q = { 0, 'J/s' }; % Heat flow
end
function setup
% Parameter range checking
if mass <= 0
pm_error('simscape:GreaterThanZero','Mass')
end
if sp_heat <= 0
pm_error('simscape:GreaterThanZero','Specific heat')
end
end
branches
Q : A.Q -> B.Q;
end
equations
T == A.T - B.T;
Q == mass * sp_heat * T.der;
end
end
- Sebastian
0 个评论
Peter Heidrich
2021-2-27
编辑:Peter Heidrich
2021-2-27
Just as a hint: in electronic or in power-electric devices it is common to show the plot of Z_th in the data sheets. In addition, some manufacturers also offer a detailed thermal equivalent circuit. If this is the case, then they typically use the so-called Foster model. The Foster model does not correspond to the physically correct Cauer model. However, if you search the Simulink/Simscape library for "Foster" and "Cauer" and if you have the correct toolboxes installed, you will find blocks for the Foster and for the Cauer model. With the Foster block, the parametrisation of your TEC is straight forward.
Regards, Peter.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Elements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!