CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Marangoni bc (https://www.cfd-online.com/Forums/openfoam-solving/58066-marangoni-bc.html)

akidess May 19, 2017 03:21

Quote:

Originally Posted by gtarang (Post 649453)
Hello Thomas,
I am implementing the same boundary condition. However I want to ask, do we really need to update the solver application? There must be another way of adding this IOobject externally I mean through codeStream or function object. Pl. suggest.
-
Tarang

That's right, you can replicate the functionality using a groovyBC boundary condition. Probably also with codeStream, but I haven't used that yet.

navidamin March 1, 2019 04:31

Hey guys!
the links to the files that tehache posted are apparently corrupt now. Can any one please upload the files and post the link here?

Thanks



Quote:

Originally Posted by tehache (Post 253889)
I updated the boundary condition a little (its now writing also its value, was missing before..), and its working for me now with 1.6.x.
As the testcase was too large to upload here, please find it (and the B.C.) at the links given below.
Under the link named MarangoniTest I add a small testcase. Gravity is set to 0, Marangoni-Number is small in order to obtain a stationary and axisymmetric solution (although calculation is 3D), which I have compared to results from our own 2D-Code Crysmas, and with Fluent, results are (within some percent, did not check grid dependence..) the same.
Therefore, I personally trust it, but dont give any guarantee :)

I have run the testcase using a slightly modified buoyantBoussinesqSimpleFoam:

add this to createFields to store temperature gradients:

Info<< "Generating/reading field gradT\n" << endl;
volVectorField gradT
(
IOobject
(
"gradT",
runTime.timeName(),
mesh,
IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE
),
mesh,
dimensionSet(0,-1,0,1,0,0,0)
);
gradT=fvc::grad(T);


and add this in the solver code:

turbulence->correct();
-> gradT=fvc::grad(T);
runTime.write();


specify the B.C. in U as follows:
outerwall
{
type marangoni;
marangonicoeff -9.9e-06;
}

the marangonicoeff to specifiy is the usual marangonicoefficient (d sigma/dT) divided by DYNAMIC viscosity!




http://servww6.ww.uni-erlangen.de/~jung/marangoniFvPatchVectorField-1.6.x.tar.gz
http://servww6.ww.uni-erlangen.de/~jung/MarangoniTest.tar.gz


Thomas


gtarang March 1, 2019 05:13

Marangoni Condition
 
1 Attachment(s)
Here, use this. I am also right now seeing the feasibility if gradT can be calculated inside boundary patch only. Let's see when I am able to do it. For the time being you calculate gradT as mentioned in the post. Further you can use
Code:

IOobject::NO_READ,
IOobject::NO_WRITE

in place of
Code:

IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE

There is no need to read or write the gradT.


PS: The file will work for Openfoam-4.1 onwards

-
Tarang

navidamin March 1, 2019 05:42

Thanks Tarang!
could you please also upload your sample case?

Nikhil2511 November 1, 2019 00:49

1 Attachment(s)
hello,

I am using the marangoni Bc for the 2D square cavity with temperature and concentration given to side wall but the results i am getting is not correct, the flow is not developing. I am using Marangoni BC with simpleFoam.
please suggest something on this.

thanks

gtarang July 12, 2020 14:59

Marangoni Boundary condition
 
1 Attachment(s)
I have updated the marangoni condition to work with both compressible as well as incompressible solvers. The boundary condition calculates gradient of temperature internally. I have tested it in my problems and it is working well. Let me know if you face any problem.


You can also check out my github page
https://github.com/gargtarang/OpenFOAM_Extensions_TG


This I maintain mainly as an hobby or interest.


--

Thanks
gtarang


All times are GMT -4. The time now is 10:49.