Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions Manuals/FDS_User_Guide/FDS_User_Guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -11974,6 +11974,7 @@ \chapter{Alphabetical List of Input Parameters}
% ignorenamelistkw: /DUMP/MMS_TIMER, /DUMP/TURB_INIT_CLOCK, /DUMP/GET_CUTCELLS_VERBOSE, /DUMP/WRITE_CVODE_SUBSTEPS
% ignorenamelistkw: /HVAC/DEBUG
% ignorenamelistkw: /ISOF/DEBUG
% ignorenamelistkw: /MISC/FLUX_LIMITER_MW_CORRECTION
% ignorenamelistkw: /MISC/PERIODIC_TEST, /MISC/POSITIVE_ERROR_TEST, /MISC/PROFILING, /MISC/RADIATION
% ignorenamelistkw: /MISC/STRATIFICATION, /MISC/SUPPRESSION, /MISC/UVW_FILE, /MISC/TENSOR_DIFFUSIVITY
% ignorenamelistkw: /MISC/CC_IBM, /MISC/CCVOL_LINK, /MISC/TEST_NEW_CHAR_MODEL, /MISC/PR, /MISC/SC
Expand Down
2 changes: 1 addition & 1 deletion Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1739,7 +1739,7 @@ SUBROUTINE READ_MISC
CFL_MAX,CFL_MIN,CFL_VELOCITY_NORM,CHECK_FO,CHECK_HT,CHECK_VN, &
CNF_CUTOFF,CONSTANT_SPECIFIC_HEAT_RATIO,&
C_SMAGORINSKY,C_VREMAN,C_WALE,DEPOSITION,EXTERNAL_FILENAME,&
FIXED_LES_FILTER_WIDTH,FLUX_LIMITER,&
FIXED_LES_FILTER_WIDTH,FLUX_LIMITER,FLUX_LIMITER_MW_CORRECTION,&
FREEZE_VELOCITY,FYI,GAMMA,GRAVITATIONAL_DEPOSITION,&
GRAVITATIONAL_SETTLING,GVEC,H_F_REFERENCE_TEMPERATURE,&
HUMIDITY,HVAC_LOCAL_PRESSURE,HVAC_MASS_TRANSPORT_CELL_L,HVAC_PRES_RELAX,HVAC_QFAN,IBLANK_SMV,I_MAX_TEMP,&
Expand Down
99 changes: 48 additions & 51 deletions Source/velo.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1817,7 +1817,7 @@ SUBROUTINE VELOCITY_BC(T,NM,APPLY_TO_ESTIMATED_VARIABLES)
UUP(2),UUM(2),DXX(2),MU_DUIDXJ(-2:2),DUIDXJ(-2:2),PROFILE_FACTOR,VEL_GAS,VEL_GHOST, &
MU_DUIDXJ_USE(2),DUIDXJ_USE(2),VEL_EDDY,U_TAU,Y_PLUS,U_NORM, &
DRAG_FACTOR,HT_SCALE_FACTOR,VEG_HT,VEL_N,UN_OTHER
INTEGER :: NOM(2),IIOE(2),JJOE(2),KKOE(2),IE,IIO,JJO,KKO,II,JJ,KK,IEC,IOR,IW,IWM,IWP,ICMM,ICMP,ICPM,ICPP,ICD,ICDO,IVL,I_SGN, &
INTEGER :: NOM(2),IIO(2),JJO(2),KKO(2),IE,IIOO,JJOO,KKOO,II,JJ,KK,IEC,IOR,IW,IWM,IWP,ICMM,ICMP,ICPM,ICPP,ICD,ICDO,IVL,I_SGN, &
VELOCITY_BC_INDEX,IIGM,JJGM,KKGM,IIGP,JJGP,KKGP,SURF_INDEXM,SURF_INDEXP,ITMP,ICD_SGN,ICDO_SGN, &
BOUNDARY_TYPE_M,BOUNDARY_TYPE_P,IS,IS2,IWPI,IWMI,VENT_INDEX,N_INT_CELLS
LOGICAL :: ALTERED_GRADIENT(-2:2),SYNTHETIC_EDDY_METHOD,HVAC_TANGENTIAL,INTERPOLATED_EDGE,&
Expand Down Expand Up @@ -1877,16 +1877,16 @@ SUBROUTINE VELOCITY_BC(T,NM,APPLY_TO_ESTIMATED_VARIABLES)
ENDIF
BC => BOUNDARY_COORD(WC%BC_INDEX)
UN_OTHER = 0._EB
DO KKO=EWC%KKO_MIN,EWC%KKO_MAX
DO JJO=EWC%JJO_MIN,EWC%JJO_MAX
DO IIO=EWC%IIO_MIN,EWC%IIO_MAX
DO KKOO=EWC%KKO_MIN,EWC%KKO_MAX
DO JJOO=EWC%JJO_MIN,EWC%JJO_MAX
DO IIOO=EWC%IIO_MIN,EWC%IIO_MAX
SELECT CASE(BC%IOR)
CASE(-1) ; UN_OTHER = UN_OTHER + OM_UU(IIO ,JJO,KKO)
CASE( 1) ; UN_OTHER = UN_OTHER + OM_UU(IIO-1,JJO,KKO)
CASE(-2) ; UN_OTHER = UN_OTHER + OM_VV(IIO,JJO ,KKO)
CASE( 2) ; UN_OTHER = UN_OTHER + OM_VV(IIO,JJO-1,KKO)
CASE(-3) ; UN_OTHER = UN_OTHER + OM_WW(IIO,JJO,KKO )
CASE( 3) ; UN_OTHER = UN_OTHER + OM_WW(IIO,JJO,KKO-1)
CASE(-1) ; UN_OTHER = UN_OTHER + OM_UU(IIOO ,JJOO ,KKOO )
CASE( 1) ; UN_OTHER = UN_OTHER + OM_UU(IIOO-1,JJOO ,KKOO )
CASE(-2) ; UN_OTHER = UN_OTHER + OM_VV(IIOO ,JJOO ,KKOO )
CASE( 2) ; UN_OTHER = UN_OTHER + OM_VV(IIOO ,JJOO-1,KKOO )
CASE(-3) ; UN_OTHER = UN_OTHER + OM_WW(IIOO ,JJOO ,KKOO )
CASE( 3) ; UN_OTHER = UN_OTHER + OM_WW(IIOO ,JJOO ,KKOO-1)
END SELECT
ENDDO
ENDDO
Expand Down Expand Up @@ -1936,14 +1936,14 @@ SUBROUTINE VELOCITY_BC(T,NM,APPLY_TO_ESTIMATED_VARIABLES)
JJ = ED%J
KK = ED%K
IEC = ED%AXIS
NOM(1) = ED%NOM_1
IIOE(1) = ED%IIO_1
JJOE(1) = ED%JJO_1
KKOE(1) = ED%KKO_1
NOM(2) = ED%NOM_2
IIOE(2) = ED%IIO_2
JJOE(2) = ED%JJO_2
KKOE(2) = ED%KKO_2
NOM(1) = ED%NOM_1
IIO(1) = ED%IIO_1
JJO(1) = ED%JJO_1
KKO(1) = ED%KKO_1
NOM(2) = ED%NOM_2
IIO(2) = ED%IIO_2
JJO(2) = ED%JJO_2
KKO(2) = ED%KKO_2

! Get the velocity components at the appropriate cell faces

Expand Down Expand Up @@ -2455,28 +2455,25 @@ SUBROUTINE VELOCITY_BC(T,NM,APPLY_TO_ESTIMATED_VARIABLES)

WGT = ED%EDGE_INTERPOLATION_FACTOR(ICD)
OMW = 1._EB-WGT
IIO = IIOE(ICD)
JJO = JJOE(ICD)
KKO = KKOE(ICD)

SELECT CASE(IEC)
CASE(1)
IF (ICD==1) THEN
VEL_GHOST = WGT*VEL_OTHER(IIO,JJO,KKO) + OMW*VEL_OTHER(IIO,JJO,KKO-1)
VEL_GHOST = WGT*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)) + OMW*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)-1)
ELSE ! ICD=2
VEL_GHOST = WGT*VEL_OTHER(IIO,JJO,KKO) + OMW*VEL_OTHER(IIO,JJO-1,KKO)
VEL_GHOST = WGT*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)) + OMW*VEL_OTHER(IIO(ICD),JJO(ICD)-1,KKO(ICD))
ENDIF
CASE(2)
IF (ICD==1) THEN
VEL_GHOST = WGT*VEL_OTHER(IIO,JJO,KKO) + OMW*VEL_OTHER(IIO-1,JJO,KKO)
VEL_GHOST = WGT*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)) + OMW*VEL_OTHER(IIO(ICD)-1,JJO(ICD),KKO(ICD))
ELSE ! ICD=2
VEL_GHOST = WGT*VEL_OTHER(IIO,JJO,KKO) + OMW*VEL_OTHER(IIO,JJO,KKO-1)
VEL_GHOST = WGT*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)) + OMW*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)-1)
ENDIF
CASE(3)
IF (ICD==1) THEN
VEL_GHOST = WGT*VEL_OTHER(IIO,JJO,KKO) + OMW*VEL_OTHER(IIO,JJO-1,KKO)
VEL_GHOST = WGT*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)) + OMW*VEL_OTHER(IIO(ICD),JJO(ICD)-1,KKO(ICD))
ELSE ! ICD==2
VEL_GHOST = WGT*VEL_OTHER(IIO,JJO,KKO) + OMW*VEL_OTHER(IIO-1,JJO,KKO)
VEL_GHOST = WGT*VEL_OTHER(IIO(ICD),JJO(ICD),KKO(ICD)) + OMW*VEL_OTHER(IIO(ICD)-1,JJO(ICD),KKO(ICD))
ENDIF
END SELECT

Expand All @@ -2488,32 +2485,32 @@ SUBROUTINE VELOCITY_BC(T,NM,APPLY_TO_ESTIMATED_VARIABLES)
IF (CORRECTOR) THEN
SELECT CASE(IEC)
CASE(1)
IF (JJ==0 .AND. KK==0 .AND. ABS(IOR)==2) UU(II,JJ ,KK ) = OM%U(IIO,JJO ,KKO-1)
IF (JJ==0 .AND. KK==0 .AND. ABS(IOR)==3) UU(II,JJ ,KK ) = OM%U(IIO,JJO-1,KKO )
IF (JJ==0 .AND. KK==KBAR .AND. ABS(IOR)==2) UU(II,JJ ,KK+1) = OM%U(IIO,JJO ,KKO+1)
IF (JJ==0 .AND. KK==KBAR .AND. ABS(IOR)==3) UU(II,JJ ,KK+1) = OM%U(IIO,JJO-1,KKO )
IF (JJ==JBAR .AND. KK==0 .AND. ABS(IOR)==2) UU(II,JJ+1,KK ) = OM%U(IIO,JJO ,KKO-1)
IF (JJ==JBAR .AND. KK==0 .AND. ABS(IOR)==3) UU(II,JJ+1,KK ) = OM%U(IIO,JJO+1,KKO )
IF (JJ==JBAR .AND. KK==KBAR .AND. ABS(IOR)==2) UU(II,JJ+1,KK+1) = OM%U(IIO,JJO ,KKO+1)
IF (JJ==JBAR .AND. KK==KBAR .AND. ABS(IOR)==3) UU(II,JJ+1,KK+1) = OM%U(IIO,JJO+1,KKO )
IF (JJ==0 .AND. KK==0 .AND. ABS(IOR)==2) UU(II,JJ ,KK ) = OM%U(IIO(ICD),JJO(ICD) ,KKO(ICD)-1)
IF (JJ==0 .AND. KK==0 .AND. ABS(IOR)==3) UU(II,JJ ,KK ) = OM%U(IIO(ICD),JJO(ICD)-1,KKO(ICD) )
IF (JJ==0 .AND. KK==KBAR .AND. ABS(IOR)==2) UU(II,JJ ,KK+1) = OM%U(IIO(ICD),JJO(ICD) ,KKO(ICD)+1)
IF (JJ==0 .AND. KK==KBAR .AND. ABS(IOR)==3) UU(II,JJ ,KK+1) = OM%U(IIO(ICD),JJO(ICD)-1,KKO(ICD) )
IF (JJ==JBAR .AND. KK==0 .AND. ABS(IOR)==2) UU(II,JJ+1,KK ) = OM%U(IIO(ICD),JJO(ICD) ,KKO(ICD)-1)
IF (JJ==JBAR .AND. KK==0 .AND. ABS(IOR)==3) UU(II,JJ+1,KK ) = OM%U(IIO(ICD),JJO(ICD)+1,KKO(ICD) )
IF (JJ==JBAR .AND. KK==KBAR .AND. ABS(IOR)==2) UU(II,JJ+1,KK+1) = OM%U(IIO(ICD),JJO(ICD) ,KKO(ICD)+1)
IF (JJ==JBAR .AND. KK==KBAR .AND. ABS(IOR)==3) UU(II,JJ+1,KK+1) = OM%U(IIO(ICD),JJO(ICD)+1,KKO(ICD) )
CASE(2)
IF (II==0 .AND. KK==0 .AND. ABS(IOR)==1) VV(II ,JJ,KK ) = OM%V(IIO ,JJO,KKO-1)
IF (II==0 .AND. KK==0 .AND. ABS(IOR)==3) VV(II ,JJ,KK ) = OM%V(IIO-1,JJO,KKO )
IF (II==0 .AND. KK==KBAR .AND. ABS(IOR)==1) VV(II ,JJ,KK+1) = OM%V(IIO ,JJO,KKO+1)
IF (II==0 .AND. KK==KBAR .AND. ABS(IOR)==3) VV(II ,JJ,KK+1) = OM%V(IIO-1,JJO,KKO )
IF (II==IBAR .AND. KK==0 .AND. ABS(IOR)==1) VV(II+1,JJ,KK ) = OM%V(IIO ,JJO,KKO-1)
IF (II==IBAR .AND. KK==0 .AND. ABS(IOR)==3) VV(II+1,JJ,KK ) = OM%V(IIO+1,JJO,KKO )
IF (II==IBAR .AND. KK==KBAR .AND. ABS(IOR)==1) VV(II+1,JJ,KK+1) = OM%V(IIO ,JJO,KKO+1)
IF (II==IBAR .AND. KK==KBAR .AND. ABS(IOR)==3) VV(II+1,JJ,KK+1) = OM%V(IIO+1,JJO,KKO )
IF (II==0 .AND. KK==0 .AND. ABS(IOR)==1) VV(II ,JJ,KK ) = OM%V(IIO(ICD) ,JJO(ICD),KKO(ICD)-1)
IF (II==0 .AND. KK==0 .AND. ABS(IOR)==3) VV(II ,JJ,KK ) = OM%V(IIO(ICD)-1,JJO(ICD),KKO(ICD) )
IF (II==0 .AND. KK==KBAR .AND. ABS(IOR)==1) VV(II ,JJ,KK+1) = OM%V(IIO(ICD) ,JJO(ICD),KKO(ICD)+1)
IF (II==0 .AND. KK==KBAR .AND. ABS(IOR)==3) VV(II ,JJ,KK+1) = OM%V(IIO(ICD)-1,JJO(ICD),KKO(ICD) )
IF (II==IBAR .AND. KK==0 .AND. ABS(IOR)==1) VV(II+1,JJ,KK ) = OM%V(IIO(ICD) ,JJO(ICD),KKO(ICD)-1)
IF (II==IBAR .AND. KK==0 .AND. ABS(IOR)==3) VV(II+1,JJ,KK ) = OM%V(IIO(ICD)+1,JJO(ICD),KKO(ICD) )
IF (II==IBAR .AND. KK==KBAR .AND. ABS(IOR)==1) VV(II+1,JJ,KK+1) = OM%V(IIO(ICD) ,JJO(ICD),KKO(ICD)+1)
IF (II==IBAR .AND. KK==KBAR .AND. ABS(IOR)==3) VV(II+1,JJ,KK+1) = OM%V(IIO(ICD)+1,JJO(ICD),KKO(ICD) )
CASE(3)
IF (II==0 .AND. JJ==0 .AND. ABS(IOR)==1) WW(II ,JJ ,KK) = OM%W(IIO ,JJO-1,KKO)
IF (II==0 .AND. JJ==0 .AND. ABS(IOR)==2) WW(II ,JJ ,KK) = OM%W(IIO-1,JJO ,KKO)
IF (II==0 .AND. JJ==JBAR .AND. ABS(IOR)==1) WW(II ,JJ+1,KK) = OM%W(IIO ,JJO+1,KKO)
IF (II==0 .AND. JJ==JBAR .AND. ABS(IOR)==2) WW(II ,JJ+1,KK) = OM%W(IIO-1,JJO ,KKO)
IF (II==IBAR .AND. JJ==0 .AND. ABS(IOR)==1) WW(II+1,JJ ,KK) = OM%W(IIO ,JJO-1,KKO)
IF (II==IBAR .AND. JJ==0 .AND. ABS(IOR)==2) WW(II+1,JJ ,KK) = OM%W(IIO+1,JJO ,KKO)
IF (II==IBAR .AND. JJ==JBAR .AND. ABS(IOR)==1) WW(II+1,JJ+1,KK) = OM%W(IIO ,JJO+1,KKO)
IF (II==IBAR .AND. JJ==JBAR .AND. ABS(IOR)==2) WW(II+1,JJ+1,KK) = OM%W(IIO+1,JJO ,KKO)
IF (II==0 .AND. JJ==0 .AND. ABS(IOR)==1) WW(II ,JJ ,KK) = OM%W(IIO(ICD) ,JJO(ICD)-1,KKO(ICD))
IF (II==0 .AND. JJ==0 .AND. ABS(IOR)==2) WW(II ,JJ ,KK) = OM%W(IIO(ICD)-1,JJO(ICD) ,KKO(ICD))
IF (II==0 .AND. JJ==JBAR .AND. ABS(IOR)==1) WW(II ,JJ+1,KK) = OM%W(IIO(ICD) ,JJO(ICD)+1,KKO(ICD))
IF (II==0 .AND. JJ==JBAR .AND. ABS(IOR)==2) WW(II ,JJ+1,KK) = OM%W(IIO(ICD)-1,JJO(ICD) ,KKO(ICD))
IF (II==IBAR .AND. JJ==0 .AND. ABS(IOR)==1) WW(II+1,JJ ,KK) = OM%W(IIO(ICD) ,JJO(ICD)-1,KKO(ICD))
IF (II==IBAR .AND. JJ==0 .AND. ABS(IOR)==2) WW(II+1,JJ ,KK) = OM%W(IIO(ICD)+1,JJO(ICD) ,KKO(ICD))
IF (II==IBAR .AND. JJ==JBAR .AND. ABS(IOR)==1) WW(II+1,JJ+1,KK) = OM%W(IIO(ICD) ,JJO(ICD)+1,KKO(ICD))
IF (II==IBAR .AND. JJ==JBAR .AND. ABS(IOR)==2) WW(II+1,JJ+1,KK) = OM%W(IIO(ICD)+1,JJO(ICD) ,KKO(ICD))
END SELECT
ENDIF

Expand Down
Loading