Skip to content

Commit 1bd0d06

Browse files
committed
FDS Source: Issue #13696. Clarify use of INITIAL_SPEED
1 parent e26d751 commit 1bd0d06

File tree

12 files changed

+38
-42
lines changed

12 files changed

+38
-42
lines changed

Manuals/FDS_User_Guide/FDS_User_Guide.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6844,7 +6844,7 @@ \subsection{Pressure Gradient Force}
68446844
&RAMP ID='dir', T= 600, F=330 /
68456845
&RAMP ID='dir', T=1200, F=350 /
68466846
\end{lstlisting}
6847-
Here, {\ct T} is time in seconds and {\ct F} is the wind direction in degrees. The {\ct INITIAL\_SPEED} sets the horizontal wind components at the start of the simulation. This is provided as a convenience because it may take on the order of hours of simulation time to slowly increase the wind speed via the pressure gradient force alone. The {\ct INITIAL\_SPEED} only sets the initial wind speed, but has no longer term effect. You may vary the {\ct PRESSURE\_GRADIENT\_FORCE} in time using {\ct RAMP\_PGF\_T}.
6847+
Here, {\ct T} is time in seconds and {\ct F} is the wind direction in degrees. The {\ct INITIAL\_SPEED} and {\ct INITIAL\_DIRECTION} set the horizontal wind components at the start of the simulation. This is provided as a convenience because it may take on the order of hours of simulation time to slowly increase the wind speed via the pressure gradient force alone. The {\ct INITIAL\_SPEED} {\ct INITIAL\_DIRECTION} only set the initial wind speed and direction, but has no longer term effect. You may vary the {\ct PRESSURE\_GRADIENT\_FORCE} in time using {\ct RAMP\_PGF\_T}.
68486848

68496849
There are some applications, like tunnels, where the pressure gradient force is a convenient way to introduce an air flow due to some external force. In such cases, it is sometimes more convenient to use the vector {\ct FORCE\_VECTOR(1:3)} along with the corresponding time ramps {\ct RAMP\_FVX\_T}, {\ct RAMP\_FVY\_T}, and {\ct RAMP\_FVZ\_T} to control each individual component. The {\ct PRESSURE\_GRADIENT\_FORCE} is simply the magnitude of the {\ct FORCE\_VECTOR} with the same units.
68506850

@@ -13673,6 +13673,7 @@ \section{\texorpdfstring{{\tt WIND}}{WIND} (Wind and Atmospheric Parameters)}
1367313673
{\ct FORCE\_VECTOR(3)} & Real & Section~\ref{info:force_vector} & Pa/m & 0. \\ \hline
1367413674
{\ct GEOSTROPHIC\_WIND(2)} & Real & Section~\ref{info:geostrophic_wind} & m/s & \\ \hline
1367513675
{\ct GROUND\_LEVEL} & Real & Section~\ref{info:stratification} & m & 0. \\ \hline
13676+
{\ct INITIAL\_DIRECTION} & Real & Section~\ref{info:force_vector} & deg & 270. \\ \hline
1367613677
{\ct INITIAL\_SPEED} & Real & Section~\ref{info:force_vector} & m/s & 0. \\ \hline
1367713678
{\ct L} & Real & Section~\ref{info:WIND} & m & 0 \\ \hline
1367813679
{\ct LAPSE\_RATE} & Real & Section~\ref{info:stratification} & $^\circ$C/m & 0 \\ \hline

Source/ccib.f90

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2208,11 +2208,7 @@ SUBROUTINE GET_PRES_CFACE_BCS(NM,T,DT)
22082208

22092209
! Wind inflow boundary conditions
22102210

2211-
IF (INITIAL_SPEED>0._EB) THEN
2212-
H0 = 0._EB
2213-
ELSE
2214-
H0 = 0.5_EB*(U0**2+V0**2+W0**2)
2215-
ENDIF
2211+
H0 = 0.5_EB*(U0**2+V0**2+W0**2)
22162212
IF (OPEN_WIND_BOUNDARY) &
22172213
H0 = 0.5_EB*((U_WIND(K)+VEL_EDDY)**2 + (V_WIND(K)+VEL_EDDY)**2 + (W_WIND(K)+VEL_EDDY)**2)
22182214

Source/cons.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ MODULE GLOBAL_CONSTANTS
309309
REAL(EB) :: V0 !< Wind speed in the \f$ y \f$ direction (m/s)
310310
REAL(EB) :: W0 !< Wind speed in the \f$ z \f$ direction (m/s)
311311
REAL(EB) :: INITIAL_SPEED=-1._EB !< Initial wind speed (m/s) which is assumed to die off
312+
REAL(EB) :: INITIAL_DIRECTION=270._EB !< Initial wind direction (deg)
312313
REAL(EB) :: GVEC(3) !< Gravity vector (m/s2)
313314
REAL(EB) :: FVEC(3)=0._EB !< Force vector (N/m3)
314315
REAL(EB) :: OVEC(3)=0._EB !< Coriolis vector (1/s)

Source/init.f90

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -360,14 +360,23 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
360360
CALL COMPUTE_WIND_COMPONENTS(T_BEGIN,NM)
361361

362362
DO K=0,M%KBP1
363-
M%RHO(:,:,K) = M%RHO_0(K)
364-
M%RHOS(:,:,K)= M%RHO_0(K)
365-
M%TMP(:,:,K) = M%TMP_0(K)
366-
M%U(:,:,K) = M%U_WIND(K)
367-
M%V(:,:,K) = M%V_WIND(K)
368-
M%W(:,:,K) = M%W_WIND(K)
363+
M%RHO(:,:,K) = M%RHO_0(K)
364+
M%RHOS(:,:,K) = M%RHO_0(K)
365+
M%TMP(:,:,K) = M%TMP_0(K)
369366
ENDDO
370367

368+
IF (INITIAL_SPEED<0._EB) THEN
369+
DO K=0,M%KBP1
370+
M%U(:,:,K) = M%U_WIND(K)
371+
M%V(:,:,K) = M%V_WIND(K)
372+
M%W(:,:,K) = M%W_WIND(K)
373+
ENDDO
374+
ELSE
375+
M%U = -INITIAL_SPEED*SIN(INITIAL_DIRECTION*DEG2RAD)
376+
M%V = -INITIAL_SPEED*COS(INITIAL_DIRECTION*DEG2RAD)
377+
M%W = 0._EB
378+
ENDIF
379+
371380
! Custom velocity RAMPS (for verification)
372381

373382
IF (I_RAMP_UX>0) THEN
@@ -425,13 +434,8 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
425434
M%FVY = 0._EB
426435
M%FVZ = 0._EB
427436
M%KRES = 0._EB
428-
IF (INITIAL_SPEED>0._EB) THEN
429-
M%H = 0._EB
430-
M%HS = 0._EB
431-
ELSE
432-
M%H = 0.5_EB*(U0**2+V0**2+W0**2)
433-
M%HS = 0.5_EB*(U0**2+V0**2+W0**2)
434-
ENDIF
437+
M%H = 0.5_EB*(U0**2+V0**2+W0**2)
438+
M%HS = 0.5_EB*(U0**2+V0**2+W0**2)
435439
M%DDDT = 0._EB
436440
M%D = 0._EB
437441
M%DS = 0._EB

Source/pres.f90

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,7 @@ SUBROUTINE PRESSURE_SOLVER_COMPUTE_RHS(T,DT,NM)
170170

171171
! Wind inflow boundary conditions
172172

173-
IF (INITIAL_SPEED>0._EB) THEN
174-
H0 = 0._EB
175-
ELSE
176-
H0 = 0.5_EB*(U0**2+V0**2+W0**2)
177-
ENDIF
173+
H0 = 0.5_EB*(U0**2+V0**2+W0**2)
178174

179175
IF (OPEN_WIND_BOUNDARY) THEN
180176
SELECT CASE(IOR)

Source/read.f90

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2077,8 +2077,8 @@ SUBROUTINE READ_WIND
20772077
TYPE(RESERVED_RAMPS_TYPE), POINTER :: RRP,RRPX
20782078
INTEGER, PARAMETER :: N_MO_PTS=51 ! number of Monin-Obukhov ramp points
20792079

2080-
NAMELIST /WIND/ CORIOLIS_VECTOR,DIRECTION,FORCE_VECTOR,FYI,GEOSTROPHIC_WIND,GROUND_LEVEL,INITIAL_SPEED,L,LAPSE_RATE,LATITUDE,&
2081-
PRESSURE_GRADIENT_FORCE,RAMP_DIRECTION_T,RAMP_DIRECTION_Z,&
2080+
NAMELIST /WIND/ CORIOLIS_VECTOR,DIRECTION,FORCE_VECTOR,FYI,GEOSTROPHIC_WIND,GROUND_LEVEL,INITIAL_DIRECTION,INITIAL_SPEED,&
2081+
L,LAPSE_RATE,LATITUDE,PRESSURE_GRADIENT_FORCE,RAMP_DIRECTION_T,RAMP_DIRECTION_Z,&
20822082
RAMP_PGF_T,RAMP_FVX_T,RAMP_FVY_T,RAMP_FVZ_T,RAMP_SPEED_T,RAMP_SPEED_Z,RAMP_TMP0_Z,&
20832083
SIGMA_THETA,SPEED,STRATIFICATION,TAU_THETA,THETA_STAR,TMP_REF,U_STAR,U0,&
20842084
USE_ATMOSPHERIC_INTERPOLATION,V0,W0,Z_0,Z_REF
@@ -2142,14 +2142,14 @@ SUBROUTINE READ_WIND
21422142
SPEED = (U_STAR/VON_KARMAN_CONSTANT)*(LOG(Z_REF/Z_0)-PSI_M)
21432143
ENDIF
21442144

2145-
IF (SPEED>0._EB .OR. INITIAL_SPEED>0._EB) THEN
2145+
IF (SPEED>0._EB) THEN
21462146
IF (SPEED>0._EB) OPEN_WIND_BOUNDARY = .TRUE.
21472147
IF (RAMP_DIRECTION_T/='null' .OR. RAMP_DIRECTION_Z/='null') THEN
2148-
U0 = MAX(SPEED,INITIAL_SPEED)
2149-
V0 = MAX(SPEED,INITIAL_SPEED)
2148+
U0 = SPEED
2149+
V0 = SPEED
21502150
ELSE
2151-
U0 = -MAX(SPEED,INITIAL_SPEED)*SIN(DIRECTION*DEG2RAD)
2152-
V0 = -MAX(SPEED,INITIAL_SPEED)*COS(DIRECTION*DEG2RAD)
2151+
U0 = -SPEED*SIN(DIRECTION*DEG2RAD)
2152+
V0 = -SPEED*COS(DIRECTION*DEG2RAD)
21532153
ENDIF
21542154
ENDIF
21552155

Validation/Askervein_Hill/FDS_Input_Files/Askervein_TU03A_16m.fds

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
&RADI RADIATION=F /
2121

2222
! See Ask83 Table 4.7
23-
&WIND INITIAL_SPEED=10.0, DIRECTION=206, L=-691., Z_0=0.08, Z_REF=10., GROUND_LEVEL=0 /
23+
&WIND SPEED=10.0, DIRECTION=206, L=-691., Z_0=0.08, Z_REF=10., GROUND_LEVEL=0 /
2424

2525
! External BCs:
2626
&VENT MB='XMIN',SURF_ID='OPEN'/

Validation/Loughborough_Jet_Fires/FDS_Input_Files/jet1.fds

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
&VENT MB='XMIN', SURF_ID='OPEN' /
1515
&VENT MB='XMAX', SURF_ID='OPEN' /
1616

17-
&WIND INITIAL_SPEED=6.3, DIRECTION=271., PRESSURE_GRADIENT_FORCE=0.08 /
17+
&WIND INITIAL_SPEED=6.3, INITIAL_DIRECTION=271., DIRECTION=271., PRESSURE_GRADIENT_FORCE=0.08 /
1818

1919
&SURF ID='GROUND', ROUGHNESS=0.5 /
2020

Validation/Loughborough_Jet_Fires/FDS_Input_Files/jet2.fds

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
&VENT MB='XMIN', SURF_ID='OPEN' /
1515
&VENT MB='XMAX', SURF_ID='OPEN' /
1616

17-
&WIND INITIAL_SPEED=6.2, DIRECTION=297., PRESSURE_GRADIENT_FORCE=0.08 /
17+
&WIND INITIAL_SPEED=6.2, INITIAL_DIRECTION=297., DIRECTION=297., PRESSURE_GRADIENT_FORCE=0.08 /
1818

1919
&SURF ID='GROUND', ROUGHNESS=0.5 /
2020

Validation/Loughborough_Jet_Fires/FDS_Input_Files/jet3.fds

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
&VENT MB='XMIN', SURF_ID='OPEN' /
1515
&VENT MB='XMAX', SURF_ID='OPEN' /
1616

17-
&WIND INITIAL_SPEED=3.6, DIRECTION=267., PRESSURE_GRADIENT_FORCE=0.08 /
17+
&WIND INITIAL_SPEED=3.6, INITIAL_DIRECTION=267., DIRECTION=267., PRESSURE_GRADIENT_FORCE=0.08 /
1818

1919
&SURF ID='GROUND', ROUGHNESS=0.5 /
2020

0 commit comments

Comments
 (0)