VOF method and Marangoni flows
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 |
Frank,
No, I don't OF has that capability yet. But you can always program it yourself. |
Did anyone find any update on the VOF+Marangoni
Hi I am facing the same problem. So I am wondering if anyone has update on this issue.
Thanks, Lotte |
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. |
Quote:
|
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 |
1 Attachment(s)
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? |
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. |
implemention of marangoni force
Quote:
Hey guys! I am having the same problem. Kalpana, would you please also post here the correct implementation of the equation? |
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 |
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? |
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 |
Quote:
|
You have to manually calculate n.
Kalpana |
d(sigma)/dT Value
Quote:
Also, do you have any reference for d(sigma)/dT value? |
Quote:
Kalpana |
Quote:
Cao |
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 |
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 |
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. |
Marangoni convection
Quote:
In the VOF method and Marangoni convection post, I learned that you implemented tangential surface tension in the phase System library of icoReactingMultiphaseInterFOAM. I'm having trouble implementing it, can you please tell me how? |
Quote:
how did you manage the Implementaion? Currently, Im starting to work on the same Problem. |
Dear Fellow-Foamers,
I received a lot of requests about the tangential surface tension force implementation both in icoReactingMultiphaseInterFoam and condensatingEvaporatingFoam. They both give the exact same results and have been tested with 2 different testcases more or less successfully. Unfortunately, I'm still not allowed to share the code here without publishing it beforehand. I will, however, try to get the permission to share it with you guys asap. It would be nice if we could test and improve it further. Together! So please excuse the delay and stay tuned! |
That's amazing to hear.
|
Dear all, I have successfully implemented the Marangi effect in the icoReactingMultiphaseInterFoam solver. If you want to know, how this can be done, you can read that in our most recent publication: https://iopscience.iop.org/article/1...61-651X/ac4a26
|
Marangoni
Quote:
Your version is under ESI which I'm not sure 100% is compatible with OF8/9. |
Hi gentodin,
as far as I know icoReactingMultiphaseInterFoam is not available in OF8/9 and it might be a lot of work to implement it. Please correct me if I am wrong. If I may ask, why do you want to use OF8/9? Or do you just want the Marangoni Effect with OF8/9 specific solvers? Regards, Teresa |
Compilation and test case
Quote:
I wonder how did you compile newly modified phasesystem file and called it by icoReactingMultiphaseInterFoam? Did you had to change anything apart of that phasesystem file to run those cases from the article? Moreover, could you share benchmark test case file by Sen&Davis? I would like to know how you defined dsigma/dT in your case. Best regards, Berin |
1 Attachment(s)
Hi Berin,
I copied the icoReactingMultiphaseInterFoam solver, changed its name, made the changes in the source files and compiled it. That's all. Attached you can find the benchmark test case files. There, I named the new solver floWSolver2. With the current implementation, you don't specify dsigma/dT, but a table with temperatures and corresponding surface tension values. Best regards, Florian |
Of8
Quote:
I chose to work with OF8 initially as I obtained training for it specifically. The other training under ESI I did not realize it until I have already implemented most of my physics. Nevertheless, I figured out how to implement the physics already. Cheers. |
Quote:
Hello Florian I am trying to implement marangoni by adding the equation to phasesystem file but it is a read only file. Could you please let me know how you did you do it? Is there something I am missing? |
Quote:
|
can you please explain what "kappa" means in this formula?
Thank you. |
"Kappa" usually denotes the interface curvature.
|
All times are GMT -4. The time now is 08:11. |