# Total heat release rate - variation not expected

 Register Blogs Members List Search Today's Posts Mark Forums Read

 February 21, 2012, 10:52 Total heat release rate - variation not expected #1 Member   Paulo Bufacchi Join Date: Jun 2010 Posts: 50 Rep Power: 14 Hi Foamers, I ran into a variation in the total heat release rate when running two similar cases that were not expected to me. Let me explain what I did. I was running the case oppositeBurningPanels (fireFoam solver) with minor modifications as below: 1. the domain size in the Y direction was shortened from 4.2m to 2m; 2. the block resolution in the Y direction was lowered from 124 to 60; 3. the refinement block in the Y direction was shortened from 2.4m to 1m; 4. the panels height was shortened from 2.4m to 1m. Running the case as above, after time=3.00s I got a total heat release rate of -252 J/s. Then, for the second case I removed the right panel (in the original case there are two opposed panels). That's all I did. Running the second case with this single change, after time=3.00s I got a total heat release rate of -45 J/s. This value is 18% of the value in the first case. My expectation was the value to be 50% of the original one. Is there any reason for the total heat release rate to be so small in the second case? Thanks, Paulo

 September 12, 2012, 10:57 #2 New Member   Michael Join Date: Dec 2011 Location: Geneva Posts: 28 Rep Power: 13 Hi Paulo, unfortunaltey I cannot answer your questions. However, I realised, that the tutorial case smallPoolFire3D is also wrong in terms of set to calculated heat release rate. When you have a look at the speed of fuel at the inlet (Uy=0.0.1 m/s), multiplied with the area of the burner inlet (A=0.04m2), the density relating to set pressure and temperature (rho=0.65 kg/m3) and the heat of combustion estimated by the solver itself (∆Hv=5E7 J/kg) then you'll end up with 13 kW. Postprocessing the volume integral of the dQ scalar variable gives an average of 24 kW (55 saved time steps). I would not mind this, if the values would be below and above the set HRR due to the nature of an unsteady LES simulation. However, they are allmost all above the set power. I am using OpenFOAM 2.0.x build 931a91d59a3a currently, but I'll have a look at the behaviour of the newest version. Cheers, Michael

 September 12, 2012, 13:53 #3 Member   Paulo Bufacchi Join Date: Jun 2010 Posts: 50 Rep Power: 14 Hi Lithos, Thanks for your time in addressing my issue. Unfortunately I had to move away from OpenFOAM due to difficulties I had to represent the scenario I am studying. Best regards, Paulo

 September 12, 2012, 14:58 #4 New Member   Michael Join Date: Dec 2011 Location: Geneva Posts: 28 Rep Power: 13 Dear Paulo, thanks for your reply. In fact it seems to be a problem of the diffusive mass flow in addition to the convective one. Please have a look here http://www.cfd-online.com/Forums/ope...chemistry.html just to have all entries concerning fireFoam and the problems linked. Cheers, Michael

 September 12, 2012, 15:47 #5 Member   Paulo Bufacchi Join Date: Jun 2010 Posts: 50 Rep Power: 14 Dear Lithos, Thanks for the info. I checked the link you referenced, and it surprises me that mabinty didn't have a feedback on such an important issue. Regards, Paulo

 March 15, 2013, 08:56 How to calculate the heat release rate HRR #6 New Member   Michael Join Date: Dec 2011 Location: Geneva Posts: 28 Rep Power: 13 Dear all, since I was asked how you could obtain the heat release rate: there are three ways I know currently: 1. you could calculate a volume integral of dQ (i.e. with Paraview) for your whole domain to obtain the overall heat release rate. This is not working if you have multiple sources of heat release and you want assess only one for sure. 2. you could put a monitor in you controlDict file before you carry out the calculation, i.e. Code: ```functions ( volInts { type cellSource; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; outputControl timeStep; //outputTime; outputInterval 1; log true; //true; valueOutput false; source all; //cellZone; sourceName c0; operation volIntegrate; fields ( dQ ); } );``` 3. you could use an extended version of foamCalc to extract the volume integral of dQ from saved time steps. It can be found here http://code.google.com/p/foamcalcex/ Hope this helps. Cheers, Michael ayhan515 and Shub like this.

July 24, 2014, 09:22
#7
Member

Ayhan Eses
Join Date: Mar 2009
Posts: 35
Rep Power: 15
Quote:
 Originally Posted by lithos Dear all, since I was asked how you could obtain the heat release rate: there are three ways I know currently: 1. you could calculate a volume integral of dQ (i.e. with Paraview) for your whole domain to obtain the overall heat release rate. This is not working if you have multiple sources of heat release and you want assess only one for sure. 2. you could put a monitor in you controlDict file before you carry out the calculation, i.e. Code: ```functions ( volInts { type cellSource; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; outputControl timeStep; //outputTime; outputInterval 1; log true; //true; valueOutput false; source all; //cellZone; sourceName c0; operation volIntegrate; fields ( dQ ); } );``` 3. you could use an extended version of foamCalc to extract the volume integral of dQ from saved time steps. It can be found here http://code.google.com/p/foamcalcex/ Hope this helps. Cheers, Michael

I put the below code to logSummary.H and dieselEngineFoam.C

Code:
```    scalar HRRate = fvc::domainIntegrate(chemistry.dQ()).value();
Info<< "HRRate = " << HRRate << " J/s-W"  << nl << endl;   //```
i get values which congruent with output of below (3rd suggestion)
Code:
`foamCalcEx volIntegrate dQ`
when i use the 2nd way i got this error. So have can i fix this error?

Best regards.

Code:
```/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:     3.1                                |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build    : 3.1-6c0c77dee21a
Exec     : dieselEngineFoamtemmuz2014tsu
Date     : Jul 24 2014
Time     : 15:15:29
Host     : ayhan-virtual-machine
PID      : 34548
CtrlDict : /opt/foam/foam-extend-3.1/etc/controlDict
Case     : /home/ayhan/foam/ayhan-3.1/antorduzsilindir-foam31-multihole-enj-24-swirl-profil-40-derece-Tsurushima-dQ-deneme
nProcs   : 1
SigFpe   : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create engine time

--> FOAM Warning :
From function entry::getKeyword(keyType&, Istream&)
in file db/dictionary/entry/entryIO.C at line 77
found on line 84 the punctuation token ')'
expected either } or EOF
--> FOAM Warning :
From function IOstream::compressionEnum(const word&)
in file db/IOstreams/IOstreams/IOstream.C at line 74
bad compression specifier 'off', using 'uncompressed'
Create mesh for time = -25

Selecting engineMesh layered
deckHeight: 0.072
piston position: 0.0639363

Selecting psiChemistryModel ODEChemistryModel<gasThermoPhysics>
Selecting thermodynamics package hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>
Selecting chemistrySolver ode
ODEChemistryModel: Number of species = 40 and reactions = 50

Creating turbulence model.

Selecting turbulence model type RASModel
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
Cmu             0.09;
C1              1.44;
C2              1.92;
C3              -0.33;
sigmak          1;
sigmaEps        1.3;
Prt             1;
}

Creating field DpDt

Creating field kinetic energy K

Constructing Spray
--> FOAM Warning :
From function Cloud<ParticleType>::initCloud(const bool checkClass)
in file /opt/foam/foam-extend-3.1/src/lagrangian/basic/lnInclude/CloudIO.C at line 124
"/home/ayhan/foam/ayhan-3.1/antorduzsilindir-foam31-multihole-enj-24-swirl-profil-40-derece-Tsurushima-dQ-deneme/-25/lagrangian/defaultCloud"
assuming the initial cloud contains 0 particles.
Selecting injectorType multiHoleInjector
injectionPressureProfile_.size() = 42, massFlowRateProfile_.size() = 42
end constructor. commonRail den alınan multihole
Selecting atomizationModel off
Selecting dragModel standardDragModel
Selecting evaporationModel standardEvaporationModel
Selecting heatTransferModel RanzMarshall
Selecting wallModel reflect
Selecting breakupModel ReitzKHRT
Selecting collisionModel off
Selecting dispersionModel off
Selecting injectorModel hollowConeInjector
Selecting pdfType RosinRammler
Average Velocity for injector 0: 0.000127159 m/s, injection pressure = 19.7348 bar
Constructing three dimensional spray injection.
Courant Number mean: 8.6744e-05 max: 0.000700434 velocity magnitude: 5.81392
==startSummary.H yazdiriyor...
Total cylinder mass: 0.387525 gram

Starting time loop

Courant Number mean: 8.6744e-05 max: 0.000700434 velocity magnitude: 5.81392

--> FOAM FATAL IO ERROR:
all is not in enumeration
1
(
cellZone
)

file: ::volInts::source at line 71.

From function NamedEnum<Enum, nEnum>::read(Istream& is) const
in file /home/dc/deb/foam-extend-3.1/src/foam/lnInclude/NamedEnum.C at line 74.

FOAM exiting```

 July 29, 2014, 06:43 #8 Member   Anthony Nitski Join Date: Aug 2009 Location: Earth Posts: 35 Rep Power: 15 Dear all, I have a question- how to calculate total heat release (dQ integral over time) ?? In sprayEngineFoam solver i added the code: Info<< "Heat release [J]: " << fvc::domainIntegrate(dQ).value() * runTime.deltaTValue(). And when solver finishes i have to accumulate these values. Is it correct? ayhan515 likes this. Last edited by u22; July 30, 2014 at 06:28.

August 1, 2014, 10:08
#9
Member

Ayhan Eses
Join Date: Mar 2009
Posts: 35
Rep Power: 15
Dear all,

I put the below code dieselEngineFoam.C as u22 said
Code:
`Info<< "Heat release [J]: " <<  fvc::domainIntegrate(chemistry.dQ()).value() * runTime.deltaTValue()  << nl << endl;   //`
My problem is HRRate is lower than what i expected.

i use n-heptan LHV= 44600 kJ/kg

Added gas mass................. | 7.96266 mg

heat=fuelmass*LHV= 0.355134636 kJ (what i expected)

i get 0,021976162 J from HRRate

Is our calculation way of HRRate wrong?

i put pressure-temp and HRRate and heat release graphics.
I could not upload entire log file due to file size limit.

Code:
```/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:     3.1                                |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build    : 3.1-6c0c77dee21a
Exec     : dieselEngineFoamtemmuz2014hrr
Date     : Aug 01 2014
Time     : 12:55:15
Host     : ayhan-virtual-machine
PID      : 17963
CtrlDict : /opt/foam/foam-extend-3.1/etc/controlDict
Case     : /mnt/hgfs/E/antorduzsilindir-foam31-multihole-enj-24-swirl-profil-40-derece-grafik-icinhrr
nProcs   : 1
SigFpe   : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create engine time

--> FOAM Warning :
From function IOstream::compressionEnum(const word&)
in file db/IOstreams/IOstreams/IOstream.C at line 74
bad compression specifier 'off', using 'uncompressed'
Create mesh for time = -25

Selecting engineMesh layered
deckHeight: 0.072
piston position: 0.0639363

Selecting psiChemistryModel ODEChemistryModel<gasThermoPhysics>
Selecting thermodynamics package hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>
Selecting chemistrySolver ode
ODEChemistryModel: Number of species = 5 and reactions = 1

Creating turbulence model.

Selecting turbulence model type RASModel
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
Cmu             0.09;
C1              1.44;
C2              1.92;
C3              -0.33;
sigmak          1;
sigmaEps        1.3;
Prt             1;
}

Creating field DpDt

Creating field kinetic energy K

Constructing Spray
--> FOAM Warning :
From function Cloud<ParticleType>::initCloud(const bool checkClass)
in file /opt/foam/foam-extend-3.1/src/lagrangian/basic/lnInclude/CloudIO.C at line 124
"/mnt/hgfs/E/antorduzsilindir-foam31-multihole-enj-24-swirl-profil-40-derece-grafik-icinhrr/-25/lagrangian/defaultCloud"
assuming the initial cloud contains 0 particles.
Selecting injectorType multiHoleInjector
injectionPressureProfile_.size() = 42, massFlowRateProfile_.size() = 42
end constructor. commonRail den alınan multihole
Selecting atomizationModel off
Selecting dragModel standardDragModel
Selecting evaporationModel standardEvaporationModel
Selecting heatTransferModel RanzMarshall
Selecting wallModel reflect
Selecting breakupModel ReitzKHRT
Selecting collisionModel off
Selecting dispersionModel off
Selecting injectorModel hollowConeInjector
Selecting pdfType RosinRammler
Average Velocity for injector 0: 0.000127159 m/s, injection pressure = 19.7348 bar
Constructing three dimensional spray injection.
Courant Number mean: 0.000346976 max: 0.00280174 velocity magnitude: 5.81392
==startSummary.H yazdiriyor...
Total cylinder mass: 0.387525 gram

Starting time loop

Courant Number mean: 0.000346976 max: 0.00280174 velocity magnitude: 5.81392
Crank angle = -24.975 CA-deg
deltaZ = 7.91565e-06
clearance: 0.00805578
Piston speed = 4.17946 m/s
Piston konumu (mm)=         63.9442
Piston yerdeğiştirme (mm)=     0.00791565
Piston hızı (m/s)=         4.17946
, T = 789.788, p = 1.95045e+06, C7H16 = 0
Solving chemistry
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
UEqn.H dosyası tamam
DILUPBiCG:  Solving for C7H16, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for O2, Initial residual = 0.0030041, Final residual = 3.23546e-16, No Iterations 3
DILUPBiCG:  Solving for CO2, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for H2O, Initial residual = 0, Final residual = 0, No Iterations 0
YEqn.H dosyası tamam
DILUPBiCG:  Solving for hs, Initial residual = 0.0086605, Final residual = 2.43842e-07, No Iterations 1
EEqn.H dosyası tamam
DICPCG:  Solving for p, Initial residual = 0.965778, Final residual = 0.0184173, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.204614, Final residual = 0.00605899, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.00679623, Final residual = 0.000255068, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.56393e-08, global = 9.25292e-09, cumulative = 9.25292e-09
pEqn.H dosyası tamam
DICPCG:  Solving for p, Initial residual = 0.000641585, Final residual = 1.83956e-05, No Iterations 1
DICPCG:  Solving for p, Initial residual = 1.8474e-05, Final residual = 6.7099e-07, No Iterations 1
DICPCG:  Solving for p, Initial residual = 6.64488e-07, Final residual = 6.64488e-07, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 6.67414e-11, global = 3.58652e-11, cumulative = 9.28879e-09
pEqn.H dosyası tamam
DICPCG:  Solving for p, Initial residual = 1.44558e-05, Final residual = 3.33062e-07, No Iterations 1
DICPCG:  Solving for p, Initial residual = 3.32992e-07, Final residual = 3.32992e-07, No Iterations 0
DICPCG:  Solving for p, Initial residual = 3.32992e-07, Final residual = 3.32992e-07, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 3.34456e-11, global = 2.47535e-12, cumulative = 9.29126e-09
pEqn.H dosyası tamam
DILUPBiCG:  Solving for epsilon, Initial residual = 0.00150506, Final residual = 3.05437e-08, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 0.000300666, Final residual = 8.07714e-09, No Iterations 1
Mean pressure (pa):        1.95275e+06
Mean temperature (K):        815.163
Mean u'(m/s):            2.3296
Hacim (cm-küp)            46.6023
Toplam silindir kütlesi (gram):    0.387525

Number of parcels in system.... | 0
Injected liquid mass........... | 0 mg
Liquid Mass in system.......... | 0 mg
SMD, Dmax...................... | 0 mu, 0 mu
Added gas mass................. | 2.71051e-13 mg
Evaporation Continuity Error... | 2.71051e-13 mg

enjekte edilmis kutle.......... | 0 mg
Buharlasan kütle............... | 0 mg
liquidPenetration (1).......... | 0 mm
liquidPenetration (0.95)....... | 0 mm
enjekte edilecek sivi kutle.... | 12.8189 mg
enjekte edilmis entalpi........ | 0 J
sivi entalpisi................. | 0 J
toplam sivi entalpisi.......... | 0 J
sivi_fazin_kinetik_enerjisi.... | 0 J
puskurtulen_sivi fazin kinetik enerjisi.... | 0 J

HRRate = 0 J/s-W

Heat release [J]: 0

ExecutionTime = 0.22 s  ClockTime = 1 s

:::::::::::::::::::::::::::::::::bla bla bla::::::::::::::::::::::::::.

Courant Number mean: 0.000268388 max: 0.00304259 velocity magnitude: 4.69281
Crank angle = 20 CA-deg
deltaZ = -6.45075e-06
clearance: 0.00662487
Piston speed = -3.40599 m/s
Piston konumu (mm)=         65.3751
Piston yerdeğiştirme (mm)=     -0.00645075
Piston hızı (m/s)=         -3.40599
, T = 765.134, p = 2.68996e+06, C7H16 = 3.34728e-15
Solving chemistry
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
UEqn.H dosyası tamam
DILUPBiCG:  Solving for C7H16, Initial residual = 8.21214e-05, Final residual = 5.02072e-16, No Iterations 2
DILUPBiCG:  Solving for O2, Initial residual = 0.000106995, Final residual = 1.46664e-15, No Iterations 2
DILUPBiCG:  Solving for CO2, Initial residual = 0.000133814, Final residual = 1.48051e-15, No Iterations 2
DILUPBiCG:  Solving for H2O, Initial residual = 0.000133814, Final residual = 1.48051e-15, No Iterations 2
YEqn.H dosyası tamam
DILUPBiCG:  Solving for hs, Initial residual = 0.000440409, Final residual = 1.69276e-09, No Iterations 1
EEqn.H dosyası tamam
DICPCG:  Solving for p, Initial residual = 0.823998, Final residual = 0.02766, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.0743771, Final residual = 0.00428303, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.00428032, Final residual = 0.000245727, No Iterations 1
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.38177e-07, global = -3.02512e-08, cumulative = -3.58674e-06
pEqn.H dosyası tamam
DICPCG:  Solving for p, Initial residual = 0.000265467, Final residual = 1.38747e-05, No Iterations 1
DICPCG:  Solving for p, Initial residual = 1.38875e-05, Final residual = 9.78096e-07, No Iterations 1
DICPCG:  Solving for p, Initial residual = 9.74655e-07, Final residual = 9.74655e-07, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 5.48177e-10, global = -3.28405e-10, cumulative = -3.58707e-06
pEqn.H dosyası tamam
DICPCG:  Solving for p, Initial residual = 1.12561e-06, Final residual = 8.69588e-08, No Iterations 1
DICPCG:  Solving for p, Initial residual = 8.70896e-08, Final residual = 8.70896e-08, No Iterations 0
DICPCG:  Solving for p, Initial residual = 8.70896e-08, Final residual = 8.70896e-08, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 4.89819e-11, global = -3.52484e-11, cumulative = -3.5871e-06
pEqn.H dosyası tamam
DILUPBiCG:  Solving for epsilon, Initial residual = 0.00578654, Final residual = 8.97304e-09, No Iterations 1
DILUPBiCG:  Solving for k, Initial residual = 0.0019395, Final residual = 6.74305e-09, No Iterations 1
Mean pressure (pa):        2.68524e+06
Mean temperature (K):        998.228
Mean u'(m/s):            1.15799
Hacim (cm-küp)            38.3245
Toplam silindir kütlesi (gram):    0.395487

Number of parcels in system.... | 14527
Injected liquid mass........... | 12.8189 mg
Liquid Mass in system.......... | 4.85623 mg
SMD, Dmax...................... | 111.955 mu, 158.943 mu
Added gas mass................. | 7.96266 mg
Evaporation Continuity Error... | -1.69948e-06 mg

enjekte edilmis kutle.......... | 12.8189 mg
Buharlasan kütle............... | 7.96266 mg
liquidPenetration (1).......... | 1.56647 mm
liquidPenetration (0.95)....... | 0.803003 mm
enjekte edilecek sivi kutle.... | 12.8189 mg
enjekte edilmis entalpi........ | -27.1022 J
sivi entalpisi................. | -9.22292 J
toplam sivi entalpisi.......... | -9.20413 J
sivi_fazin_kinetik_enerjisi.... | 1.30673e-07 J
puskurtulen_sivi fazin kinetik enerjisi.... | 0.00737491 J

HRRate = 0.000292321 J/s-W

Heat release [J]: 5.53638e-10

ExecutionTime = 666.54 s  ClockTime = 667 s

End```
massFlowRateProfile
Code:
```            massFlowRateProfile
(
(-24 0.320472458)
(-23 0.320472458)
(-22 0.320472458)
(-21 0.320472458)
(-20 0.320472458)
(-19 0.320472458)
(-18 0.320472458)
(-17 0.320472458)
(-16 0.320472458)
(-15 0.320472458)
(-14 0.320472458)
(-13 0.320472458)
(-12 0.320472458)
(-11 0.320472458)
(-10 0.320472458)
(-9 0.320472458)
(-8 0.320472458)
(-7 0.320472458)
(-6 0.320472458)
(-5 0.320472458)
(-4 0.320472458)
(-3 0.320472458)
(-2 0.320472458)
(-1 0.320472458)
(0 0.320472458)
(1 0.320472458)
(2 0.320472458)
(3 0.320472458)
(4 0.320472458)
(5 0.320472458)
(6 0.320472458)
(7 0.320472458)
(8 0.320472458)
(9 0.320472458)
(10 0.320472458)
(11 0.320472458)
(12 0.320472458)
(13 0.320472458)
(14 0.320472458)
(15 0.320472458)
(16 0)
(1000 0)
);```
Best regards.
Attached Images
 press-temp.png (43.2 KB, 55 views) Heat release.png (39.0 KB, 51 views) HRRate.png (28.9 KB, 46 views)
Attached Files
 hrr.dat.zip (16.8 KB, 17 views)

 August 1, 2014, 10:30 #10 Member   Anthony Nitski Join Date: Aug 2009 Location: Earth Posts: 35 Rep Power: 15 I guess its wrong. More correct is to sum dQ for all cells in domain. and then * dt and accumulate total heat release over all timesteps. What is dimension of dQ in dieselEngineFoam? in old versions of solver dQ=HRR/Cp AFAIK. not J/s.. ayhan515 likes this.

August 12, 2014, 09:35
#11
Member

Ayhan Eses
Join Date: Mar 2009
Posts: 35
Rep Power: 15
Quote:
 Originally Posted by u22 I guess its wrong. More correct is to sum dQ for all cells in domain. and then * dt and accumulate total heat release over all timesteps. What is dimension of dQ in dieselEngineFoam? in old versions of solver dQ=HRR/Cp AFAIK. not J/s..

<< fvc::domainIntegrate(chemistry.dQ()).value(); (graphic picture 1)

<< fvc::domainIntegrate(chemistry.dQ()).value() * runTime.deltaTValue() (graphic picture 2)

i sum dQ for all cells in domain as you said in your last post.

scalar sumHRRate = gSum(chemistry.dQ()());
<< sumHRRate (graphic picture 3)

<< sumHRRate * runTime.deltaTValue() (graphic picture 4)

cummulative_sum ( sumHRRate * runTime.deltaTValue() ) (graphic picture 5)

i am not an expert i think the last 2 things seem true (graphic picture 4) & (graphic picture 5) what do you think about them are they logic?

My problem is HRRate is lower (cummulative heat release 120 J graphic picture 5) than what i expected.
i use n-heptan LHV= 44600 kJ/kg
Added gas mass................. | 7.96266 mg
heat=fuelmass*LHV= 355.134636 J (what i expected)

and unit section...

i use foam-extend.3.1
i suppose dQ calculated according to the below file
/opt/foam/foam-extend-3.1/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C

Code:
```Line 576

template<class CompType, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ODEChemistryModel<CompType, ThermoType>::dQ() const
{
tmp<volScalarField> tdQ
(
new volScalarField
(
IOobject
(
"dQ",
this->mesh_.time().timeName(),
this->mesh_,
IOobject::NO_WRITE,
false
),
this->mesh_,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0),     //  J/s
)
);

if (this->chemistry_)
{
volScalarField& dQ = tdQ();
dQ.dimensionedInternalField() = this->mesh_.V()*Sh()();
}

return tdQ;
}```
and dQ file which in the case folder
Code:
```/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | foam-extend: Open Source CFD                    |
|  \\    /   O peration     | Version:     3.1                                |
|   \\  /    A nd           | Web:         http://www.extend-project.de       |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
version     2.0;
format      ascii;
class       volScalarField;
location    "20";
object      dQ;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 2 -3 0 0 0 0];          //   kgm^2/s^3   J/s

internalField   nonuniform List<scalar>
2288
(
0
0
0
0
2.19708e-06
3.48255e-06
5.39679e-06```
i suppose the unit of dQ is J/s
when we calculate dQ*dt we get Joule

Any information would be greatly appreciated.
Best regards.
Attached Images
 1-HRRate.png (28.9 KB, 52 views) 2-Heat release.png (39.0 KB, 38 views) 3-sumdQ.png (33.2 KB, 45 views) 4-sumdQ*dt.png (33.0 KB, 35 views) 5-cummulative-sumdQ*dt.png (33.1 KB, 39 views)

 August 13, 2014, 00:19 #12 Member   Anthony Nitski Join Date: Aug 2009 Location: Earth Posts: 35 Rep Power: 15 Ayhan, graphic picture 3 looks too "thin" for me. I mean peak value is OK, but decrease very fast. Perhaps not all of the n-heptain evaporated and burns? ayhan515 likes this.

 August 14, 2014, 10:02 #13 Member   Ayhan Eses Join Date: Mar 2009 Posts: 35 Rep Power: 15 you are right all of the n-heptane not evaporated and burns i think i also have some problems about to write correct species amounts. so i write a new thread about that problem. http://www.cfd-online.com/Forums/ope...tml#post505976 Thanks for your reply Anthony, I really appreciate your help for HRRate... Best regards. __________________ A problem with chemkinToFoam & foamChemistryReader ?

 April 3, 2017, 11:12 #14 New Member   Okoye Emmanuel Join Date: Apr 2017 Posts: 1 Rep Power: 0 Please how do I calculate the total release heat for plume rise @ gas flare stack

 May 15, 2020, 07:35 #15 New Member   François Join Date: Apr 2020 Posts: 3 Rep Power: 4 Hi everyone, I am desperately trying to add the cumulative heat release vector in the logSummary file of my modified engineFoam solver. Indeed I am running a lot of engine (HCCI) simulations and I would like to have an easy access to the cumulativeHR in order to determine the combustion timing parameter (CA10,CA50 and CA90) for each simulations. This tread help me a lot as I am quite new to OpenFOAM and C++ programming. My first idea was to use run-time data processing with "#includeFunc Qdot" in my controlDict file. That allowed me to have a value in [J/m³ s] for each cell of my mesh (6500) at each write interval. However this is still not the value that I am interested in and I would prefer to have it directly in the logSummary file for easy post processing of the data using MatLab. Here is how I modified the logSummary.H file Code: ```Info<< "Mean pressure:" << p.weightedAverage(mesh.V()).value() << endl; Info<< "Mean temperature:" << T.weightedAverage(mesh.V()).value() << endl; Info<< "Mean u':" << (sqrt((2.0/3.0)*turbulence->k()))().weightedAverage(mesh.V()).value() << endl; Info<< "Cumulative Heat release [J] : " << cummulative_sum (gSum(chemistry.dQ()())* runTime.deltaTValue() ) << endl; logSummaryFile << runTime.theta() << tab << p.weightedAverage(mesh.V()).value() << tab << T.weightedAverage(mesh.V()).value() << tab << (sqrt((2.0/3.0)*turbulence->k()))().weightedAverage(mesh.V()).value() << tab << cummulative_sum (gSum(chemistry.dQ()())* runTime.deltaTValue() ) << endl;``` I also added a column in the startSummary.H to put the computed cummulative HR : Code: ```Info<< "Total cylinder mass: " << fvc::domainIntegrate(rho).value() << endl; //Info<< "Total fuel mass: " // << fvc::domainIntegrate(rho*compostion.ft()).value() << endl; OFstream logSummaryFile ( runTime.path()/("logSummary." + runTime.timeName() + ".dat") ); logSummaryFile << "# CA" << " p" << " T" << " u'" << " Cumulative HRR"<< endl;``` However when I try to compile the modified solver, I get errors messages saying that chemistry and cumulative_sum are not defined in this scope : Code: ```root@LAPTOP-6V17VGK6:/opt/openfoam7/applications/solvers/lagrangian/sprayFoam/myEngineFoam# wmake Making dependency list for source file myEngineFoam.C g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I. -I.. -I../../reactingParcelFoam -I/opt/openfoam7/src/finiteVolume/lnInclude -I/opt/openfoam7/src/meshTools/lnInclude -I/opt/openfoam7/src/sampling/lnInclude -I/opt/openfoam7/src/TurbulenceModels/turbulenceModels/lnInclude -I/opt/openfoam7/src/TurbulenceModels/compressible/lnInclude -I/opt/openfoam7/src/lagrangian/basic/lnInclude -I/opt/openfoam7/src/lagrangian/intermediate/lnInclude -I/opt/openfoam7/src/lagrangian/spray/lnInclude -I/opt/openfoam7/src/lagrangian/distributionModels/lnInclude -I/opt/openfoam7/src/thermophysicalModels/specie/lnInclude -I/opt/openfoam7/src/transportModels/compressible/lnInclude -I/opt/openfoam7/src/thermophysicalModels/basic/lnInclude -I/opt/openfoam7/src/thermophysicalModels/thermophysicalProperties/lnInclude -I/opt/openfoam7/src/thermophysicalModels/reactionThermo/lnInclude -I/opt/openfoam7/src/thermophysicalModels/SLGThermo/lnInclude -I/opt/openfoam7/src/thermophysicalModels/chemistryModel/lnInclude -I/opt/openfoam7/src/radiationModels/lnInclude -I/opt/openfoam7/src/ODE/lnInclude -I/opt/openfoam7/src/engine/lnInclude -I/opt/openfoam7/src/regionModels/regionModel/lnInclude -I/opt/openfoam7/src/regionModels/surfaceFilmModels/lnInclude -I/opt/openfoam7/src/combustionModels/lnInclude -IlnInclude -I. -I/opt/openfoam7/src/OpenFOAM/lnInclude -I/opt/openfoam7/src/OSspecific/POSIX/lnInclude -fPIC -c myEngineFoam.C -o /opt/openfoam7/platforms/linux64GccDPInt32Opt/applications/solvers/lagrangian/sprayFoam/myEngineFoam/myEngineFoam.o In file included from myEngineFoam.C:106:0: logSummary.H: In function ‘int main(int, char**)’: logSummary.H:7:28: error: ‘chemistry’ was not declared in this scope << cummulative_sum (gSum(chemistry.dQ()())* runTime.deltaTValue() ) ^~~~~~~~~ logSummary.H:7:6: error: ‘cummulative_sum’ was not declared in this scope << cummulative_sum (gSum(chemistry.dQ()())* runTime.deltaTValue() ) ^~~~~~~~~~~~~~~ logSummary.H:7:6: note: suggested alternative: ‘cumulativeContErr’ << cummulative_sum (gSum(chemistry.dQ()())* runTime.deltaTValue() ) ^~~~~~~~~~~~~~~ cumulativeContErr /opt/openfoam7/wmake/rules/General/transform:25: recipe for target '/opt/openfoam7/platforms/linux64GccDPInt32Opt/applications/solvers/lagrangian/sprayFoam/myEngineFoam/myEngineFoam.o' failed make: *** [/opt/openfoam7/platforms/linux64GccDPInt32Opt/applications/solvers/lagrangian/sprayFoam/myEngineFoam/myEngineFoam.o] Error 1``` To try and avoid these errors, I tried moving the code line inside the solver "myEngineFoam" but I still get the same error :/ Could anynody suggest me a fix to that problem ? I am running on a short notice as I have to finish my master thesis simulations within two weeks. Any help is therefore welcomed, Kind regards, François VdP.