Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
6950c18
FDS verification: radiation_box from Matlab to Python
shostikk Oct 15, 2025
233db56
Merge pull request #15348 from shostikk/master
shostikk Oct 15, 2025
e6f3ec4
FDS Verification: fix saad cc explicit pdf names
drjfloyd Oct 15, 2025
7a1abc9
Merge pull request #15349 from drjfloyd/master
drjfloyd Oct 15, 2025
b0c3d0a
FDS Verification: Convert fluid_part.m and part_drag_profile.m
mcgratta Oct 15, 2025
ffa1327
Merge pull request #15351 from mcgratta/master
mcgratta Oct 15, 2025
b8c5f40
FDS User Guide: convert fan_curve.m
mcgratta Oct 15, 2025
7237cec
Merge pull request #15353 from mcgratta/master
mcgratta Oct 15, 2025
ca02a26
FDS Verification: convert level_set_ellipse.m; tweak tree_shapes.py
ericvmueller Oct 15, 2025
67d714a
Merge pull request #15354 from ericvmueller/master
ericvmueller Oct 15, 2025
d8f3a92
FDS: fix wide band indexing error
shostikk Oct 15, 2025
806f1a3
Merge pull request #15355 from shostikk/master
shostikk Oct 15, 2025
ccb6612
FDS User Guide: Convert mesh_transformation.m
mcgratta Oct 15, 2025
f37190c
Merge pull request #15356 from mcgratta/master
mcgratta Oct 15, 2025
0a5288a
FDS Verification: convert synthetic_eddy_method.m
mcgratta Oct 15, 2025
384d7d0
Merge pull request #15357 from mcgratta/master
mcgratta Oct 15, 2025
c90bb08
FDS Verification : mass_balance.m to mass_balance.py
marcosvanella Oct 15, 2025
3a295d1
Merge remote-tracking branch 'firemodels/master'
marcosvanella Oct 15, 2025
a46d3ec
Merge pull request #15358 from marcosvanella/master
marcosvanella Oct 15, 2025
cdbed57
FDS Verification: ashrae_7 shunn convergence to py
drjfloyd Oct 15, 2025
5396f81
Merge pull request #15359 from drjfloyd/master
drjfloyd Oct 15, 2025
d3559b5
FDS Verificaiton: remove old m files
drjfloyd Oct 15, 2025
da9df8f
Merge pull request #15360 from drjfloyd/master
drjfloyd Oct 15, 2025
809ef1d
FDS Verification: convert water_evap_1_const_gamma
drjfloyd Oct 15, 2025
6e8001a
Merge pull request #15361 from drjfloyd/master
drjfloyd Oct 15, 2025
efdd3af
FDS Utilities: Add spyder GUI
cxp484 Oct 15, 2025
959115f
FDS Utilities: Add spyder GUI
cxp484 Oct 15, 2025
8e00b9e
FDS Verification: clean up level_set_ellipse.py
ericvmueller Oct 15, 2025
412b1e0
Merge pull request #15363 from ericvmueller/master
ericvmueller Oct 15, 2025
5e15dd9
FDS Source: Add spyder for Windows
cxp484 Oct 16, 2025
9f1146d
FDS Verification: Fix indexing error and fix check for missing files.
drjfloyd Oct 16, 2025
0b65ea2
Merge pull request #15364 from drjfloyd/master
drjfloyd Oct 16, 2025
9059913
FDS Verification: translate hvac_mass_transport.m to py
drjfloyd Oct 16, 2025
6b33408
Merge pull request #15365 from drjfloyd/master
drjfloyd Oct 16, 2025
283889a
FDS Verification : mass_balance.py, test if file exists.
marcosvanella Oct 16, 2025
e39b879
Merge pull request #15366 from marcosvanella/master
marcosvanella Oct 16, 2025
d470881
FDS Verification: Convert cat_propane_depo.m to py
drjfloyd Oct 16, 2025
a5b21ba
Merge pull request #15367 from drjfloyd/master
drjfloyd Oct 16, 2025
bc2dd30
FDS Verification : fix file path mass_balance.py.
marcosvanella Oct 16, 2025
d965f88
Merge pull request #15368 from marcosvanella/master
marcosvanella Oct 16, 2025
015c389
FDS Verification: Convert burke_schumann.m to py
drjfloyd Oct 16, 2025
b04e886
Merge pull request #15369 from drjfloyd/master
drjfloyd Oct 16, 2025
d09d32f
Python: use runpy in FDS_verification_script.py
rmcdermo Oct 16, 2025
464d1d9
Python: minor comment edits
rmcdermo Oct 16, 2025
c0274f5
Merge pull request #15370 from rmcdermo/master
rmcdermo Oct 16, 2025
e6630d3
Python: refactor sanitize functions
rmcdermo Oct 16, 2025
6197e25
Merge pull request #15371 from rmcdermo/master
rmcdermo Oct 16, 2025
507a3f0
Merge remote-tracking branch 'firemodels/master'
cxp484 Oct 16, 2025
a76add4
FDS Utilities: Add Spyder IDE for Python
cxp484 Oct 16, 2025
5a481c4
Python: start using plot_to_fig in Scatplot
rmcdermo Oct 16, 2025
cab85a5
Merge pull request #15372 from rmcdermo/master
rmcdermo Oct 16, 2025
d8d6663
FDS Source: Add Spyder IDE for Windows
cxp484 Oct 16, 2025
47d5f44
Merge pull request #15373 from cxp484/master
cxp484 Oct 16, 2025
37b7119
FDS Verification: Convert vort2d.m
mcgratta Oct 16, 2025
5c86198
Merge pull request #15374 from mcgratta/master
mcgratta Oct 16, 2025
6f3b339
FDS Verification: convert flame_species.m to py
drjfloyd Oct 16, 2025
81d7458
Merge pull request #15375 from drjfloyd/master
drjfloyd Oct 16, 2025
8d08c2b
FDS Verification: Convert ht3d_sphere.m
mcgratta Oct 16, 2025
6c5247d
Merge pull request #15377 from mcgratta/master
mcgratta Oct 16, 2025
fab0862
FDS Verification: convert rms_cov_corr.m to py and move plots to mail…
drjfloyd Oct 16, 2025
3ba5a82
Merge pull request #15378 from drjfloyd/master
drjfloyd Oct 16, 2025
a62127e
FDS Verification: Convert scaling_tests.m
mcgratta Oct 16, 2025
b679f66
Merge pull request #15379 from mcgratta/master
mcgratta Oct 16, 2025
bf2509a
FDS Verification: remove rms_cov_corr from .m master file
drjfloyd Oct 16, 2025
47060a4
Merge pull request #15380 from drjfloyd/master
drjfloyd Oct 16, 2025
7b11ddc
FDS Verification: convert openmp_timing_benchmarks.m
mcgratta Oct 16, 2025
6381326
Merge pull request #15381 from mcgratta/master
mcgratta Oct 16, 2025
c70a0ff
FDS Verification: Convert radiating_polygon.m to py
drjfloyd Oct 16, 2025
ca176d8
Merge pull request #15382 from drjfloyd/master
drjfloyd Oct 16, 2025
efc2614
FDS Verification: additional kwards in fdsplotlib and update some def…
Oct 16, 2025
5d5516b
Merge branch 'firemodels:master' into fdsplotlib
Oct 16, 2025
f1bb29e
FDS Verification: increase length of dot in dash dot slightly
Oct 16, 2025
beb56e9
Merge pull request #15383 from johodges/fdsplotlib
rmcdermo Oct 16, 2025
cb2cc71
FDS Verification: update guide text refs from .m to .py
drjfloyd Oct 16, 2025
1c00274
Merge pull request #15384 from drjfloyd/master
drjfloyd Oct 16, 2025
74d44c8
FDS Source : WIP, Grid Refinement for Global Pressure Solvers.
marcosvanella Oct 17, 2025
cc32db4
Merge pull request #15385 from marcosvanella/master
marcosvanella Oct 17, 2025
84250a0
FDS verification: radiation_plane_layer to Python
shostikk Oct 17, 2025
92bc45f
FDS Verification: fix output file name in flame_species.py
drjfloyd Oct 17, 2025
0a160c2
Merge pull request #15387 from drjfloyd/master
drjfloyd Oct 17, 2025
43d1653
Merge pull request #15386 from shostikk/master
shostikk Oct 17, 2025
73e89eb
FDS Verification: add dash line style for dot dot, :, line
Oct 17, 2025
4012b66
Merge pull request #15388 from johodges/fdsplotlib
drjfloyd Oct 17, 2025
1fdfa05
FDS Verification: update extinction.py and add impinging_jet.py
Oct 17, 2025
fb8062e
FDS Tech Guide: Convert particle_size_distribution.m
mcgratta Oct 17, 2025
70369db
Merge pull request #15390 from mcgratta/master
mcgratta Oct 17, 2025
98143c8
Merge pull request #15389 from johodges/python_conversion
mcgratta Oct 17, 2025
c529003
FDS Verification: remove extinction.m and impinging_jet.m
Oct 17, 2025
1f7341b
Merge pull request #15391 from johodges/master
rmcdermo Oct 17, 2025
1ad672c
FDS Tech Guide: convert extinction_1_sketch to python
Oct 17, 2025
6114b35
Merge branch 'firemodels:master' into master
Oct 17, 2025
b366a54
Merge pull request #15392 from johodges/master
marcosvanella Oct 17, 2025
7318c1b
FDS Verification: Convert hot_layer_collapse.m to py
drjfloyd Oct 17, 2025
7413366
Merge pull request #15394 from drjfloyd/master
drjfloyd Oct 17, 2025
aebae6d
FDS Verification: Convert vegetation_absorb.m
mcgratta Oct 17, 2025
8fe6292
Merge pull request #15395 from mcgratta/master
mcgratta Oct 17, 2025
b0fb61d
FDS Verification: Convert random_Walk_soln.m
mcgratta Oct 17, 2025
6c79374
Merge pull request #15396 from mcgratta/master
mcgratta Oct 17, 2025
442a963
FDS Verification: Convert favre_test.m
mcgratta Oct 17, 2025
3909724
Merge pull request #15397 from mcgratta/master
mcgratta Oct 17, 2025
da575c6
FDS Verification: convert ns2d.m to py
drjfloyd Oct 17, 2025
93e119d
Merge remote-tracking branch 'github/master'
drjfloyd Oct 17, 2025
3787448
Merge pull request #15398 from drjfloyd/master
drjfloyd Oct 17, 2025
40c2cb1
FDS Validation Guide: Convert validation_git_stats.sh to python
mcgratta Oct 17, 2025
01f3b39
Merge pull request #15399 from mcgratta/master
mcgratta Oct 17, 2025
719b877
FDS Verification: Remove unused fm_datacenter script now done by data…
drjfloyd Oct 17, 2025
6bd520d
Merge pull request #15400 from drjfloyd/master
drjfloyd Oct 17, 2025
a6a6462
FDS Verification: Convert atmospheric_boundary_layer.m
mcgratta Oct 17, 2025
6d7616a
Merge pull request #15401 from mcgratta/master
mcgratta Oct 17, 2025
02fb128
FDS Validation Guide: Clean up catchpole script
mcgratta Oct 17, 2025
dff9242
Merge pull request #15402 from mcgratta/master
mcgratta Oct 17, 2025
0700eae
FDS Validation: Remove old matlab scripts
mcgratta Oct 17, 2025
729a3e5
Merge pull request #15404 from mcgratta/master
mcgratta Oct 17, 2025
1b07aa7
Matlab: Remove unused scripts
mcgratta Oct 17, 2025
2ce12f0
Merge pull request #15405 from mcgratta/master
mcgratta Oct 17, 2025
6e84ae1
FDS Verification: remove custom dashes from impinging_jet.py
Oct 17, 2025
6fe1d02
FDS Verification: revert some special formating in impinging_jet.py
Oct 17, 2025
dc6be97
FDS Verification: revert line dashes to matplotlib default
Oct 17, 2025
87164a9
FDS User Guide: Convert spray_pattern.m
mcgratta Oct 17, 2025
7dc2e60
Merge pull request #15407 from mcgratta/master
mcgratta Oct 17, 2025
6d3fff0
FDS User Guide: Remove unused figures
mcgratta Oct 17, 2025
4aee823
Merge pull request #15408 from mcgratta/master
mcgratta Oct 17, 2025
294ca47
Merge pull request #15406 from johodges/master
mcgratta Oct 17, 2025
0ed213a
Merge remote-tracking branch 'firemodels/master' into FireX
cxp484 Oct 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed Manuals/FDS_User_Guide/FIGURES/Fan_Curve.pdf
Binary file not shown.
Binary file removed Manuals/FDS_User_Guide/FIGURES/piece_wise_linear.pdf
Binary file not shown.
Binary file removed Manuals/FDS_User_Guide/FIGURES/polygonal.pdf
Binary file not shown.
Binary file not shown.
Binary file modified Manuals/FDS_User_Guide/FIGURES/spray_pattern_mu_0_phimax_45.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
24 changes: 12 additions & 12 deletions Manuals/FDS_Verification_Guide/FDS_Verification_Guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1245,7 +1245,7 @@ \section{2-D Vortex Simulation (\texorpdfstring{\ct{vort2d}}{vort2d})}
\textbf{Max Gould, NIST SURF student}\\
\textbf{Ragini Acharya, United Technologies Research Center}\\

\noindent In this section we present another case that demonstrates the second-order accuracy of the FDS transport algorithm. We consider the analytically stable flow field consisting of a single vortex advected by a uniform flow, a test case developed by CERFACS\footnote{Centre Europ\'een de Recherche et de Formation Avanc\'ee en Calcul Scientifique} \cite{cerfacs_test}. Maintaining the geometry of the vortex over time provides a good measure of the order of accuracy of the transport scheme.
\noindent In this section another case is presented case that demonstrates the second-order accuracy of the FDS transport algorithm. Consider the analytically stable flow field consisting of a single vortex advected by a uniform flow, a test case developed by CERFACS\footnote{Centre Europ\'een de Recherche et de Formation Avanc\'ee en Calcul Scientifique} \cite{cerfacs_test}. Maintaining the geometry of the vortex over time provides a good measure of the order of accuracy of the transport scheme.

\begin{figure}[h!]
\centering
Expand Down Expand Up @@ -1287,33 +1287,32 @@ \section{2-D Vortex Simulation (\texorpdfstring{\ct{vort2d}}{vort2d})}
u (x,z) &\equiv& U_{0} + \frac{\partial}{\partial z} \Psi_{0} = U_{0} - \frac{\Gamma \ z}{R_{c}^{2}} \exp \left[ - \frac{x^{2} + z^{2}}{2 \ R_{c}^{2}} \right], \\
w (x,z) &\equiv& - \frac{\partial}{\partial x} \Psi_{0} = \frac{\Gamma \ x}{R_{c}^{2}} \exp \left[ - \frac{x^{2} + z^{2}}{2 \ R_{c}^{2}} \right],
\end{eqnarray}
where $u$ and $w$ refer to velocity in the $x$ and $z$-directions, respectively. For our purposes we need only analyze one component of the velocity field. We will focus our attention on the $u$-component of velocity.
where $u$ and $w$ refer to velocity in the $x$ and $z$-directions, respectively. It is sufficient to analyze the $u$-component of velocity.

We define the computational domain as a two-dimensional square region, $L=0.3112$~m on a side, with periodic boundary conditions. The domain is discretized for a range of square, two-dimensional meshes of $40^{2}$, $80^{2}$, $160^{2}$, and $320^{2}$ grid cells. For the purposes of this test, we set the flow parameters as
The computational domain is a two-dimensional square region, $L=0.3112$~m on a side, with periodic boundary conditions. The domain is discretized for a range of square, two-dimensional meshes of $40^{2}$, $80^{2}$, $160^{2}$, and $320^{2}$ grid cells. The flow parameters are
\[
\begin{array}{lll}
U_{0} &&= 35 \ \mathrm{m/s} \\
R_{c} &= L / 20 &= 0.01556 \ \mathrm{m} \\
\Gamma &= 0.04 \ U_{0} \ R_{c} \ \sqrt{e} &= 0.0359157
\end{array}
\]
The constant flow field and periodic boundary conditions cause the vortex to repeatedly pass through the computational domain. The ``pass-through'' time, $t_{f}$, is defined as the time period required for the stable vortex to return to its original position,
The constant flow field and periodic boundary conditions cause the vortex to repeatedly pass through the computational domain. The ``pass-through'' time, $t_{\rm f}$, is defined as the time period required for the stable vortex to return to its original position,
\begin{equation*}
t_{f} = L / U_{0} \simeq 8.8914 \times 10^{-3} \ \mathrm{s}.
t_{\rm f} = L / U_{0} \simeq 8.8914 \times 10^{-3} \ \mathrm{s}
\end{equation*}
To ensure that the numerical solution converges to the analytical solution, we set the time step, $\dt$, so that the Courant-Friedrichs-Lewy (CFL) number is 0.5.

To ensure that the numerical solution converges to the analytical solution, the time step, $\dt$, is chosen so that the Courant-Friedrichs-Lewy (CFL) number is 0.5.

\begin{figure}[h]
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
\includegraphics[height=2.2in]{SCRIPT_FIGURES/vort2d_80_uzgraph} &
\includegraphics[height=2.2in]{SCRIPT_FIGURES/vort2d_160_uzgraph}
\end{tabular*}
\caption[Velocity in the \ct{vort2d} test case]{$u$-velocity along the $z$-axis at $x=0$ plotted for each of the vortex's first four loops through the computational domain. (Left) $80^{2}$ grid cell model. (Right) $160^{2}$ grid cell model.}
\caption[Velocity in the \ct{vort2d} test case]{$u$-velocity along the $z$-axis at $x=0$ plotted for each of the vortex's first three passes through the computational domain. (Left) $80^{2}$ grid cell model. (Right) $160^{2}$ grid cell model.}
\label{fig_vort2d_axisvelocity}
\end{figure}

A plot of $u$-velocity values just along the $z$-axis provides a simple characterization of the vortex geometry. The extent to which this geometry changes over time provides a qualitative measure of the accuracy of the transport algorithm. Figure \ref{fig_vort2d_axisvelocity} displays these plots for two different grid resolutions. Each line represents a plot taken for a different number of flow-through times such that the red lines represent the vortex after it has undergone the most passes through the computational domain while the green lines represent the vortex in the initial phase. The broken black line represents the analytical solution. As the vortex undergoes more passes through the computational domain, its velocity profile diverges further and further from the analytical profile. While divergence still occurs on the finer mesh, the extent to which it diverges after the same number of flow-through times is significantly smaller.
A plot of $u$-velocity along the $z$-axis provides a simple characterization of the vortex geometry. The extent to which this geometry changes over time provides a qualitative measure of the accuracy of the transport algorithm. Figure~\ref{fig_vort2d_axisvelocity} displays these plots for two different grid resolutions. Each curve represents the state of the vortex at each flow-through time. The black curve represents the analytical solution for which the numerical solution has been initialized. As the vortex undergoes more passes through the computational domain, its velocity profile diverges from the analytical profile. While divergence still occurs on the finer mesh, the extent to which it diverges after the same number of flow-through times is significantly smaller.

\begin{figure}[h!]
\centering
Expand All @@ -1322,7 +1321,7 @@ \section{2-D Vortex Simulation (\texorpdfstring{\ct{vort2d}}{vort2d})}
\label{fig_vort2d_error}
\end{figure}

The rate with which the simulated profiles converge to the analytical one defines the order of accuracy of the numerical scheme. In Fig.~\ref{fig_vort2d_error} we plot the rms error of the numerical solution as a function of the grid resolution. The three colored curves represent the rms error at three different pass-through times. The broken and solid black lines represent the plot gradient corresponding to first and second order error respectively. While the error increases with each flow-through time, the gradients of the lines are roughly parallel to the solid black line, indicating second-order accuracy of the numerical scheme.
The rate with which the simulated profiles converge to the analytical one defines the order of accuracy of the numerical scheme. In Fig.~\ref{fig_vort2d_error} the error of the numerical solution is plotted as a function of the grid resolution. The three colored curves represent the error at three different pass-through times. The broken and solid black lines represent the plot gradient corresponding to first and second order error respectively. While the error increases with each flow-through time, the gradients of the lines are roughly parallel to the solid black line, indicating second-order accuracy of the numerical scheme.

To analyze the stability of the vortex at times other than discrete multiples of the pass-through time, consider the time-dependent potential field and its corresponding $u$-velocity component:
\begin{equation}
Expand All @@ -1333,7 +1332,7 @@ \section{2-D Vortex Simulation (\texorpdfstring{\ct{vort2d}}{vort2d})}
\label{eqn_uvel_timedep}
u (x,z,t) = U_{0} - \Psi_{0} \ \frac{z}{R_{c}^{2}} \exp \left[\frac{2 \ U_{0} \ x \ t - U_{0}^{2} \ t^{2}}{2 \ R_{c}^{2}} \right].
\end{equation}
In Fig.~\ref{fig_vort2d_pointvelocity}, we show the $u$-velocity at a single point, on the lower left fringe of the vortex, for two different mesh resolutions, $80^{2}$ and $160^{2}$. A mesh resolution of $320^{2}$ grid cells produces a plot (not shown) that is, to the eye, a perfect match out to four pass-through times.
In Fig.~\ref{fig_vort2d_pointvelocity}, the $u$-velocity at a single point on the lower left fringe of the vortex is plotted for two different mesh resolutions, $80^{2}$ and $160^{2}$. A mesh resolution of $320^{2}$ grid cells produces a plot (not shown) that is, to the eye, a perfect match out to four pass-through times.

\begin{figure}[h!]
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
Expand Down Expand Up @@ -1491,7 +1490,7 @@ \subsection{Fire Plume using Constant Specific Heat Ratio (\texorpdfstring{\ct{f
\subsection{Evaporation with Constant Specific Heat Ratio (\texorpdfstring{\ct{water_evap_1_const_gamma}}{water\_evap\_1\_const\_gamma})}
\label{water_evap_1_const_gamma}

This test case is a replica of \ct{water_evaporation_1} in Sec.~\ref{water_evaporation_1} using constant specific heat ratio. A 1 \si{m^3} box is initially filled with dry air at 200 \si{\degreeCelsius} and mono-disperse water droplets totaling 0.01 kg in mass initially at 20 \si{\degreeCelsius}. In this case, all the water evaporates. The final gas temperature may be computed from energy conservation. Pressure change may be computed from the ideal gas law. Results are shown in Fig.~\ref{water_evap_1_const_gamma_plots}. Details of the expected results may be found in \ct{water_evap_1_const_gamma.m} in the \ct{Utilities/Matlab/scripts/} directory in the FDS repository \cite{FDS-SMV_repository}.
This test case is a replica of \ct{water_evaporation_1} in Sec.~\ref{water_evaporation_1} using constant specific heat ratio. A 1 \si{m^3} box is initially filled with dry air at 200 \si{\degreeCelsius} and mono-disperse water droplets totaling 0.01 kg in mass initially at 20 \si{\degreeCelsius}. In this case, all the water evaporates. The final gas temperature may be computed from energy conservation. Pressure change may be computed from the ideal gas law. Results are shown in Fig.~\ref{water_evap_1_const_gamma_plots}. Details of the expected results may be found in \ct{water_evap_1_const_gamma.py} in the \ct{Utilities/Python/scripts/} directory in the FDS repository \cite{FDS-SMV_repository}.

\begin{figure}[ht!]
\noindent
Expand Down Expand Up @@ -7828,6 +7827,7 @@ \chapter{Outputs}
\section{Statistical Quantities}

\subsection{RMS, Co-Variance, and Cross-Correlation (\texorpdfstring{\ct{rms\_cov\_corr}}{rms\_cov\_corr})}
\label{rms_cov_corr}

FDS can output the root mean square (RMS), co-variance, and cross-correlation for both point and line \ct{DEVC} outputs. To test these outputs a 1 m$^3$ box with open sides and a 10 cm grid size is defined with two inlet vents centered on adjacent faces. This results in two orthogonal flow streams that collide at the center of the box and exit diagonally. Within the diagonal portion of the flow, are placed point measurements for the FDS outputs of the u-velocity RMS, the u-velocity/w-velocity co-variance, and the u-velocity/w-velocity cross-correlation.

Expand Down
47 changes: 30 additions & 17 deletions Source/ccib.f90
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ MODULE CC_SCALARS
CC_CUTCELL_VELOCITY,CC_CUTFACE_VELOCITY,CC_RESTORE_UVW_UNLINKED,&
CHECK_CFLVN_LINKED_CELLS,ADD_Q_DOT_CUTCELLS,CFACE_THERMAL_GASVARS,&
CFACE_PREDICT_NORMAL_VELOCITY,COMPUTE_LINKED_CUTFACE_BAROCLINIC,&
COPY_CC_UNKH_TO_HS, COPY_CC_HS_TO_UNKH, COPY_UNST_DM_TO_CART, CUTFACE_VELOCITIES, &
COPY_CC_UNKH_TO_HS, COPY_CC_MUNKH_TO_UNKH, COPY_UNST_DM_TO_CART, CUTFACE_VELOCITIES, &
GET_CFACE_OPEN_BC_COEF,GET_FN_DIVERGENCE_CUTCELL,GET_OPENBC_TANGENTIAL_CUTFACE_VEL,&
GET_CUTCELL_DDDT,GET_H_CUTFACES,GET_H_MATRIX_CC,GET_H_GUARD_CUTCELL,GET_CRTCFCC_INT_STENCILS,GET_RCFACES_H, &
GET_CC_MATRIXGRAPH_H,GET_CC_IROW,GET_CC_UNKH,GET_CUTCELL_HP, GET_LINKED_FV, GET_PRES_CFACE_BCS, &
Expand Down Expand Up @@ -21750,44 +21750,57 @@ SUBROUTINE NUMBER_UNKH_CUTCELLS(FLAG12,NM,IPZ,NUNKH_LC)
RETURN
END SUBROUTINE NUMBER_UNKH_CUTCELLS

! ------------------- COPY_CC_HS_TO_UNKH ----------------------------
! ------------------- COPY_CC_MUNKH_TO_UNKH ----------------------------

SUBROUTINE COPY_CC_HS_TO_UNKH(NM)

INTEGER, INTENT(IN) :: NM
SUBROUTINE COPY_CC_MUNKH_TO_UNKH

! Local Variables:
INTEGER :: NOM,ICC,II,JJ,KK,IOR,IW,IIO,JJO,KKO
INTEGER :: NOM,ICC,IW,IIO,JJO,KKO,II,JJ,KK
TYPE (OMESH_TYPE), POINTER :: OM

TYPE (BOUNDARY_COORD_TYPE), POINTER :: BC
! Loop over external wall cells:
EXTERNAL_WALL_LOOP: DO IW=1,N_EXTERNAL_WALL_CELLS

WC=>WALL(IW)
EWC=>EXTERNAL_WALL(IW)
IF (WC%BOUNDARY_TYPE/=INTERPOLATED_BOUNDARY) CYCLE EXTERNAL_WALL_LOOP

BC => BOUNDARY_COORD(WC%BC_INDEX)
II = BC%II
JJ = BC%JJ
KK = BC%KK
IOR = BC%IOR
NOM = EWC%NOM
OM => OMESH(NOM)

! This assumes all meshes at the same level of refinement:
KKO=EWC%KKO_MIN
JJO=EWC%JJO_MIN
IIO=EWC%IIO_MIN

BC => BOUNDARY_COORD(WC%BC_INDEX)
II = BC%II; JJ = BC%JJ; KK = BC%KK;
ICC=CCVAR(II,JJ,KK,CC_IDCC)

IF (ICC > 0) THEN ! Cut-cells on this guard-cell Cartesian cell.
MESHES(NM)%CUT_CELL(ICC)%UNKH(1) = INT(OM%HS(IIO,JJO,KKO))
CUT_CELL(ICC)%UNKH(1) = OM%MUNKH(IIO,JJO,KKO)
ELSE
MESHES(NM)%CCVAR(II,JJ,KK,CC_UNKH) = INT(OM%HS(IIO,JJO,KKO))
CCVAR(II,JJ,KK,CC_UNKH) = OM%MUNKH(IIO,JJO,KKO)
ENDIF

! ! Loop over all cells in mesh NOM that correspond to this boundary face (supports grid refinement):
! DO KKO = EWC%KKO_MIN, EWC%KKO_MAX
! DO JJO = EWC%JJO_MIN, EWC%JJO_MAX
! DO IIO = EWC%IIO_MIN, EWC%IIO_MAX

! ! Check if this cell in mesh NOM is a cut-cell:
! ICC = MESHES(NOM)%CCVAR(IIO,JJO,KKO,CC_IDCC)

! IF (ICC > 0) THEN
! ! Copy to cut-cell storage in mesh NOM:
! MESHES(NOM)%CUT_CELL(ICC)%UNKH(1) = OM%MUNKH(IIO,JJO,KKO)
! ELSE
! ! Copy to regular cell storage in mesh NOM:
! MESHES(NOM)%CCVAR(IIO,JJO,KKO,CC_UNKH) = OM%MUNKH(IIO,JJO,KKO)
! ENDIF

! ENDDO
! ENDDO
! ENDDO

ENDDO EXTERNAL_WALL_LOOP

! Loop over external wall cells:
Expand All @@ -21801,7 +21814,7 @@ SUBROUTINE COPY_CC_HS_TO_UNKH(NM)
ENDDO EXTERNAL_WALL_LOOP2

RETURN
END SUBROUTINE COPY_CC_HS_TO_UNKH
END SUBROUTINE COPY_CC_MUNKH_TO_UNKH

! ------------------- COPY_CC_UNKH_TO_HS ----------------------------

Expand Down
22 changes: 13 additions & 9 deletions Source/main.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1743,15 +1743,19 @@ SUBROUTINE GLOBAL_MATRIX_REASSIGN(FORCE_REASSIGN)
CALL ULMAT_SOLVER_SETUP(NM)
ENDDO
CALL STOP_CHECK(1)
CASE (UGLMAT_FLAG,GLMAT_FLAG)
IF(ALLOCATED(ZONE_SOLVE)) CALL FINISH_GLMAT_SOLVER
CALL GLMAT_SOLVER_SETUP(1)
CALL STOP_CHECK(1)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,CGSC) -> HS.
CALL GLMAT_SOLVER_SETUP(2)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,UNKH) -> HS.
CALL GLMAT_SOLVER_SETUP(3)
CALL STOP_CHECK(1)
CASE (UGLMAT_FLAG,GLMAT_FLAG)
IF(ALLOCATED(ZONE_SOLVE)) CALL FINISH_GLMAT_SOLVER
CALL GLMAT_SOLVER_SETUP(-1) ! Initialize EWC_TYPE, copy wall types to HS
CALL STOP_CHECK(1)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for IS_WALLT -> HS
CALL GLMAT_SOLVER_SETUP(0) ! Process coarse faces, copy updated wall types to HS
CALL MESH_EXCHANGE(3) ! Re-exchange guard cell info for IS_WALLT -> HS
CALL GLMAT_SOLVER_SETUP(1)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,CGSC) -> HS
CALL GLMAT_SOLVER_SETUP(2)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,UNKH) -> HS
CALL GLMAT_SOLVER_SETUP(3)
CALL STOP_CHECK(1)
END SELECT
OBST_CREATED_OR_REMOVED = .FALSE.
ENDIF
Expand Down
Loading
Loading