Skip to content

Commit 3e4f806

Browse files
authored
Merge pull request #15271 from cxp484/FireX
FireX: Merging with firemodels/master
2 parents 2f78c8f + dce229b commit 3e4f806

16 files changed

+896
-575
lines changed

Source/part.f90

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1013,9 +1013,9 @@ SUBROUTINE INSERT_VOLUMETRIC_PARTICLES
10131013
! If the INIT volume is outside the current mesh, return
10141014

10151015
IF (IN%SHAPE/='RING' .AND. IN%SHAPE/='LINE') THEN
1016-
IF ((IN_X1-XF)>-50._EB*TWO_EPSILON_EB .OR. (IN_X2-XS)<50._EB*TWO_EPSILON_EB .OR. &
1017-
(IN_Y1-YF)>-50._EB*TWO_EPSILON_EB .OR. (IN_Y2-YS)<50._EB*TWO_EPSILON_EB .OR. &
1018-
(IN_Z1-ZF)>-50._EB*TWO_EPSILON_EB .OR. (IN_Z2-ZS)<50._EB*TWO_EPSILON_EB) RETURN
1016+
IF ((IN_X1-XF)>50._EB*TWO_EPSILON_EB .OR. (IN_X2-XS)<-50._EB*TWO_EPSILON_EB .OR. &
1017+
(IN_Y1-YF)>50._EB*TWO_EPSILON_EB .OR. (IN_Y2-YS)<-50._EB*TWO_EPSILON_EB .OR. &
1018+
(IN_Z1-ZF)>50._EB*TWO_EPSILON_EB .OR. (IN_Z2-ZS)<-50._EB*TWO_EPSILON_EB) RETURN
10191019
ELSEIF (IN%SHAPE=='RING') THEN
10201020
IF (RING_MESH_INTERSECTION_ARC(NM,IN%X0,IN%Y0,IN%RADIUS)<TWO_EPSILON_EB) RETURN
10211021
ELSE

Source/read.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6545,7 +6545,7 @@ SUBROUTINE PROC_PART
65456545

65466546
DO NN=1,SF%N_MATL
65476547
ML => MATERIAL(NN)
6548-
IF ( ANY(ML%N_O2>0._EB) ) OXPYRO_MODEL = .TRUE.
6548+
IF ( ANY(ML%N_O2>0._EB) .AND. (ML%PYROLYSIS_MODEL /= PYROLYSIS_SURFACE_OXIDATION) ) OXPYRO_MODEL = .TRUE.
65496549
ENDDO
65506550

65516551
ENDIF THERMALLY_THICK_IF
@@ -9956,7 +9956,7 @@ SUBROUTINE PROC_WALL
99569956
ML => MATERIAL(SF%LAYER_CHILD_INDEX(NL,N))
99579957
IF (ANY(ML%NU_RESIDUE>0._EB)) CAN_SWELL = .TRUE.
99589958
IF (ML%ALLOW_SWELLING) DENSITY_MIN = MIN(DENSITY_MIN,ML%RHO_S)
9959-
IF ( ANY(ML%N_O2>0._EB) ) OXPYRO_MODEL = .TRUE.
9959+
IF ( ANY(ML%N_O2>0._EB) .AND. (ML%PYROLYSIS_MODEL /= PYROLYSIS_SURFACE_OXIDATION) ) OXPYRO_MODEL = .TRUE.
99609960
ENDDO
99619961

99629962
IF (DENSITY_MIN>TWO_EPSILON_EB .AND. CAN_SWELL) SF%SWELL_RATIO(NL) = MAX(1._EB,SF%LAYER_DENSITY(NL)/DENSITY_MIN)

Utilities/Matlab/FDS_validation_dataplot_inputs.csv

Lines changed: 88 additions & 88 deletions
Large diffs are not rendered by default.

Utilities/Matlab/FDS_validation_script.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
backward_facing_step
7777
sandia_helium_plume
7878
sandia_methane_fire
79-
flame_height2
8079
purdue_flames
8180
NIST_NRC_Parallel_Panels
8281
Memorial_Tunnel

Utilities/Matlab/scripts/FM_Burner.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
HRR = importdata([outdir,'FM_15cm_Burner_',fuel_name{i_fuel},'_',res_name{fds_resolution},'_hrr.csv'],',',2);
2121

2222
Time_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'Time')));
23-
XO2_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'"XO2"')));
23+
XO2_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'XO2')));
2424
Qdot_FDS = HRR.data(:,find(strcmp(HRR.colheaders,'HRR')));
2525
Qrad_FDS = HRR.data(:,find(strcmp(HRR.colheaders,'Q_RADI')));
2626
ntp = length(Time_FDS);

Utilities/Matlab/scripts/flame_height2.m

Lines changed: 0 additions & 153 deletions
This file was deleted.

Utilities/Matlab/scripts/umd_line_burner_process.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
HRR = importdata([outdir,fuel_name{i_fuel},'_dx_',res_name{fds_resolution},'_hrr.csv'],',',2);
2323

2424
Time_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'Time')));
25-
XO2_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'"XO2"')));
25+
XO2_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'XO2')));
2626
Qdot_FDS = HRR.data(:,find(strcmp(HRR.colheaders,'HRR')));
2727
Qrad_FDS = HRR.data(:,find(strcmp(HRR.colheaders,'Q_RADI')));
28-
q_R_FDS = 0.5*( DEV.data(:,find(strcmp(DEV.colheaders,'"qrad1"'))) + DEV.data(:,find(strcmp(DEV.colheaders,'"qrad2"'))) );
28+
q_R_FDS = 0.5*( DEV.data(:,find(strcmp(DEV.colheaders,'qrad1'))) + DEV.data(:,find(strcmp(DEV.colheaders,'qrad2'))) );
2929
ntp = length(Time_FDS);
30-
Lf_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'"L_F"')));
30+
Lf_FDS = DEV.data(:,find(strcmp(DEV.colheaders,'L_F')));
3131

3232
Lf_tmp = Lf_FDS;
3333
for n=1:ntp

Utilities/Python/FDS_validation_script.py

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
#!$FIREMODELS/fds/.github/fds_python_env/bin/python
22

3-
import subprocess
43
import fdsplotlib
54
import importlib
5+
import runpy
66
importlib.reload(fdsplotlib) # use for development (while making changes to fdsplotlib.py)
77

8-
# # Scripts to run prior to dataplot
8+
# Scripts to run prior to dataplot
99

10-
# print("catchpole_spread_rates..."); subprocess.run(["python","./scripts/catchpole_spread_rates.py"])
11-
# print("NIST_deposition_gauge..."); subprocess.run(["python","./scripts/NIST_deposition_gauge.py"])
12-
# print("flame_height..."); subprocess.run(["python","./scripts/flame_height.py"])
13-
# print("NIST_RSE..."); subprocess.run(["python","./scripts/NIST_RSE.py"])
14-
# print("sippola_aerosol_deposition..."); subprocess.run(["python","./scripts/sippola_aerosol_deposition.py"])
15-
# print("layer_height..."); subprocess.run(["python","./scripts/layer_height.py"])
16-
# print("NIST_NRC_Corner_Effects..."); subprocess.run(["python","./scripts/NIST_NRC_Corner_Effects.py"])
17-
# # print("fm_data_center..."); subprocess.run(["python","./scripts/fm_data_center.py"])
18-
# print("LNG_Dispersion..."); subprocess.run(["python","./scripts/LNG_Dispersion.py"])
19-
# print("LNG_wind_profiles..."); subprocess.run(["python","./scripts/LNG_wind_profiles.py"])
20-
# print("FM_Vertical_Wall_Flames..."); subprocess.run(["python","./scripts/FM_Vertical_Wall_Flames.py"])
21-
# print("umd_line_burner_process..."); subprocess.run(["python","./scripts/umd_line_burner_process.py"])
22-
# # print("Askervein_Hill..."); subprocess.run(["python","./scripts/Askervein_Hill.py"])
23-
# print("UWO_Wind_Tunnel..."); subprocess.run(["python","./scripts/UWO_Wind_Tunnel.py"])
24-
# print("FM_Burner..."); subprocess.run(["python","./scripts/FM_Burner.py"])
25-
# print("Crown_Fires..."); subprocess.run(["python","./scripts/Crown_Fires.py"])
26-
# print("Ranz_Marshall..."); subprocess.run(["python","./scripts/Ranz_Marshall.py"])
27-
# print("Phoenix_LNG_Fires..."); subprocess.run(["python","./scripts/Phoenix_LNG_Fires.py"])
10+
print("catchpole_spread_rates..."); runpy.run_path("./scripts/catchpole_spread_rates.py", run_name="__main__")
11+
print("NIST_deposition_gauge..."); runpy.run_path("./scripts/NIST_deposition_gauge.py", run_name="__main__")
12+
print("flame_height..."); runpy.run_path("./scripts/flame_height.py", run_name="__main__")
13+
print("NIST_RSE..."); runpy.run_path("./scripts/NIST_RSE.py", run_name="__main__")
14+
print("sippola_aerosol_deposition..."); runpy.run_path("./scripts/sippola_aerosol_deposition.py", run_name="__main__")
15+
print("layer_height..."); runpy.run_path("./scripts/layer_height.py", run_name="__main__")
16+
print("NIST_NRC_Corner_Effects..."); runpy.run_path("./scripts/NIST_NRC_Corner_Effects.py", run_name="__main__")
17+
# print("fm_data_center..."); runpy.run_path("./scripts/fm_data_center.py", run_name="__main__")
18+
print("LNG_Dispersion..."); runpy.run_path("./scripts/LNG_Dispersion.py", run_name="__main__")
19+
print("LNG_wind_profiles..."); runpy.run_path("./scripts/LNG_wind_profiles.py", run_name="__main__")
20+
print("FM_Vertical_Wall_Flames..."); runpy.run_path("./scripts/FM_Vertical_Wall_Flames.py", run_name="__main__")
21+
print("umd_line_burner_process..."); runpy.run_path("./scripts/umd_line_burner_process.py", run_name="__main__")
22+
# print("Askervein_Hill..."); runpy.run_path("./scripts/Askervein_Hill.py", run_name="__main__")
23+
print("UWO_Wind_Tunnel..."); runpy.run_path("./scripts/UWO_Wind_Tunnel.py", run_name="__main__")
24+
print("FM_Burner..."); runpy.run_path("./scripts/FM_Burner.py", run_name="__main__")
25+
print("Crown_Fires..."); runpy.run_path("./scripts/Crown_Fires.py", run_name="__main__")
26+
print("Ranz_Marshall..."); runpy.run_path("./scripts/Ranz_Marshall.py", run_name="__main__")
27+
print("Phoenix_LNG_Fires..."); runpy.run_path("./scripts/Phoenix_LNG_Fires.py", run_name="__main__")
2828

2929
# Dataplot and scatplot options
3030

@@ -41,15 +41,15 @@
4141
# plot_range=["all"]) # see notes below on plot_range
4242

4343
# Special cases
44-
45-
print("Beyler_Hood..."); subprocess.run(["python","./scripts/Beyler_Hood.py"])
46-
print("BRE_LEMTA_Sprays..."); subprocess.run(["python","./scripts/BRE_LEMTA_Sprays.py"])
47-
print("FM_FPRF_Datacenter..."); subprocess.run(["python","./scripts/FM_FPRF_Datacenter.py"])
48-
print("McCaffrey_Plume..."); subprocess.run(["python","./scripts/McCaffrey_Plume.py"])
49-
print("Sandia_Pools..."); subprocess.run(["python","./scripts/Sandia_Pools.py"])
50-
print("TUS_Facade..."); subprocess.run(["python","./scripts/TUS_Facade_contours.py"])
51-
print("USFS_Deep_Fuel_Beds..."); subprocess.run(["python","./scripts/USFS_Deep_Fuel_Beds.py"])
52-
print("Wu_Bakar_Tunnels..."); subprocess.run(["python","./scripts/Wu_Bakar_Tunnels.py"])
44+
print("Beyler_Hood..."); runpy.run_path("./scripts/Beyler_Hood.py", run_name="__main__")
45+
print("BRE_LEMTA_Sprays..."); runpy.run_path("./scripts/BRE_LEMTA_Sprays.py", run_name="__main__")
46+
print("FM_FPRF_Datacenter..."); runpy.run_path("./scripts/FM_FPRF_Datacenter.py", run_name="__main__")
47+
print("Heskestad_Flame_Height_2..."); runpy.run_path("./scripts/Heskestad_Flame_Height_2.py", run_name="__main__")
48+
print("McCaffrey_Plume..."); runpy.run_path("./scripts/McCaffrey_Plume.py", run_name="__main__")
49+
print("Sandia_Pools..."); runpy.run_path("./scripts/Sandia_Pools.py", run_name="__main__")
50+
print("TUS_Facade..."); runpy.run_path("./scripts/TUS_Facade_contours.py", run_name="__main__")
51+
print("USFS_Deep_Fuel_Beds..."); runpy.run_path("./scripts/USFS_Deep_Fuel_Beds.py", run_name="__main__")
52+
print("Wu_Bakar_Tunnels..."); runpy.run_path("./scripts/Wu_Bakar_Tunnels.py", run_name="__main__")
5353

5454
print("Python validation scripts completed successfully!")
5555

0 commit comments

Comments
 (0)