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.

Help modeling supercooling effect in water to ice transition

Please login with a confirmed email address before reporting spam

Hello everyone, relatively new to COMSOL here, I am trying to create a model
describing a simulation that took place in a climate chamber. I have attached a
graph describing the temperature on the water container surface. I want help modeling
that step-up near the 1600s mark, how should I "make the water warmer" before it starts
cooling again? I have looked into the continuous casting model for guidance and I have
used some methods described in it but I am stuck...
The physics I use is heat transfer in solids and the custom water I have
has a Cp = 4200 - (2120*(T<T_freeze)) +exp(-(T-T_freeze)^2/((dT)^2))/sqrt(pi*(dT)^2)*333000

where dT=1[K] and T_freeze = 0[degC]

Any help would be welcome!

Thank you!


13 Replies Last Post Oct 22, 2012, 9:43 a.m. EDT
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 5, 2012, 1:18 a.m. EDT
Hi

I would suspect some difficulties to make it a true "step" but if you use a combination with the v4 "step" function and use smooth corners, I believe you could manage, but you would need to find a way to tweak your solver to detect the step and take "small" solver steps to resolve the steep gradients

--
Good luck
Ivar
Hi I would suspect some difficulties to make it a true "step" but if you use a combination with the v4 "step" function and use smooth corners, I believe you could manage, but you would need to find a way to tweak your solver to detect the step and take "small" solver steps to resolve the steep gradients -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 5, 2012, 2:30 a.m. EDT
Thank you for your reply, I have used flc2sh to produce a smooth "step" but it
gets smoothed or averaged over instead of having that relatively steep step.
I don't mind so much at the moment because the final result is "close enough"
but, you know how it is, wanting to get it precisely right ;)I tweaked the solver to
take 0.5 sec steps around the step area but it did not do any difference.

I am starting to believe that if the water is treated as a solid, the moment of
crystallization isn't simulated correctly.

Again, thank you for your time Mr. Kjelberg
Thank you for your reply, I have used flc2sh to produce a smooth "step" but it gets smoothed or averaged over instead of having that relatively steep step. I don't mind so much at the moment because the final result is "close enough" but, you know how it is, wanting to get it precisely right ;)I tweaked the solver to take 0.5 sec steps around the step area but it did not do any difference. I am starting to believe that if the water is treated as a solid, the moment of crystallization isn't simulated correctly. Again, thank you for your time Mr. Kjelberg

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 5, 2012, 6:55 a.m. EDT
Hi

in V4 you can use the predefined "STEP()" which is a variant but perhaps with less parameters to tweak

--
Good luck
Ivar
Hi in V4 you can use the predefined "STEP()" which is a variant but perhaps with less parameters to tweak -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 5, 2012, 7:17 a.m. EDT
Can I make the internal temperature of the mass of water rise that way?
Can I make the internal temperature of the mass of water rise that way?

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 6, 2012, 4:11 p.m. EDT
Hi

In COMSOL most entry fields accept full equations (including function calls) so you can define variable densties, temperatures etc. But depending on how you set these up, you might make your model very non-linear, hence the solver might start to have issues to converge.

But be sure you are defining "physical" cases, else the results might be bizarre, or non physical too ;)

--
Good luck
Ivar
Hi In COMSOL most entry fields accept full equations (including function calls) so you can define variable densties, temperatures etc. But depending on how you set these up, you might make your model very non-linear, hence the solver might start to have issues to converge. But be sure you are defining "physical" cases, else the results might be bizarre, or non physical too ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 8, 2012, 3:36 a.m. EDT
I have concluded now that modeling the supercooling effect itself, isn't that useful for
the scope of the simulation and an "averaged" behavior is more fitting.

The question remains but this time for philosophical reasons.
I have concluded now that modeling the supercooling effect itself, isn't that useful for the scope of the simulation and an "averaged" behavior is more fitting. The question remains but this time for philosophical reasons.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 8, 2012, 5:02 a.m. EDT
Hi, Nikolaos,

Ivar's help has been very valuable, as always. And perhaps you can receive more help if you describe your model basically, or attach a simplified (if possible 2D) version of it: which physics do you use? (you mention "Heat transfer in solids", but you you try to simulate heat in a liquid?), which boundary conditions? (how do you heat the water), etc.
Have you considered the coexistence of two phases?

And about the general question: "how to simulate supercooling in water", have you taken into account that the phase trasition would be a function not only of the temperature, but also of the velocity magnitude? (and hence, you should simulate the fluid with a moving mesh, I think).

Bye,

Jesus.
Hi, Nikolaos, Ivar's help has been very valuable, as always. And perhaps you can receive more help if you describe your model basically, or attach a simplified (if possible 2D) version of it: which physics do you use? (you mention "Heat transfer in solids", but you you try to simulate heat in a liquid?), which boundary conditions? (how do you heat the water), etc. Have you considered the coexistence of two phases? And about the general question: "how to simulate supercooling in water", have you taken into account that the phase trasition would be a function not only of the temperature, but also of the velocity magnitude? (and hence, you should simulate the fluid with a moving mesh, I think). Bye, Jesus.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 8, 2012, 7:53 a.m. EDT
Hello Jesus and thank you for your reply. The water in this simulation acts only as a heat storage medium.
The "problem" is that in during the climate chamber simulations the water is standing still and thus allowed
to be supercooled before turning into ice. I might have to repeat the simulations trying to force the phase transition
(by jiggling the container maybe?) around the 0°C point in order to get a smoother behavior.

The water is cooled and warmed by a "Temperature" boundary condition applied on a plate
underneath the container.

By phase coexistence do you mean a "mushy" state? I don't think that is necessary at the moment.

I have considered making the model a bit more complex to account for movement in the liquid but again
I think that is too complex for what I am trying to simulate.

Thank you for your time and advice!!
Hello Jesus and thank you for your reply. The water in this simulation acts only as a heat storage medium. The "problem" is that in during the climate chamber simulations the water is standing still and thus allowed to be supercooled before turning into ice. I might have to repeat the simulations trying to force the phase transition (by jiggling the container maybe?) around the 0°C point in order to get a smoother behavior. The water is cooled and warmed by a "Temperature" boundary condition applied on a plate underneath the container. By phase coexistence do you mean a "mushy" state? I don't think that is necessary at the moment. I have considered making the model a bit more complex to account for movement in the liquid but again I think that is too complex for what I am trying to simulate. Thank you for your time and advice!!

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 8, 2012, 11:56 a.m. EDT
Hello, Nikolaos,

Sorry, but I still don't make an idea of your model and why you are unconfortable with the graphics T vs. t. If you could provide a simple (better 1D or 2D) version of the model, perhaps we would be able to help you more.

Nevertheless, I have inspected your Cp function, and it has a sudden and strong peak at T about 273[K] (Cp reaches 1.92075e5 at T = 0[degC]!!!). Is that what you intend? How do you distinguish water from ice? Why don't you take into account the difference in k (thermal conductivity) and rho (density) between both phases? Could you go without any geometry, and thus use only an ODE?

Jesus.
Hello, Nikolaos, Sorry, but I still don't make an idea of your model and why you are unconfortable with the graphics T vs. t. If you could provide a simple (better 1D or 2D) version of the model, perhaps we would be able to help you more. Nevertheless, I have inspected your Cp function, and it has a sudden and strong peak at T about 273[K] (Cp reaches 1.92075e5 at T = 0[degC]!!!). Is that what you intend? How do you distinguish water from ice? Why don't you take into account the difference in k (thermal conductivity) and rho (density) between both phases? Could you go without any geometry, and thus use only an ODE? Jesus.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 9, 2012, 2:15 a.m. EDT
Taking inspiration from the continuous casting model, the Cp function simulates, or is supposed to simulate,
the latent heat of the water, 333kJ/kg, smoothed over a couple of degrees (I played with the dT value a bit from
0.5 to 3 K)


I will provide you with a simple model as soon as possible so that you can have a look.

Taking inspiration from the continuous casting model, the Cp function simulates, or is supposed to simulate, the latent heat of the water, 333kJ/kg, smoothed over a couple of degrees (I played with the dT value a bit from 0.5 to 3 K) I will provide you with a simple model as soon as possible so that you can have a look.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 19, 2012, 7:18 a.m. EDT
Hello again everybody! Here is a very simple model of what
I am trying to model, a mass of water and a small plate of aluminum
exposed to a temperature. Functions for the temperature profile and
for the characteristics

I am open to suggestions!!

Thank you for your time!
Hello again everybody! Here is a very simple model of what I am trying to model, a mass of water and a small plate of aluminum exposed to a temperature. Functions for the temperature profile and for the characteristics I am open to suggestions!! Thank you for your time!


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 19, 2012, 8:59 a.m. EDT
Hi

a few suggestions:

Use rather the analytical functions to define your full variable and material expressions, as then, with a click, you can check them, and make a plot to see how they behave, then call your variables or material parameters to use the analytical functions you have defined.

A variable useful to help you set up your thermal models is the alpa heat diffusivity, as when you have a very different heat diffusivity its worth to have a fine mesh at the interfaces to resolve correctly the high gradients you develop here.

define a model variable alpha = material.k11/material.rho/material.Cp

in fact there is a relation to respect between average mesh size "h" alpha and the smallest time stepping dt

then when you are ready to run your solver, start running only the initial conditions and set up a surface plot for alpha, at the common boundaries with large alpha difference, check that you have a dense(r) mesh

Then only run your model

In your case you consider your fluid is a "solid" no convection, which is often a perfectly valuable simplification hypothesis,

for such diffusion problems often a power of 2 time stepping is good, but as you have changes in temperature and slope variations you must ensure that these are also well followed. Then you must set the solver time stepping node to "intermediate, or strict to ensure that COMSOL does not jump over one of your time transitions

And while running long time solving, turn on the plot while solving FOR all Steps to see how it behaves, time is shorter like that and you learn how physics behave

And have you checked that your total integrated Cp variation corresponds to the latent heat of melting/solidification ?

--
Good luck
Ivar
Hi a few suggestions: Use rather the analytical functions to define your full variable and material expressions, as then, with a click, you can check them, and make a plot to see how they behave, then call your variables or material parameters to use the analytical functions you have defined. A variable useful to help you set up your thermal models is the alpa heat diffusivity, as when you have a very different heat diffusivity its worth to have a fine mesh at the interfaces to resolve correctly the high gradients you develop here. define a model variable alpha = material.k11/material.rho/material.Cp in fact there is a relation to respect between average mesh size "h" alpha and the smallest time stepping dt then when you are ready to run your solver, start running only the initial conditions and set up a surface plot for alpha, at the common boundaries with large alpha difference, check that you have a dense(r) mesh Then only run your model In your case you consider your fluid is a "solid" no convection, which is often a perfectly valuable simplification hypothesis, for such diffusion problems often a power of 2 time stepping is good, but as you have changes in temperature and slope variations you must ensure that these are also well followed. Then you must set the solver time stepping node to "intermediate, or strict to ensure that COMSOL does not jump over one of your time transitions And while running long time solving, turn on the plot while solving FOR all Steps to see how it behaves, time is shorter like that and you learn how physics behave And have you checked that your total integrated Cp variation corresponds to the latent heat of melting/solidification ? -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Oct 22, 2012, 9:43 a.m. EDT
In the discussion about supercooling and freezing it is my feeling that a more apropiate model can be obtained by modelling the change of enthalpy and not the temperature. During cooling you continuously remove enthalpy and the temperature follows. The temperature is a function of the enthalpy content and the percentage of ice. The latter lags behind during super cooling.

If you make a plot of H versus T for an equilibrium process, and take the derivative dH/dT, then you can smear the latent heat of fusion peak a bit and put it in a Cp(T) function. That is a 'normal' trick.
But with supercooling this will not work. See the picture www.esveld.org/Comsol/HvsT%20and%20TvsH.png
dH/dT is not a unique function of T. You can define dT/dH as function of H. Or even directly T als function of H(H)

Thus you need to solve a system dH/dt = PDE (T) with T=F(H) or dT/dt = f(H). Will that work in Comsol?

More physically correct would be to model the two phases ice and water and their transition reactions with entalpy change, like you can do for drying. This is a very stiff system as the local melt / freeze reactionrates are very fast. The system does not deviate from equilibrium, except when the crystallisation rate is low because of lack of nuclii.


Erik
In the discussion about supercooling and freezing it is my feeling that a more apropiate model can be obtained by modelling the change of enthalpy and not the temperature. During cooling you continuously remove enthalpy and the temperature follows. The temperature is a function of the enthalpy content and the percentage of ice. The latter lags behind during super cooling. If you make a plot of H versus T for an equilibrium process, and take the derivative dH/dT, then you can smear the latent heat of fusion peak a bit and put it in a Cp(T) function. That is a 'normal' trick. But with supercooling this will not work. See the picture http://www.esveld.org/Comsol/HvsT%20and%20TvsH.png dH/dT is not a unique function of T. You can define dT/dH as function of H. Or even directly T als function of H(H) Thus you need to solve a system dH/dt = PDE (T) with T=F(H) or dT/dt = f(H). Will that work in Comsol? More physically correct would be to model the two phases ice and water and their transition reactions with entalpy change, like you can do for drying. This is a very stiff system as the local melt / freeze reactionrates are very fast. The system does not deviate from equilibrium, except when the crystallisation rate is low because of lack of nuclii. Erik

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.