View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003738||OpenFOAM||Bug||public||2021-10-11 10:54||2021-10-19 18:41|
|Fixed in Version|
|Summary||0003738: multiphaseEulerFoam does not impose the right contact angle for alphaContactAngle boundary condition|
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 :
(water and air) 160 0 0 0
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 Reproduce||Attached 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.|
|Tags||No tags attached.|
dropOnWall.zip (66,862 bytes)
||Can you provide the equivalent interFoam case for comparison?|
Here it is
dropOnWallInterFoam.zip (60,537 bytes)
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.
Could you please check the case?
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.
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)
||Pending research and development funding|
|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|
|2021-10-19 18:41||henry||Assigned To||=> henry|
|2021-10-19 18:41||henry||Status||new => closed|
|2021-10-19 18:41||henry||Resolution||open => suspended|
|2021-10-19 18:41||henry||Note Added: 0012244|