CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   eddy dissipation concept + infinitely fast chemistry (

mabinty July 20, 2010 10:00

eddy dissipation concept + infinitely fast chemistry
dear all!

i implemented the eddy dissipation concept combustion model with infinitely fast chemistry according to the paper of Magnussen: "The Eddy Dissipation Concept A Bridge Between Science And Technology", Lisbon, 2005, based on fireFoam, using a k-eps turbulence model. the code runs and the flow field looks plausible at first sight (in 3D). but when integrating the reaction rate (or the heat release due to burnt fuel) over the whole computational domain, I can see that the reaction rate is overestimated, i.e. more fuel burns as is injected. I tried to increase spatial resolution as well as to change the value for the turbulent dissipation rate at fuel inlet but always observe the same behavior. Interestingly the reaction rate matches quiet well with the injected amount of fuel for the 2D tutorial case applying k-eps turbulence model.

Anybody experienced similar problems??

I would greatly appreciate your comments!!


mabinty September 23, 2010 05:27

dear all!

i figured out that the problem is not the combustion model. additional to the convective input of fuel (prescribed by mass flow), fuel enters the domain by diffusion due to the sharp gradient of fuel mass fraction fu at inlet. first i tried to add a long fuel inlet pipe but as a result of low inlet velocities the combustion process "travels" back to the inlet causing the same problem as before. Hence, i decided to set the diffusion coefficient alphaEff in the transport equation of fu (fuhsEqn.H) to zero at inlet, what solved the problem:


    alphaEffZeroDiff = turbulence->alphaEff();
    label inletPatchID = mesh.boundaryMesh().findPatchID("inlet");
    alphaEffZeroDiff.boundaryField()[inletPatchID] -=
    fvScalarMatrix R = combustion->R(fu);

        fvScalarMatrix fuEqn
            fvm::ddt(rho, fu)
          + mvConvection->fvmDiv(phi, fu)
          - fvm::laplacian(alphaEffZeroDiff, fu)


I m sure there is a nicer way to do that, e.g. through a boundary condition where the diffusion coeff. at a certain patch for the considered variable is set to zero. I tried to create a "fixedValueZeroDiffusivity" BC as follows; in fixedValueZeroDiffusivityFvPatchScalarField::updat eCoeffs():


    const label patchI = patch().index();

    const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");

    scalarField alphaEffp = rasModel.alphaEff()().boundaryField()[patchI];
    rasModel.alphaEff()().boundaryField()[patchI] -= alphaEffp;


To allow alphaEff to be overwritten at the boundary i added a non-constant function of alphaEff() in kEpsilon.H. When analysing the results i can see that alphaEff is not changed. Any ideas?? I greatly appreciate your comments.

Thx in advance,

lithos September 12, 2012 14:01

Dear mabinty,

I am working with the solver since a few month and I discovered the problem very lately. So I will see to confirm it as soon as possible. In fact, I still haven't found a possibility to compute the diffusive flux.

It looks like this is still unsolved:




lithos September 13, 2012 04:39

Sorry for the double post due to a missing reload, questions already raised above (Apart from deactivating completely the diffusion, is there any way to compute the diffusive mass flow through a patch?).

mabinty September 17, 2012 04:55

1 Attachment(s)
hey Michael,

my problem was not to compute diffusive fluxes. for a variable phi and a diffusion coefficient alphaEff i d try it like that


volScalarField dDiff =
        - fvc::laplacian(turbulence->alphaEff(), phi);

Instead of setting diffusion to zero a boundary condition which balances convective and diffusive fluxes in order to prescribe a total in/outflow of a specific variable at a certain patch solved my problem (see attachment).


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