Partie 4:Generation of the Rayleigh Benard Instability with a viscosity gradient

Rayleigh Number:
We are doing the simulation for a Rayleigh number of about 2000.

Viscosity Gradient:

We now work on a rectangle mesh where the  fluid viscosity depends on its temperature, this condition generates the rolls in the less viscous part, the lower one. We used a User Defined Function to initialize the viscosity in our cell:

/* user define function*/
/* udf pour viscosite*/

#include "udf.h"

DEFINE_PROPERTY(viscosite,cell,thread)
{
real nu;
real temp;

temp=C_T(cell,thread);

if (temp<300.25)
nu=0.1;
else if (temp<300.75)
nu=-0.198*temp+59.5495;
else
nu=0.001;

return nu;
}

This UDF gives us the following initialisation for viscosity:

We initialized the temperature with a linear repartition: 301 K at the upper boundary, 300 K at the lower one.

Temperature initialisation:

With these initializations we get the following velocity field in the box:

Velocity magnitude:

Eventhough we can see the bottom rolls, there is no developpement of upper rolls, one hypothesis is that they need some more room to develop.
In this purpose , we decided to lower the viscosity initialisation to the quarter of the domain instead of leaving it at the middle.

Viscosity initialisation:

With this new viscosity initialization we get this new velocity field:

Velocity magnitude:

Despite the fact that the area with a lower viscosity is smaller, we still have only one layer of rolls in the box, no rolls have developped in the upper part. Therefore, we tried to force the motion by initializing the motion with an appropriate velocity field, as described in the next part.
We manage to developp  the rolls but there is not enough speed to move the top of the rectangle, so we decided to initialize the cases with a velocity supposed to converge to 2 rolls .