Hi, Stephane
I've read some literatures on this
topic and compile a piece of code for this, see it attached.
1. For thermocapillary flow , the surface tension
coefficient varies linearly with the temperature
sigma=sigma_0 + sigma_t*(T-T_0)
and the main algorithm I choose is
adhered in the attachment.
2. As depicted in the algorithm file, the surface tension
in thermocappilary flow falls into two parts,
the normal component and the tangential component.
For the normal component should be balanced
by pressure gradient, so it's calculated in the correct step of
projection method. But the tangential
component of surface tension is balanced by the vicious sheer stress, so in
the code, I place this in the
prediction step as a source term which is computed in the cell
center. I'm not sure if this is really appropriate?
3. The third document I attach is the parameter
file and the non-dimensional parameter is set according
to the paper of Nas and Tryggvason (2003, International journal of
multiphase flow ). Then the comparison
of rise velocity is presented in fig1, it seems promising.
*4. However, if I add "AdaptGradient {istep=1} {cmax=1.0e-6
minlevel=5 maxlevel=6} T " in the parameter
file, the result seems to be incorrect as showed in fig2 that
it's smaller than the reference, and through examination
I found this faulty comes from the tangential component of
surface tension. I'm not sure why this happens when
the mesh is non-uniform. Maybe it's a slight mistake in my
code......
5. I've simulated another two cases of low Marangoni number,
and the terminal velocity of drop is also in good
agreement with the analytic solution. Of cause, they are
conducted on uniform meshes.
*6. I'd like to try another way to complete this branch,
that is calculating the tangential component of surface tension
together with the normal component in the correct step , but I don't think
it can be complied in an independent module
because the surface tension added in Gerris is written in
'gfs_velocity_face_sources' in Timestep.c and it is
binding with pressure gradient in the function of
'correct_normal_velocity'. it will be more complicated and
the consistency should be considered since it's calculated on face.
According to your advice, I'll try 'vertex interpolation' first.
Wait for your suggestion.
Cheers
Leonid
Gibbs.Leonid