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

Problem simulating wave propagation in a tube

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 3, 2011, 08:49
Default Problem simulating wave propagation in a tube
  #1
New Member
 
Claas Knoop
Join Date: Aug 2011
Posts: 7
Rep Power: 14
cKnoop is on a distinguished road
Hi everyone,

I’m facing a problem solving the case of propagating sound waves in a tube using rhoPisoFoam (OF 1.7.0). The case is laminar, the BC's for U and p are as follows:

U:

internalField uniform (0 0 0);

boundaryField
{
inlet
{

type groovyBC;
value uniform (0 0 0);
valueExpression "(20*sin(125640*time()))*vector(1,0,0)";

}


channel
{
type fixedValue;
value uniform (0 0 0);
}


frontAndBack
{
type empty;
}

outlet
{
type groovyBC;
valueExpression "vector(0,0,0)";
gradientExpression "vector(0,0,0)";
fractionExpression "(phi > 0) ? 0 : 1";
value uniform (0 0 0);

}

}


p:

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 101325;

boundaryField
{
inlet
{
type waveTransmissive;
value uniform 101325;
field p;
phi phi;
rho rho;
psi psi;
gamma 1.4;
fieldInf 101325;
lInf 0;

}



channel
{
type zeroGradient;
}


frontAndBack
{
type empty;
}

outlet
{
type waveTransmissive;
value uniform 101325;
field p;
phi phi;
rho rho;
psi psi;
gamma 1.4;
fieldInf 101325;
lInf 0;

}

}

I managed to get a converging solution and the results (frequency, amplitude) initially agree with the analytic solution. However, as the wave reaches the outlet (after 0.1 ms) the pressure level decreases considerably. While the pressure oscillates at ambient pressure in the beginning, it oscillates at 76.000 Pa after 1 ms and at 20.500 Pa after 5 ms.
Besides that, the damping of the wave seems to be higher than it should.

I've been struggling with this for a while now, so any help is much appreciated.

Regards
cKnoop is offline   Reply With Quote

Old   August 5, 2011, 05:19
Default
  #2
Senior Member
 
Mohammad
Join Date: Feb 2010
Location: Shiraz, Iran
Posts: 108
Rep Power: 16
m2montazari is on a distinguished road
hi,
I'm not sure but I think trying this may help:
U:inlet:groovy
outlet: zeroGradient
P:inlet:zeroGradient
outlet:wavetransmitive

and as a comment, with the frequency you used in groovy, very small timesteps should be used to run!

and about wavetransmitive: I think linf=0 is somewhat equivalent to fixedvalue. linf is the distant from boundary faces to a virtual point having pressure specified as "value". so set outlet linf a large enough length depending scale of the case.

I hope it helps,
m2montazari is offline   Reply With Quote

Old   August 5, 2011, 08:43
Default
  #3
New Member
 
Claas Knoop
Join Date: Aug 2011
Posts: 7
Rep Power: 14
cKnoop is on a distinguished road
Hi Mohammad,

thank you for your reply.

You are right about the time step. I'm running with a step size of 0.1e-6 s, so we're fine here. Regarding linf I can tell you that I’ve varied this length between 0 and 1000 and couldn’t determine any influence of linf on the solution at all.

I also ran the BC-setup you suggested but unfortunately the result is (qualitatively) the same as observed before.

In fact, I tried various combinations of BC's with no success and I begin to question the solver choice. Does anyone know if there is a more appropriate solver for my problem?

Regards

Claas
cKnoop is offline   Reply With Quote

Old   August 8, 2011, 09:11
Default
  #4
Senior Member
 
Mohammad
Join Date: Feb 2010
Location: Shiraz, Iran
Posts: 108
Rep Power: 16
m2montazari is on a distinguished road
hi claas,
I dont know the exact problem but I think changing schemes of grads, divergences and laplacians may help. limitedlinear is mostly more stable than other schemes in my experiences.
yours...
m2montazari is offline   Reply With Quote

Old   August 18, 2011, 03:29
Default
  #5
New Member
 
Claas Knoop
Join Date: Aug 2011
Posts: 7
Rep Power: 14
cKnoop is on a distinguished road
hey Mohammad,

sorry for the late reply, have been quite busy lately.....

So, here’s my fvSchemes-file:

ddtSchemes
{
default Euler;
}

gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}

divSchemes
{
default none;
div(phi,U) Gauss limitedLinear 1;
div(phid,p) Gauss limitedLinear 1;
div(phiU,p) Gauss limitedLinear 1;
div(phi,h) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div(phi,R) Gauss limitedLinear 1;
div(phi,omega) Gauss limitedLinear 1;
div((rho*R)) Gauss limitedLinear 1;
div(R) Gauss limitedLinear 1;
div(U) Gauss limitedLinear 1;
div((muEff*dev2(grad(U).T()))) Gauss linear;
}

laplacianSchemes
{
default none;
laplacian(muEff,U) Gauss linear corrected;
laplacian(mut,U) Gauss limitedLinear 1;
laplacian(DkEff,k) Gauss limitedLinear 1;
laplacian(DepsilonEff,epsilon) Gauss limitedLinear 1;
laplacian(DREff,R) Gauss limitedLinear 1;
laplacian(DomegaEff,omega) limitedLinear 1;
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
laplacian(alphaEff,h) Gauss linear corrected;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p ;
}


I played with the schemes as you advised, trying also upwind and OUICK schemes but it didn’t change much.

regards
Claas
cKnoop is offline   Reply With Quote

Old   August 22, 2011, 09:24
Default
  #6
New Member
 
Claas Knoop
Join Date: Aug 2011
Posts: 7
Rep Power: 14
cKnoop is on a distinguished road
Hi Foamers,

after trying different BC configurations I found that the change in direction of flow seems to cause the above described pressure loss. When changing the applied wave from "(20*sin(125640*time()))*vector(1,0,0)" to "(1+1*sin(125640*time()))*vector(1,0,0)"; meaning a pulsating flow without changing flow direction, the results appear to be correct.

Unfortunately I couldn’t find a BC configuration which works for my setup. So, if you have any ideas/knowledge about that, feel free to share…
cKnoop is offline   Reply With Quote

Old   August 22, 2011, 15:28
Default
  #7
Senior Member
 
Mohammad
Join Date: Feb 2010
Location: Shiraz, Iran
Posts: 108
Rep Power: 16
m2montazari is on a distinguished road
hi claas,
I have a basic question: if you want to model sound waves or something like that, why do you set wavy BC for U? not for p? sound waves and similar waves are pressure waves not velocity waves. I had solved incompressible flow in a pipe with fluctuating pressure gradient and the flow is some time in positive direction and in some time in negative direction. the answer of flow velocity profile in space and time was really good compared to analytical solution.
so if setting wavy U inlet is not really your problem, change it to pressure. you can set pressure inlet as groovy and outlet as fixed value=0 . and U inlet and outlet both as zerogradient.
yours,
mohammad
m2montazari is offline   Reply With Quote

Reply


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
analytical solution of 1D shock tube problem ma Main CFD Forum 10 May 11, 2015 05:20
Simulating air injects thru. a tube to water in a Howard Wang FLUENT 11 September 30, 2009 16:24
Baffle cell problem in shock tube AB Siemens 4 November 15, 2004 08:44
Shock tube problem AB Siemens 1 November 9, 2004 00:25
Shock tube problem ger Main CFD Forum 1 September 24, 2003 07:41


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