How to simulate a simple thermodynamical system with simulink ?

12 views (last 30 days)
Hello everybody!
I'd like to simulate the thermodynamical model of a Stirling engine using Simulink. The situation is the following:
I would like to know the temperature after a certain time (10 seconds for example) if I place a Heat source under my engine but I have to take care of the conductive heat transfer, the convective heat transfer and the radiative heat transfer. I've done this:
But I don't think that it's ok because Simulink sent me this error message:"The model may not give enough information to make it possible to solve for values of some of its variables. Specific advice is given below.
Cannot solve for one or more variables: 'Conductive_Heat_Transfer.A.T' (Temperature) 'Conductive_Heat_Transfer.B.T' (Temperature) 'Convective_Heat_Transfer.A.T' (Temperature) 'Convective_Heat_Transfer.B.T' (Temperature) 'Ideal_Heat_Flow_Source.B.T' (Temperature) 'Ideal_Heat_Flow_Source.T' (T) 'Ideal_Temperature_Sensor.A.T' (Temperature) 'Ideal_Temperature_Sensor.T' (T) 'Ideal_Temperature_Sensor.Ts' (Ts) 'Radiative_Heat_Transfer.A.T' (Temperature) 'Radiative_Heat_Transfer.B.T' (Temperature)
Equations of one or more components may be dependent or inconsistent. This can cause problems in transient initialization. Here is the set of components involved: 'untitled/Ideal Heat Flow Source' Equation location is: 'C:\Program Files\MATLAB\R2016b\toolbox\physmod\simscape\library\m\+foundation\+thermal\+sources\heat_flow.ssc' (line 34)
'untitled/Ideal Temperature Sensor' Equation location is: 'C:\Program Files\MATLAB\R2016b\toolbox\physmod\simscape\library\m\+foundation\+thermal\+sensors\temperature.ssc' (line 34) Component:Simulink | Category:Modelwarning The model may not give enough information to make it possible to solve for values of some of its variables. Specific advice is given below.
Cannot solve for one or more variables: 'Conductive_Heat_Transfer.A.T' (Temperature) 'Conductive_Heat_Transfer.B.T' (Temperature) 'Convective_Heat_Transfer.A.T' (Temperature) 'Convective_Heat_Transfer.B.T' (Temperature) 'Ideal_Heat_Flow_Source.B.T' (Temperature) 'Ideal_Heat_Flow_Source.T' (T) 'Ideal_Temperature_Sensor.A.T' (Temperature) 'Ideal_Temperature_Sensor.T' (T) 'Ideal_Temperature_Sensor.Ts' (Ts) 'Radiative_Heat_Transfer.A.T' (Temperature) 'Radiative_Heat_Transfer.B.T' (Temperature)
Equations of one or more components may be dependent or inconsistent. This can cause problems in transient initialization. Here is the set of components involved: 'untitled/Ideal Heat Flow Source' Equation location is: 'C:\Program Files\MATLAB\R2016b\toolbox\physmod\simscape\library\m\+foundation\+thermal\+sources\heat_flow.ssc' (line 34)
'untitled/Ideal Temperature Sensor' Equation location is: 'C:\Program Files\MATLAB\R2016b\toolbox\physmod\simscape\library\m\+foundation\+thermal\+sensors\temperature.ssc' (line 34) Component:Simulink | Category:Modelwarning An error occurred while running the simulation and the simulation was terminated Caused by: Trouble solving algebraic equations in differential-algebraic system. Singular iteration matrix encountered with step size 0.2 at time 0.0. Try tightening the error tolerances. If the problem persists, check the model structure and values of parameters."
Can someone help me ? thanks!

Accepted Answer

Ed Marquez
Ed Marquez on 11 Apr 2017
Hi,
I think the issue is occurring because of the way that the system is being modeled. If you add a thermal mass block after the heat transfer blocks, the model will be able to converge to a solution and thus simulate without errors.
Checkout the link below for some examples of modeling Thermal Systems with Simscape: https://www.mathworks.com/help/releases/R2017a/physmod/simscape/examples.html#d0e927
Good luck and have fun!
  2 Comments
Loris Chavée
Loris Chavée on 12 Apr 2017
Hello,
Thanks for your answer, I don't have any error now but there's still a problem. Indeed, the fact that I change the different parameters doesn't do anything. Do I need to put something in input before my heat flow?
Thanks for your help!
Loris Chavée
Loris Chavée on 12 Apr 2017
Hey,
My bad! I just needed to put a constant before a temperature source! Now if I delete for exemple the conduction, the result change as I wanted ! Thanks a lot !

Sign in to comment.

More Answers (1)

OUSSAMA CHIROUD
OUSSAMA CHIROUD on 28 May 2023
SILULATION

Categories

Find more on Foundation and Custom Domains in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!