CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Total heat release rate - variation not expected (https://www.cfd-online.com/Forums/openfoam-solving/97613-total-heat-release-rate-variation-not-expected.html)

Bufacchi February 21, 2012 09:52

Total heat release rate - variation not expected
 
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

lithos September 12, 2012 09:57

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

Bufacchi September 12, 2012 12:53

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

lithos September 12, 2012 13:58

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

Bufacchi September 12, 2012 14:47

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

lithos March 15, 2013 07:56

How to calculate the heat release rate HRR
 
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 July 24, 2014 08:22

Quote:

Originally Posted by lithos (Post 414191)
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

Dear Michael thanks for your answers.

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
    Reading /home/ayhan/foam/ayhan-3.1/antorduzsilindir-foam31-multihole-enj-24-swirl-profil-40-derece-Tsurushima-dQ-deneme/system/controlDict
    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

Reading thermophysicalProperties
Selecting psiChemistryModel ODEChemistryModel<gasThermoPhysics>
Selecting thermodynamics package hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>
Selecting chemistryReader chemkinReader
Selecting chemistrySolver ode
ODEChemistryModel: Number of species = 40 and reactions = 50
Reading field U

Reading/calculating face flux field phi

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


Reading g
Reading combustion properties

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
    Cannot read particle positions file
    "/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


u22 July 29, 2014 05:43

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 August 1, 2014 09:08

4 Attachment(s)
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?

Please help what is wrong for this case?


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

Reading thermophysicalProperties
Selecting psiChemistryModel ODEChemistryModel<gasThermoPhysics>
Selecting thermodynamics package hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>
Selecting chemistryReader chemkinReader
Selecting chemistrySolver ode
ODEChemistryModel: Number of species = 5 and reactions = 1
Reading field U

Reading/calculating face flux field phi

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


Reading g
Reading combustion properties

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
    Cannot read particle positions file
    "/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.

u22 August 1, 2014 09:30

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 August 12, 2014 08:35

5 Attachment(s)
Quote:

Originally Posted by u22 (Post 504056)
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..

Thanks for your reply Anthony,
I really appreciate your help...


<< 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_READ,
                IOobject::NO_WRITE,
                false
            ),
            this->mesh_,
            dimensionedScalar("dQ", dimEnergy/dimTime, 0.0),    //  J/s
            zeroGradientFvPatchScalarField::typeName
        )
    );

    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.
thanks in advance.
Best regards.

u22 August 12, 2014 23:19

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 August 14, 2014 09:02

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.

Nedu001 April 3, 2017 10:12

Please how do I calculate the total release heat for plume rise @ gas flare stack

F_vdp May 15, 2020 06:35

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.


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