Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Temperature Control Question

Please login with a confirmed email address before reporting spam

I'm a relative novice to COMSOL, and am attempting to heat a block to a given setpoint. I'm using the heat source Total Power bit to turn a heater on, then monitoring the max temp of the block on maxop1, turning the power on/off. The heater is 1500W so the logic of 1500*(maxop1(T)<150[degC]) works great. The issue is when maxop1 reaches 150C, the model bogs down as expected to turn the heater on/off at each minimal time step. Is there a way to have it heat to 150C, but allow itself to cool back off to 145C before turning back on, or similar? I'll admit that the PID example went a bit beyond my skill at the moment and was hoping for a simpler logic or syntax based approach.

Many Thanks in advance

8 Replies Last Post Jul 6, 2015, 8:56 a.m. EDT

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2014, 5:23 a.m. EST
Hi,



Can you try with adding a heaviside function as below:


1500*flc2hs(150-maxop1(T),5)


You can find the meaning of flc2hs in COMSOL manual. The value 5 above is 5 degree Celsius but it is better to remain close to zero such as 1 or 2 degree C, whichever gives you less hassle.



Suresh
Hi, Can you try with adding a heaviside function as below: 1500*flc2hs(150-maxop1(T),5) You can find the meaning of flc2hs in COMSOL manual. The value 5 above is 5 degree Celsius but it is better to remain close to zero such as 1 or 2 degree C, whichever gives you less hassle. Suresh

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2014, 8:09 a.m. EST
Hello,

I have done a PID heater controller based on the library tutorial PID.

It works quite well, but I can't limit the input power to a certain value, meaning that my resistor temperature can jump to 10000K. I have try with lots of tips (contraints on the resistor temperature, 2 PID controller (one on the charge, one on the heater), power limit for the voltage input) but always I have some convergence problems when I try to constraint on the temperature or the limitation doesn't work at all when I limit the input power.

I attach my model version 4.4

Julien
Hello, I have done a PID heater controller based on the library tutorial PID. It works quite well, but I can't limit the input power to a certain value, meaning that my resistor temperature can jump to 10000K. I have try with lots of tips (contraints on the resistor temperature, 2 PID controller (one on the charge, one on the heater), power limit for the voltage input) but always I have some convergence problems when I try to constraint on the temperature or the limitation doesn't work at all when I limit the input power. I attach my model version 4.4 Julien


Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 17, 2014, 11:20 a.m. EST
Hi Suresh,

Thanks for the suggestion - I plugged in the heavyside function(s) but it's not really controlling, it just ramps to a steady state value based on how much cooling is applied. Less cooling = higher steady state temperature - significantly above 'setpoint' by >100C in certain situations. The control point is the max value of the heat source, so it's not residual heat from the heater migrating.

Thanks,

Geoff
Hi Suresh, Thanks for the suggestion - I plugged in the heavyside function(s) but it's not really controlling, it just ramps to a steady state value based on how much cooling is applied. Less cooling = higher steady state temperature - significantly above 'setpoint' by >100C in certain situations. The control point is the max value of the heat source, so it's not residual heat from the heater migrating. Thanks, Geoff

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 19, 2014, 4:18 a.m. EST
Hi,



Ok, I see your point. This issue is more to do with controls, such as the PID approach for stability. Perhaps you could look at Julien's mph file above, I don't have appropriate license.

I can only suggest that you write to COMSOL support if they have a nice example on temperature control PID. I think it is to do with the tuning of the PID equation.

Or if you want the crude approach as you originally thought such as introducing some simple logic, I think there could be a possibility by keeping track of history of maxop1(T). For this you need to use time discrete solver which allows you to remember last time step value of the variable maxop1(T). You can then introduce a few if statements; see if you can come up with a logic. But the only constraint with the use of time discrete solver is that the time step is fixed.

I am not at all sure if this works, sorry, may be others can help you because I don't have the required experience.



Suresh
Hi, Ok, I see your point. This issue is more to do with controls, such as the PID approach for stability. Perhaps you could look at Julien's mph file above, I don't have appropriate license. I can only suggest that you write to COMSOL support if they have a nice example on temperature control PID. I think it is to do with the tuning of the PID equation. Or if you want the crude approach as you originally thought such as introducing some simple logic, I think there could be a possibility by keeping track of history of maxop1(T). For this you need to use time discrete solver which allows you to remember last time step value of the variable maxop1(T). You can then introduce a few if statements; see if you can come up with a logic. But the only constraint with the use of time discrete solver is that the time step is fixed. I am not at all sure if this works, sorry, may be others can help you because I don't have the required experience. Suresh

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Jun 18, 2015, 1:54 p.m. EDT
Dear colleague,
I desire to implement a temperature control in my 3D MODEL. It consists the physics coupling between heat transfer and electric currents. The electric potential V is controlled such as the maximum temperature is below 100ºC. I tried to use the maxop1 operator with the sintax 14*(maxop1(T2)<100[degC]), where 14 is electrical potencial (14V) and T2 is temperature variable, but it not is work: the temperature grows without control. I use the time-dependent solver relative tolerance equal to 1e-4 (to properly resolve the switching conditions).
I'm using COMSOL MULTIPHYSICS 4.0
I await help.
Best regards

Cleber da Silva Pinheiro
Dear colleague, I desire to implement a temperature control in my 3D MODEL. It consists the physics coupling between heat transfer and electric currents. The electric potential V is controlled such as the maximum temperature is below 100ºC. I tried to use the maxop1 operator with the sintax 14*(maxop1(T2)

Walter Frei COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Jun 18, 2015, 2:35 p.m. EDT
Hello Cleber,

We of course first suggest that you upgrade to the latest version, COMSOL Multiphysics 5.1, available to all on-subscription customers.

Once you've done so, you'll find the following article about modeling a temperature controller helpful:
www.comsol.com/blogs/implementing-a-thermostat-with-the-events-interface/

Best Regards,
Hello Cleber, We of course first suggest that you upgrade to the latest version, COMSOL Multiphysics 5.1, available to all on-subscription customers. Once you've done so, you'll find the following article about modeling a temperature controller helpful: http://www.comsol.com/blogs/implementing-a-thermostat-with-the-events-interface/ Best Regards,

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Jul 3, 2015, 11:48 a.m. EDT
Dear colleague,
Does the version 4.0 not solve the control temperature/electric potential??


--
Cleber da Silva Pinheiro
Dear colleague, Does the version 4.0 not solve the control temperature/electric potential?? -- Cleber da Silva Pinheiro

Walter Frei COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Jul 6, 2015, 8:56 a.m. EDT
Dear Cleber,
My comment was more of a general encouragement to upgrade to the latest version. It has been several years (and some minor revisions to the GUI) since version 4.0, but you should be able to follow these instructions equivalently.
Best
Dear Cleber, My comment was more of a general encouragement to upgrade to the latest version. It has been several years (and some minor revisions to the GUI) since version 4.0, but you should be able to follow these instructions equivalently. Best

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.