diff --git a/Manuals/FDS_User_Guide/FDS_User_Guide.tex b/Manuals/FDS_User_Guide/FDS_User_Guide.tex index 9c5f1dd4a31..9fa52dc8e41 100644 --- a/Manuals/FDS_User_Guide/FDS_User_Guide.tex +++ b/Manuals/FDS_User_Guide/FDS_User_Guide.tex @@ -991,12 +991,11 @@ \subsection{Basics} \subsection{Two-Dimensional and Axially-Symmetric Calculations} \label{info:2D} -The governing equations solved in FDS are written in terms of a three dimensional Cartesian coordinate system. However, a two dimensional Cartesian or two dimensional cylindrical (axially-symmetric) calculation can be performed by setting the \ct{J} in the \ct{IJK} triplet to 1 on the \ct{MESH} line. For axial symmetry, add \ct{CYLINDRICAL=T} to the \ct{MESH} line, and the coordinate $x$ is then interpreted as the radial coordinate $r$. If more than one mesh is used, all the meshes must be specified as 2-D or \ct{CYLINDRICAL}---you cannot mix 2-D, 3-D and cylindrical geometries. No boundary conditions should be set at the planes $y=\hbox{\tt YMIN=XB(3)}$ or $y=\hbox{\tt YMAX=XB(4)}$, nor at $r=\hbox{\tt XMIN=XB(1)}$ in an axially-symmetric calculation if $r=\hbox{XB(1)=0}$ (Note that \ct{XB(1)} does not have to be 0). For better visualizations, the difference between \ct{XB(4)} and \ct{XB(3)} should be small so that the Smokeview rendering appears to be in 2-D. An example of an axially-symmetric helium plume is given in Sec.~\ref{baroclinic_torque}. - -When processing results for a \ct{CYLINDRICAL} simulation, note that integrated output quantities with the \ct{SPATIAL_STATISTIC} attribute apply only to the specified 2-D or cylindrical coordinates. Thus, the cylindrical coordinates define a cylindrical sector, like a slice of cake, even though Smokeview will not render it this way. The fully integrated quantity can be calculated by multiplying the reported value by $2 \pi \, \delta\theta$, where $\delta\theta$ is the difference between \ct{YMAX} and \ct{YMIN} in radians. The values chosen for \ct{YMAX} and \ct{YMIN} do not matter as long as the rendering in Smokeview is to your liking. +The governing equations solved in FDS are written in terms of a three-dimensional Cartesian coordinate system. However, a two-dimensional Cartesian or two-dimensional cylindrical (axially-symmetric) calculation can be performed by setting the \ct{J} in the \ct{IJK} triplet to 1 on the \ct{MESH} line. For axial symmetry, add \ct{CYLINDRICAL=T} to the \ct{MESH} line, and the coordinate $x$ is then interpreted as the radial coordinate $r$. If more than one mesh is used, all the meshes must be specified as 2-D or \ct{CYLINDRICAL}---you cannot mix 2-D, 3-D and cylindrical geometries. No boundary conditions should be set at the planes $y=\hbox{\tt YMIN=XB(3)}$ or $y=\hbox{\tt YMAX=XB(4)}$, nor at $r=\hbox{\tt XMIN=XB(1)}$ in an axially-symmetric calculation if $r=\hbox{XB(1)=0}$ (Note that \ct{XB(1)} does not have to be 0). For better visualizations, the difference between \ct{XB(4)} and \ct{XB(3)} should be small so that the Smokeview rendering appears to be in 2-D. An example of an axially-symmetric helium plume is given in Sec.~\ref{baroclinic_torque}. When performing solid phase heat transfer while using a 2-D \ct{CYLINDRICAL} coordinate system, you must designate \ct{GEOMETRY='CYLINDRICAL'} on a surface (\ct{SURF} line) that is facing radially outward (positive $r$ direction) or \ct{GEOMETRY='INNER CYLINDRICAL'} on a surface that is facing radially inward (negative $r$ direction). In the latter instance, you must also specify the \ct{INNER_RADIUS} (m) of the cylinder. For the outer cylindrical boundary, specify an \ct{INNER_RADIUS} if appropriate. Its default value is 0~m. Because your inward and outward facing boundaries might occur at various radii, you must create separate \ct{SURF} lines for each with the appropriate values of \ct{GEOMETRY} and \ct{INNER_RADIUS}. For an obstruction (\ct{OBST}), use \ct{SURF_ID6} to assign individual \ct{SURF ID}s to each of the six faces. Because this is a 2-D simulation, the third and fourth entries representing the \ct{SURF ID}s in the $y$ or angular direction can just be designated \ct{'INERT'}. +When processing results for a \ct{CYLINDRICAL} simulation, note that integrated output quantities with the \ct{SPATIAL_STATISTIC} attribute refer to the volume or surface area of the entire cylinder, not just the wedge. Smokeview renders the wedge as a 2-D slice. The values chosen for \ct{YMAX} and \ct{YMIN} do not matter as long as the rendering in Smokeview is to your liking. For a 2-D, non-cylindrical geometry, spatially integrated quanties shall be output in units of the quantity per unit meter. \subsection{Multiple Meshes} \label{info:multimesh} @@ -9961,6 +9960,9 @@ \subsubsection{Limiting the Integration} \end{lstlisting} would output the total surface area in the volume \ct{XB} where the total heat flux exceeds 10~\unit{kW/m^2}. +\subsubsection{Two-Dimensional and Cylindrical Coordinate Systems} + +If the computational domain is two-dimensional or cylindrical, some spatially-integrated quantities are adjusted to eliminate the dependence on the arbitrarily chosen $\delta y$ or $\delta \theta$. For a 2-D domain, a reported volume output will have units of m$^3$/m and an area output will have units of m$^2$/m. For a cylindrical domain, volume and area outputs are reported for the entire cylinder rather than the thin wedge on which the simulation is performed. This might cause confusion in cases where both the input parameters and simulation results involve volumetric or areal quantities; thus, it is good practice to perform a simple test case with a known result to verify that these adjustments have been performed properly. \subsection{Temporally-Integrated Outputs} diff --git a/Source/dump.f90 b/Source/dump.f90 index 7de3abe6f25..bddd3deeba9 100644 --- a/Source/dump.f90 +++ b/Source/dump.f90 @@ -6741,6 +6741,12 @@ SUBROUTINE UPDATE_DEVICES_1(T,DT,NM) IF (ICF>0) VOL = VOL*CUT_FACE(ICF)%ALPHA_CF ENDIF + IF (CYLINDRICAL) THEN + VOL = TWOPI*VOL/DY(J) + ELSEIF (TWO_D) THEN + VOL = VOL/DY(J) + ENDIF + VALUE = GAS_PHASE_OUTPUT(T,DT,NM,I,J,K,DV%QUANTITY_INDEX(1),0,DV%Y_INDEX,DV%Z_INDEX,DV%ELEM_INDEX,& DV%PART_CLASS_INDEX,DV%VELO_INDEX,DV%PIPE_INDEX,DV%PROP_INDEX,DV%REAC_INDEX,& DV%MATL_INDEX) diff --git a/Source/part.f90 b/Source/part.f90 index 1dde6c46582..f74c7af94c9 100644 --- a/Source/part.f90 +++ b/Source/part.f90 @@ -1084,8 +1084,13 @@ SUBROUTINE INSERT_VOLUMETRIC_PARTICLES ENDIF EXIT GEOM_SELECT ENDIF - INSERT_VOLUME = (X2-X1)*(Y2-Y1)*(Z2-Z1) - INPUT_VOLUME = (IN_X2-IN_X1)*(IN_Y2-IN_Y1)*(IN_Z2-IN_Z1) + IF (CYLINDRICAL) THEN + INSERT_VOLUME = 0.5_EB*(X2**2-X1**2)*(Y2-Y1)*(Z2-Z1) + INPUT_VOLUME = 0.5_EB*(IN_X2**2-IN_X1**2)*(IN_Y2-IN_Y1)*(IN_Z2-IN_Z1) + ELSE + INSERT_VOLUME = (X2-X1)*(Y2-Y1)*(Z2-Z1) + INPUT_VOLUME = (IN_X2-IN_X1)*(IN_Y2-IN_Y1)*(IN_Z2-IN_Z1) + ENDIF CASE('CONE','CYLINDER') X0 = 0.5_EB*(IN_X1+IN_X2) Y0 = 0.5_EB*(IN_Y1+IN_Y2) diff --git a/Utilities/Matlab/FDS_verification_dataplot_inputs.csv b/Utilities/Matlab/FDS_verification_dataplot_inputs.csv index a94af8e022e..9c0c63be290 100644 --- a/Utilities/Matlab/FDS_verification_dataplot_inputs.csv +++ b/Utilities/Matlab/FDS_verification_dataplot_inputs.csv @@ -49,12 +49,12 @@ d,box_burn_away4,Fires/box_burn_away4_git.txt,Fires/box_burn_away.csv,1,2,Time,M d,box_burn_away5,Fires/box_burn_away5_git.txt,Fires/box_burn_away.csv,1,2,Time,Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away5_devc.csv,2,3,Time,Mass fuel,FDS (fuel),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away5),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away5,Relative Error,end,0.02,Fires,r*,r,TeX d,box_burn_away6,Fires/box_burn_away6_git.txt,Fires/box_burn_away.csv,1,2,Time,Mass_residue (kg)|Mass (kg),Ideal Fuel 1|Ideal Fuel 2,ko|ro,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away6_devc.csv,2,3,Time,Mass fuel 1|Mass fuel 2,FDS (fuel 1)|FDS (fuel 2),k-|r-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away6),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away6,Relative Error,end,0.02,Fires,r*,r,TeX d,box_burn_away7,Fires/box_burn_away7_git.txt,Fires/box_burn_away7.csv,1,2,Time,Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away7_devc.csv,2,3,Time,Mass fuel,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away7),Time (s),Mass (kg),0,20,1,0,0.04,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away7,Relative Error,end,0.02,Fires,r*,r,TeX -d,box_burn_away_2D,Fires/box_burn_away_2D_git.txt,Fires/box_burn_away.csv,1,2,Time,Mass (kg)| Mass_end (kg),Ideal (fuel)|Ideal (solid),ko|ro,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away_2D_devc.csv,2,3,Time,Mass fuel|Mass solid,FDS (fuel)|FDS(solid),k-|r-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away_2D),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.90,East,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away_2D,Relative Error,end,0.02,Fires,r*,r,TeX +d,box_burn_away_2D,Fires/box_burn_away_2D_git.txt,Fires/box_burn_away_2D.csv,1,2,Time,Mass (kg)| Mass_end (kg),Ideal (fuel)|Ideal (solid),ko|ro,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away_2D_devc.csv,2,3,Time,Mass fuel|Mass solid,FDS (fuel)|FDS(solid),k-|r-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away_2D),Time (s),Mass (kg),0,30,1,0,4.0,1,no,0.05 0.90,East,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away_2D,Relative Error,end,0.02,Fires,r*,r,TeX d,box_burn_away8,Fires/box_burn_away8_git.txt,Fires/box_burn_away.csv,1,2,Time,Mass4 (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away8_devc.csv,2,3,Time,Mass fuel,FDS (fuel),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away8),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away8,Relative Error,end,0.02,Fires,r*,r,TeX d,box_burn_away9,Fires/box_burn_away9_git.txt,Fires/box_burn_away9.csv,1,2,Time,Mass,Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away9_devc.csv,2,3,Time,Mass fuel,FDS (fuel),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away9),Time (s),Mass (kg),0,180,1,0,1,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away9,Relative Error,end,0.01,Fires,r*,r,TeX d,box_burn_away10,Fires/box_burn_away10_git.txt,Fires/box_burn_away10.csv,1,2,Time,Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away10_devc.csv,2,3,Time,Mass fuel,FDS (fuel),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away10),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.90,East,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away10,Relative Error,end,0.02,Fires,r*,r,TeX d,box_burn_away11,Fires/box_burn_away11_git.txt,Fires/box_burn_away11.csv,1,2,Time,Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away11_devc.csv,2,3,Time,Mass fuel,FDS (fuel),k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away11),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.90,East,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away11,Relative Error,end,0.01,Fires,r*,r,TeX -d,box_burn_away_2D_residue,Fires/box_burn_away_2D_residue_git.txt,Fires/box_burn_away.csv,1,2,Time,Mass_residue (kg)| Mass_end (kg),Ideal (fuel)|Ideal (solid),ko|ro,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away_2D_residue_devc.csv,2,3,Time,Mass fuel|Mass solid,FDS (fuel)|FDS(solid),k-|r-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away_2D_residue),Time (s),Mass (kg),0,30,1,0,1.5,1,no,0.05 0.91,West,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away_2D_residue,Relative Error,end,0.02,Fires,r*,r,TeX +d,box_burn_away_2D_residue,Fires/box_burn_away_2D_residue_git.txt,Fires/box_burn_away_2D.csv,1,2,Time,Mass_residue (kg)| Mass_end (kg),Ideal (fuel)|Ideal (solid),ko|ro,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Fires/box_burn_away_2D_residue_devc.csv,2,3,Time,Mass fuel|Mass solid,FDS (fuel)|FDS(solid),k-|r-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Pyrolyzed Mass (box_burn_away_2D_residue),Time (s),Mass (kg),0,30,1,0,4.0,1,no,0.05 0.91,West,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/box_burn_away_2D_residue,Relative Error,end,0.02,Fires,r*,r,TeX d,bucket_test_1,Sprinklers_and_Sprays/bucket_test_1_git.txt,Sprinklers_and_Sprays/bucket_test_1.csv,1,2,Time (s),Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Sprinklers_and_Sprays/bucket_test_1_devc.csv,2,3,Time,Mass,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Accumulated Mass (bucket_test_1),Time (s),Mass (kg),0,40,1,0,110,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/bucket_test_1,Relative Error,end,0.02,Sprinklers and Sprays,bs,b,TeX d,bucket_test_2,Sprinklers_and_Sprays/bucket_test_2_git.txt,Sprinklers_and_Sprays/bucket_test_2.csv,1,2,Time (s),Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Sprinklers_and_Sprays/bucket_test_2_devc.csv,2,3,Time,Mass,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Accumulated Mass (bucket_test_2),Time (s),Mass (kg),0,15,1,0,6,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/bucket_test_2,Relative Error,end,0.03,Sprinklers and Sprays,bs,b,TeX d,bucket_test_3,Sprinklers_and_Sprays/bucket_test_3_git.txt,Sprinklers_and_Sprays/bucket_test_3.csv,1,2,Time (s),Mass (kg),Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Sprinklers_and_Sprays/bucket_test_3_devc.csv,2,3,Time,Mass,FDS,k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Accumulated Mass (bucket_test_3),Time (s),Mass (kg),0,10,1,0,0.01,1,no,0.05 0.90,SouthEast,,1,linear,FDS_User_Guide/SCRIPT_FIGURES/bucket_test_3,Relative Error,end,0.02,Sprinklers and Sprays,bs,b,TeX diff --git a/Verification/Energy_Budget/energy_budget_dns.csv b/Verification/Energy_Budget/energy_budget_dns.csv index b2302c37041..0b701159030 100644 --- a/Verification/Energy_Budget/energy_budget_dns.csv +++ b/Verification/Energy_Budget/energy_budget_dns.csv @@ -1,3 +1,3 @@ "Time","div","Q_CONV","Q_DIFF","Q_SUM" -1.5,-1.357e-8,1.16e-5,-1.16e-5,0 -2.0,-1.357e-8,1.16e-5,-1.16e-5,0 +1.5,-1.357e-5,1.16e-5,-1.16e-5,0 +2.0,-1.357e-5,1.16e-5,-1.16e-5,0 diff --git a/Verification/Fires/box_burn_away_2D.csv b/Verification/Fires/box_burn_away_2D.csv new file mode 100644 index 00000000000..5470c9549fa --- /dev/null +++ b/Verification/Fires/box_burn_away_2D.csv @@ -0,0 +1,3 @@ +Time,Mass (kg),Mass_residue (kg),Mass_end (kg) +28,3.2,1.6,0.0 +30,3.2,1.6,0.0 diff --git a/Verification/Fires/box_burn_away_2D.fds b/Verification/Fires/box_burn_away_2D.fds index 23a021de329..8d6fc57cb8c 100644 --- a/Verification/Fires/box_burn_away_2D.fds +++ b/Verification/Fires/box_burn_away_2D.fds @@ -1,7 +1,7 @@ &HEAD CHID='box_burn_away_2D', TITLE='Test BURN_AWAY feature' / The FOAM box is evaporated away by the high thermal radiation -from HOT surfaces. The mass of the box is 0.4^3 m3 * 20 kg/m3 = 1.28 kg. +from HOT surfaces. The mass of the box is 0.4^2 m2 * 20 kg/m3 = 3.2 kg/m. This should be compared to the final value of fuel density volume integral, computed by the first DEVC. @@ -9,9 +9,9 @@ computed by the first DEVC. The gas species is mixture fraction fuel. -&MESH IJK=10,1,10 XB=0.0,1.0,0.3,0.7,0.0,1.0 / +&MESH IJK=10,1,10 XB=0.0,1.0,0.0,0.01,0.0,1.0 / -&TIME T_END=30. DT = 0.01/ +&TIME T_END=30., DT=0.01 / &MATL ID = 'FOAM' HEAT_OF_REACTION = 800. @@ -30,11 +30,11 @@ The gas species is mixture fraction fuel. &REAC FUEL='METHANE',AUTO_IGNITION_TEMPERATURE=15000. / -&DUMP SMOKE3D=.FALSE., MASS_FILE=.TRUE. / +&DUMP SMOKE3D=.FALSE., MASS_FILE=T / -&OBST XB=0.30,0.70,0.0,1.0,0.30,0.70, SURF_ID='FOAM SLAB', BULK_DENSITY=20., MATL_ID='FOAM' / +&OBST XB=0.30,0.70,0.0,0.01,0.30,0.70, SURF_ID='FOAM SLAB', BULK_DENSITY=20., MATL_ID='FOAM' / -&SURF ID = 'HOT' TMP_FRONT = 1500., DEFAULT = .TRUE./ +&SURF ID='HOT', TMP_FRONT=1500., DEFAULT=T / &BNDF QUANTITY='WALL TEMPERATURE' / &BNDF QUANTITY='BURNING RATE' / @@ -44,9 +44,8 @@ The gas species is mixture fraction fuel. &SLCF PBY=0.5, QUANTITY='INTEGRATED INTENSITY' / &SLCF PBY=0.5, QUANTITY='MASS FRACTION',SPEC_ID='METHANE' / -&DEVC XB=0.0,1.0,0.3,0.7,0.0,1.0, QUANTITY = 'DENSITY',SPEC_ID='METHANE', SPATIAL_STATISTIC='VOLUME INTEGRAL' ID = 'Mass fuel'/ -&DEVC XB=0.0,1.0,0.3,0.7,0.0,1.0, QUANTITY = 'HRRPUV', SPATIAL_STATISTIC='VOLUME INTEGRAL', ID = 'HRR' / -&DEVC XB=0.3,0.7,0.3,0.7,0.3,0.7, SPATIAL_STATISTIC='SURFACE INTEGRAL', QUANTITY = 'SURFACE DENSITY', ID = 'Mass solid' / +&DEVC XB=0.0,1.0,0.0,0.01,0.0,1.0, QUANTITY='DENSITY', SPEC_ID='METHANE', SPATIAL_STATISTIC='VOLUME INTEGRAL', ID='Mass fuel'/ +&DEVC XB=0.3,0.7,0.0,0.01,0.7,0.7, IOR=3, SPATIAL_STATISTIC='SURFACE INTEGRAL', QUANTITY='SURFACE DENSITY', ID='Mass solid' / &TAIL / diff --git a/Verification/Fires/box_burn_away_2D_residue.fds b/Verification/Fires/box_burn_away_2D_residue.fds index 2351cd510c0..b981182a36b 100644 --- a/Verification/Fires/box_burn_away_2D_residue.fds +++ b/Verification/Fires/box_burn_away_2D_residue.fds @@ -1,10 +1,10 @@ &HEAD CHID='box_burn_away_2D_residue', TITLE='Test BURN_AWAY feature' / The FOAM box is evaporated away by the high thermal radiation -from HOT surfaces. The mass of the box is 0.4^3 m3 * 20 kg/m3 = 1.28 kg. +from HOT surfaces. The mass of the box is 0.4^2 m2 * 20 kg/m3 = 3.2 kg/m. Half of the mass is converted to fuel and other half to residue. Bulk density defines the combustible mass of the box: - 10 kg/m3 x 0.064 m3 = 0.64 kg. + 10 kg/m3 x 0.16 m2 = 1.6 kg/m. This should be compared to the final value of fuel density volume integral, computed by the first DEVC. @@ -12,9 +12,9 @@ computed by the first DEVC. The gas species is mixture fraction fuel. -&MESH IJK=10,1,10 XB=0.0,1.0,0.3,0.7,0.0,1.0 / +&MESH IJK=10,1,10 XB=0.0,1.0,0.0,0.01,0.0,1.0 / -&TIME T_END=30. DT = 0.01/ +&TIME T_END=30. DT=0.01 / &MATL ID = 'FOAM' HEAT_OF_REACTION = 100. @@ -23,30 +23,30 @@ The gas species is mixture fraction fuel. DENSITY = 20. N_REACTIONS = 1 NU_SPEC = 0.5 - NU_MATL = 0.5 + NU_MATL = 0.5 SPEC_ID = 'METHANE' - MATL_ID = 'RESIDUE' + MATL_ID = 'RESIDUE' REFERENCE_TEMPERATURE= 100. / -&MATL ID = 'RESIDUE' - CONDUCTIVITY = 10 - SPECIFIC_HEAT = 1.0 - DENSITY = 100 - EMISSIVITY = 1.0 / +&MATL ID = 'RESIDUE' + CONDUCTIVITY = 10 + SPECIFIC_HEAT = 1.0 + DENSITY = 100 + EMISSIVITY = 1.0 / -&SURF ID = 'FOAM SLAB' - COLOR = 'TOMATO 3' - VARIABLE_THICKNESS = T - STRETCH_FACTOR = 1.0 - BURN_AWAY = T / +&SURF ID = 'FOAM SLAB' + COLOR = 'TOMATO 3' + VARIABLE_THICKNESS = T + STRETCH_FACTOR = 1.0 + BURN_AWAY = T / &REAC FUEL='METHANE', AUTO_IGNITION_TEMPERATURE=15000. / -&DUMP SMOKE3D=.FALSE., MASS_FILE=.TRUE. / +&DUMP SMOKE3D=.FALSE., MASS_FILE=T / -&OBST XB=0.30,0.70,0.0,1.0,0.30,0.70, SURF_ID='FOAM SLAB', BULK_DENSITY=10., MATL_ID='FOAM' / +&OBST XB=0.30,0.70,0.0,0.01,0.30,0.70, SURF_ID='FOAM SLAB', BULK_DENSITY=10., MATL_ID='FOAM' / -&SURF ID = 'HOT' TMP_FRONT = 1100., DEFAULT = .TRUE./ +&SURF ID='HOT', TMP_FRONT=1100., DEFAULT=T / &BNDF QUANTITY='WALL TEMPERATURE' / &BNDF QUANTITY='BURNING RATE' / @@ -57,9 +57,8 @@ The gas species is mixture fraction fuel. &SLCF PBY=0.5, QUANTITY='DENSITY' / &SLCF PBY=0.5, QUANTITY='MASS FRACTION',SPEC_ID='METHANE' / -&DEVC XB=0.0,1.0,0.3,0.7,0.0,1.0, QUANTITY = 'DENSITY',SPEC_ID='METHANE', SPATIAL_STATISTIC='VOLUME INTEGRAL' ID = 'Mass fuel'/ -&DEVC XB=0.0,1.0,0.3,0.7,0.0,1.0, QUANTITY = 'HRRPUV', SPATIAL_STATISTIC='VOLUME INTEGRAL', ID = 'HRR' / -&DEVC XB=0.3,0.7,0.3,0.7,0.3,0.7, SPATIAL_STATISTIC='SURFACE INTEGRAL', QUANTITY = 'SURFACE DENSITY' , ID = 'Mass solid'/ +&DEVC XB=0.0,1.0,0.0,0.01,0.0,1.0, QUANTITY='DENSITY', SPEC_ID='METHANE', SPATIAL_STATISTIC='VOLUME INTEGRAL', ID='Mass fuel' / +&DEVC XB=0.3,0.7,0.0,0.01,0.7,0.7, IOR=3, SPATIAL_STATISTIC='SURFACE INTEGRAL', QUANTITY='SURFACE DENSITY', ID='Mass solid' / &TAIL / diff --git a/Verification/Radiation/droplet_absorption_cyl.fds b/Verification/Radiation/droplet_absorption_cyl.fds index 479fa405bfd..597b53383af 100644 --- a/Verification/Radiation/droplet_absorption_cyl.fds +++ b/Verification/Radiation/droplet_absorption_cyl.fds @@ -12,14 +12,14 @@ dT = dt Q_abs / (m c_p) By setting dt = 0.01 s, m = 0.01 kg and c_p = 1.0 kJ/kg, the numerical value of dT should be equal to the time averaged Q_abs. ---------------------FDS Data----------------------------- -&HEAD CHID='droplet_absorption_cyl',TITLE='Cylindrical droplet absorption test case' / -&MESH IJK=3,1,3, XB=0.0,3.0,-.5,0.5,0.0,3.0 CYLINDRICAL = .TRUE. / +&HEAD CHID='droplet_absorption_cyl', TITLE='Cylindrical droplet absorption test case' / -&TIME T_END=.01 DT = 0.00001 / +&MESH IJK=3,1,3, XB=0.0,3.0,0.0,0.01,0.0,3.0, CYLINDRICAL=T / -&MISC GVEC=0,0,0, Y_CO2_INFTY=0.,HUMIDITY=0./ +&TIME T_END=.01, DT=0.00001 / + +&MISC GVEC=0,0,0, Y_CO2_INFTY=0., HUMIDITY=0. / &DUMP NFRAMES=100 / @@ -34,7 +34,7 @@ value of dT should be equal to the time averaged Q_abs. TMP_FRONT = 1000. TAU_T = 0.0 / -&SPEC ID='NITROGEN',CONDUCTIVITY=0.000001,BACKGROUND=.TRUE./ +&SPEC ID='NITROGEN', CONDUCTIVITY=0.000001, BACKGROUND=.TRUE./ &SPEC ID='WATER VAPOR' VAPORIZATION_TEMPERATURE = 1000. @@ -53,12 +53,12 @@ value of dT should be equal to the time averaged Q_abs. &INIT N_PARTICLES = 100 XB = 1,2,-0.5,0.5,1,2 - MASS_PER_VOLUME = .01 - PART_ID = 'drops' / - + MASS_PER_VOLUME = .66667 + PART_ID = 'drops' / m''' = m/V = 0.01 kg / (0.5*(x2**2-x1**2)*(y2-y1)*(z2-z1)) m3 -&DEVC QUANTITY='PARTICLE RADIATION LOSS', ID='Absorption', SPATIAL_STATISTIC='VOLUME INTEGRAL', XB=0,3,-.5,.5,0,3 / -&DEVC QUANTITY='ADT', PART_ID='drops', ID='ADT', SPATIAL_STATISTIC='VOLUME MEAN', XB=1,2,-.5,.5,1,2 / +&DEVC QUANTITY='PARTICLE RADIATION LOSS', ID='Absorption', SPATIAL_STATISTIC='VOLUME INTEGRAL', XB=0,3,0.0,0.01,0,3, + CONVERSION_FACTOR=1.5915e-3 / Integrate over the wedge, not the entire cylinder. 1.5915e-3 = delta_theta/2*pi +&DEVC QUANTITY='ADT', PART_ID='drops', ID='ADT', SPATIAL_STATISTIC='VOLUME MEAN', XB=1,2,0.0,0.01,1,2 / &TAIL /