
[Sponsors] 
February 21, 2020, 06:52 
BlastFoam Question

#1  
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Quote:
Dear Peter, Thanks for sharing your valuable solver. I have a couple of questions: 1 As you know, the explosion is a turbulent phenomenon, but I didn't find any thing about it in the documents, and in tutorials files. Is your solver developed for turbulent flow regime? If yes, which turbulence model is used? 2 Can we have BKW equation of state, to compare the results of explosion with ideal gas, and JWL? 3 I want to simulate the blast wave created after an explosive. Before starting my simulations, I want to validate my solution with the experiments, and numerical investigations of Sklavounos, and Rigas which is published as: Computer simulation of shock waves transmission in obstructed terrains, Journal of Loss Prevention in the Process Industries 17 (2004) 407–417. At first, I developed the sonicFoam to use the explosion energy release (Er) within the domain was given through a properly adapted step function under the form of Eq. 4.1 of the paper (I should do that for your solver). But I couldn't get good results. After that I tried to run the case with blastFaom. However, I couldn't set the case! I have attached main case, which is simulated using sonicFoam to this message. http://uupload.ir/view/no2_02.1perfectgas.rar/ Best regards, Ali Last edited by Tobi; February 27, 2020 at 12:49. 

February 21, 2020, 13:33 

#2 
Member
Peter
Join Date: Feb 2015
Location: New York
Posts: 71
Rep Power: 7 
Hi Ali,
First, thank you for your interest in blastFoam! Based on the description and reference problem you are looking to solve, blastFoam is definitely the right solver. Furthermore, having reviewed the reference you provided, you should expect significantly better results than Sklavonous and Rigas reported (more on this), as they are using quite a nonstandard method, and the assumptions, code and numerical methods are not appropriate to model this type of flow. In answer to your specific questions: 1. If you are looking to model and reproduce experimental results presented in Sklavonous and Rigas, turbulence will not be an important consideration. Having said that, if you want to explore the effect of turbulence, the upcoming blastFoam public release (forthcoming in 2020) will allow you use all the standard turbulence models available in OpenFOAM (e.g., KE, etc.) , in the standard way, with blastFoam. 2. The short answer is yes. Long answer: We have not yet implemented the BKW EOS, but it is straightforward to extend blastFoam to add this EOS, and there are no technical reasons why it is not possible. We will likely do this at some point during 2020. But I would encourage you to use the existing EOSs as a guide, add it, and send us a pull request so we can merge your work with the public release! We would be happy to help you out in any way that we can. 3. We extensively validate blastFoam for this type of problem  and I'm glad you're looking to do the same! blastFoam is the right solver for this application, and has been validated quite extensively for exactly the type of experimental setup presented in the reference from Sklavonous and Rigas. So, the method used by Sklavounos and Rigas is quite a bit different than the approach we have taken with blastFoam; and is not one that I would recommend. I've only had a few minutes to scan the paper, but some key differences seem to be that they utilized an implicit scheme (first and second order backward Euler are mentioned), we use explicit 2nd, 3rd, and 4th order time integration. Sklavonous and Rigas seem to have used an ideal gas and with energy added at a certain rate. We use a multifluid model (e.g. JWL + ideal gas) to model the expansion and propagation of the detonation products and subsequent blast waves. They also have emphasized buoyancy and conduction, which at these speeds, are not relevant. In summary, I would suggest: 1. Run the tutorial cases and modify them to the specific scenario you are looking to model. Use the JWL model, correctly initialized with energy/density, and with coefficients (many available in the open literature for PE4). When you are familiar with the models and case setup, I would suggest adapting an existing case to the experimental setup presented in Sklavonous and Rigas, with gages at the referenced locations. 2. blastFoam User Guide has practical as well as theoretical documentation of the equations implemented and the equations of state (e.g. JWL, etc.); the differences between Sklavonous and Rigas and our model are clear (and very important!). Finally, we are offering several free blastFoam workshops at international conferences this year, which will cover how to run blastFoam, theory, etc.: May 13: International Conference on Protective Structures (ICPS6), Auburn University, AL, USA (http://www.eng.auburn.edu/icps6/shortcourses.html) June 2225: OpenFOAM Workshop, Arlington, VA, USA (http://www.cpe.vt.edu/ofw15/) June 22: Structures under Shock and Impact 2020, Lisbon, Portugal (https://www.wessex.ac.uk/conferences/2020/susi2020) Nov 1520: Military Aspects of Blast and Shock (MABS 26), Wollongong, Australia (https://www.mabs26.com/) [TBC] Again, I hope this helps! Please let me know if you have any additional questions. Kind regards, Peter Vonk Synthetik Applied Technologies https://github.com/synthetiktechnologies/blastfoam 

February 22, 2020, 01:35 

#3  
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Quote:
Thanks for your complete answer. 1 Could you please explain why turbulence is not important for the Sklavonous and Rigas problem? Does it mean that the results of solution in laminar flow regime is as the same as the turbulent regime? 2 it's my pleasure to collaborate with your group. of coarse I will try to implement the BKW EOS on you package, if I can. 31 It seems that the differences you mentioned, are not important, doesn't it? In the other hand, blastFoem is more exact than the solver they have used. right? 32 When I saw the balstFoam.C and other code beside that, but I didn't find the momentum, energy, and turbulence equations. How can we find them? In the sonicFoam I changed the EEqn.H such as: Code:
{ dimensionedScalar tt = runTime; volScalarField SE = (Vcj*denE*dHp/rDET)*pos((ttti)*(tttF)/pow(tc,2))*pos(rDETmag(mesh.C()r0)); if (SoTerm.value() == 1) // CULLIS { dimensionedScalar Mp = Pex*tF/dHp; dimensionedScalar Vol = Mp/denE; // The Volume of Explosive Sphere (m3) dimensionedScalar dVdt = 4*3.14*pow(Vcj,3)*pow(tt,2); volScalarField SE = denE*dHp/Vol*dVdt*pos((ttti)*(tttF)/pow(tc,2))*pos(rDETmag(mesh.C()r0)); } else // Sklavounos { volScalarField SE = (Vcj*denE*dHp/rDET)*pos((ttti)*(tttF)/pow(tc,2))*pos(rDETmag(mesh.C()r0));//*pos(mag(mesh.C()r0)); } //volScalarField SE = (denE*dHp/tF)*pos((ttti)*(tttF)/pow(tc,2))*pos(rDETmag(mesh.C()r0));//*pos(mag(mesh.C()r0)); // pos: positive func, [pos] = 1  pos(s)=1, if s>=0, pos(s)=0, if s<0 > [SE] = [Pex] fvScalarMatrix EEqn ( fvm::ddt(rho, e) + fvm::div(phi, e) // [e] = m2/s2, [ddt(rho, e)] = kg/(m.s3) = (J/m3.s) + fvc::ddt(rho, K) + fvc::div(phi, K) + fvc::div(fvc::absolute(phi/fvc::interpolate(rho), U), p, "div(phiv,p)")  fvm::laplacian(turbulence>alphaEff(), e)  SE == fvOptions(rho, e) ); EEqn.relax(); fvOptions.constrain(EEqn); EEqn.solve(); fvOptions.correct(e); thermo.correct(); } I wanted to run the tutorials, but I faced with divergence in solution of every problem, as you can see in the below picture. I didn't changed none of the properties or settings of the tutorials' problems: Also, I tried to simulate the Sklavonous and Rigas problem using the developed sonicFoam solver, but it didn't give me the correct results! In pictures, you can see the results of 3D simulations of Guage 1 and 2 , and 2D simulation in Guage, receptively: The properties are presented here: Code:
Explosion { QDET QDET [0 2 2 0 0 0 0] 4230E3; // Eplosive Energy per mass (J/kg) Vcj Vcj [0 1 1 0 0 0 0] 6940; // Burning Velocity rDET rDET [0 1 0 0 0 0 0] 0.23; // The Radius of Explosive Sphere (m) r0 r0 [0 1 0 0 0 0 0] (0 0 0); // The Position Vector of Explosion point (m) denE denE [1 3 0 0 0 0 0] 1650; // The Density of Explosive material (kg/m3) ti ti [0 0 1 0 0 0 0] 0; // The Start Time of Explosion tF tF [0 0 1 0 0 0 0] 144E07; // The End Time of Explosion Pex Pex [1 2 3 0 0 0 0] 3.6e11; // The Explosion Power } Regards, Ali 

February 22, 2020, 16:06 

#4 
Member
Peter
Join Date: Feb 2015
Location: New York
Posts: 71
Rep Power: 7 
Hi Ali,
No problem, happy to help! So, in answer to your questions: I would suggest that the physical experiment presented in Sklavonous and Rigas is interesting, and that you should focus on replicating the test gage results (not their numerical modeling approach). And it’s not that “turbulence is not important”, rather, that the numerical method and code that Sklavonous and Rigas used doesn’t seem to capture even the most fundamental, important physics of the problem — so working with turbulence models is kind of superfluous. At a very basic level for this type of problem (e.g. airblast, farfield, shock propagation), you need to a) expand the detonation product gases (or a model of them) to generate blast waves and b) propagate these through the surrounding media (e.g. air), and c) capture their interaction with the boundaries (e.g. reflected pressures at the gage locations). Sounds great! Looking forward to see how it goes! 3.1 It’s not that blastFoam is more “exact”, its just that it is designed to solve a completely different class of problem and has all the appropriate models and schemes to do so — and also happens to be what you’re looking to solve :) 3.2 blastFoam is structured a bit differently than other OpenFOAM solvers. This makes the solver more complex, but also more adaptable to the type of problems we’re working on (e.g. blast, shock, highexplosive detonation, reactive flow, etc.). I would suggest some combination of: a) read the blastFoam User Guide (the variable names etc. are kept consistent, so it will be easy to follow along in the code) and maybe a good book on air blast (Needham, C. Blast waves. New York, NY: Springer Science+Business Media, 2017 is a good place to start), b) have a look at the compressibleSystem in the blastFoam repo to see how the equations are implemented, and c) attend one of the free courses that we’re offering this year (on three continents, Europe, North America, and Australia), which will give you an opportunity to talk with some of the development team! sonicFoam: I really can’t comment on what you’re implementing in sonicfoam, only that sonicfoam is definitely not the right solver for this class of problem, and if I were you, I wouldn’t waste anymore effort with it or the methods in the Sklavonous and Rigas paper (just my advice). blastFoam Tutorial: With respect to the blastFoam tutorial case. I just cloned the repo and ran it without any modifications — the run finished without issue. Without detailed logs, its difficult to see, but based on the screenshot it looks like its an “OpenFOAM dynamicmesh ” issue, rather than a “blastFoam” issue. Try running the case on a static mesh and see how it goes :) I would encourage you to adapt this tutorial case (e.g. building3D) to the experiment that you’re looking to model. Make incremental changes, start with the geometry, then charge location, then JWL coefficients etc., and I think you’ll find it quite straightforward  just like any other OpenFOAM solver :) I hope this helps! Kind regards, Peter Vonk Synthetik Applied Technologies https://github.com/synthetiktechnologies/blastfoam 

February 24, 2020, 10:50 

#5  
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Quote:
Dear Peter, Thank you. That was really helpful. Yes, omitting the dynamic mesh solved the divergence problem. May I ask you what the dimension of "E0" is in "MieGruneisenEOSProperties" file? Does the solver, simulate the explosion, using the "compressed baloon" method? if not, what is the method? As I told you, I want to implement the explosion energy source term to energy equation, which is suggested by Sklavounos as following: I followed the equations of the solver, and I faced with the object "fluid", which can return U, phi, rho, and p by U(), phi(), etc. functions, that are the member functions of "phaseCompressibleSystem" class. However, I couldn't find the these functions in "blastfoam/blastfoammaster/src/compressibleSystem" address, to add the Er to energy equation! Regards, Ali 

February 25, 2020, 22:53 

#6 
Member
Peter
Join Date: Feb 2015
Location: New York
Posts: 71
Rep Power: 7 
Hi Ali,
In answer to your questions: 1) E0 is in units of pressure. 2) No, the “compressed balloon” method is not really a valid approach to modeling highexplosive detonation. We instead use an appropriate equation of state to model the activation, expansion (and optionally, afterburn) of the detonation products (e.g. with the JWL EOS) and their interaction with the surrounding media (e.g. ideal gas for air, for example). Activation via a prescribed detonation velocity is currently available in the public release (e.g. simple radial activation from a set of initiation points), as is instantaneous activation. Other models (e.g. JWL++) have already been implemented and validated, and will be released in concert with our papers and conference presentations later this year. 3) I can’t really comment on the implementation that you’re trying to follow, other than to say that, in my opinion, given the poor results reported by the authors, it doesn’t really seem to be worth reproducing. However, if you wish to pursue that line of investigation, you might have a look at the afterburn models, which include a functionalized energy term, and may provide a good template to follow and expand upon. Kind regards, Peter Synthetik Applied Technologies blastFoam.org  https://github.com/synthetiktechnologies/blastfoam 

February 27, 2020, 10:30 

#7  
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Quote:
Thanks for your reply. 1 It seems that E0 is the initial pressure of detonation, and is the main parameter in explosion simulations. Could you please explain more about "E0", and how to calculate it for every problem? 2 According to what you mentioned, the Sklavounos paper is not as appropriate as a validations case. However, I should simulate the explosion phenomenon, with idealGas, JWL, ans BKW real gas models, and compare the results. As you know, I must present a validation before the main simulations. In your idea, which one of the cases, presented in tutorials folder or validation folder of balstFoam solver, is the best case for validation? 3 I thought that the explosion is a physically 3D phenomenon, and cannot be modeled 2D numerically. Nevertheless, you simulate it in both 2D, and 3D physics. Could you please tell me, if I were wrong? 4 If I want to compare the effect of EOS on the results (e.g. p distribution along a line), can I use JWL model with A = B = 0 ? Best Regards, Ali 

February 27, 2020, 11:30 

#8 
Member
Peter
Join Date: Feb 2015
Location: New York
Posts: 71
Rep Power: 7 
Hi Ali,
1. No. Have a look at the blastFoam user guide and the open literature for a detailed explanation. JLW coefficients for many common explosives are widely available in the literature; calibration from test data is not something I can cover on an online forum. There is a great deal of literature available on this topic, if you’re interested. 2. It depends on what/how you’re trying to show, measure and validate against — your method and approach are up to you. 3. Yes, it is a 3D phenomenon. We provide some “2D” example cases because they are fast to run and are illustrative of model parameters etc. 4. If you have set the coefficients and initial conditions correctly, then yes. Kind regards, Peter 

March 6, 2020, 08:50 

#10  
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Quote:
Dear Peter, Thanks for your response. There is a "validation" folder in the balstFoam package, which seems to be some cases that simulate the problems adapted from papers, and presented to validate the bkastFoam solver. However, there is no reference for those validation cases. Could you please tell every of those cases refers to what paper? Regards, Ali 

March 6, 2020, 11:11 

#11 
Member
Peter
Join Date: Feb 2015
Location: New York
Posts: 71
Rep Power: 7 
Hi Ali,
Yes, no problem! These are referenced in the Readme and User Guide, but I will update the repository and case files to make it more clear  maybe a small readme for each case would be helpful? For the "expValidation" case, see: Joachim, Charles E., Gordon W. McMahon, Christo V. Lunderman, and Sharon B. Garner. 1999. “Airblast Effects Research: SmallScale Experiments and Calculations.” DTIC Document. [Note: Read the report and note the scaling factor used by Joachim et.al., this is important if you want to compare results.] For the "blastWall" case, see: Beyer, Mary E. “Blast Loads Behind Vertical Walls.” Port Hueneme, CA, USA: Naval Civil Engineering Laboratory, 1986. [Note: you will want to increase the run time to around 0.51sec if you want to capture impulse, and modify the volume dump frequency in the controlDict; this case can take some time to run.) Both of these documents are in the public domain and are publicly available. Kind regards, Peter Vonk Synthetik Applied Technologies https://github.com/synthetiktechnologies/blastfoam 

March 6, 2020, 11:55 

#12  
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Quote:
I'm really sorry to take your valuable time! I had not found anything about them in the user guide (maybe mine is old!), and also I haven't checked the readme. Thank you for sharing the references. Regards, Ali 

March 25, 2020, 08:10 

#13 
Senior Member
A. Min
Join Date: Mar 2015
Posts: 270
Rep Power: 8 
Hi foamers,
I want to run the "blastWall" case which is located in the "validation" folder of blastFoam solver. However, because of a lack of memory, the problem became diverged! I reduced the bellow parameters in the "setFieldDict" file to decrease the created cells in each timeStep, but it diverged in a higher timeStep, and the problem didn't complete! Code:
field alpha.c4; maxCells 1; // 100000; maxRefinement 1; // 4; nBufferLayers 1; Thanks 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Question about symmetry in Autodesk Cfd 2016  ecto  Autodesk Simulation CFD  0  October 20, 2015 04:16 
small question about the functionalities of topological changes in OpenFoam  ngj  OpenFOAM Running, Solving & CFD  2  February 28, 2013 10:02 
Question Re Engineering Data Source  imnull  ANSYS  0  March 5, 2012 13:51 
internal field question  PitzDaily Case  atareen64  OpenFOAM Running, Solving & CFD  2  January 26, 2011 15:26 
Poisson Solver question  Suresh  Main CFD Forum  3  August 12, 2005 04:37 