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/)
-   -   Combustion (https://www.cfd-online.com/Forums/openfoam-solving/57901-combustion.html)

henry August 30, 2005 06:55

You can do it that way or simp
 
You can do it that way or simply rewrite the model in terms of btilde.

grtabor August 30, 2005 12:16

OK, good to know that. I am
 
OK, good to know that.

I am experiencing problems with bounding the progress variable though. I'm trying to compute a backward-facing step; I've done a precomputation using turbFoam and have converted the data to run with my combustion code. My initial conditions for the ctilde variable are uniform 1.0 internal field, fixed value 0.0 at the inlet, zero gradient at the outlet and the walls (btilde is the inverse of this). However at the end of the first timestep the internal field ctilde has reached a value of 1.04 (pretty much throughout). This is clearly wrong, so...

1. Do my boundary conditions sound correct?

If so, I assume that either my source term is incorrect in the ctilde equation, or I need to do something fancy in terms of bounding the ctilde equation. Are those the only options, or am I likely to be doing something else wrong that cound have this effect?

(This is a rather difficult one to answer - I'm really just trying to pin down what might be going wrong with this solution).

Gavin

henry August 30, 2005 12:24

I would guess your problem is
 
I would guess your problem is to do with omegaDot. Have you tried to run without it? Did it remain bounded then? Given that you have implemented omegaDot as an explicit source term how do you propose to ensure ctilda remains bounded?

I solved this problem of Sigma-based models by reformulating and remodelling in terms of the flame wrinking Xi which leads to a source term which can be implemnted as an implicit transport term and hence ensures boundedness by suitable choice of scheme. All this is described in detail in the technical reports and papers I have written on the subject.

grtabor August 31, 2005 12:04

Just tried running without ome
 
Just tried running without omegaDot - it does indeed remain bounded, although there do seem to be problems beyond that. I will investigate this in more detail.

Gavin

grtabor September 1, 2005 09:21

Further (slow) progress...
 
Further (slow) progress...

I've modified the omegaDot (source) term so that the first timestep remains bounded - ctilde now lies between 0 and 1 (chiefly around 1) and btilde between 1 and 0 (to within rounding error - see below). I've also included it as SuSp source rather than as purely explicit.

However, now on the second timestep I get the following error : this is outside the PISO loop.

Time = 0.50002
BICCG: Solving for Ux, Initial residual = 0.00778922, Final residual = 3.99268e-07, No Iterations 1
BICCG: Solving for Uy, Initial residual = 0.0476625, Final residual = 1.67977e-06, No Iterations 1
BICCG: Solving for ctilde, Initial residual = 0.215976, Final residual = 1.8554e-09, No Iterations 2
Got this far!
Got this far2!


--> FOAM FATAL ERROR : Maximum number of iterations exceeded

Function: specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const
in file: /home/dm2/henry/OpenFOAM/OpenFOAM-1.0/src/thermophysicalModels/specie/lnInclude/ specieThermoI.H at line: 83.

FOAM aborting

---------------------------------------------

AFAICT this traces through to a function in specieThermo which evaluates the temperature by inverting the equation of state using Newton-Raphson methods. Am I right?

It crops up because I call thermo->correct() directly after solving for ctilde and btilde. I assume it has something to do with the state of the btilde field.

btilde actually generates very small negative numbers (-O(1e-10)), presumably through rounding error. Is this likely to be what is causing the problems here? If so, what can I do about it? If not, what is the problem likely to be?

Gavin

henry September 1, 2005 09:29

It looks like you are violatin
 
It looks like you are violating thermodynamic constraints. Are you saying ctilda goes from 0 to 1 in 1 timestep? With ctilde being chiefly around 1 after the first timestep you now have a fully-burnt system; that's an explosion not combustion and will blow the thermodynamics to pieces. Also I don't see the solution of the enthalpy equation.

niklas September 1, 2005 09:30

Hi Gavin, Yes, I would bet
 
Hi Gavin,

Yes, I would bet on that.
When we implemented the complex chemistry stuff I had similar problems when species fractions went negative ever so slightly.

Did you try the sledgehammer approach http://www.cfd-online.com/OpenFOAM_D...part/happy.gif
btilde.max(0);
after the transport eq.

N

grtabor September 1, 2005 09:56

Henry : >It looks like you
 
Henry :

>It looks like you are violating thermodynamic >constraints. Are you saying ctilda goes from 0 to 1 >in 1 timestep? With ctilde being chiefly around 1 >after the first timestep you now have a fully-burnt >system; that's an explosion not combustion and will >blow the thermodynamics to pieces.

No, thats not what I mean. My initial condition for the ctilde field is uniform 1.0; i.e. the entire domain is filled with combusted gas. At t=0 my inlet starts introducing fresh gas (ie. ctilde=0.0). After one timestep this has not progressed very far, so the majority of the domain is still at ctilde=1.0, with just the region around the inlet dropping to ctilde=0.0. This seemed to be the most logical way of starting things up - please tell me if I am being stupid.

(I'm doing combustion behind a backward facing step, not (hopefully) detonation or deflagration or anything really galloping).

>Also I don't see >the solution of the enthalpy equation.

I'm not solving it. My impresion from Poinsot and Veynante was that for relatively 'gentle' combustion it was not necessary - this being equivalent to an assumption of adiabatic conditions. The temperature can be derived by working back from the progress variable ctilde, which is in effect a reduced temperature. (I assume I do need to use the thermo database still anyway).

Niklas : thanks, I'll try your suggestion in the first place.

Thanks

Gavin

grtabor September 1, 2005 10:00

Niklas : just tried doing btil
 
Niklas : just tried doing btilde.max(0). Now btilde is always 0 or greater - but I still get the same error on the second timestep.

Ho hum.

Gavin

henry September 1, 2005 11:22

I don't think your ignition ap
 
I don't think your ignition approach will work because you are creating an infinite gradient of ctilde at the inlet which corresponds to an infinte reaction rate over an infinitesimal region. If you want to pursue this approach I recommend you ramp the inlet value of ctilte from 1 down to 0 over a period of time which introduces a flame of a sensible/physical/numerically resolved width.

grtabor September 1, 2005 11:40

That sounds feasible/sensible.
 
That sounds feasible/sensible.

Your use of language suggests that there might be another way of doing this - is there? The only other option that I can think of would be to initialise the ctilde field with the value 0 - but then how does the combustion get started?

Gavin

henry September 1, 2005 11:51

Yes the alternative is to init
 
Yes the alternative is to initialise a flame within the domain, i.e. a profile going from 0 at the inlet to 1 somewhere downstream. Look at the ignition models proposed for the CFM model for SI engines, there are methods which involve the specification of Sigma and species distributions corresponding to reasonable (~5mm) sized kernel. However, these methods can also produce large initial perturbations due to the initial specification not being exactly consistent with the equations so I think the ramping method will be best/easiest if you choose an appropriate time-scale.

You could improve on the simple ramping by choosing some kind of sigmoid shape for the ctilde distribution being transported into the domain at the inlet. My model has an analytical solution for the 1D flame, you could try using that profile, actually as I remember it was you who first solved my model analytically after I cast it into an appropriate form :-)

grtabor September 1, 2005 12:11

OK - a _really_ simple questio
 
OK - a _really_ simple question this time.

I need to get the current time from the runTime database. How do I do that? I've found a function timeOutputValue() which claims to give the current time value, but it seems rather an odd name for what I want, and also it is returning a scalar rather than a dimensionedScalar (not really a problem, but I'm going to use startTime() which returns a dimensionedScalar, and I'd like to be consistent). Didn't there used to be a currTime() function which gave the current time?

Gavin

henry September 1, 2005 12:16

runTime is a Time which is der
 
runTime is a Time which is derived from TimeState which is derived from a dimensionedScalar which is the current time. If you want the time value without dimensions simply use runTime.value() otherwise even more simply use runTime.

niklas September 2, 2005 02:20

Just a thought... What is y
 
Just a thought...

What is your initial temperature?
Seing how T0 and c=1 corresponds to a certain enthalpy H0, I just wonder what the temperature will
be for H0 and c=0.

N

grtabor September 2, 2005 09:32

One further query.... how does
 
One further query.... how does one read a label (int) from a dictionary? I do seem to remember that there was a need for something like readLabel(), but I can't find the details.

Thanks

Gavin

hjasak September 2, 2005 09:36

refCelli = readLabel(dict.look
 
refCelli = readLabel(dict.lookup(refCellName));

henry September 2, 2005 09:37

Yes there is both readLabel an
 
Yes there is both readLabel and readInt, for further details simply grep for them in say the OpenFOAM-1.2/src/OpenFOAM/lnInclude directory.

mattos October 14, 2005 10:54

Hi Henry Repeating my messa
 
Hi Henry

Repeating my message for Tommaso, after long time working in many stupid matters I return to apply my attention and energy to use this wonderfull code: The FOAM!

Please, I need your help. I would like in a first step to use the combustion solvers available in the OpenFOAM pack. But I need the literature which they are based. Could your help me to say which are the references which each solvers are based? I hope also to construct another solver for combustion flows.

Many tanks in adavce for your help.

rbw October 14, 2005 11:39

I would very much like to have
 
I would very much like to have these references also.

Having a repository of these papers would be extremely useful, it could be hosted on the OpenFOAM wiki. I think, however, that many if not all of the papers cannot be posted on a web site for copyright reasons. At the very least, a simple list of the more important references would already be very useful.

A lot of the work done on OpenFOAM seems to have been done during PhD thesis. Having all of them on the same spot would also be useful. I have Hrvoje's and Niklas' (both are stupendous works !)

It would be nice if someone would collect the publicly available references and put them up on the wiki. It would be a simple and useful non-programming way of contributing to OpenFOAM.
If no one else takes up the hint, I may volunteer myself in a couple of weeks time http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

hjasak October 14, 2005 11:47

Have a look at foamCFD web si
 
Have a look at foamCFD web site: I am trying to keep a repository of FOAM PhD Theses and other work I can get my hands on + some additional info.

The problem with most other algorithms are that they haven't been published on their own and various PhD theses are typically the best source of data even if they are a bit out of date. The only reliable and up-to-date stuff is the actual code itself which you get in full source :-)

As for my other work with FOAM, there are references on my private web site. I have tried to keep a lits of all papers published using FOAM, but because of all the other work I need to do this is pretty outdated.

Enjoy,

Hrv

grtabor October 17, 2005 04:17

Quite a lot of info about an L
 
Quite a lot of info about an LES version of Henry's combustion model is given in a paper in Flow, Turbulence and Combustion :

Large Eddy Simulation of Premixed Turbulent Combustion Using Xgr Flame Surface Wrinkling Model
G. Tabor and H.G. Weller, Flow, Turbulence and Combustion, Volume 72, Number 1 Date: March 2004
Pages: 1 - 27

http://springerlink.metapress.com/(s1e0qlbrkhvn5x451ar0bqrw)/app/home/contribution.asp?referrer=parent&backto=issu e,1,4;journal,8,46;linkingpublicationresults,1:100 237,1
http://www.springeronline.com/sgw/cda/frontpage/0,0,3-0-70-35731861-0,0.html

Other info in a couple of Combustion Symposium papers :

Application of a Flame-Wrinkling LES Combustion Model to a Turbulent Mixing Layer
H.G.Weller, G.Tabor, A.D.Gosman & C.Fureby
In: Proceedings of the 27th Combustion Symposium pp. 899 -- 907 (1998)

Measurements and Large Eddy Simulations of Turbulent Premixed Flame Kernel Growth
I.K.Nwagwe, H.G.Weller, G.Tabor, A.D.Gosman, M.Lawes, C.G.W.Sheppard & R.Wooley
In: Proceedings of the 28th Combustion Symposium (2000)

Also the RANS version is detailed in an IC internal report :


@techreport{Weller:1993,
author = "Weller, H.G.",
title = "{T}he {D}evelopment of a {N}ew {F}lame {A}rea
{C}ombustion {M}odel {U}sing
{C}onditional {A}veraging",
institution = "Imperial College of Science,
Technology and Medicine",
year = 1993,
month = "March",
type = "Thermo-Fluids Section Report",
number = "TF 9307"
}

if this is any use.

I'm in the process of implementing some other combustion models as well - I will pass them around when I'm sure they are working.

Gavin

pratap March 14, 2006 05:46

Hi, I have question whether
 
Hi,

I have question whether in wellers model implemented in XiFoam is it possible to get a flame when you dont specify any ingition but specify the boundary condition of ctilde of 1 and 0 in the outlet and inlet.
This approach is commnly used in other cfd codes. If I want to run a case where I dont want to solve enthalpy euqation (adiabatic conditions) do I still to include a thermo model it is because viscosity is calculated from it.


Gavin you have asked this kind of question earlier did you make that thing to work.

Pratap

lucchini March 14, 2006 05:53

Hi Pratap !!!!!! yes you can
 
Hi Pratap !!!!!!
yes you can of course, but you have to modify the XiFoam solver as follows:

comment the following line in the bEqn.H

if(ign.ignited())

and then recompile the XiFoam code with the wmake command.
Then you can run XiFoam as you like
Bye
Tommaso

pratap March 15, 2006 09:51

Thanks for your response, H
 
Thanks for your response,

However I have more problems if you consider the bEqn.h

The equation reads like this

fvScalarMatrix bEqn
(
fvm::ddt(rho, b)
+ mvConvection->fvmDiv(phi, b)
+ fvm::div(phiSt, b, "div(phiSt,b)")
- fvm::Sp(fvc::div(phiSt), b)
- fvm::laplacian(turbulence->muEff(), b)
);

The term which responsible for the reaction rate is the follwing
fvm::div(phiSt, b, "div(phiSt,b)")
- fvm::Sp(fvc::div(phiSt), b)

The wellers model close of the reaction rate is
phiSt*|grad(b)|. So does this means that

fvm::div(phiSt, b, "div(phiSt,b)")
- fvm::Sp(fvc::div(phiSt), b)=phiSt*|grad(b)|

If this the case can you tell me why do we need to decompose the phiSt*|grad(b)| into a im0plicit source term fvm::Sp(fvc::div(phiSt) and the other term.

I also have a general question. When I make my new class application do I have to compile on 32 and 64 bit machine separately before I can use them on 64 and 32 bit machine.

Thanks in advance

Pratap

vijayakumar January 20, 2009 00:12

hi i am new to openfoam, i am
 
hi i am new to openfoam, i am solving one combustion problem.. block mesh dict is shown below.. i used XIFOAM as solver... while running the case the errors are

Creating turbulence model

Selecting turbulence model kEpsilon
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib64/libc.so.6"
#3 Foam::compressible::turbulenceModels::kEpsilon::kE psilon(Foam::GeometricField<do uble,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#4 Foam::compressible::turbulenceModel::adddictionary ConstructorToTable<foam::compr essible::turbulencemodels::kepsilon>::New(Foam::Ge ometricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#5 Foam::compressible::turbulenceModel::New(Foam::Geo metricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#6 main in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#7 __libc_start_main in "/lib64/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"

vertices
(
(0 0 0)
(0 0.5 0)
(14 0 0)
(14 0.5 0)
(180 0 0)
(180 0.5 0)
(0 22.5 0)
(180 22.5 0)
(0 0 1)
(0 0.5 1)
(14 0 1)
(14 0.5 1)
(180 0 1)
(180 0.5 1)
(0 22.5 1)
(180 22.5 1)
);

blocks
(
hex (0 2 3 1 8 10 11 9) (14 1 1) simpleGrading (1 1 1)
hex (2 4 5 3 10 12 13 11) (166 1 1) simpleGrading (1 1 1)
hex (1 5 7 6 9 13 15 14) (180 22 1) simpleGrading (1 1 1)
);

edges
(
);

patches
(
patch inlet1
(
(1 9 14 6)
)
patch inlet2
(
(0 8 9 1)
)
patch outlet
(
(5 13 15 7)
)
wall topwall
(
(6 14 15 7)
(1 9 11 3)
)
wall bottomwall
(
(0 8 10 2)
(2 10 12 4)
)
empty frontandback
(
(8 9 11 10)
(0 1 3 2)
(9 14 15 13)
(1 6 7 5)
(10 11 13 12)
(2 3 5 4)
)
);

mergePatchPairs
(
);
please can u tell where i am going wrong... i am doing methane combustion.

vijayakumar January 20, 2009 00:23

hi i am new to openfoam, i am
 
hi i am new to openfoam, i am solving one combustion problem.. block mesh dict is shown below.. i used XIFOAM as solver... while running the case the errors are

Creating turbulence model

Selecting turbulence model kEpsilon
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib64/libc.so.6"
#3 Foam::compressible::turbulenceModels::kEpsilon::kE psilon(Foam::GeometricField<do uble,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#4 Foam::compressible::turbulenceModel::adddictionary ConstructorToTable<foam::compr essible::turbulencemodels::kepsilon>::New(Foam::Ge ometricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#5 Foam::compressible::turbulenceModel::New(Foam::Geo metricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#6 main in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#7 __libc_start_main in "/lib64/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"

vertices
(
(0 0 0)
(0 0.5 0)
(14 0 0)
(14 0.5 0)
(180 0 0)
(180 0.5 0)
(0 22.5 0)
(180 22.5 0)
(0 0 1)
(0 0.5 1)
(14 0 1)
(14 0.5 1)
(180 0 1)
(180 0.5 1)
(0 22.5 1)
(180 22.5 1)
);

blocks
(
hex (0 2 3 1 8 10 11 9) (14 1 1) simpleGrading (1 1 1)
hex (2 4 5 3 10 12 13 11) (166 1 1) simpleGrading (1 1 1)
hex (1 5 7 6 9 13 15 14) (180 22 1) simpleGrading (1 1 1)
);

edges
(
);

patches
(
patch inlet1
(
(1 9 14 6)
)
patch inlet2
(
(0 8 9 1)
)
patch outlet
(
(5 13 15 7)
)
wall topwall
(
(6 14 15 7)
(1 9 11 3)
)
wall bottomwall
(
(0 8 10 2)
(2 10 12 4)
)
empty frontandback
(
(8 9 11 10)
(0 1 3 2)
(9 14 15 13)
(1 6 7 5)
(10 11 13 12)
(2 3 5 4)
)
);

mergePatchPairs
(
);
please can u tell where i am going wrong... i am doing methane combustion.

gschaider January 20, 2009 12:25

Hi Vijayakumar! Almost cert
 
Hi Vijayakumar!

Almost certainly the problem is that you have intial and/or boundary conditions with the value 0 for epsilon and/or k

Something that is also certain is that nobody will answer your questions anymore if you continue to post the same question to multiple (possibly unrelated) threads

Bernhard

PS: on the positive side: you provided a stack-trace, which made the diagnosis of the problem possible. So things are improving. If you could only try to post a question to only 1 thread ....

vijayakumar January 21, 2009 00:10

hi Bernhard sir i will post my
 
hi Bernhard sir i will post my problem to this thread itself. i solved this problem in fluent, but in foam from SIX weeks i am trying to solve the above combustion problem, in XIFOAM solver some field variables i can't define, how these variables to be defined (P, T,k, epsilon, tu, ft, fu, b, xi, su) my inlet conditions are... air inlet 0.5 m/s at 300k. fuel inlet 80m/s at 300k, wall tempr is 300k,
i am defining k like this
k = 3/2*(0.5)2 = 0.375 m2 /s2 for air inlet

and epsilon as
&epsilon;=Cµ^0.75*k^1.5/L

i am giving outlet pr as 0pa
i am defining u as 0.5m/s for airinlet and 80 m/s for fuel inlet ... while running the case it is showing error message
Creating turbulence model

Selecting turbulence model kEpsilon
#0 Foam::error::printStack(Foam::-Ostream&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib64/libc.so.6"
#3 Foam::compressible::turbulenceModels::kEpsilon::kE psilon(Foam::GeometricField<do > const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#4 Foam::compressible::turbulenceModel::adddictionary ConstructorToTable<foam::compr >::New(Foam::GeometricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#5 Foam::compressible::turbulenceModel::New(Foam::Geo metricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#6 main in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#7 __libc_start_main in "/lib64/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"


please tell where i am going wrong, how to correct it.

joe_ January 22, 2009 04:06

Hello everybody! I am worki
 
Hello everybody!

I am working with the engineFoam tutorial trying to simulate the ignition process. My problem is about these ignitionSites in the constant/combustionProperties file.
For each ignitionSite the user has to set values for:

location
diameter
start
duration
strength

I understand the meaning and what dimensions are used in the first four, but not the one with strength. What kind of measure is it? Energy? What dimension?
I really need this information and I have been searching through the forum. I have also read "The Development of a New Flame Area Combustion Model Using Conditional Averaging" report by Henry Weller that this model is built on without success.

So if you know anything about it or where I can find information I would be very happy.

gschaider January 22, 2009 16:13

Hi Vijayakumar! I have zero
 
Hi Vijayakumar!

I have zero experience with XiFoam so I can only guess here.

Your inlet k-epsilon at the inlet seems fine, but check whether k or epsilon are 0 somewhere else (on the internalField or some othere boundary). Usually that is the problem when the k-eps fails. Fluent protects you from such stuff but OpenFOAM does not (it is CFD for responsible adults)

On the other hand: I was on the impression that XiFoam is a compressible solver. So I'm amazed that it didn't fail while creating the thermophysical model with an absolute pressure of 0 on some boundary

Bernhard

vijayakumar January 28, 2009 00:26

hi i am new to openfoam, i am
 
hi i am new to openfoam, i am solving one combustion problem.. block mesh dict is shown below.. i used XIFOAM as solver... while running the case the errors are coming


vertices
(
(0 0 0)
(0 0.5 0)
(14 0 0)
(14 0.5 0)
(180 0 0)
(180 0.5 0)
(0 22.5 0)
(180 22.5 0)
(0 0 1)
(0 0.5 1)
(14 0 1)
(14 0.5 1)
(180 0 1)
(180 0.5 1)
(0 22.5 1)
(180 22.5 1)
);

blocks
(
hex (0 2 3 1 8 10 11 9) (14 1 1) simpleGrading (1 1 1)
hex (2 4 5 3 10 12 13 11) (166 1 1) simpleGrading (1 1 1)
hex (1 5 7 6 9 13 15 14) (180 22 1) simpleGrading (1 1 1)
);

edges
(
);

patches
(
patch inlet1
(
(1 9 14 6)
)
patch inlet2
(
(0 8 9 1)
)
patch outlet
(
(5 13 15 7)
)
wall topwall
(
(6 14 15 7)
(1 9 11 3)
)
wall bottomwall
(
(0 8 10 2)
(2 10 12 4)
)
empty frontandback
(
(8 9 11 10)
(0 1 3 2)
(9 14 15 13)
(1 6 7 5)
(10 11 13 12)
(2 3 5 4)
)
);

mergePatchPairs
(
);
please can u tell where i am going wrong... i am doing methane combustion.
i am trying to solve the above combustion problem, in XIFOAM solver some field variables i can't define, how these variables to be defined (P, T,k, epsilon, tu, ft, fu, b, xi, su) my inlet conditions are... air inlet 0.5 m/s at 300k. fuel inlet 80m/s at 300k, wall tempr is 300k,
i am defining k like this
k = 3/2*(0.5)2 = 0.375 m2 /s2 for air inlet

and epsilon as
&epsilon;=Cµ^0.75*k^1.5/L

i am giving outlet pr as 0pa
i am defining u as 0.5m/s for airinlet and 80 m/s for fuel inlet ... while running the case it is showing error message


Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib64/libc.so.6"
#3 Foam::compressible::turbulenceModels::kEpsilon::kE psilon(Foam::GeometricField<do uble,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#4 Foam::compressible::turbulenceModel::adddictionary ConstructorToTable<foam::compr essible::turbulencemodels::kepsilon>::New(Foam::Ge ometricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#5 Foam::compressible::turbulenceModel::New(Foam::Geo metricField<double,> const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&, Foam::basicThermo&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libcompressibleTur bulenceModels.so"
#6 main in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#7 __libc_start_main in "/lib64/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"

viji February 18, 2009 00:58

hi how and were to define bou
 
hi
how and were to define boundary condition of separate inlets for air and fuel in a combustion problem.. i am working in XIfoam

viji February 25, 2009 00:44

Exec : XiFoam /home/openfoam
 
Exec : XiFoam /home/openfoam14/OpenFOAM/openfoam14-1.4.1/run/OPprashant 111222333
Date : Feb 25 2009
Time : 16:42:04
Host : shani
PID : 5828
Root : /home/openfoam14/OpenFOAM/openfoam14-1.4.1/run/OPprashant
Case : 111222333
Nprocs : 1
Create time

Create mesh for time = 0

Reading combustion properties

Found ignition cells:

214
(
13
3
4
5
6
7
8
9
10
11
12
14
15
16
17
18
19
20
21
22
23
24
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1991
1992
1993
1994
1995
1996
)


Ignition on

Reading environmentalProperties
Reading thermophysical properties

Selecting thermodynamics package hhuMixtureThermo<homogeneousmixture<consttransport <speciethermo<hconstthermo<per fectgas>>>>>
min(b) = 1

Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting turbulence model kEpsilon
Creating field DpDt

#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib64/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 void Foam::divide<foam::fvspatchfield,>(Foam::Geometric Field<double,>&, Foam::GeometricField<double,> const&, Foam::GeometricField<double,> const&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#5 Foam::tmp<foam::geometricfield<double,> > Foam::operator/<foam::fvspatchfield,>(Foam::GeometricField<double ,> const&, Foam::tmp<foam::geometricfield<double,> > const&) in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#6 main in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"
#7 __libc_start_main in "/lib64/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/openfoam14/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/XiFoa m"

i am solving combustion problem using XIFoam solver the above error is coming, how to overcome that error....


All times are GMT -4. The time now is 13:43.