|
[Sponsors] |
February 26, 2010, 06:02 |
VOF method and Marangoni flows
|
#1 |
New Member
Frank
Join Date: Apr 2009
Posts: 7
Rep Power: 17 |
Hello,
I was wondering if it is possible to model temperature dependent surface tension (Marangoni) effects in OpenFOAM while using the VOF method. Cheers, Frank |
|
February 27, 2010, 14:39 |
|
#2 |
Member
Eelco Gehring
Join Date: Mar 2009
Posts: 70
Rep Power: 17 |
Frank,
No, I don't OF has that capability yet. But you can always program it yourself. |
|
September 16, 2015, 17:09 |
Did anyone find any update on the VOF+Marangoni
|
#3 |
New Member
Lotte
Join Date: Nov 2012
Posts: 4
Rep Power: 14 |
Hi I am facing the same problem. So I am wondering if anyone has update on this issue.
Thanks, Lotte |
|
February 22, 2017, 16:30 |
|
#4 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Dear all,
I have been working on implementation tangential surface tension component to simulate marngoni flows due to temperature differences. I'm having a hard time validating my results with the existing analytical work. Have you guys managed to figure out a way to simulate this. Thanking you in advance. Kalpana. |
|
November 22, 2018, 11:15 |
|
#5 | |
Member
Yuanwei Cao
Join Date: Jun 2017
Location: Munich,Germany
Posts: 54
Rep Power: 9 |
Quote:
|
||
November 26, 2018, 19:15 |
|
#6 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Yes, I did. the only problem is the validation. I compared it with the analytical solution, but had a hard time with spurious currents (analytical solution is available for small capillary numbers)
kalpana |
|
November 27, 2018, 04:55 |
|
#7 | |
Member
Yuanwei Cao
Join Date: Jun 2017
Location: Munich,Germany
Posts: 54
Rep Power: 9 |
Quote:
Can I ask you how did you implement the equations in the attached file? My email is yuanwei.cao@tum.de we can discuss it in detail if you would of can you tell me your email address? |
||
November 27, 2018, 10:18 |
|
#8 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Hi,
the equation, you showed there has to be changed a bit if you are using for thermocapillary flows with constant d(sigma)/dT. I'll send you an email and would like to discuss it with you. |
|
May 6, 2019, 05:31 |
implemention of marangoni force
|
#9 | |
New Member
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11 |
Quote:
Hey guys! I am having the same problem. Kalpana, would you please also post here the correct implementation of the equation? |
||
May 6, 2019, 11:35 |
|
#10 | |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Quote:
ST_force = sigma_0*kappa*n + d(sigma)/dT (grad(T)-n(n.grad(T)) Mathematically both equations are correct given that sigma = sigma_0 + (d(sigma)/dT)* (T-T_0) Hope it helped. Kalpana |
||
May 6, 2019, 13:05 |
|
#11 | |
New Member
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11 |
Quote:
Yes, I have done the same. But my problem is how to add this to the Ueqn? the term ST_force that you mentioned above is finally a surfaceVectorfield, right? how can we add such type to momentum equation? |
||
May 6, 2019, 13:17 |
|
#12 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
It can be done in two ways.
One is to include in the UEqn.H under fvVectorMatrix as volVectorField. The other way is to include in pEqn.H as a surfaceScalarField. Check how the normal surface tension force is implemented in interFoam in older openfoam versions (2.3.0 or 3.0) Method 1 in UEqn.H fvVectorMatrix UEqn ( fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + turbulence->divDevRhoReff(rho, U) //include it here as a volVectorField ); Method 2 in pEqn.H surfaceScalarField phig ( ( fvc::interpolate(interface.sigmaK())*fvc::snGrad(a lpha1) // you can add your tangential component here. - ghf*fvc::snGrad(rho) )*rAUf*mesh.magSf() ); then in UEqn.H (only if you use momentum predictor) if (pimple.momentumPredictor()) { solve ( UEqn == fvc::reconstruct ( ( fvc::interpolate(interface.sigmaK())*fvc::snGrad(a lpha1) //add it here - ghf*fvc::snGrad(rho) - fvc::snGrad(p_rgh) ) * mesh.magSf() ) ); } Kalpana |
|
May 6, 2019, 13:53 |
|
#13 | |
New Member
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11 |
Quote:
|
||
May 6, 2019, 13:57 |
|
#14 |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
You have to manually calculate n.
Kalpana |
|
May 7, 2019, 07:02 |
d(sigma)/dT Value
|
#15 |
New Member
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11 |
||
May 7, 2019, 10:58 |
|
#16 | |
Member
Kalpana Hanthanan Arachchilage
Join Date: May 2015
Location: Orlando, Florida, USA
Posts: 30
Rep Power: 11 |
Quote:
Kalpana |
||
May 14, 2019, 11:32 |
|
#17 |
Member
Yuanwei Cao
Join Date: Jun 2017
Location: Munich,Germany
Posts: 54
Rep Power: 9 |
||
October 29, 2019, 07:58 |
|
#18 |
New Member
Nikhil Chitnavis
Join Date: Sep 2019
Location: India
Posts: 19
Rep Power: 7 |
hello,
I am using marangoni BC in simpleFoam solver, I am attaching my solver can anybody please tell whether it is correct way to define sigma(surface tension) as a function of temperature. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Info<< "Reading transportProperties\n" << endl; IOdictionary transportProperties ( IOobject ( "transportProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ); Info<< "Reading diffusivity DT\n" << endl; dimensionedScalar DT ( transportProperties.lookup("DT") ); /////////////////////////////////////////////////////////////// Info<< "Reading diffusivity betatn\n" << endl; ////// d(sigma)/dT dimensionedScalar betatn ( transportProperties.lookup("betatn") ); Info<< "Reading diffusivity TRef\n" << endl; dimensionedScalar TRef ( transportProperties.lookup("TRef") ); //////////////////////////////////////////////////////////////////////NC Info<< "Reading diffusivity sigma\n" << endl; dimensionedScalar sigma ( transportProperties.lookup("sigma") ); Info<< "Reading field Sg\n" << endl; volScalarField Sg ( IOobject ( "Sg", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), sigma - betatn*(T-TRef) ); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// thank you |
|
February 3, 2020, 10:08 |
|
#19 |
New Member
Sebastian
Join Date: Sep 2013
Posts: 14
Rep Power: 13 |
Hey guys,
I'm also working on the implementation of the tangential surface tension terms in order to calculate marangoni driven convection. I want to add them in the surfaceTensionForce() function in phaseSystem.C, since I want to use icoReactingMultiphaseInterFoam. However, I'm having a hard time implementing it there. Now, I came across this thread and recognized that you implemented the tangential component seperately in UEqn and pEqn. It seems that you (kal1943335, cyw, navidamin) managed to get it to work correctly. Would you mind sharing how exactly you have implemented the neccessary new terms? Your help is very much appreciated |
|
February 7, 2020, 11:43 |
|
#20 |
New Member
Sebastian
Join Date: Sep 2013
Posts: 14
Rep Power: 13 |
Hey again,
just to give an update, i managed to implement the tangential surface tension force in the phaseSystem library. It works reasonable but is not yet validated, though. |
|
Tags |
marangoni vof |
|
|