CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Using pressureTransmissive BC in reactingFoam (

dohnie October 21, 2009 10:38

Using pressureTransmissive BC in reactingFoam
I'm using reactingFoam for a transient simulation where the flow is initially subsonic but then transits to supersonic. My mesh contains some openings to the environment. Initially I set the pressure boundary to a fixedValue (the ambient pressure). This works fine as long as no shock reaches the boundary.
Then, of course, I need a different formulation for the pressure boundary. I thought that pressureTransmissive should be the right choice (to let the shock leave the domain without being reflected).
Unfortunately this BC does not seem to work with reactingFoam, the error message is the following:


Solving chemistry
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG: Solving for O2, Initial residual = 0.00438412, Final residual = 2.2724e-08, No Iterations 2
DILUPBiCG: Solving for H, Initial residual = 0.0592301, Final residual = 5.39093e-07, No Iterations 2
DILUPBiCG: Solving for OH, Initial residual = 0.0124455, Final residual = 3.71384e-07, No Iterations 2
DILUPBiCG: Solving for O, Initial residual = 0.042226, Final residual = 5.67663e-07, No Iterations 2
DILUPBiCG: Solving for H2, Initial residual = 0.00354886, Final residual = 1.3152e-08, No Iterations 2
DILUPBiCG: Solving for H2O, Initial residual = 0.00480617, Final residual = 4.163e-08, No Iterations 2
DILUPBiCG: Solving for HO2, Initial residual = 0.128379, Final residual = 3.38301e-07, No Iterations 2
DILUPBiCG: Solving for H2O2, Initial residual = 0.0950442, Final residual = 1.8722e-07, No Iterations 2
DILUPBiCG: Solving for h, Initial residual = 0.00566328, Final residual = 2.38229e-07, No Iterations 2

gradientInternalCoeffs cannot be called for a genericFvPatchField (actual type pressureTransmissive)
on patch opening of field p in file "/home/florian/OpenFOAM/florian-1.6/run/PET_FZK_Venting/JJ_fine/0.000550/p"
You are probably trying to solve for a field with a generic boundary condition.

From function genericFvPatchField<Type>::gradientInternalCoeffs( ) const
in file fields/fvPatchFields/basic/generic/genericFvPatchField.C at line 782.

FOAM exiting
Can anybody please explain why OF calls the gradientInternalCoeffs? It seems to be required for the pressure equation, but is not implemented for the pressureTransmissive BC.

Thank you!

torvic October 23, 2009 18:37


I think it's because the name should be waveTransmissive (as for OF 1.5).

If I remember pressureTransmissive was for OF-1.3 or so, but you can search the forum



dohnie October 28, 2009 08:30

problem solved
Thank you, it seems to work!
I use the waveTransmissive BC now in OF 1.6.
I also implemented a routine to compute the local speed of sound from the mixture composition instead of having to supply an averaged value for gamma and psi.

torvic October 28, 2009 16:28

Hi Dohnie

Good to hear it's working.
Perhaps you know, but in OpenFOAM-1.6/src/finiteVolume/fields/fvPatchFields/derived you can find the code for the BC (just in case)

All the best


dohnie October 30, 2009 06:58

Thanks torvic,
I have one more question: When you use the waveTransmissive BC for pressure, what do you use for velocity?
I have used inletOutlet so far (as there may be flow directed inwards in a part of the BC). However, after some time, the pressure close to the boundary drops below the ambient pressure (fieldInf) and finally goes to zero which causes a crash.
Is the outflow rate too high?
Any idea?


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