[MITgcm-support] Questions: simulating the cooling process of a glass of water

Martin Losch Martin.Losch at awi.de
Tue Jul 18 05:32:18 EDT 2017


Hi Oren,

interesting experiment, but I am not sure you will get anywhere with the MITgcm. Keep in mind, that is is primarily an Ocean circulation model, which implies a few approximations that you may not want to accept (and some of your questions actually reflect this).

> On 13. Jul 2017, at 17:41, Oren Raz <oraz at umd.edu> wrote:
> 
> Hi,
> My name is Oren Raz, and I am a postdoc in Chris Jarzynski's research group at the department of chemistry, University of Maryland College Park. 
> 
> We are trying to simulate in your software the Mpemba effect, in which a glass of hot water cools faster than identical glass filled with cold water, when both are placed in a refrigerator. This fact was experimentally observed long ago, and recently is under a debate, see e.g. H. C. Burridge and P. F. Linden, Scientific Reports 6:37665 (2016). The idea is to use your code and run "cooling experiments" from different initial temperature, and plot the average temperature as a function of time.
> 
> After running several simulations, I have several questions which can illuminate the results I got so far:
> 
> 	• Using the ``exactConserv.=True" option (see parameters list attached in the file "data"), we see that the total volume of the fluid does not changes during the experiment. Assuming that the temperature is always at least 5 celsius above the freezing point (the refrigerator's temperature is 5 celsius), constant volume is unphysical, since the expansion coefficient is positive. Is it possible to track the actual volume during the cooling process?
The standard model is a so-called Boussinesq model which implies that water is incompressible (div(v) = 0) and conserves volume rather than mass (you will notice that bottom pressure changes with temperature). The “exactConserv” option refers to volume. You can lift the Boussinesq approximation to make the model mass conserving and there’s an example how to do that in verification/tutorial_global_oce_in_p and there’s even a tutorial description of this experiment: <http://mitgcm.org/public/r2_manual/latest/online_documents/node133.html>
It involves using pressure coordinates and cannot be used together with non-hydrostatic dynamics (although I am no longer sure about that, can’t find any test/stops for this case). Without pressure coordinates, you can still diagnose the change in volume from the change in mass (bottom pressure) through scaling with a mean density.
> 	• Our time-steps are extremely shorts: deltaT=1e-3 (seconds). In such a short timescale, the change is the destiny might be strongly effected by the change in the temperature - which if we understand correctly you completely neglect (1.5.1 in the user manual). Is there a way to avoid this approximation? 
The change in density due to temperature is accounted for in the equation of state (EOS). There are several choices, see the manual for details, you use something reasonable for seawater and should be fine. You may have misinterpreted section 1.5.1 in the manual: The Boussinesq approximation implies that the change of density is only through changes in temperature (and salinity) and not through changes in pressure (i.e. incompressibility)
> 	•  Is there a way to make sure which set of equations we are using?
with your “data” file you use non-hydrostatic, Boussinesq, as described in section "1.5.1.3 Incompressible z-coordinate equations”, with linear free surface (section 2.4 <http://mitgcm.org/public/r2_manual/latest/online_documents/node34.html>)
> 	• Is there an option to set the boundaries (other than the top boundary) to a constant temperature with heat exchange through the boundary?
The ocean is usually in thermal equilibrium with it solid boundaries so this option is not directly in the code. You could use “open boundary conditions” with zero normal flow through the lateral boundaries and prescribed temperatures (package obcs), you’d then have some diffusive heat flux across the lateral boundaries. For the bottom there’s the option to apply “geothermal heat flux”, not exactly what you want, but no temperatures.
The work around would be the “rbcs” package, where you can specify restoring temperatures anywhere in your domain. If you set the restoring time scale to your time step, that is almost like prescribing the temperature.

hope that helps,

Martin

> Best regards,
> Oren Raz
> <data>_______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list