CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   New solver: ddtFoam (https://www.cfd-online.com/Forums/openfoam-programming-development/122668-new-solver-ddtfoam.html)

dohnie August 25, 2013 07:30

New solver: ddtFoam
 
2 Attachment(s)
Dear Foamers,
I developed an OpenFOAM solver for the simulation of the deflagration-to-detonation transition in gases.
Some features:
  • accurate shock capturing with a density based solver (largely based on Oliver Borm's development densityBasedTurbo)
  • deflagration modelling via a reaction progress variable (based on XiFoam)
  • auto-ignition sub-grid model separating each computational cell into a "shocked" and an "unshocked" part
  • auto-ignition from tabulated ignition delay times, gained from a detailed chemical mechanism
  • low computational cost due to applicability to coarse grids and usage of pre-tabulated chemistry
Even if you're not interested in detonations/combustion, it might be a nice alternative to existing OpenFOAM solvers when it comes to shock resolution in transonic flows.

The code incl. a short documentation and tutorials can be downloaded from
http://sourceforge.net/projects/ddtfoam/

ChrisA August 27, 2013 13:56

Great work, I haven't had much time to look at it but from first glances the solver looks pretty good. The guys at my lab working on deflagration to detonation will certainly find it interesting. Is there going to be a paper to accompany the solver? I'd be very interested in reading that and seeing some results from the solver.

dohnie August 27, 2013 14:11

Chris,
I have a paper in preparation, but at the moment I can only refer to my thesis (in German, unfortunately):
Effiziente numerische Simulation des Deflagrations-Detonations-Übergangs.pdf
[8.6 MB]

ChrisA August 27, 2013 14:14

Ah, yes, I found the thesis shortly after posting that, unfortunately my German is terrible. However, I do look forward to the other paper you mentioned :)

uwknight October 30, 2013 05:46

Hi dohnie,

Thanks for your sharing this good solver. I am working on this ddt solvers.

Do you HAVE some ideads about how to change the reaction model? Can I use this code to simulate the problem about oblique detonation wave? Could you give me some comments? You comments should be very useful to me. Thanks a lot.

Btw, shall I have your email? You can reply me using priviate message. Thanks.

Best regards,

Yue

dohnie November 11, 2013 14:38

Yue,
sorry for the late reply, I don't work on this topic any longer.
You can use this solver to simulate oblique detonations as well, and of course you can also modify the reaction model.
From your short description I cannot see what kind of problem you really want to simulate, but it seems to me that you are not interested in simulating the deflagration-to-detonation transition. Thus, if you want to investigate only detonations (probably even looking for steady solutions?), you might be better off using simpler solvers. For example you could use a compressible solver (like rhoCentralFoam) and add 1-step Arrhenius kinetics - the publications of Elaine Oran et al. might give you some orientation.

I hope that helps!
Florian

uwknight November 21, 2013 03:39

[QUOTE=dohnie;461587]Yue,
sorry for the late reply, I don't work on this topic any longer.
You can use this solver to simulate oblique detonations as well, and of course you can also modify the reaction model.
From your short description I cannot see what kind of problem you really want to simulate, but it seems to me that you are not interested in simulating the deflagration-to-detonation transition. Thus, if you want to investigate only detonations (probably even looking for steady solutions?), you might be better off using simpler solvers. For example you could use a compressible solver (like rhoCentralFoam) and add 1-step Arrhenius kinetics - the publications of Elaine Oran et al. might give you some orientation.

I hope that helps!
Florian[/QUOTE

Hi Florian,

Thanks for your reply. I would do some works on your mentioned.

Yue

lengshui222 November 28, 2013 02:47

[QUOTE=uwknight;462854]
Quote:

Originally Posted by dohnie (Post 461587)
Yue,
sorry for the late reply, I don't work on this topic any longer.
You can use this solver to simulate oblique detonations as well, and of course you can also modify the reaction model.
From your short description I cannot see what kind of problem you really want to simulate, but it seems to me that you are not interested in simulating the deflagration-to-detonation transition. Thus, if you want to investigate only detonations (probably even looking for steady solutions?), you might be better off using simpler solvers. For example you could use a compressible solver (like rhoCentralFoam) and add 1-step Arrhenius kinetics - the publications of Elaine Oran et al. might give you some orientation.

I hope that helps!
Florian[/QUOTE

Hi Florian,

Thanks for your reply. I would do some works on your mentioned.

Yue

Hi Yue,

I want to work on this ddt solvers, but when I am installing it, it shows some mistake like "expected unqualified-id before '.' token". Have you met the similar mistake when you were installing the ddt solver? Can you show me the detailed steps of installing this solver, if you remember the installing steps? Thank you very much.

Best regards,

Zhong

cfdsat February 4, 2014 06:00

Hi Dohnie
 
You have used two different solver one based on densityBasedTurbo solver package and other based on sonicFoam. What is your experience regarding which one is best for solving compressible and DDT and detonation problems.

I have got your PhD thesis, since it is written in German, I am not able to understand it. Could you please provide me a link to your papers if published ?

dohnie February 11, 2014 15:18

The density based solver is definitely better for simulating DDT and detonation.
I use the pressure based solver only to get an initial solution for unsteady problems where I start in quiescent or very low-speed (Mach number < 0.1) flow, because the density based solver tends to get unstable at very low Mach numbers.

I have prepared a journal paper which is currently in the review process. I'll let you know once it has been accepted.

Regards,
Florian

cfdsat February 12, 2014 05:03

Hi Dohnie

Thanks for the comments. Which openfoam version did you run this solver ?

Can you already send me the pdf file of the publication you have submitted ?

dohnie June 2, 2014 05:56

Paper published
 
Dear all,
a paper describing the features of ddtFoam has now been published:

http://www.hindawi.com/journals/jc/2014/686347/

Florian Ettner, Klaus G. Vollmer, and Thomas Sattelmayer, “Numerical Simulation of the Deflagration-to-Detonation Transition in Inhomogeneous Mixtures,” Journal of Combustion, vol. 2014, Article ID 686347, 14 pages, 2014. doi:10.1155/2014/686347

anh065 June 5, 2014 10:08

Great. Thanks, Florian, for sharing this. I would want to apply this code to problems with non-confined domains and wonder what types of boundary condition should be applied to the open (non-reflective) boundaries?

dohnie June 7, 2014 15:42

Dear Anh,
you should get the best result by using the waveTransmissive BC.
However, this will require some extra programming work. The standard wave transmissive BC in OpenFOAM is based on the assumption of a constant ratio of specific heats (gamma) and a flux field which is called phi in most OpenFOAM solvers. In ddtFoam, where the fluxes are computed using a Riemann solver, this flux corresponds to Riemann.rhoUFlux() divided by Riemann.rhoFlux().
I hope that helps!
Florian

panda1100 June 11, 2014 03:21

Dear dohnie,

Thank you for sharing this great work:)

Is there any information about how to change H2+air to Diesel mixture?
And If its possible, Can you share your utility codes?
for example,
  • loolupIgn_06.m
  • automaticSetFields_tfc_zu_Grad3s_03.c etc
I want to try this solver with another type of gas.
(I tried your tutorial and that works pretty good.)

Any information you can provide me would be greatly appreciated.
I wish I could read German...
panda1100

dohnie June 18, 2014 04:05

Dear Yoshiaki,
in principle you just have to replace the tabulated ignition delay times in the respective case. However, you should be aware that the heat release of long-chained hydrocarbons is not as instantaneous as the heat release of hydrogen.
See, for example:
O. Colin, A. Pires da Cruz and S. Jay: "Detailed Chemistry-Based Auto-Ignition Model Including Low Temperature Phenomena Applied to 3-D Engine Calculations", Proceedings of the Combustion Institute, Vol.30, pp.2649-2656 (2005)

Send me your e-mail address in a PM and I can send you the files you requested.

Regards,
Florian

panda1100 June 19, 2014 00:12

Dear Florian,

Thank you so much for your advice and your help.
I sent you PM with my e-mail address .

Thank you again for sparing your time for me.

Best regards,
Yoshiaki

blais.bruno June 19, 2014 08:41

Great!
 
Looks both very good and very interesting!

Thanks for posting it online this way... :)

dowlee September 1, 2014 11:26

Dear Florian Ettner
Thanks for your efforts on developing solver DDTFoam. I am very interested to this solver. And at present, I am working on a project concerning detonation combustion. In my case, the combustible mixture close to the end wall of the resonators is heated up to a temperature that creates ignition automatically. And after a short while, the flame front reaches from behind the reflected shock wave and combines with it forming a plannar detonation wave. My question is whether this solver is suitable for automatic ignition and detonation. If not, what should be modified in this solver. I am looking forward to your reply.
Thanks very much
Dowlee

dohnie September 8, 2014 12:57

Dear Dowlee,
I don't understand from your description HOW the mixture close to the end wall is heated up, but I assume it is done by a shock, as you mention a reflected shock wave later on.
I think the solver should work fine for your problem!

dowlee September 8, 2014 14:01

Hi Florian Ettner
Sorry for my poor case description. In my case, the supersonic flow enters the detonation tube from the open end of the tube, and formulates strong shock near the close end of the tube. The strong shock is reflected from the close end. The detonation is generated by the automatic ignition which happens in the event of shock-induced heat release near the close end. I should emphasize that there isn`t a deflagration-to-detonation transition, but a direct automatic ignition. So you think the solver should work fine for my problem in this case, and I can just set up the case like the tutorial provided by you.

Thanks very much.


Quote:

Originally Posted by dohnie (Post 509546)
Dear Dowlee,
I don't understand from your description HOW the mixture close to the end wall is heated up, but I assume it is done by a shock, as you mention a reflected shock wave later on.
I think the solver should work fine for your problem!


Gloq December 16, 2014 08:39

Hi Florian,

I recently tried to download the ddtfoam files to perform a few tests.

While unzipping the package, it appeared some files were password protected.

Why ?
I think without these files it is not possible to compile the code.

Thank in advance !

ecbmxer December 28, 2014 11:50

Hi guys,

I'm very interested in this solver for modeling some detonation wave combustion systems. I'm getting some errors when trying to install on OF 2.3.0 related to an issue with "fluidThermo.H". From what I saw doing some searches, there might be differences in the thermo libraries between OF 2.1 and 2.3?

Anyone installed this on 2.3?

Thanks!

-Clint

Gloq January 13, 2015 05:18

"Mea culpa", I unzipped the package with Windows and got the error messages.
If I do it with Linux, there is no problem.

Clint, I have the same problem as you.
I checked the routines of ddtfoam and plenty of them are different from the thermo routines of OF 2.3.0.
The best solution, to me, is to use a previous version of OF to test ddtfoam.

ecbmxer January 13, 2015 15:24

Gloq, that is exactly what I did. I installed OF 2.1.1 in parallel with 2.3 and created aliases to switch between the two. Surprisingly, it worked out perfectly and I can run all of the ddt routines. The parafoam integration isn't perfect between the two versions, but I just use regular paraview with 2.1.1

wyldckat March 21, 2015 13:47

Greetings to all!

@Florian: I've created a basic wiki page to help getting your solver ddtFoam known to the community that uses OpenFOAM technology: http://openfoamwiki.net/index.php/Contrib/ddtFoam

May you or anyone else feel free to update that wiki page!

Best regards,
Bruno

ZaidDulaimi March 23, 2015 11:21

Hi every one
I am trying to run the code but I am facing some problems as this is my first time using OpenFOAM.
I'll appreciate if any one explain to me how to run this tutorial and which word is used to run it.
Thank you

Londo April 16, 2015 02:40

Problem with the tutorial
 
First of all, this looks like a great solver. Thank you for sharing.

Secondly, I am trying to run the tutorial. When I reach the part of running ddtFoam, I just don't have the file. It does copy the 0.008000000 folder, but I can't find ddtFoam anywhere in the system. Are there any suggestions?

Edit: after I finish running pddtFoam, after it outputs "End" I also get the following error:

*** Error in `pddtFoam': corrupted double-linked list: 0x000000000209d9b0 ***
Aborted (core dumped)

ZaidDulaimi May 4, 2015 16:29

Quote:

Originally Posted by panda1100 (Post 496503)
Dear dohnie,

Thank you for sharing this great work:)

Is there any information about how to change H2+air to Diesel mixture?
And If its possible, Can you share your utility codes?
for example,
  • loolupIgn_06.m
  • automaticSetFields_tfc_zu_Grad3s_03.c etc
I want to try this solver with another type of gas.
(I tried your tutorial and that works pretty good.)

Any information you can provide me would be greatly appreciated.
I wish I could read German...
panda1100

Hi Dohnie,Yoshiaki
Thank you for this great work
I am trying to work on different kind of fuel, would you help me by sharing the utility codes?
Thank you in advance

Zaid

Howard June 1, 2015 10:11

Quote:

Originally Posted by dohnie (Post 447908)
Dear Foamers,
I developed an OpenFOAM solver for the simulation of the deflagration-to-detonation transition in gases.
Some features:
  • accurate shock capturing with a density based solver (largely based on Oliver Borm's development densityBasedTurbo)
  • deflagration modelling via a reaction progress variable (based on XiFoam)
  • auto-ignition sub-grid model separating each computational cell into a "shocked" and an "unshocked" part
  • auto-ignition from tabulated ignition delay times, gained from a detailed chemical mechanism
  • low computational cost due to applicability to coarse grids and usage of pre-tabulated chemistry
Even if you're not interested in detonations/combustiHion, it might be a nice alternative to existing OpenFOAM solvers when it comes to shock resolution in transonic flows.

The code incl. a short documentation and tutorials can be downloaded from
http://sourceforge.net/projects/ddtfoam/

Hi, friend, Could I ask that if this ddtFoam can work for ordinary combustion simulation? Because I want to use detailed chemistry using XiFOAM method.

nguyenvanbo August 27, 2015 04:24

please helps
 
Quote:

Originally Posted by panda1100 (Post 496503)
Dear dohnie,

Thank you for sharing this great work:)

Is there any information about how to change H2+air to Diesel mixture?
And If its possible, Can you share your utility codes?
for example,
  • loolupIgn_06.m
  • automaticSetFields_tfc_zu_Grad3s_03.c etc
I want to try this solver with another type of gas.
(I tried your tutorial and that works pretty good.)

Any information you can provide me would be greatly appreciated.
I wish I could read German...
panda1100

Dear Dohnie and Yoshiaki,
I have downloaded the ddtfoam solver, it works perfectly for the H2-Air as shown in tutorial. it also work well for the homogeneous fuel (H2/Air) as well as different geometry.
However, when i try with hydrocarbon fuels it does not work. I though i may come from the way H2 ignite that differs from hydrocarbon.
Me too, i cannot read the your thesis in German so it hard for me to understand. So, if it is possible could you please share the utility codes to me? or some tips that i can run as well as understand.
Thank you very much for you kind,

Regards,
NGUYEN VAN BO
p/s: my email address is: tslngvb@nus.edu.sg

vanbonguyen March 24, 2016 11:16

Hi Florian Ettner and others,

I am doing simulation for the DDT process for JET-A fuel. I have tried your tutorial for H2/Air mixture, it works perfectly. However, when i move to JET-A fuel, it seems that i need the Cantera to generate cTable_fpT_07.csv file and LOG_tignTable_fpT_09.csv to get mass fraction of species from progress variable "c", and ignition delay time as well. In fact, i don't really understand these files and the way you generated them. So, could you please give me your suggestion or Cantera files that i can use to modify for the JET-A fuel.
Thank you very much for your kind and helps,
Regards,
NGUYEN VAN BO

dohnie March 28, 2016 15:04

Files for table generation
 
Dear Nguyen van Bo,
you can download the following files for generating theses tables:
https://sourceforge.net/projects/ddt..._06.m/download
https://sourceforge.net/projects/ddt..._05.m/download

The "tign" Matlab file generates the tabulated ignition delay times as function of pressure, temperature and fuel content of hydrogen-air mixtures (the file "LOG_tignTable_fpT_09.csv" in the ddtFoam tutorials). The command explosion(...) (line 64) works only if you install Cantera and the Detonation Toolbox for Matlab, see
http://shepherd.caltech.edu/EDL/publ...ml/SD_Toolbox/

The second file generates the cTable_fpT_07.csv in a similar manner. This table is used to get the gas composition as function of the reaction progress variable c.

I hope this helps.
Kind regards,
Florian

vanbonguyen April 12, 2016 01:52

Dear Florian,
Thank you very much for shareing the files. This help me a lot.
Regards,
NGUYEN

vanbonguyen April 13, 2016 03:15

When we apply the provided code of ddtFoam for other fuel, we need to carefully consider some polynomials, which are special developed for Hydrogen/air. Such as, SL0 = function(fH), alphaUnburned = function(fH), and muUnburned = function(fH). it seems that Florian extract it from experimental data. Correct me if i am wrong! So, could you please give us the reference(s) of this data?
Thank you very much!

vanbonguyen April 23, 2016 22:00

please helps
 
2 Attachment(s)
Hi all,
I am working with the provided ddt code for Jet-A fuel. I work perfectly with pddtFoam, all variables look quite right. However, when i move to ddtFoam solver the results still look right until the velocity approaching a value of about 700 m/s, then it is going to strange as the whole domain is burn immediately. Please see the results enclosed. Pictures for time at 0.011 seconds and at 0.111 seconds. I really do appreciate if anyone can give me your comment or suggestion! ThanksAttachment 46921

Attachment 46922

vanbonguyen May 11, 2016 05:10

I have fixed this problem.
 
Quote:

Originally Posted by vanbonguyen (Post 596408)
Hi all,
I am working with the provided ddt code for Jet-A fuel. I work perfectly with pddtFoam, all variables look quite right. However, when i move to ddtFoam solver the results still look right until the velocity approaching a value of about 700 m/s, then it is going to strange as the whole domain is burn immediately. Please see the results enclosed. Pictures for time at 0.011 seconds and at 0.111 seconds. I really do appreciate if anyone can give me your comment or suggestion! ThanksAttachment 46921

Attachment 46922

I have fixed this problem. The error comes from the ignition time. To fix it i need to open the file explosion(...) in the SDT toolbax and modified the tel=0-0.001 (old) to 0-1.0 (modification). Then, we can generate the ignition time table.So it work.

Alvin October 3, 2016 22:28

Segmentation faults in tutorial cases
 
1 Attachment(s)
Hello, I installed ddtFoam onto OpenFoam 2.1.1 (The recommended version) in a SUSE Linux environment and trying to run the tutorial cases, but segmentation faults shows up and it stopped computing. (Attached picture. This is an error for the shocktube tutorial.)
According to the previous posts in this thread, it looks like everyone is using without any issues. Is there anyone had the same issues as mine? If you had and solved it, could you share how to fix it? Any information you can provide me would be greatly appreciated.

lx882211 December 15, 2016 10:13

Quote:

Originally Posted by vanbonguyen (Post 596408)
Hi all,
I am working with the provided ddt code for Jet-A fuel. I work perfectly with pddtFoam, all variables look quite right. However, when i move to ddtFoam solver the results still look right until the velocity approaching a value of about 700 m/s, then it is going to strange as the whole domain is burn immediately. Please see the results enclosed. Pictures for time at 0.011 seconds and at 0.111 seconds. I really do appreciate if anyone can give me your comment or suggestion! ThanksAttachment 46921

Attachment 46922

i am very interested in DDT, i want to simulated this amazing phenomenon, compared with a C3H8 fuel. However, i don't know how to generate the ignition delay and other information used during the simulation. Could you tell the method or some tips about that?

Thank you very much
Best Regards

lx882211 December 15, 2016 10:36

Quote:

Originally Posted by ZaidDulaimi (Post 544969)
Hi Dohnie,Yoshiaki
Thank you for this great work
I am trying to work on different kind of fuel, would you help me by sharing the utility codes?
Thank you in advance

Zaid

Have you got the utilities? can you share the utility codes with me,thank you very much.


All times are GMT -4. The time now is 05:41.