CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Non-physical alpha1 with interFoam and high contact angles

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By michielm

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 2, 2012, 00:37
Default Non-physical alpha1 with interFoam and high contact angles
  #1
Member
 
Join Date: Jul 2010
Posts: 37
Rep Power: 16
steph79 is on a distinguished road
Hello all,

I'm using OpenFOAM 2.1.1 (interFoam solver) to model water droplet impacts on superhydrophobic surfaces with very high constantAlphaContactAngle - 163 degrees. In short, it's an extension of the dam break tutorial where there's an initialised droplet of water within the domain which, after a period of time, will impact on a superhydrophobic surface. Here are my BC's;

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    location    "0";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    substrate
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }

    atmosphere
    {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);

    }
    defaultFaces
    {
        type            empty;
    }
}
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{

    substrate
    {
        type            totalPressure;  // zeroGradient; has also been attempted
        p0              uniform 0;
        U               U;
        phi             phi;
        rho             rho;
        psi             none;
        gamma           1;
        value           uniform 0; 
    }

    atmosphere
    {
        type            totalPressure;
        p0              uniform 0;
        U               U;
        phi             phi;
        rho             rho;
        psi             none;
        gamma           1;
        value           uniform 0;
    }

    defaultFaces
    {
        type            empty;
    }
}
Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      alpha;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 0 0 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    substrate
    {
        type            constantAlphaContactAngle;
        gradient        uniform 0;
        limit           none;
        theta0          163;
        value           uniform 0;
    }

    atmosphere
    {
        type            inletOutlet;
        inletValue      uniform 0;
        value           uniform 0;
    }

    defaultFaces
    {
        type            empty;
    }
}
Now I've tried this for 90 & 100 degrees and it works fine, but with 163 degrees alpha1 becomes strongly non-physical and this appears to be the case irrespective of Courant number conservativeness, the number of alpha sub cycles and (in the following case) very strict tolerance criteria. See below;


Code:
Courant Number mean: 0.00770252 max: 0.487324
Interface Courant Number mean: 0.000653673 max: 0.474258
deltaT = 1.13562e-05
Time = 0.0803864

MULES: Solving for alpha1
Phase-1 volume fraction = 0.00347786  Min(alpha1) = -0.353626  Max(alpha1) = 1.00404
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00347586  Min(alpha1) = -0.350839  Max(alpha1) = 1.00402
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00347386  Min(alpha1) = -0.347173  Max(alpha1) = 1.00401
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00347187  Min(alpha1) = -0.345021  Max(alpha1) = 1.00399
MULES: Solving for alpha1
Phase-1 volume fraction = 0.00346987  Min(alpha1) = -0.346423  Max(alpha1) = 1.00398
DICPCG:  Solving for p_rgh, Initial residual = 0.013328, Final residual = 9.31482e-13, No Iterations 257
time step continuity errors : sum local = 1.35985e-15, global = 4.94506e-17, cumulative = -7.33426e-11
DICPCG:  Solving for p_rgh, Initial residual = 0.0013377, Final residual = 9.42321e-13, No Iterations 235
time step continuity errors : sum local = 1.38612e-15, global = -2.03524e-17, cumulative = -7.33426e-11
DICPCG:  Solving for p_rgh, Initial residual = 0.00022603, Final residual = 9.38786e-10, No Iterations 164
time step continuity errors : sum local = 1.38035e-12, global = 3.02764e-14, cumulative = -7.33123e-11
ExecutionTime = 926.66 s  ClockTime = 1033 s
There are no issues when the droplet is free-falling, only during surface contact and thereafter.


Could anyone advise me on what course of action to take? Am I misplaced in thinking that interFoam is suitable for this problem, and if so, is there a better choice of solver for this case? Incidentally, I have tried more diffusive upwind divergence schemes without success either, below are my present schemes;

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    div(rho*phi,U)  Gauss limitedLinearV 1;
    div(phi,alpha)  Gauss vanLeer;
    div(phirb,alpha) Gauss interfaceCompression;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    p_rgh;
    pcorr;
    alpha1;
}


// ************************************************************************* //
Any help would be greatly appreciated. Thanks.
steph79 is offline   Reply With Quote

Old   November 2, 2012, 04:28
Default
  #2
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30
akidess will become famous soon enough
Try this http://www.cfd-online.com/Forums/ope...tml#post346690
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   November 2, 2012, 06:35
Default
  #3
Member
 
Duong A. Hoang
Join Date: Apr 2009
Location: Delft, Netherlands
Posts: 93
Rep Power: 17
duongquaphim is on a distinguished road
Send a message via Yahoo to duongquaphim
Hi,

I was noticed some issues related to contact angle boundary condition in openfoam (look at http://www.cfd-online.com/Forums/ope...interfoam.html).

The contact angle boundary conditions which I will use for alpha1 and p are:

substrate
{
type constantAlphaContactAngle;
limit gradient;
theta0 163;
value uniform 0;
}

and

substrate
{
type fixedFluxPressure;
adjoint no;
}

And they work fine for me for a wide range of contact angle.

Duong
duongquaphim is offline   Reply With Quote

Old   November 3, 2012, 04:12
Default
  #4
Member
 
Join Date: Jul 2010
Posts: 37
Rep Power: 16
steph79 is on a distinguished road
Thanks for your suggestions. They have shown some promise so far but I will try to get back with firmer conclusions in the near future.

On another note, when saving long animations in paraFoam, the software appears to suffer from a memory leak and crashes when I run out of RAM and swap space respectively. Could anyone point to a solution regarding this additional problem? I can work my way around it manually, in several ways, but that's a last resort. I've seen this issue discussed elsewhere but I haven't come across the solution.

Thanks.
steph79 is offline   Reply With Quote

Old   November 3, 2012, 07:44
Default
  #5
Member
 
Michiel
Join Date: Oct 2010
Location: Delft, Netherlands
Posts: 97
Rep Power: 16
michielm is on a distinguished road
I have the same experience as Duong: use the BC's he is suggesting and your problem should go away.

On a side note:
I strongly doubt that the constantAlphaContactAngle is the correct BC to be using at all for droplet impact. The main problem is that the velocity dependence of the contact angle will dramatically change the spreading behaviour (see e.g. [1]), which is typically an important aspect of the droplet impact.
You could look into the dynamicAlphaContactAngle or even progam your own dynamic model, like the Cox-Voinov model.

Cheers,

Michiel


[1] Carlson et al. Phys. Fluids 21, 121701 (2009) - http://link.aip.org/link/doi/10.1063/1.3275853
michielm is offline   Reply With Quote

Old   November 4, 2012, 00:32
Default
  #6
Member
 
Join Date: Jul 2010
Posts: 37
Rep Power: 16
steph79 is on a distinguished road
Thanks everybody, I now have some stable results to work with and improve upon, having implemented the boundary conditions first suggested by duongquaphim.

@michielm I have used dynamicAlphaContactAngle previously but that was only from the point of view of attempting to overcome the stability and non-physical issues I outlined earlier. That said, however, I think it's something I am more than likely to return to. Incidentally, does anyone have a heads-up on a viable way to include porous effects on the substrate?

Thanks again.
steph79 is offline   Reply With Quote

Old   November 6, 2012, 03:54
Default
  #7
Member
 
Michiel
Join Date: Oct 2010
Location: Delft, Netherlands
Posts: 97
Rep Power: 16
michielm is on a distinguished road
I think this depends a lot on the difference in length scales of your porous structure and your droplet. If e.g. the pores are 200 micron and your droplet is 2000 micron then you might consider to really mesh the pores.

If however the pores are closer to 20 micron then you need some kind of subgrid model/an appropriate BC for it. I know that OF has some libraries/models to work with porous zones so you could look into that. A useful starting point might be this: http://www.tfd.chalmers.se/~hani/kur...ukurReport.pdf
luoyang likes this.
michielm is offline   Reply With Quote

Old   November 6, 2012, 05:17
Default
  #8
Member
 
Join Date: Jul 2010
Posts: 37
Rep Power: 16
steph79 is on a distinguished road
Quote:
Originally Posted by michielm View Post
I think this depends a lot on the difference in length scales of your porous structure and your droplet. If e.g. the pores are 200 micron and your droplet is 2000 micron then you might consider to really mesh the pores.

If however the pores are closer to 20 micron then you need some kind of subgrid model/an appropriate BC for it. I know that OF has some libraries/models to work with porous zones so you could look into that. A useful starting point might be this: http://www.tfd.chalmers.se/~hani/kur...ukurReport.pdf
Thanks, yes I have meshed the pores previously, but not at a resolution that would allow satellite droplets to form.

Previously (in ANSYS Fluent) I just bundled the slot gaps (pores) with my 'atmosphere' BC, I presume that's the logical way to go. I can also break my substrate stems and tips into two patches, with different contact angles respectively.
steph79 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Artificial high velocities at the interface using interFoam Arnoldinho OpenFOAM Running, Solving & CFD 38 October 31, 2024 09:00
InterFoam Artificially High Velocities andersson.j OpenFOAM Running, Solving & CFD 0 February 8, 2011 11:43
High depression at low alpha inlet (interFoam) santiagomarquezd OpenFOAM Running, Solving & CFD 0 June 1, 2010 18:18
interFoam: strange pressure with high fluid viscosity? ckroener OpenFOAM 3 April 7, 2010 13:51


All times are GMT -4. The time now is 23:26.