OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Undesired velocity at corner when changing the contact angle in free energy

Viewing 10 posts - 1 through 10 (of 10 total)
• Author
Posts
• #4757
nv4dll
Participant

Dear all,
I’m using free energy model for simulation, here is the problem:
If i try to change the contact angle there always will be undesired velocity at corner ponits and eventually it let the simulation to be unstable. If i change the h1 & h2 back to 0 which means the contact angle is 90 degrees, there will be no problems. The simulation is the same as \examples\multiComponent\microFluidics2d.
I think it is might be the wrong surface tensions (kappa1&2), but I’m not sure. How can I find the right surface tension in latttice units?
If someone knows how to slove this? thank you very much!

Best wishes,

nv4dll

#4758
nv4dll
Participant

the velocity filed: https://imgur.com/weEpqk4

#4759
nv4dll
Participant

And I use only 2 lattice in the \microFluidics2d example and deleted all the velocity boundary except inlet1 ( dx, yl1, {0., ny/2.} );

And I used \contactAngle2d to find some h1&h2 for different angles:

``````
h1 = 0.0002948;                  // Contact angle 120 degrees
h2 = -0.0002948;                  // Contact angle 120 degrees

h1 = 0.0002048;                  // Contact angle 110 degrees
h2 = -0.0002048;                  // Contact angle 110 degrees

h1 = 0.0001448;                  // Contact angle 100 degrees
h2 = -0.0001448;                  // Contact angle 100 degrees
``````
#4760
savis
Participant

Dear nv4dll,

Are you by any chance using different values for kappa1 and kappa2? If so then this might be the cause. The reason is that if the value h1/kappa1 + h2/kappa2 != 0 then the density on the solid boundary will be different. This will then interact with the outlet causing it to become unstable.

To find the correct kappa values you can use the formula gamma = alpha/6 * (kappa1 + kappa2), where gamma is the surface tension converted into lattice units. Since you are only using two components you can therefore set kappa1 = kappa2 = 3*gamma/alpha.

Unfortunately by changing the kappa values you will also change the contact angles, so you may need to recompute the values h1 and h2.

If this isn’t the issue then please do let me know.

Best wishes,
Sam

#4761
savis
Participant

Also, since you only use 2 lattices, you should ensure that you do not include the arguments kappa3 and h3 in addFreeEnergyWallBoundary. This could potentially also cause problems.

#4764
nv4dll
Participant

Dear Sam,
Thank you very much! When I set kappa1=kappa2 it do solve the problem!
But I got another question, let’s take contactAngle2d for example. If I use the formula you give me then the kappa1&2 should be 30, but in the code it is 0.005. Why it that? Should I convert it again?

Best wishes,
nv4dll

#4765
nv4dll
Participant

If I want to convert the surface tension converted into lattice units which fator shold I use? Since The units of surface tension is N/M.
Should I use 0.133333/0.0144?

``````
Voxel length(m):                  physDeltaX=     0.133333
Time step(s):                     physDeltaT=     0.148148
Velocity factor(m/s):             physVelocity=   0.9
Density factor(kg/m^3):           physDensity=    1
Mass factor(kg):                  physMass=       0.00237037
Viscosity factor(m^2/s):          physViscosity=  0.12
Force factor(N):                  physForce=      0.0144
Pressure factor(N/m^2):           physPressure=   0.81
``````
#4766
savis
Participant

Dear nv4dll,

I probably shouldn’t have used gamma for the surface tension, the value of gama in the code is actually unrelated. Also, the values that I used for the contactAngle2d example were not based upon a physical system so I would not read too much into them.

You are right about how to convert the surface tension into lattice units. So for example for the surface tension of water (0.072 N/m) would give kappa=0.67 for those values.

However you need to be careful, because if kappa is larger than about 0.025 then the simulation will be unstable. So if that physical surface tension value is needed then you will need to change the values in the unit converter initialisation or the resolution.

Sam

#4767
savis
Participant

Sorry, the surface tension (gamma) would be 0.67 so the value of kappa would be 2.

#4768
nv4dll
Participant

Dear Sam,

Thanks for your help and time! It helped me a lot.

Best wishes,

nv4dll

Viewing 10 posts - 1 through 10 (of 10 total)
• You must be logged in to reply to this topic.