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.

Thermal expansion with temperature dependent CTE

Please login with a confirmed email address before reporting spam

Hi all,

I want to model the thermal expansion of a structure made of two different materials whose coefficient of thermal expansion (CTE) depends on temperature. To do so, I defined two piecewise functions CTE inside each material (in Materials -> [Material name] -> Basic) with a single argument T, whose unit is K, and with function unit 1/K. Then, I set CTE(T) as "Coefficient of thermal expansion" for each material.

However, when I do the calculations, I have the strong impression that, instead of integrating all the CTE values between the strain reference temperature Tref (in the Thermal expansion coupling) and the final temperature Tfinal (set by means of a Temperature constraint applied on all the boundaries), only CTE(Tfinal) is considered, and the strain is calculated as CTE(Tfinal)*(Tfinal-Tref). I say so because I noticed a sudden change in the results when Tfinal is at the edge of the domains of the piecewise CTE functions; this is even more noticeable if, for instance, CTE1 < CTE2 for T<T1 and CTE1 > CTE2 for T>T1: in this case, the results change completely as soon as T becomes slightly higher than T1, regardless the fact that the overall expansion of material 1 should be still lower than the one of material 2.

To overcome this limitations, I came up with two ideas:
1) performing a time dependent simulation with Tref as initial condition and by imposing Tfinal with a Temperature boundary condition, and running the simulation until steady state.
2) forcing the solver to change the temperature in small steps (by updating every time Tref and Tfinal), and taking the result of the previous iteration as the initial conditions for the following.

Solution 1 seems to produce the same results as the stationary study - the heat transfer looks so fast that the metal reaches the final temperature before the first time step - and the overall simulation is, of course, much more time consuming than a stationary study. Solution 2 looks much more interesting to me, but is it possible to iterate the simulation, taking the results of the previous simulation as the initial conditions for the following? Is there any other way to solve this problem?

Thank you.

Cheers,

Mikhail

3 Replies Last Post 2016年7月1日 GMT-4 14:38
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 10 years ago 2014年11月26日 GMT-5 15:56
Updated: 2 years ago 2022年6月29日 GMT-4 02:00
Hi,

The CTE should be interpreted as a 'secant' , not as a 'tangent'. If you have tangent CTE data, you must pre-integrate them outside COMSOL. So you are (almost) right in that the strain is

CTE(Tfinal)*(Tfinal-Tref)

A more stringent expression is however

CTE(Tfinal, Tref_measured, Tref)*(Tfinal-Tref)

Note that Tref (= strain free temperature of your structure) and Tref_measured (=strain free temperature for the measured CTE) are not necessarily the same. If you do the pre-integration yourself, it may be a natural choice to use the same reference temperature, though.

A rather detailed discussion about how to interprete CTEs can be found in this forum thread:

<www.comsol.com/forum/thread/34508/Inaccuracies-in-the-formulas-of-the-Materials-Browser>

In the documentation for version 5.0 this subject is also treated in some detail.

Regards,
Henrik
Hi, The CTE should be interpreted as a 'secant' , not as a 'tangent'. If you have tangent CTE data, you must pre-integrate them outside COMSOL. So you are (almost) right in that the strain is CTE(Tfinal)*(Tfinal-Tref) A more stringent expression is however CTE(Tfinal, Tref_measured, Tref)*(Tfinal-Tref) Note that Tref (= strain free temperature of your structure) and Tref_measured (=strain free temperature for the measured CTE) are not necessarily the same. If you do the pre-integration yourself, it may be a natural choice to use the same reference temperature, though. A rather detailed discussion about how to interprete CTEs can be found in this forum thread: In the documentation for version 5.0 this subject is also treated in some detail. Regards, Henrik

Please login with a confirmed email address before reporting spam

Posted: 10 years ago 2014年11月27日 GMT-5 07:30
Thank you Henrik, that was very helpful.

Cheers,

Mikhail
Thank you Henrik, that was very helpful. Cheers, Mikhail

Jeff Hiller COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 8 years ago 2016年7月1日 GMT-4 14:38
Starting at version 5.2a, the user can specify either a secant CTE (as before), a tangent CTE, or a user-specified temperature to thermal strain relationship. See www.comsol.com/release/5.2a/structural-mechanics-module .
Best,
Jeff
Starting at version 5.2a, the user can specify either a secant CTE (as before), a tangent CTE, or a user-specified temperature to thermal strain relationship. See https://www.comsol.com/release/5.2a/structural-mechanics-module . Best, Jeff

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.