View Issue Details

IDProjectCategoryView StatusLast Update
0003738OpenFOAMBugpublic2021-10-13 12:30
ReportergviciconteAssigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformGNU/LinuxOSUbuntuOS Version15.04
Product Version9 
Fixed in Version 
Summary0003738: multiphaseEulerFoam does not impose the right contact angle for alphaContactAngle boundary condition
DescriptionHello,

I work multiphase flow with hydrophobic boundary condition.
The multiphaseEulerFoam solver seems to have some issues with the imposed contact angle at the boundary.
I can impose a contact angle :
bottom
    {
        type alphaContactAngle;
        thetaProperties
        (
            (water and air) 160 0 0 0
        );
        limit gradient;
        value uniform 0;
    }
and in fact I observe a difference if I change the value of theta0, but the resulting contact angle is smaller then the one imposed (one can do the same simulation with interFoam and obtain the right result).
Steps To ReproduceAttached you can find a 2D simplified case of a water drop on a hydrophobic wall. The resulting contact angle is lower than the one we would expect.
TagsNo tags attached.

Activities

gviciconte

2021-10-11 10:54

reporter  

dropOnWall.zip (66,862 bytes)

henry

2021-10-11 11:18

manager   ~0012230

Can you provide the equivalent interFoam case for comparison?

gviciconte

2021-10-11 12:07

reporter   ~0012231

Here it is

dropOnWallInterFoam.zip (60,537 bytes)

henry

2021-10-13 10:45

manager   ~0012235

I ran the serialrun script you provided with the case but snappyHexMesh fails:

--> FOAM FATAL ERROR:
Point (0.05 0.068 0.05) is not inside the mesh or on a face or edge.
Bounding box of the mesh:(0.035 0.068 0) (0.065 0.069 0.02)

    From function Foam::labelList Foam::refinementParameters::findCells(const Foam::polyMesh&) const
    in file snappyHexMeshDriver/refinementParameters/refinementParameters.C at line 148.

FOAM exiting

Could you please check the case?

henry

2021-10-13 12:28

manager   ~0012236

There is a problem with the case setup, the contact angle is specified in alpha.water but alpha.air is solved:

    phases (air water);

If you specify

    phases (water air);

then the contact angle specification will be used.

This contact angle will be used to calculate the interface curvature for the surface tension force so you will see capillary rise but it is not currently used for the alpha.water boundary gradient as it is not clear how this should be handled for multiple phases, e.g. water, oil and air all meeting at the wall. Further research and development is needed here for which we will need to secure funding.

gviciconte

2021-10-13 12:30

reporter   ~0012237

Sorry about that, you don't need any snappyHexMesh for this simplified case, you can directly delete the command from the serialrun script.
I use some constrain function'limitVelocityAlpha' (attached) to pad to 0 the velocity of a certain phase, if the phase fraction value is lower that a certain threshold.

fvConstraintsOF.zip (8,484 bytes)

Issue History

Date Modified Username Field Change
2021-10-11 10:54 gviciconte New Issue
2021-10-11 10:54 gviciconte File Added: dropOnWall.zip
2021-10-11 11:18 henry Note Added: 0012230
2021-10-11 12:07 gviciconte File Added: dropOnWallInterFoam.zip
2021-10-11 12:07 gviciconte Note Added: 0012231
2021-10-13 10:45 henry Note Added: 0012235
2021-10-13 12:28 henry Note Added: 0012236
2021-10-13 12:30 gviciconte File Added: fvConstraintsOF.zip
2021-10-13 12:30 gviciconte Note Added: 0012237