You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
all the upwind intensities are determined from solid or gas phase boundaries. In theory, iterations are needed if the reflections
536
539
or scattering are important, or if the scenario is optically very thick. Currently, no iterations are made.
537
540
538
-
To mitigate ray effects in the wall radiative heat flux, an option is implemented to randomly rotate the local meridian ($x$), azimuthal ($y$), and axial ($z$) coordinate system at each selected time step with respect to which the angular coordinates, $\theta$ and $\phi$ are evaluated. When random rotation is enabled, the discrete angular integration coefficients (e.g., $D_{xu}^l$) are no longer exactly symmetric with respect to the mesh faces. Consequently, the sum of $D_{xu}^l$ (and the corresponding coefficients for the other coordinate directions) over a face may deviate slightly from the theoretical value of $\pi$.
541
+
\textbf{Random rotation of angular directions:}
542
+
To mitigate ray effects in the predicted wall radiative heat flux, the local meridional ($x'$), azimuthal ($y'$), and axial ($z'$) coordinate system may be randomly rotated at selected time steps. The angular coordinates, $\theta$ and $\phi$, are then evaluated with respect to the rotated coordinate system. Figure~\ref{fig:FVMAngularRotation} illustrates the angular discretization for several orientations of the local coordinate system. In this example, the azimuthal ($y'$) and axial ($z'$) axes are rotated in the $YZ$ plane, while the meridional ($x'$) axis remains unchanged. When random rotation is enabled, a new random orientation of the local coordinate system is assigned at each selected time step. Consequently, rays originating from a source intersect distant target surfaces along different discrete directions over time. This variation improves the effective angular coverage and substantially reduces ray effects in the time-averaged wall radiative heat flux. Figure~\ref{fig:rad_rand_rot_cube_hit} demonstrates this effect for an angular discretization containing 24 discrete directions. After 100 random rotations, the ray-intersection locations provide nearly uniform coverage of the enclosure surfaces. Increasing the number of rotations to 500 produces still more uniform surface coverage.
543
+
544
+
With this rotation, the angular coordinates $\theta$ and $\phi$ are defined with respect to the rotated coordinate system $(x',y',z')$. Let the unit vectors of the rotated meridional, azimuthal, and axial axes be denoted by $\mathbf{v}_{\mathrm{mer}}$, $\mathbf{v}_{\mathrm{azi}}$, and $\mathbf{v}_{\mathrm{axi}}$, respectively. Then, for the $l$th discrete direction with local direction cosines $(\mu_{\mathrm{mer},l},\mu_{\mathrm{azi},l},\mu_{\mathrm{axi},l})$, the corresponding direction vector in the global Cartesian coordinate system is given by
where the local direction cosines $(\mu_{\mathrm{mer},l},\mu_{\mathrm{azi},l},\mu_{\mathrm{axi},l})$ are obtained from Eqs.~\ref{eq:directional_weights1}--\ref{eq:directional_weights3}.
573
+
574
+
When rotation is enabled, the discrete angular integration coefficients (e.g., $D_{xu}^l$) are no longer exactly symmetric with respect to the mesh faces. Consequently, the summation of $D_{xu}^l$ (and the corresponding coefficients for the other coordinate directions) over a face deviates slightly from the theoretical value of $\pi$. For the default discretization of 100 solid angles, these deviations are typically very small and decrease further as the angular resolution is increased.
575
+
576
+
\newcommand{\DrawRADFVMSphere}[1]{%
577
+
\pgfmathsetmacro{\ang}{#1}
578
+
579
+
% Sphere
580
+
\shade[ball color=blue!10] (0,0) circle (1);
581
+
\draw[thick] (0,0) circle (1);
582
+
583
+
% Latitude lines
584
+
\foreach\i in {0,...,\NRT}
585
+
{
586
+
\pgfmathsetmacro{\theta}{180*\i/\NRT}
587
+
588
+
\draw[blue!60, thick]
589
+
plot[
590
+
variable=\phi,
591
+
domain=0:360,
592
+
samples=150,
593
+
smooth
594
+
]
595
+
(
596
+
{
597
+
(sin(\theta)*sin(\phi))*cos(\ang)
598
+
+(cos(\theta))*sin(\ang)
599
+
},
600
+
{
601
+
-(sin(\theta)*sin(\phi))*sin(\ang)
602
+
+(cos(\theta))*cos(\ang)
603
+
}
604
+
);
605
+
}
606
+
607
+
% Longitude lines
608
+
\foreach\i in {0,...,7}
609
+
{
610
+
\pgfmathsetmacro{\thetaLow}{180*\i/\NRT}
611
+
\pgfmathsetmacro{\thetaHigh}{180*(\i+1)/\NRT}
612
+
613
+
\pgfmathsetmacro{\nphiRaw}{
614
+
0.5*\NRA*(cos(\thetaLow)-cos(\thetaHigh))
615
+
}
616
+
617
+
\pgfmathtruncatemacro{\nphi}{
618
+
max(4,4*round(\nphiRaw/4))
619
+
}
620
+
621
+
\foreach\j in {0,...,\numexpr\nphi-1\relax}
622
+
{
623
+
\pgfmathsetmacro{\phi}{360*\j/\nphi}
624
+
625
+
\draw[red!60, thick]
626
+
plot[
627
+
variable=\theta,
628
+
domain=\thetaLow:\thetaHigh,
629
+
samples=30,
630
+
smooth
631
+
]
632
+
(
633
+
{
634
+
(sin(\theta)*sin(\phi))*cos(\ang)
635
+
+(cos(\theta))*sin(\ang)
636
+
},
637
+
{
638
+
-(sin(\theta)*sin(\phi))*sin(\ang)
639
+
+(cos(\theta))*cos(\ang)
640
+
}
641
+
);
642
+
}
643
+
}
644
+
645
+
%-----------------------------------
646
+
% Axes
647
+
%-----------------------------------
648
+
649
+
\ifnum\ang=0
650
+
651
+
% No rotation: y=y', z=z'
652
+
\draw[->, very thick, black]
653
+
(0,0) -- (1.45,0)
654
+
node[right] {$y,y'$};
655
+
656
+
\draw[->, very thick, black]
657
+
(0,0) -- (0,1.45)
658
+
node[above] {$z,z'$};
659
+
660
+
\else
661
+
662
+
%-----------------------------------
663
+
% Default fixed axes
664
+
%-----------------------------------
665
+
666
+
\draw[->, thick, black]
667
+
(0,0) -- (1.45,0)
668
+
node[right] {$y$};
669
+
670
+
\draw[->, thick, black]
671
+
(0,0) -- (0,1.45)
672
+
node[above] {$z$};
673
+
674
+
675
+
%-----------------------------------
676
+
% Rotated axes
677
+
%-----------------------------------
678
+
679
+
\draw[->, very thick, red]
680
+
(0,0) --
681
+
({1.45*cos(\ang)},
682
+
{-1.45*sin(\ang)})
683
+
node[pos=1.05, right] {$y'$};
684
+
685
+
\draw[->, very thick, red]
686
+
(0,0) --
687
+
({1.45*sin(\ang)},
688
+
{1.45*cos(\ang)})
689
+
node[pos=1.05, above] {$z'$};
690
+
691
+
\fi
692
+
693
+
694
+
%-----------------------------------
695
+
% X-axis (out of page)
696
+
%-----------------------------------
697
+
698
+
\draw[thick] (0,0) circle (0.05);
699
+
\fill (0,0) circle (0.015);
700
+
\node[below left] at (0,0) {$x,x'$};
701
+
702
+
}
703
+
704
+
\begin{figure}[htbp]
705
+
\centering
706
+
707
+
\begin{tikzpicture}[scale=2.3]
708
+
709
+
\def\NRA{100}
710
+
\pgfmathtruncatemacro{\NRT}{
711
+
2*round(0.5*1.17*\NRA^(1/2.26))
712
+
}
713
+
714
+
%-------------------------
715
+
% Top left
716
+
%-------------------------
717
+
\begin{scope}[shift={(0,4)}]
718
+
\DrawRADFVMSphere{0}
719
+
\node at (0,-1.65) {(a) $0^\circ$};
720
+
\end{scope}
721
+
722
+
%-------------------------
723
+
% Top right
724
+
%-------------------------
725
+
\begin{scope}[shift={(3.5,4)}]
726
+
\DrawRADFVMSphere{45}
727
+
\node at (0,-1.65) {(b) $45^\circ$};
728
+
\end{scope}
729
+
730
+
%-------------------------
731
+
% Bottom left
732
+
%-------------------------
733
+
\begin{scope}[shift={(0,0)}]
734
+
\DrawRADFVMSphere{135}
735
+
\node at (0,-1.65) {(c) $135^\circ$};
736
+
\end{scope}
737
+
738
+
%-------------------------
739
+
% Bottom right
740
+
%-------------------------
741
+
\begin{scope}[shift={(3.5,0)}]
742
+
\DrawRADFVMSphere{225}
743
+
\node at (0,-1.65) {(d) $225^\circ$};
744
+
\end{scope}
745
+
746
+
\end{tikzpicture}
747
+
748
+
\caption[Finite volume method angular discretization]{Finite volume method angular discretization with the default 100 discrete directions (which turned out to be 104). The angular discretization consists of 8 divisions in the polar angle $\theta$, with the corresponding number of divisions in the azimuthal angle $\phi$ given by [4, 12, 16, 20, 20, 16, 12, 4]. Top left: default angular discretization without rotation. Top right: $45^\circ$ clockwise rotation of the azimuthal ($y'$) and axial ($z'$) coordinate axes in the $YZ$ plane, relative to which the angular discretization is performed. Bottom left: $125^\circ$ clockwise rotation. Bottom right: $225^\circ$ clockwise rotation.}
\caption[Random rotation of radiation angles]{Distribution of radiation-ray hit locations on the surfaces of a $20\times20\times20\,\mathrm{m}^3$ cubic enclosure for varying numbers of random rotations of the angular distribution, with the rays emitted from a spherical source (radius = 1 m) at the enclosure center. Each color represents the rays generated during one random rotation. Increasing the number of rotations improves the spatial uniformity of the surface coverage and reduces directional bias associated with a fixed angular discretization.}
Copy file name to clipboardExpand all lines: Manuals/FDS_User_Guide/FDS_User_Guide.tex
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10444,7 +10444,7 @@ \subsection{Flame Height and Flame Tilt}
10444
10444
The ``flame height,'' and to some extent the ``flame tilt,'' are common quantities used to assess the hazard from a large fire. FDS does not output these quantities directly, but there is a combination of devices and controls that yield these values. This is all best explained with an example. Suppose you are simulating a fire in a domain that is 10~m high with a grid resolution of 0.2~m. The fire is centered about the point $(x,y)=(0,0)$ at $z=0$. The following input lines compute the flame height and tilt:
0 commit comments