Skip to content

Commit f2bb320

Browse files
authored
Merge pull request #14742 from cxp484/FireX
FireX: Merge with firemodels/master
2 parents 138bc18 + 824334b commit f2bb320

File tree

14 files changed

+322
-55
lines changed

14 files changed

+322
-55
lines changed

Manuals/Bibliography/FDS_general.bib

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6830,6 +6830,17 @@ @BOOK{Wilcox:1
68306830
publisher = {DCW Industries, Inc.},
68316831
}
68326832

6833+
@TECHREPORT{Wilson:1980,
6834+
author = {Wilson, R.},
6835+
title = {{Reformulation of forest fire spread equations in SI units}},
6836+
year = 1980,
6837+
institution = {Intermountain Forest and Range Experiment Station, USDA Forest Service},
6838+
type = {Research Paper},
6839+
number = {INT-292},
6840+
address = {Ogden, Utah},
6841+
note = {\href{https://www.fs.usda.gov/rm/pubs\_int/int\_rn292.pdf}{https://www.fs.usda.gov/rm/pubs\_int/int\_rn292.pdf}}
6842+
}
6843+
68336844
@TECHREPORT{DelCo_TN,
68346845
author = {J.M. Willi},
68356846
title = {{Propane Gas Fire Experiments in Residential Scale Structures}},

Manuals/FDS_Technical_Reference_Guide/FDS_Technical_Reference_Guide.tex

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
{\newcommand{\gitrevision}{unknown} }
2020

2121
\ifcompgeom
22-
\includeonly{Introduction_Chapter, Equation_Chapter, Mass_Chapter, Momentum_Chapter, Combustion_Chapter, Radiation_Chapter, Solid_Chapter, Aerosol_Chapter, Particle_Chapter, Device_Chapter, HVAC_Chapter, Complex_Geometry_Chapter, Appendices}
22+
\includeonly{Introduction_Chapter, Equation_Chapter, Mass_Chapter, Momentum_Chapter, Combustion_Chapter, Radiation_Chapter, Solid_Chapter, Aerosol_Chapter, Particle_Chapter, Device_Chapter, HVAC_Chapter, Complex_Geometry_Chapter, Wildland_Chapter, Appendices}
2323
\else
24-
\includeonly{Introduction_Chapter, Equation_Chapter, Mass_Chapter, Momentum_Chapter, Combustion_Chapter, Radiation_Chapter, Solid_Chapter, Aerosol_Chapter, Particle_Chapter, Device_Chapter, HVAC_Chapter, Appendices}
24+
\includeonly{Introduction_Chapter, Equation_Chapter, Mass_Chapter, Momentum_Chapter, Combustion_Chapter, Radiation_Chapter, Solid_Chapter, Aerosol_Chapter, Particle_Chapter, Device_Chapter, HVAC_Chapter, Wildland_Chapter, Appendices}
2525
\fi
2626

2727
\begin{document}
@@ -187,6 +187,7 @@ \chapter{Acknowledgments}
187187
\ifcompgeom
188188
\include{Complex_Geometry_Chapter}
189189
\fi
190+
\include{Wildland_Chapter}
190191

191192
\bibliography{../Bibliography/FDS_refs,../Bibliography/FDS_general,../Bibliography/FDS_mathcomp}
192193

Binary file not shown.

Manuals/FDS_Technical_Reference_Guide/Wildland_Chapter.tex

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

Manuals/FDS_User_Guide/FDS_User_Guide.tex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1677,7 +1677,6 @@ \subsection{GEOM Limitations}
16771677
\item Thin geometries and corners cannot split cells, one side must be blocked. See Sec.~\ref{info:thin_geom}.
16781678
\item Backing external is allowed only on a single mesh. If the back surface is on another mesh the backing will be set to \ct{VOID} (quietly).
16791679
\item A \ct{VENT} cannot be applied to a \ct{GEOM}. Surface properties must be applied face by face via \ct{SURF_ID}.
1680-
\item No \ct{VENT} implies \ct{HVAC} cannot be applied to a \ct{GEOM} surface. This is on our priority list and will be available in the future.
16811680
\item Imposing a tangential velocity in geometries cannot be done. \ct{NO_SLIP} conditions assume a zero tangential velocity. Allowing this capability is also a development priority.
16821681
\item Neither 3D heat transfer nor \ct{BURN_AWAY} are available in \ct{GEOM}.
16831682
\item The \ct{HOLE} namelist does not apply to \ct{GEOM}.

Source/hvac.f90

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,16 @@ SUBROUTINE READ_HVAC
429429
WRITE(MESSAGE,'(A,I5)') 'ERROR(513): Ductnode has no ID, HVAC line number:',NN
430430
CALL SHUTDOWN(MESSAGE); RETURN
431431
ENDIF
432+
IF ((GEOM .OR. GEOM2) .AND. VENT_ID/='null') THEN
433+
WRITE(MESSAGE,'(A,A,A,I5)') 'ERROR(yyy): Ductnode with GEOM cannot have a VENT_ID. Ductnode ID:',TRIM(DN%ID),&
434+
', HVAC line number:',NN
435+
CALL SHUTDOWN(MESSAGE); RETURN
436+
ENDIF
437+
IF (.NOT. GEOM .AND. VENT_ID=='null' .AND. N_DUCTS==1) THEN
438+
WRITE(MESSAGE,'(A,A,A,I5)') 'ERROR(yyy): Ductnode with one duct needs either GEOM or VENT_ID. Ductnode ID:',&
439+
TRIM(DN%ID),', HVAC line number:',NN
440+
CALL SHUTDOWN(MESSAGE); RETURN
441+
ENDIF
432442
DN%VENT_ID = VENT_ID
433443
DN%GEOM = GEOM
434444
IF (DN%VENT .AND. DN%GEOM) THEN
@@ -457,12 +467,12 @@ SUBROUTINE READ_HVAC
457467
DN%N_DUCTS=ND
458468
ENDDO
459469
IF (DN%N_DUCTS == 1 .AND. .NOT. GEOM .AND. .NOT. AMBIENT .AND. VENT_ID=='null') THEN
460-
WRITE(MESSAGE,'(A,A,A,I5)') 'ERROR(515): Non-AMBIENT or non VENT-connected ductnode must have >=2 ducts. Ductnode ID:',&
461-
TRIM(DN%ID),', HVAC line number:',NN
470+
WRITE(MESSAGE,'(A,A,A,A,I5)') 'ERROR(515): Non-AMBIENT, non-VENT, and non-GEOM connected ductnode ',&
471+
'(i.e., internal node) must have >=2 ducts. Ductnode ID:',TRIM(DN%ID),', HVAC line number:',NN
462472
CALL SHUTDOWN(MESSAGE); RETURN
463473
ENDIF
464474
IF (DN%N_DUCTS >= 2 .AND. (AMBIENT .OR. GEOM .OR. VENT_ID/='null')) THEN
465-
WRITE(MESSAGE,'(A,A,A,I5)') 'ERROR(516): AMBIENT, GEOM, or VENT-connected ductnode must have 1 duct. Ductnode ID:',&
475+
WRITE(MESSAGE,'(A,A,A,I5)') 'ERROR(516): AMBIENT, VENT, or GEOM-connected ductnode must have 1 duct. Ductnode ID:',&
466476
TRIM(DN%ID),', HVAC line number:',NN
467477
CALL SHUTDOWN(MESSAGE); RETURN
468478
ENDIF

Source/read.f90

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12056,6 +12056,10 @@ SUBROUTINE READ_VENT
1205612056
WRITE(MESSAGE,'(3A)') 'ERROR(802): VENT ',TRIM(ID), ' needs an explicit ID because it involves HVAC.'
1205712057
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1205812058
ENDIF
12059+
IF (SURF_ID=='HVAC' .AND. GEOM) THEN
12060+
WRITE(MESSAGE,'(3A)') 'ERROR(xxx): VENT ',TRIM(ID), ' cannot have SURF_ID=HVAC and GEOM=T.'
12061+
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
12062+
ENDIF
1205912063

1206012064
! Special cases where VENT is specified with PBX, PBY, PBZ, MB, or DB
1206112065

@@ -12253,10 +12257,6 @@ SUBROUTINE READ_VENT
1225312257
IF (BLOCKED) REJECT_VENT = .TRUE.
1225412258
ENDIF
1225512259

12256-
! If the VENT is on a GEOM do not reject (further setup in READ_GEOM)
12257-
12258-
IF (GEOM .AND. .NOT.(TERRAIN_CASE .AND. ALL(XB(1:6)>-1.01E6_EB))) REJECT_VENT = .FALSE.
12259-
1226012260
! If the VENT is rejected, cycle
1226112261

1226212262
IF (REJECT_VENT) THEN
@@ -12562,7 +12562,7 @@ SUBROUTINE READ_VENT
1256212562
ENDDO
1256312563
ENDIF
1256412564

12565-
IF (VT%IOR==0 .AND. .NOT. VT%GEOM) THEN
12565+
IF (VT%IOR==0) THEN
1256612566
WRITE(MESSAGE,'(3A)') 'ERROR(818): VENT ',TRIM(VT%ID),' requires an orientation index, IOR.'
1256712567
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1256812568
ENDIF
@@ -12610,17 +12610,9 @@ SUBROUTINE READ_VENT
1261012610

1261112611
! Check UVW
1261212612

12613-
IF (.NOT.VT%GEOM) THEN
12614-
IF (ABS(VT%UVW(ABS(VT%IOR))) < TWO_EPSILON_EB) THEN
12615-
WRITE(MESSAGE,'(3A)') 'ERROR(821): VENT ',TRIM(VT%ID),' cannot have normal component of UVW equal to 0.'
12616-
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
12617-
ENDIF
12618-
ENDIF
12619-
12620-
! Special treatment for coloring GEOM surface with HVAC_BOUNDARY
12621-
12622-
IF (VT%GEOM .AND. VT%BOUNDARY_TYPE==HVAC_BOUNDARY) THEN
12623-
SURFACE(VT%SURF_INDEX)%RGB = (/0,128,0/) ! green
12613+
IF (ABS(VT%UVW(ABS(VT%IOR))) < TWO_EPSILON_EB) THEN
12614+
WRITE(MESSAGE,'(3A)') 'ERROR(821): VENT ',TRIM(VT%ID),' cannot have normal component of UVW equal to 0.'
12615+
CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1262412616
ENDIF
1262512617

1262612618
ENDDO VENT_LOOP_2

Source/vege.f90

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ MODULE VEGE
1818
TYPE(MESH_TYPE), POINTER :: M
1919
TYPE(WALL_TYPE), POINTER :: WC
2020
TYPE(CFACE_TYPE), POINTER :: CFA
21+
TYPE(CC_CUTFACE_TYPE), POINTER :: CF
2122
TYPE(SURFACE_TYPE), POINTER :: SF
2223
TYPE(BOUNDARY_PROP1_TYPE), POINTER :: B1
2324
TYPE(BOUNDARY_PROP2_TYPE), POINTER :: B2
@@ -37,7 +38,7 @@ SUBROUTINE INITIALIZE_LEVEL_SET_FIRESPREAD_1(NM)
3738
USE COMPLEX_GEOMETRY, ONLY : CC_IDCF
3839
INTEGER, INTENT(IN) :: NM
3940
INTEGER :: ICF,IW,I,J,SURF_INDEX
40-
REAL(EB), ALLOCATABLE, DIMENSION(:,:) :: SUM_AREA
41+
REAL(EB), ALLOCATABLE, DIMENSION(:,:) :: MAX_AREA,SUM_AREA
4142

4243
T_NOW = CURRENT_TIME()
4344

@@ -78,38 +79,43 @@ SUBROUTINE INITIALIZE_LEVEL_SET_FIRESPREAD_1(NM)
7879

7980
IF (CC_IBM) THEN
8081

82+
ALLOCATE(MAX_AREA(0:IBP1,0:JBP1)) ; MAX_AREA = 0._EB
8183
ALLOCATE(SUM_AREA(0:IBP1,0:JBP1)) ; SUM_AREA = 0._EB
8284
ALLOCATE(M%LS_KLO_TERRAIN(0:IBP1,0:JBP1),STAT=IZERO) ; CALL ChkMemErr('READ','LS_KLO_TERRAIN',IZERO)
8385
LS_KLO_TERRAIN => M%LS_KLO_TERRAIN ; LS_KLO_TERRAIN = 2*KBP1+1 ! Number larger that KBP1.
8486
ALLOCATE(M%LS_KHI_TERRAIN(0:IBP1,0:JBP1),STAT=IZERO) ; CALL ChkMemErr('READ','LS_KHI_TERRAIN',IZERO)
8587
LS_KHI_TERRAIN => M%LS_KHI_TERRAIN ; LS_KHI_TERRAIN = -1 ! Number smaller than 0.
8688
DO ICF=1,M%N_CUTFACE_MESH
87-
IF (CUT_FACE(ICF)%STATUS/=2 .OR. CUT_FACE(ICF)%NFACE<1) CYCLE ! CC_INBOUNDARY == 2
89+
CF => CUT_FACE(ICF)
90+
IF (CF%STATUS/=2 .OR. CF%NFACE<1) CYCLE ! CC_INBOUNDARY == 2
8891
! Location of CFACE with largest AREA, to define SURF_INDEX:
89-
IW = MAXLOC(CUT_FACE(ICF)%AREA(1:CUT_FACE(ICF)%NFACE),DIM=1)
90-
CFA => CFACE( CUT_FACE(ICF)%CFACE_INDEX(IW) )
91-
BC => BOUNDARY_COORD(CFA%BC_INDEX)
92-
IF (BC%KKG < LS_KLO_TERRAIN(BC%IIG,BC%JJG)) LS_KLO_TERRAIN(BC%IIG,BC%JJG) = BC%KKG
93-
IF (BC%KKG > LS_KHI_TERRAIN(BC%IIG,BC%JJG)) LS_KHI_TERRAIN(BC%IIG,BC%JJG) = BC%KKG
92+
IW = MAXLOC(CF%AREA(1:CF%NFACE),DIM=1)
93+
CFA => CFACE(CF%CFACE_INDEX(IW) )
94+
BC => BOUNDARY_COORD(CFA%BC_INDEX)
9495
IF (BC%NVEC(KAXIS)>-TWO_EPSILON_EB .AND. CFA%BOUNDARY_TYPE==SOLID_BOUNDARY) THEN
95-
IF (SUM(CUT_FACE(ICF)%AREA(1:CUT_FACE(ICF)%NFACE))<SUM_AREA(BC%IIG,BC%JJG)) THEN
96+
IF (BC%KKG < LS_KLO_TERRAIN(BC%IIG,BC%JJG)) LS_KLO_TERRAIN(BC%IIG,BC%JJG) = BC%KKG
97+
IF (BC%KKG > LS_KHI_TERRAIN(BC%IIG,BC%JJG)) LS_KHI_TERRAIN(BC%IIG,BC%JJG) = BC%KKG
98+
SUM_AREA(BC%IIG,BC%JJG) = SUM_AREA(BC%IIG,BC%JJG) + SUM(CF%AREA(1:CF%NFACE))
99+
Z_LS(BC%IIG,BC%JJG) = Z_LS(BC%IIG,BC%JJG) + DOT_PRODUCT(CF%XYZCEN(KAXIS,1:CF%NFACE),CF%AREA(1:CF%NFACE))
100+
IF (SUM(CF%AREA(1:CF%NFACE))<MAX_AREA(BC%IIG,BC%JJG)) THEN
96101
CYCLE ! This CUT_FACE does not contain the majority of the area corresponding to the FDS cell area, DX*DY
97102
ELSE
98-
SUM_AREA(BC%IIG,BC%JJG) = SUM(CUT_FACE(ICF)%AREA(1:CUT_FACE(ICF)%NFACE))
103+
MAX_AREA(BC%IIG,BC%JJG) = SUM(CF%AREA(1:CF%NFACE))
99104
ENDIF
100-
! Area averaged Z height of CFACES within this cut-cell (containing CC_INBOUNDARY CFACES):
101-
Z_LS(BC%IIG,BC%JJG) = DOT_PRODUCT(CUT_FACE(ICF)%XYZCEN(KAXIS,1:CUT_FACE(ICF)%NFACE), &
102-
CUT_FACE(ICF)%AREA(1:CUT_FACE(ICF)%NFACE) ) / SUM_AREA(BC%IIG,BC%JJG)
103105
IF (BC%KKG > K_LS(BC%IIG,BC%JJG)) K_LS(BC%IIG,BC%JJG) = BC%KKG
104106
LS_SURF_INDEX(BC%IIG,BC%JJG) = CFA%SURF_INDEX
105107
ENDIF
106108
ENDDO
109+
WHERE (SUM_AREA>TWO_EPSILON_EB) Z_LS = Z_LS/SUM_AREA
110+
DEALLOCATE(MAX_AREA)
111+
DEALLOCATE(SUM_AREA)
112+
107113
DO J=1,JBAR
108114
DO I=1,IBAR
109115
IF (K_LS(I,J)==KBAR .AND. FCVAR(I,J,K_LS(I,J),CC_IDCF,KAXIS)>0) LS_SURF_INDEX(I,J) = 0
110116
ENDDO
111117
ENDDO
112-
DEALLOCATE(SUM_AREA)
118+
113119
ENDIF
114120

115121
! Set up level set on cartesian faces only where they are not under a GEOM
@@ -155,7 +161,7 @@ END SUBROUTINE INITIALIZE_LEVEL_SET_FIRESPREAD_1
155161
SUBROUTINE INITIALIZE_LEVEL_SET_FIRESPREAD_2(NM,MODE)
156162

157163
INTEGER, INTENT(IN) :: NM,MODE
158-
INTEGER :: I,IM1,IM2,IIG,IP1,IP2,J,JJG,JM1,JP1
164+
INTEGER :: I,IM1,IIG,IP1,J,JJG,JM1,JP1
159165
REAL(EB) :: DZT_DUM,DZTDX_DUM,DZTDY_DUM,G_EAST,G_WEST,G_SOUTH,G_NORTH
160166

161167
T_NOW = CURRENT_TIME()
@@ -236,17 +242,13 @@ SUBROUTINE INITIALIZE_LEVEL_SET_FIRESPREAD_2(NM,MODE)
236242

237243
GRADIENT_ILOOP: DO I = 1,IBAR
238244

239-
IM1=I-1 ; IM2=I-2
240-
IP1=I+1 ; IP2=I+2
241-
IF (I==1) IM1 = I
242-
IF (I==IBAR) IP1 = I
245+
IM1=I-1
246+
IP1=I+1
243247

244248
DO J = 1,JBAR
245249

246250
JM1=J-1
247251
JP1=J+1
248-
IF (J==1) JM1 = J
249-
IF (J==IBAR) JP1 = J
250252

251253
G_EAST = 0.5_EB*( Z_LS(I,J) + Z_LS(IP1,J) )
252254
G_WEST = 0.5_EB*( Z_LS(I,J) + Z_LS(IM1,J) )
@@ -489,7 +491,6 @@ SUBROUTINE LEVEL_SET_FIRESPREAD(T,DT,NM)
489491
! and then calculating effective wind speed, phi_s is converted to an effected wind speed and added
490492
! to UMF calculated from the wind. Effective U has units of m/min in Wilson formula.
491493
! 0.3048 ~= 1/3.281
492-
! if phi_s < 0 then a complex value (NaN) results. Using abs(phi_s) and sign function to correct.
493494

494495
UMF_TMP = &
495496
0.3048_EB/PHI_S*(((SF%VEG_LSET_BETA / BETA_OP_ROTH)**E_ROTH)*PHI_S/C_ROTH)**(1._EB/B_ROTH)

Utilities/Matlab/FDS_verification_dataplot_inputs.csv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,8 @@ d,HVAC_mass_transport_energy,HVAC/HVAC_mass_transport_energy_git.txt,HVAC/HVAC_m
377377
d,HVAC_mass_transport_energy,HVAC/HVAC_mass_transport_energy_git.txt,HVAC/HVAC_mass_transport_energy_ideal.csv,1,2,Time,Ideal Delta P,Ideal \Delta p,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/HVAC_mass_transport_energy_devc.csv,2,3,Time,FDS Delta P,FDS \Delta p,k-,0,100000,,20,40,-1.00E+09,1.00E+09,0,Pressure difference (HVAC\_mass\_transport\_energy),Time (s),Pressure (Pa),0,40,1,0.6,1.2,1,no,0.05 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/HVAC_mass_transport_energy_p,Relative Error,mean,0.01,HVAC,kd,k,TeX
378378
d,HVAC_tee_loss_1,HVAC/HVAC_tee_loss_1_git.txt,HVAC/HVAC_flow_loss_ideal.csv,1,2,Time,Ideal 1 m/s|Ideal 2 m/s|Ideal 3 m/s,Ideal 1 m/s|Ideal 2 m/s|Ideal 3 m/s,ro|bo|ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/HVAC_tee_loss_1_devc.csv,2,3,Time,FDS 1 m/s duct|FDS 2 m/s duct|FDS 3 m/s duct,FDS 1 m/s|FDS 2 m/s|FDS 3 m/s,r-|b-|k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Velocities (HVAC\_tee\_loss\_1),Time (s),Velocity (m/s),0,10,1,0,5,1,no,0.40 0.90,NorthWest,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/HVAC_tee_loss_1,Relative Error,end,0.01,HVAC,kd,k,TeX
379379
d,HVAC_tee_loss_2,HVAC/HVAC_tee_loss_2_git.txt,HVAC/HVAC_tee_loss_2_ideal.csv,1,2,Time,Ideal 1.5 m/s A|Ideal 1.5 m/s B|Ideal 3 m/s,Ideal 1.5 m/s A|Ideal 1.5 m/s B|Ideal 3 m/s,ro|bo|ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/HVAC_tee_loss_2_devc.csv,2,3,Time,E 1|E 2|S 1,FDS 1.5 m/s A|FDS 1.5 m/s B|FDS 3 m/s,r-|b-|k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Velocities (HVAC\_tee\_loss\_2),Time (s),Velocity (m/s),0,10,1,0,5,1,no,0.40 0.90,NorthWest,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/HVAC_tee_loss_2,Relative Error,end,0.01,HVAC,kd,k,TeX
380-
d,leak_geom,HVAC/leak_geom_git.txt,HVAC/leak_geom.csv,1,2,Time,V,Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/leak_geom_devc.csv,2,3,Time,L|C|C V|R,FDS Left|FDS Geom Center|FDS Vent Center|FDS Right,r-|b-|k-|g-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Velocities (HVAC\_tee\_loss\_2),Time (s),Velocity (m/s),0,5,1,0,0.15,1,no,0.40 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/leak_geom,Relative Error,end,0.01,HVAC,kd,k,TeX
381-
d,HVAC_geom,HVAC/HVAC_geom_git.txt,HVAC/HVAC_geom.csv,1,2,Time,V,Ideal,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/HVAC_geom_devc.csv,2,3,Time,L|LR|R,FDS Left In|FDS Left to Right |FDS Right Out,r-|b-|k-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Velocities (HVAC\_tee\_loss\_2),Time (s),Velocity (m/s),0,5,1,0,2.5,1,no,0.40 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/HVAC_geom,Relative Error,end,0.01,HVAC,kd,k,TeX
380+
d,leak_geom,HVAC/leak_geom_git.txt,HVAC/leak_geom.csv,1,2,Time,V|V2|V3|V4,Ideal Left|Ideal Geom Center|Ideal Vent Center|Ideal Right,ko|ro|bo|go,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/leak_geom_devc.csv,2,3,Time,L|C|C V|R,FDS Left|FDS Geom Center|FDS Vent Center|FDS Right,k-|r-|b-|g-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Velocities (leak\_geom),Time (s),Velocity (m/s),0,5,1,0,0.15,1,no,0.40 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/leak_geom,Relative Error,end,0.01,HVAC,kd,k,TeX
381+
d,HVAC_geom,HVAC/HVAC_geom_git.txt,HVAC/HVAC_geom.csv,1,2,Time,V|V2|V3,Ideal Left|Ideal Left Right|Ideal Right,ko|ro|bo,0,100000,,0,100000,-1.00E+09,1.00E+09,0,HVAC/HVAC_geom_devc.csv,2,3,Time,L|LR|R,FDS Left|FDS Left Right|FDS Right,k-|r-|b-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Velocities (HVAC\_geom),Time (s),Velocity (m/s),0,5,1,0,2.5,1,no,0.40 0.90,SouthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/HVAC_geom,Relative Error,end,0.01,HVAC,kd,k,TeX
382382
d,ignition_delay,Chemistry/ign_delay_Methane_grimech30_T900K_Phi0p6_cat_git.txt,Chemistry/cantera_ignition_delay.csv,1,2,Time1,TMP1,Cantera,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Chemistry/ign_delay_Methane_grimech30_T900K_Phi0p6_cat_devc.csv,2,3,Time,TMP,FDS,b-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,ignition\_delay; T=626.85 °C,Time (s),Temperature (°C),0,10,1,550,3000,1,no,0.05 0.90,NorthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/ign_delay_Methane_grimech30_900_0p6_TMP,Relative Error,area,0.02,Chemistry,b*,b,TeX
383383
d,ignition_delay,Chemistry/ign_delay_Methane_grimech30_T900K_Phi0p6_cat_git.txt,Chemistry/cantera_ignition_delay.csv,1,2,Time1,OH1,Cantera,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Chemistry/ign_delay_Methane_grimech30_T900K_Phi0p6_cat_devc.csv,2,3,Time,OH,FDS,b-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,ignition\_delay; T=626.85 °C,Time (s),OH Mass Fraction,0,10,1,0,0.02,1,no,0.05 0.90,NorthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/ign_delay_Methane_grimech30_900_0p6_OH,Relative Error,area,0.02,Chemistry,b*,b,TeX
384384
d,ignition_delay,Chemistry/ign_delay_Methane_grimech30_T1000K_Phi0p6_cat_git.txt,Chemistry/cantera_ignition_delay.csv,1,2,Time2,TMP2,Cantera,ko,0,100000,,0,100000,-1.00E+09,1.00E+09,0,Chemistry/ign_delay_Methane_grimech30_T1000K_Phi0p6_cat_devc.csv,2,3,Time,TMP,FDS,b-,0,100000,,0,100000,-1.00E+09,1.00E+09,0,ignition\_delay; T=726.85 °C,Time (s),Temperature (°C),0,2,1,550,3000,1,no,0.05 0.90,NorthEast,,1,linear,FDS_Verification_Guide/SCRIPT_FIGURES/ign_delay_Methane_grimech30_1000_0p6_TMP,Relative Error,area,0.02,Chemistry,b*,b,TeX

Utilities/Scripts/qfds.sh

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ function usage {
5252
fi
5353
echo "Other options:"
5454
echo " -b email_address - send an email to email_address when jobs starts, aborts and finishes"
55+
echo " -c remove restriction limiting the job to the minimum number of nodes"
5556
echo " -d dir - specify directory where the case is found [default: .]"
5657
echo " -G use GNU OpenMPI version of fds"
5758
echo " -I use Intel MPI version of fds"
@@ -129,6 +130,7 @@ else
129130
fi
130131
EMAIL=
131132
casedir=
133+
cram=no
132134
use_default_casedir=
133135
USERMAX=
134136
dir=.
@@ -147,7 +149,7 @@ commandline=`echo $* | sed 's/-V//' | sed 's/-v//'`
147149

148150
#*** read in parameters from command line
149151

150-
while getopts 'A:b:d:e:GhHIj:Ln:o:Pp:q:stT:U:vw:y:Y' OPTION
152+
while getopts 'A:b:cd:e:GhHIj:Ln:o:Pp:q:stT:U:vw:y:Y' OPTION
151153
do
152154
case $OPTION in
153155
A)
@@ -156,6 +158,9 @@ case $OPTION in
156158
b)
157159
EMAIL="$OPTARG"
158160
;;
161+
c)
162+
cram="yes"
163+
;;
159164
d)
160165
dir="$OPTARG"
161166
;;
@@ -389,7 +394,6 @@ cat << EOF >> $scriptfile
389394
#SBATCH --partition=$queue
390395
#SBATCH --ntasks=$n_mpi_processes
391396
#SBATCH --cpus-per-task=$n_openmp_threads
392-
#SBATCH --nodes=$nodes
393397
#SBATCH --time=$walltime
394398
EOF
395399
if [ "$ACCOUNT" != "" ]; then
@@ -418,6 +422,12 @@ cat << EOF >> $scriptfile
418422
EOF
419423
fi
420424

425+
if [ "$cram" == "no" ]; then
426+
cat << EOF >> $scriptfile
427+
#SBATCH --nodes=$nodes
428+
EOF
429+
fi
430+
421431
else # PBS/Torque
422432

423433
cat << EOF >> $scriptfile

0 commit comments

Comments
 (0)