# How to simulate a simple thermodynamical system with simulink ?

22 views (last 30 days)
Loris Chavée on 2 Apr 2017
Commented: Sarder Sadique on 22 Nov 2019
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!
Sarder Sadique on 22 Nov 2019
Please I could not confifure solver f(x) = 0

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 CommentsShowHide 1 older comment
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 !

### Community Treasure Hunt

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

Start Hunting!

Translated by