CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Initial Perturbation of Interface in Rayleigh-Taylor Instability

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By pavaninguva

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 10, 2017, 11:49
Default Initial Perturbation of Interface in Rayleigh-Taylor Instability
  #1
New Member
 
Join Date: Oct 2017
Posts: 12
Rep Power: 9
AMK53 is on a distinguished road
I am using buoyantPimpleFoam to simulate Rayleigh-Taylor instability of air with a hot gas on the lower portion of the domain (T = 900 K) and cold air on top (T = 300 K). Pressure being 101.325 kPa and g = (0,-9.81,0) m/s^2. I originally tried to perturb the interface by a simple cosine function f(x) = 0.05/2*(1+cos(2*pi*x)), but the mesh resolution created a "stair step" situation where the small steps acted as artificial perturbation surfaces.

https://imgur.com/TP0rx7R

https://imgur.com/mXQDZGI

This a short video of how the "stair stepping" forces the flow to behave:

https://imgur.com/TP0rx7R

I tried running this at a finer resolution, but the behavior is still the same and becomes economically less practical as you refine this more and more. My next attempt was to apply a perturbation to the y-velocity instead. The idea being that the baroclinic vorticity generation (cause of the RT growth) occurs across the density gradient, thus any "stair stepping" would cause instability growth. Thus as long as the density interface is flat, then the above problems would not be present. The perturbation velocity would then force small fluid motion leading to interface movement without the effects of the mesh present. I did this via the following function:

Vy = 0.01/4*(1+cos(2*pi*x))*(1+cos(100*pi*y))

But when I ran this for over a second, the interface had not moved even a little bit. I'm not quite sure why the above didn't work.

Is there a different way to perturb the interface in OpenFoam that would avoid the mesh issue? And if my solution is the correct method, then why was I not able to get fluid motion?
AMK53 is offline   Reply With Quote

Old   October 11, 2017, 08:05
Default
  #2
Senior Member
 
Peter Baskovich
Join Date: Jul 2014
Posts: 127
Rep Power: 12
pete20r2 is on a distinguished road
Can you use a VOF number instead of pure species to smooth the interface?
pete20r2 is offline   Reply With Quote

Old   October 12, 2017, 00:15
Default
  #3
New Member
 
Join Date: Oct 2017
Posts: 12
Rep Power: 9
AMK53 is on a distinguished road
Quote:
Originally Posted by pete20r2 View Post
Can you use a VOF number instead of pure species to smooth the interface?
Aren't VOF methods generally used for multiphase flows?
AMK53 is offline   Reply With Quote

Old   March 7, 2018, 22:00
Default
  #4
New Member
 
Pan Aniu
Join Date: Mar 2018
Location: Wuhan
Posts: 7
Rep Power: 8
dongshancfd is on a distinguished road
I have a similar problem when I simulated mass transfer of the interface in Fluent.

Jagged lines will make the evolution of the sinusoid interface become out of expectation.

I wonder whether you have solved the problem and please do me a favor to give me some suggestion.
dongshancfd is offline   Reply With Quote

Old   January 13, 2020, 12:20
Default
  #5
Senior Member
 
Join Date: Jul 2019
Posts: 148
Rep Power: 7
Bodo1993 is on a distinguished road
Dear AMK53,

Greetings. I am wondering how did you add the perturbation.

Thanks
Bodo1993 is offline   Reply With Quote

Old   January 14, 2020, 06:27
Default
  #6
Senior Member
 
Yogesh Bapat
Join Date: Oct 2010
Posts: 102
Rep Power: 16
ybapat is on a distinguished road
Hello,



As Peter mentioned you can use VOF for RT instability. You can use two different fluid with given gas densities.



Regards,
-Yogesh
ybapat is offline   Reply With Quote

Old   January 17, 2020, 03:19
Default
  #7
New Member
 
Pavan Inguva
Join Date: Dec 2019
Location: Singapore
Posts: 7
Rep Power: 6
pavaninguva is on a distinguished road
Hey @Bodo1993! Its possible to use either a codestream in the 0/alpha.water file or use funkySetFields with swak4Foam. To implement the code stream, add this to your 0/alpha.water:
```
internalField #codeStream
{
codeInclude
#{
#include "fvCFD.H"
#};

codeOptions
#{
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
#};

codeLibs
#{
-lmeshTools \
-lfiniteVolume
#};

code
#{
const IOdictionary& d = static_cast<const IOdictionary&>(dict);
const fvMesh& mesh = refCast<const fvMesh>(d.db());

scalarField alpha(mesh.nCells(), 0.);

forAll(alpha, i)
{
const scalar x = mesh.C()[i][0];
const scalar y = mesh.C()[i][1];

if (y >= 2.1 + 0.1*Foam:ow(cos(constant::mathematical:i*x)*co s(constant::mathematical:i*x), 2))
{
alpha[i] = 1.;
}
}

Foam::writeEntry(os,alpha);

#};
};
```

This is for openfoam 7.
MMNCH likes this.
pavaninguva is offline   Reply With Quote

Old   January 17, 2020, 11:52
Default
  #8
Senior Member
 
Join Date: Jul 2019
Posts: 148
Rep Power: 7
Bodo1993 is on a distinguished road
Quote:
Originally Posted by pavaninguva View Post
Hey @Bodo1993! Its possible to use either a codestream in the 0/alpha.water file or use funkySetFields with swak4Foam. To implement the code stream, add this to your 0/alpha.water:
```
internalField #codeStream
{
codeInclude
#{
#include "fvCFD.H"
#};

codeOptions
#{
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
#};

codeLibs
#{
-lmeshTools \
-lfiniteVolume
#};

code
#{
const IOdictionary& d = static_cast<const IOdictionary&>(dict);
const fvMesh& mesh = refCast<const fvMesh>(d.db());

scalarField alpha(mesh.nCells(), 0.);

forAll(alpha, i)
{
const scalar x = mesh.C()[i][0];
const scalar y = mesh.C()[i][1];

if (y >= 2.1 + 0.1*Foam:ow(cos(constant::mathematical:i*x)*co s(constant::mathematical:i*x), 2))
{
alpha[i] = 1.;
}
}

Foam::writeEntry(os,alpha);

#};
};
```

This is for openfoam 7.
Hi pavaninguva,
Thanks a lot for your time. Kindly, it will be very helpful to know the alternative approach as well (the funkySetFields one).
Much appreciated.
Bodo1993 is offline   Reply With Quote

Old   January 28, 2020, 04:31
Default
  #9
New Member
 
Pavan Inguva
Join Date: Dec 2019
Location: Singapore
Posts: 7
Rep Power: 6
pavaninguva is on a distinguished road
Quote:
Originally Posted by AMK53 View Post
I am using buoyantPimpleFoam to simulate Rayleigh-Taylor instability of air with a hot gas on the lower portion of the domain (T = 900 K) and cold air on top (T = 300 K). Pressure being 101.325 kPa and g = (0,-9.81,0) m/s^2. I originally tried to perturb the interface by a simple cosine function f(x) = 0.05/2*(1+cos(2*pi*x)), but the mesh resolution created a "stair step" situation where the small steps acted as artificial perturbation surfaces.

https://imgur.com/TP0rx7R

https://imgur.com/mXQDZGI

This a short video of how the "stair stepping" forces the flow to behave:

https://imgur.com/TP0rx7R

I tried running this at a finer resolution, but the behavior is still the same and becomes economically less practical as you refine this more and more. My next attempt was to apply a perturbation to the y-velocity instead. The idea being that the baroclinic vorticity generation (cause of the RT growth) occurs across the density gradient, thus any "stair stepping" would cause instability growth. Thus as long as the density interface is flat, then the above problems would not be present. The perturbation velocity would then force small fluid motion leading to interface movement without the effects of the mesh present. I did this via the following function:

Vy = 0.01/4*(1+cos(2*pi*x))*(1+cos(100*pi*y))

But when I ran this for over a second, the interface had not moved even a little bit. I'm not quite sure why the above didn't work.

Is there a different way to perturb the interface in OpenFoam that would avoid the mesh issue? And if my solution is the correct method, then why was I not able to get fluid motion?
Hi @AMK53, any luck with this problem! I have been giving it a go with interFoam to no success. Any ideas from your experience would be immensely helpful! Thanks!!
pavaninguva is offline   Reply With Quote

Reply

Tags
buoyantpimplefoam, instability, rayleigh, rayleigh-taylor, taylor


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Maximum number of iterations exceeded chtmultiregionsimpleFoam Moncef OpenFOAM Running, Solving & CFD 28 July 13, 2020 15:26
pimpleDyMFoam computation randomly stops babapeti OpenFOAM Running, Solving & CFD 5 January 24, 2018 06:28
High Courant Number @ icoFoam Artex85 OpenFOAM Running, Solving & CFD 11 February 16, 2017 14:40
Wrong fluctuation of pressure in transient simulation caitao OpenFOAM Running, Solving & CFD 2 March 5, 2015 22:33
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3 bookie56 OpenFOAM Installation 8 August 13, 2011 05:03


All times are GMT -4. The time now is 22:56.