What is the c3 coefficient in kepsilon model?
Hi everyone!
I've tried to find some informations about the coefficients in the kepsilon turbulence model and i found the c3, a coefficient which I can't find enywhere else. Does anybody know know what is it? And how big should be the value of it? I think the default value is 0.33. Why negative? Thank's for any help. Best regards, Marcin 
As "mentioned" in the code the default value for c3 is 0.33 and is corresponding to compressible flow only.
It is included in the dissipation equation for epsilon. 
Hallo Sebastian,
thank you for your reply. I have also found these informations in the code. The problem is, I don't uznderstand them. I have comared some equations implemented in OpenFOAM with other, commercial codes (for example CFX) and most of them are simmilar or the same exept for the dissipation equation. I have also compared this equation with some literature and I haven't found anywhere else the C3 coefficient exept for some papers, where the C3 was 0.85. I have also searched for 0.33 value but without success. I would be pleased for some help. Best regards, Marcin 
You habe obviously done far more research on this topic than me.
I'm quite new to turbulence and have only dealt with incompressible fluids so far. Tough enough without compressible fluids ;) 
Hallo Sebastian,
thak you anyway for your help. All my simulations are compressible and turbulent. The problem is, i have done some simulations of a stator blade of a compressor and comared the results of OpenFOAM with CFX. All values like velocities, pressure, mach number, kinetic energy and temperature of both simulations are quite similar with small or very small differences. The only problematic value is the dissipation. The difference between these codes is quite big with a value between 1e4 and 1e6 in depand of the position. I have no idea what could be the cause. When i change the C3 coefficient from 0.33 to 0.85 it doesn't seem to make a difference in the simulation, but I would anyway like to know, what it is. Regards, Marcin 
Hi Marcin
How do you give the inlet boundary value of k and epsilon for you blade? i am doing the simulation with water pump.it is easy to give a value for SST ,but for kepsilon,i always get divgence. i tried two ways 1 calculating it from the according the Programme guide P84 2 post the CFX result to get the k and epsilon value but both leaded to divgence within 100 steps how can I do wayne Quote:

Dear Wayne,
I had also problems with the inlet boudary conditions for k and epsilon. I have also tried to set up predetermined values, but it doesn't seem to work in both codes. The one way you can loose it is: the boudary condition for k: type turbulentIntensityKineticEnergyInlet; intensity 0.05; value $internalField; and for epsilon: type turbulentMixingLengthDissipationRateInlet; mixingLength 0.005; value $internalField; This is also the default adjustment in CFX in inlet. The problem is, that I get with these settings different results for k and epsilon in OpenFOAM and CFX and I don't know where these diffrences come from. I would be pleased, if you could inform me about your results and how you solve your problem. Regards, Marcin 
Hi Marcin,
I have a problem with kEpsilonCoeffs. I randomly selected some numbers (i.e. 0.09, 0.14, 0.33, etc.....) and it generates this error: Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon > FOAM FATAL ERROR: Attempt to return primitive entry ITstream : ::kEpsilonCoeffs, line 19, IOstream: Version 2.0, format ASCII, line 0, OPENED, GOOD primitiveEntry 'kEpsilonCoeffs' comprises on line 19 the doubleScalar 0.33 as a subdictionary From function const dictionary& primitiveEntry::dict() in file db/dictionary/primitiveEntry/primitiveEntry.C at line 107. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::error::abort() in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #2 Foam::primitiveEntry::dict() in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #3 Foam::dictionary::subDict(Foam::word const&) in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #4 Foam::boussinesq::RASModel::RASModel(Foam::word const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::transportModel&) in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libboussinesqRASModels.so" #5 Foam::boussinesq::RASModels::kEpsilon::kEpsilon(Fo am::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::transportModel&) in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libboussinesqRASModels.so" #6 Foam::boussinesq::RASModel::adddictionaryConstruct orToTable<Foam::boussinesq::RASModels::kEpsilon>:: New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::transportModel&) in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libboussinesqRASModels.so" #7 Foam::boussinesq::RASModel::New(Foam::GeometricFie ld<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::transportModel&) in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/lib/linux64GccDPOpt/libboussinesqRASModels.so" #8 in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/applications/bin/linux64GccDPOpt/my_porousSimpleFoam8" #9 __libc_start_main in "/lib/libc.so.6" #10 in "/home/roberto/OpenFOAM/OpenFOAM1.6.x/applications/bin/linux64GccDPOpt/my_porousSimpleFoam8" Aborted Do you have any suggestions?? Thanks very much in advance. 
compressible Launder Sharma ke model
Hi all,
Does anybody know the reference for the implementation of the compressible ke Launder Sharma kepsilon model in OpenFOAM? The incompressible formulation follows: Launder, B. E. and Sharma, B. I. (1974), "Application of the EnergyDissipation Model of Turbulence to the Calculation of Flow Near a Spinning Disc", Letters in Heat and Mass Transfer, Vol. 1, No. 2, pp. 131138. But in the compressible implementation there is the constant CEpsilon3 and I'm just wondering about the reference for it. Thanks in advance, Dmitry 
Quote:
I want to use the incompressible case, but I see also there a C3 0.33; I can't see this value in the paper of Launder ans Sharma. Did they introduced this term later ? And is there a tutorial of LaunderSharma ? I want to see the required files. Thanks. 
Quote:
Best regards, Dmitry 
Need some explanation on kEpsilon.C
Hi foamers,
I check through kEpsilon.C file and don't quite understand how Code:
tmp<fvScalarMatrix> epsEqn I look through turbulence papers indicating that usage ((2.0/3.0)*C1C3) with C3 assigned with negative value between 0 to 1 with the whole dissipative term a negative value. OpenFoam ((2.0/3.0)*C1+C3) with constant C3 assign with negative value of 0.33. In this case, if C3 is large enough, dissipative term will be a positive value. Any chances that something is wrong with the codes? 
I have a question which goes in the same direction. Why is actually in the compressible kEpsilon model equation the constant C3 included in this way? For me, I don't understand why C3 contributes to the reynolds shear stress term, which does not follow the standard formulation according to
http://www.cfdonline.com/Wiki/Standard_kepsilon_model or books from e.g. Pope and Poisnot C3 should be the constant for source due to buoyancy. tmp<fvScalarMatrix> epsEqn ( fvm::ddt(rho_, epsilon_) + fvm::div(phi_, epsilon_)  fvm::Sp(fvc::ddt(rho_) + fvc::div(phi_), epsilon_)  fvm::laplacian(DepsilonEff(), epsilon_) == C1_*G*epsilon_/k_  fvm::SuSp(((2.0/3.0)*C1_ + C3_)*rho_*divU, epsilon_)  fvm::Sp(C2_*rho_*epsilon_/k_, epsilon_) ); I would exspect something like ..  fvm::SuSp(((2.0/3.0)*C1_)*rho_*divU, epsilon_) + C3_*(..) .. 
Greetings to all!
Quote:
Code:
Reference: Bruno 
All times are GMT 4. The time now is 07:21. 