
[Sponsors] 
October 15, 2013, 19:39 

#21 
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 14,063
Rep Power: 109 
I would not worry about the domains until you have fixed the weird inlet. You are going to get all sorts of grief from that. If the method you are usign the generate the volume is not working then try another one. For a simple geometry like this there are lots of ways you can generate the geometry.


October 22, 2013, 13:50 

#22 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Hello,
Thank you for the reply. I have fixed my model by modeling it into Gambit and then exporting into CFX.My idea is to model the smoke concetration from a surface inlet (which rises from 0 to 1 kg/m3 for about 30 seconds) and the interaction between two jet fans and Inlet Fresh air and Pressure Outflow. The reference pressure is 1 atm, Heat Transfer= Total Energy, Buoyancy efects are included with z=g and Buoyancy ref.density=1,1989 [kg/m3]. I'm running the simulation from Steady State Analysis to Transient entering two Flow Analysis and 2 configurations Steady State start of the simulation, Transient start from end of configuration(Steady State). The duration(Total time) of the Transient Analysis is 30 s. The number of Iterations for the Steady state are 100. Now I have 1 problem: 1. I have made a tutorial about jet fan modeling and smoke modeling. In this tutorial the jet fan is modeling by adding a subdomain to the jet fan volume and adding momentum source 80 [kg m2^2 s^2].I understand why this is doing(to preserve the combustion gases) but My question is: How can I transfer this 80 [kg m2^2 s^2] to flow[m3/h,kg/s] or velocity[m/s] to understand how much flow this jet fan is blowing? Thank you in advance. p.s.Attached are pictures from the tutorial. 

October 22, 2013, 20:18 

#23 
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 14,063
Rep Power: 109 
The momentum source is adding momentum. So look at what that addition of momentum does to the flow.
Momentum sources do not need to be constants. You can write momentum sources which force the flow to a particular velocity or many other things. You just have to derive the maths and off you go. 

November 4, 2013, 11:53 

#24 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Hello, thank you for the reply. I have made the simulation and run the model with the Inert source code and everything works fine but I have a problem connected with the transient running of fire and the soot source.
1.I want to make the fire transient and model the fire growth after 180 [s] it gets to the Maximum growth and after that keeps the maximum fire release for a period of time and then comes the extinction. I want the whole simulation to run in 1300 [s]. My problem is to set the expressions for the fire growth, the max Power and the extiction and especially their combining in one Expression or if it is possible to run every expression at diferent time in the transient analysis I have checked into the tutorial and they set that The power output of a transient fire tends to be described by a quadratic growth phase (P = a t^2) up to some constant maximum power (Pmax) achieved at some time (tg) which is the fire growth time. The size of the quadratic coefficient (a) determines the rate of fire growth. National Fire Protection Association (NFPA) standardized fire growth curves: Fire growth rate a (W/s^2) Slow 2.9 Medium 12 Fast 47. The fire size for the maximum power can be determined using the procedure above for a steady state fire. The power of a real fire tends to grow proportional to the cross sectional (floor) area of the fire. However, the constant of proportionality is different for differing fuels, and environmental conditions (wind, outdoor/indoor, ventilation, confinement, etc) hence the need to determine a size which gives a sensible temperature as described above. Also, real fires are typically fuelled by evaporation from a surface area, whereas the inert model described here distributes the fire power over a volume. To be consistent with the source modelling, the fire power should be set to be proportional to the source volume: FireRadius = max((FirePower/MaxPower)^(1/3) * MaxRadius, minRadius) If the fire power was to be set to be proportional to the area, the power density would be inversely proportional to the radius and grow as the radius shrinks, leading to spurious higher flame temperatures at smaller radii and the danger of extremely high power densities and temperatures at the start of the simulation (the power density would tend to infinity as the radius tends to zero). The inert fire approximation is not expected to produce accurate solutions for the flame shape or the near field region, so the particular growth law for the radius is not important. What matters is maintaining sensible flame temperatures. If more accuracy than this is required you should use a combustion model. I know how to set the Q(growth)= P*t^2 but I want to combine every thing the whole graph with the growth, the max fire and the extiction in one expression FirePower and to set this expression to be solved during the transient analysis. The graph is attatched below. My HRR is 4 MW with efficiency 0,75, because of the radiance losses. FireEfficiency = 0.75 FirePower = 4 [MW] * FireEfficiency How to combine the expressions for example to run and goes with the time in the different time steps, what should I enter: FireGrowth = a*t^2 [MW] for the period of t=0 to tg=180 [s] MaxPower= 4*0.75 [MW] for the period of t=180 to td=800[s] FireExtinction= MaxPower*exp(b(ttd)) for the period t=800 [s] to tf= 1300[s] 2.Second Question is connected with the soot modeling: I add a variable soot with the following parameters: soot Option = Definition Tensor Type = SCALAR Units = [ ] Variable Type = Specific I add the soot as a variable having a specific volumetric source in the fire region. sootYield = 0.1 FuelHeat = 15 [MJ kg^1] FuelMassSource = FirePower/FuelHeat massSource = insideSource*FuelMassSource/max(SourceVolume, minVolume) sootSource = sootYield * massSource My Question is coonnected with the Insidesource expression: insideSource = step((FireRadiusrSource)/unitL)*step((FireHeighthSource)/unitL) I have understand what the step function returns if it is positive,negative or 0. I understand why we divide by UnitL What does this expression does : It just set the region where is the fire or something else ? Thank you in advance. 

November 4, 2013, 19:35 

#25 
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 14,063
Rep Power: 109 
You can use if statements:
if(t<800[s],if(t<180[s],{function for 0180s},{function for 180800s}),{function for >800s}) I do not understand your second question. Your step function concept is the way to do it and will work. 

November 5, 2013, 06:08 

#26 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Thank you a lot for the reply.
As for the first question: Because I use the FirePower in two equations in my simulation: 1.heatSource = insideSource*FirePower/max(SourceVolume, minVolume) 2.massSource = insideSource*FuelMassSource/max(SourceVolume, minVolume) FuelMassSource = FirePower/FuelHeat And for example: I set the FireProfile Expression as follows: FireProfile=if(t<800[s],if(t<180[s],FireGrowth,MaxPower),FireExtinction) Is this Expression correct? CEL Expressions: FireGrowth= a*t^2 [MW] a= 67 [W/s^2] MaxPower=0,75*4 [MW] FireExtinction= MaxPower*exp(b(t800)) [MW] b= 0.017 [1 s^1] So my new expressions has to look like this or I am wrong: 1.heatSource = insideSource*FireProfile/max(SourceVolume, minVolume) 2.massSource = insideSource*FuelMassSource/max(SourceVolume, minVolume) FuelMassSource = FireProfile/FuelHeat As for the second question: What does this expression do? insideSource = step((FireRadiusrSource)/unitL)*step((FireHeighthSource)/unitL) Thank you in advance. 

November 5, 2013, 18:14 

#27 
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 14,063
Rep Power: 109 
I will let you do the final debugging of the CEL  I suspect you might need to do some units stuff but you can sort that out.
The insideSource expression just determines whether you are inside a cylinder with a defined height. It returns 0 if you are outside and 1 if you are inside. 

November 7, 2013, 12:26 

#28 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Thank you Sir. It works perfect after several hours of fighting with the measure units. Really appreciate all the replies. Thank you a thousand.


November 10, 2013, 08:08 

#29 
Member
Abdul Afoo Parkar
Join Date: Oct 2012
Posts: 42
Rep Power: 7 
Where did you get the part on jet fan modeling? Is it new training material? And...Would mind sharing it, CFDST?


November 10, 2013, 08:16 

#30 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Yes I have added them yet and want to refine the mesh,because I don't like the velocity and the stream profile. Now I'm going to run a big simulation for the whole model, but I waiting for a server, because my computer will run the simulation 2 days.


November 10, 2013, 08:18 

#31 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 

November 10, 2013, 10:59 

#32 
Member
Abdul Afoo Parkar
Join Date: Oct 2012
Posts: 42
Rep Power: 7 
Thanks for your reply, CFDST.
I got myself implementing this source routine some time ago. I got it to work for inert case then moved on to combusting model. All works fine. I added a quadratic growth curve as per NFPA92B where I reach 4MW at 290 s for fast fire growth and then hold it constant... that would be my worst case case scenario i.e. fire not becoming extinct. I have a few questions: 1. Are you using the inert model for your garage+jet fan analysis? 2. In what way are you not staified with the velocity and stream profile? What kind of thrust you have in ur jet fan? Many thanks! 

November 10, 2013, 18:57 

#33  
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Quote:
1.Yes I'm using the inert model for my garage+fen analysis. 2. I'm not satisfied because there are not getting the profile of the stream that I want in my opinion it is not that effective it has to be. I will show you pictures after one day,because I'm not able now. The mesh is deforming the profile a lot, because I have used a Tgrid mesh. My new model is with Hex and Tgrid and I hope it will work better. 3.I add a momentum source to a subdomainjet fan with momentum source [kg s^2m^2]. I have few questions connected with the model. 

November 10, 2013, 19:59 

#34  
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Quote:
sootsource[kg smoke/s m^3]= (50 000 * 0.3)/(3600*7)= 0,595 [kgsmoke/ s m3] so this is the quantity of my smoke that I want to get in my simulation. In my simulation soot source is set with the expressions as follows: sootYield = 0.1 [kg smoke/kgfuel] FuelHeat = 15 [MJ kg^1] FuelMassSource = FirePower/FuelHeat [kg fuel/s] massSource = insideSource*FuelMassSource/max(SourceVolume, minVolume) [kg fuel/ s*m^3] sootSource = sootYield * massSource [ kg smoke/s m^3] SourceVolume = volumeInt(SourceFlag)@Fire Subdomain [m3] insideSource = step((FireRadiusrSource)/unitL)*step((FireHeighthSource)/unitL) [] unitL=1 [m] FirePower= 4 [MW] * 0.75(Efficieny) The smoke(soot) is modeled as an additional variable with Kinematic Diffusivity = 1.0E5 [m^2 s^1]: ADDITIONAL VARIABLE: soot Option = Definition Tensor Type = SCALAR Units = [ ] Variable Type = Specific The sootsource is as source to the Fire Subdomain. And for example If I set these parameters in the simulation: SootYield= 0.1 Fuel Heat=15 FirePower= 4*0.75 Fuelmassource=FirePower/Fuel Heat = 0.2 [kg fuel/s] Source Volume=0.733 [ m3] when I try to replace this into the massSource 1.Question:I have to replace the Insidesource with 1 or 0, or to replace it with the value 21,075 ? I have get this result when I replace the variables. Insidesource= step((1.257.18)/(1))*step((0,53)/(1)) = 21.075 It has to look like this: massSource=(21,075*0.2)/0.733 Or like this massSource=(1*0.2)/0.733 >>>> ??? After I continue with the replacing for example: massSource= 1*0.2/0.733 = 0,273 [kgfuel/s m3] sootSource=0,1*0,266 = 0,0273 [kg smoke/ s m3] Or masSource= 21,075*0.2/0,733= 5,75 [kgfuel/s m3] sootSource= 0,1*5,75= 0,575 [kgsmoke/ s m3] This answer is almost the same with the answer mentioned above, but I'm not sure if I'm right. 2.Question:I want to ask if anybody knows with where I can rise the parameters to get this smoke value 50 000 [m3/h]. 3.Question Why the SourceVolume = volumeInt(SourceFlag)@Fire Subdomain always is in the limits of 01 [m^3]. The SourceFlag is variable set with the algebraic equation=Insidesource insideSource = step((FireRadiusrSource)/unitL)*step((FireHeighthSource)/unitL) When I change the Fire radius and the height, the value for SourceVolume is not changing at all. I think my problems are connected with the exact value for the smoke density, the insidesource and the sourcevolumeint. Thank you in advance. 

November 12, 2013, 12:13 

#35 
Member
Abdul Afoo Parkar
Join Date: Oct 2012
Posts: 42
Rep Power: 7 
Regarding your question on insideSource and SourceFlag:
1) I have a flowchart which you might find useful (I created it for combusting model not inert model). See attachment. Flowchart is not entirely selfcontained, it is just my rough map to understand the many expressions. insideSource expression will evaluate to either 0 and 1. It does that using step function which will check against whatever value you program. If step function evaluates to any positive value i.e. ur expression is True, it will give you '1' and you can use that output value in subsequent DEPENDENT expressions which you want to evaluate to whatever value as long as you are multiplying by 1 (i.e. the result of step function). 2) 3) sourceVolume which is Volume integral of sourceFlag should not be between 01, it is strange you find that is the case. I cannot verify for your case of inert model. However, in combustion model (which I implemented) it uses "sourceArea" which is area integral of sourceFlag over my 2D fire region (called 'Floor') and it gives me the the area as per my fire radius (depends on your mesh size though the precision of the result). In your case: Let's say, if your FireRadius=1 m and FireHeight= 1m (in the CCL FireHeight=FireRadius, correct?) and your actual 3D fire volume (named 'Fire Subdomain') is 1 m radius and 1 m high, then your: sourceVolume = pi*r*r*h = (pi *1*1*1)=3.14 m^3 at maximum when your fire has grown to full radius of 1m and height of 1m. Agreed? I think the tricky part in the expression is the '@Fire Subdomain' part. Make sure your fire subdomain 3D volume is large enough so that as you grow your FireRadius and FireHeight you still remain within the geometrical 3D limits of Fire Subdomain volume. 

November 13, 2013, 05:54 

#36 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Thank you a lot Mr.A_Prakash, everything is very usefull.Thanks a lot. I have made this 3 months and I'm on the way to understand it.Thanks a lot. I saw that fire domain is not quite enough high to cover the fire,bacause I draw a small car for the firedomain and the fire i set in front of the car and there the height is only 0,5 [m], so may be this is a problem for the FireRadius and FireHeight, I will make a new model.
1.) First about the Insidesource I have set these values: xFire=11.35 [m] yFire= 5.3 [m] zFire= 0 [m] x=????? (it has to be my highest value ] for my garage domain x=18 [m] or the fire subdomain x= 4[m])=????? y=????? (it has to be my highest value for my garage domain y= 8 [m] or the fire subdomain y= 4 [m])=????? z=????? (it has to be my highest value for my garage domain z= 3[m] or the fire subdomain z= 2.2 [m])=????? BaseRadius = max(0.25 [m], minRadius) = 0.25 [m] FireHeight = 2*BaseRadius = 2*0.25 = 0.5 [m] hSource= zzfire= 30= 3 [m] rSource = sqrt((xxFire)^2 + (yyFire)^2)= sqrt((1811.35)^2 + (85.3)^2)= 7.18[m] unitL= 1[m] FireRadius = BaseRadius*(1hSource/FireHeight)= 0.25*(13/0.5)= 1.25 [m] insideSource = step((FireRadiusrSource)/unitL)*step((FireHeighthSource)/unitL) insideSource= step((1.257.18)/(1))*step((0.53)/(1))= step(8.43)*step(2.5) = 0 ?????? or 1 ????? My Questions for the Insidesource are : 1.1 What are the values for x,y,z ??? 1.2 What is the value for the Insidesource??? 1.3 As long as I understand from your post: If I get value of 1, I have to set this value one to the massSource= (1*FuelmassSource)/max(SourceVolume,minVolume)= 1*0.2/SourceVolume ???? But If I get 0 =>>> massSource= (0*FuelmassSource)/max(SourceVolume,minVolume) and in my case the massSource become equal to 0???? Am I right or ??? 2.) I want to ask you about the visibility In the expressions below: c1 = 3.95E4 [kg m^2] visibility = min((c1/max(soot*density, 1e10[kg m^3])), 1e3 [m]) My questions are: 2.1) C1 this is the Contrast coefficient???? 2.2) soot*density it gets the soot quantity and the density of the air near the fire in the domain for every step to evaluate the visibility or what ??? 2.3) What means the value 1e10 [kg m^3] and the 1e3[m] ??? Thank you for the big help and sorry if there are some stupid quesitons.Thanks a thousand and all the best. 

November 13, 2013, 10:32 

#37  
Member
Abdul Afoo Parkar
Join Date: Oct 2012
Posts: 42
Rep Power: 7 
Quote:
First of all: xFire, yFire and zFire are origin/or center of fire. These are reference to the center of your fire. Example: If the center of the bottom face of your "Fire Subdomain" volume coincides with global x,y,z of 0,0,0 then you should have xFire=0, yFire=0, zFire=0. And if you see rSource expression (nothing but distance formula in geometry), it calculates how far your radius is from this origin  (I mean, xFire and yFire) for given x,y  this x,y is evaluated over entire domain. Similarly, hSource calculates how much height you have from zFire coordinate for a given z. The best way to visualize this is to go to CFDPost and create a variable, call it "myRadius", and now create contour plot of "myRadius" on slice planes at your Fire Subdomain origin. Try and see. Do the same for hSource. I have attached a pic. Quote:
2.2) Yes. that is correct. 2.3) 1e10 [kg m^3] is to put a bound on the calculation..to avoid numerical division by zero i think. 1e3[m] is to put upper limit on your visibility. Check CFDPost for global min and max values of visibility... max is 1000m or 1e3[m] 

November 13, 2013, 12:07 

#38 
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Thank you a thousand Sir. Thank you a lot. A lot thanks to You and Mr.ghorrocks and all the repliers. After I made a different simulation with a bigger volume, everything works perfect, my smoke quantity works better know, the source volume is from 0 to 1.53 m^3, and I found the visibility and all the other missing part from the puzzle. Thank you a lot, I am continuing to work on my model and after several days I hope to run my simulation on the server. Thanks a lot.
My profile of the jet fan is getting better but still, I'm not satisfied at all. I think because I'm used to Gambit and my geometry is made in there, and the mesh also. The flow in the jet fan doesn't look very good. In the Inside of the jetfans it is clear and looks good but after that when it enters the domain it is awfull in my opinion.The mesh is TGrid for the Entire Volume and the Fire subdomain, and Hex/Wedge for the Jet Fan There are pictures attached down. What do you think: 1.Is it possible to make the simulation with a geometry from Gambit and run it into CFX to get good and real results ? because when I made the geometry on the top of my Gambit window there is sign: [ GAMBIT Solver:Fluent 5/6 ID: Name of the project ]. I have heard the difference between the CFX and Fluent solver about the nodes ( CFX) and the cells(Fluent). Or may be I have to make it into Ansys Design Modeler or another program. I have the geometry also made into Autocad too but I dont know to make it by surfaces or to be union solid and then the extraction and cleaning? Thank you in advance. 

November 13, 2013, 17:42 

#39 
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 14,063
Rep Power: 109 
I can see from your image you have a very coarse mesh. You are never going to get an accurate simulation with a mesh that coarse. You need to make a finer mesh. How fine? Do a mesh size sweep and check the sensitivity.


November 13, 2013, 19:19 

#40  
Member
Georgi Angelov
Join Date: Nov 2012
Posts: 78
Rep Power: 7 
Quote:
1. How to make a mesh size sweep and check the sensitivity? This should be done into Gambit, or into CFD Setup, or into CFD Post processing? 2.Is possible to use Gambit for the simulation with CFX? Thank you. 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Car park ventilation and impulse fans  guillaume  Phoenics  9  October 27, 2015 06:57 
Fire & Smoke in Building  Jenn  FLUENT  5  December 30, 2012 00:15 
Questions about smoke modeling using CFX  rafiktharwat  CFX  0  March 14, 2011 12:38 
smoke (fire simulation)  matt  Phoenics  4  October 23, 2007 01:40 
smoke (fire simulation)  matt  NUMECA  0  January 5, 2007 05:47 