Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External Control: adding a Pause at external DT for read results and process new RAMP and CTRL values #13128

Closed
wants to merge 2 commits into from
Closed
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
4 changes: 2 additions & 2 deletions Source/cons.f90
Original file line number Diff line number Diff line change
Expand Up @@ -735,8 +735,8 @@ MODULE GLOBAL_CONSTANTS
LOGICAL :: IBLANK_SMV=.TRUE. !< Parameter passed to smokeview (in .smv file) to control generation of blockages

! External file control
CHARACTER(250) :: EXTERNAL_FILENAME
LOGICAL :: READ_EXTERNAL = .FALSE.
CHARACTER(250) :: EXTERNAL_FILENAME,EXTERNAL_WAKE
LOGICAL :: READ_EXTERNAL = .FALSE.,EXTERNAL_PAUSE = .FALSE.
INTEGER :: LU_EXTERNAL
REAL(EB) :: DT_EXTERNAL=0._EB, T_EXTERNAL
REAL(EB), ALLOCATABLE, DIMENSION(:) :: EXTERNAL_RAMP
Expand Down
18 changes: 16 additions & 2 deletions Source/func.f90
Original file line number Diff line number Diff line change
Expand Up @@ -562,17 +562,31 @@ END SUBROUTINE INITIALIZE_OUTPUT_CLOCKS
!> \brief Read in values for RAMP or CTRL controlled by an external file.

SUBROUTINE READ_EXTERNAL_FILE(FAILED)
USE GLOBAL_CONSTANTS, ONLY: N_RAMP,EXTERNAL_RAMP,EXTERNAL_CTRL,EXTERNAL_FILENAME,LU_EXTERNAL
USE GLOBAL_CONSTANTS, ONLY: N_RAMP,EXTERNAL_RAMP,EXTERNAL_CTRL,EXTERNAL_FILENAME,LU_EXTERNAL,&
EXTERNAL_PAUSE,EXTERNAL_WAKE
USE TYPES, ONLY: RAMPS
USE CONTROL_VARIABLES, ONLY: N_CTRL,CONTROL
INTEGER:: NC, NR
INTEGER:: NC, NR, LU_WAKE
CHARACTER(LABEL_LENGTH) :: INPUT_LABEL,INPUT_TYPE
REAL(EB) :: INPUT_REAL
LOGICAL,INTENT(OUT) :: FAILED
LOGICAL :: FILE_EXISTS

FAILED = .FALSE.
EXTERNAL_RAMP = RAMPS%LAST
EXTERNAL_CTRL = CONTROL%CURRENT_STATE
IF (EXTERNAL_PAUSE) THEN
! Check if the file exists
INQUIRE(FILE=EXTERNAL_WAKE, exist=FILE_EXISTS)
! If the file does not exist, pause for 10 seconds and recheck
DO WHILE (.not. FILE_EXISTS)
CALL FDS_SLEEP(10)
INQUIRE(FILE=EXTERNAL_WAKE, exist=FILE_EXISTS)
END DO
LU_WAKE=GET_FILE_NUMBER()
OPEN(UNIT=LU_WAKE, FILE=EXTERNAL_WAKE, STATUS='OLD')
CLOSE(LU_WAKE, STATUS='DELETE')
END IF

OPEN(LU_EXTERNAL,FILE=EXTERNAL_FILENAME,ERR=100)

Expand Down
2 changes: 1 addition & 1 deletion Source/main.f90
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ PROGRAM FDS
USE OUTPUT_DATA
USE MEMORY_FUNCTIONS
USE HVAC_ROUTINES
USE COMP_FUNCTIONS, ONLY : CURRENT_TIME,INITIALIZE_OUTPUT_CLOCKS,READ_EXTERNAL_FILE,GET_FILE_NUMBER
USE COMP_FUNCTIONS, ONLY : CURRENT_TIME,INITIALIZE_OUTPUT_CLOCKS,READ_EXTERNAL_FILE,GET_FILE_NUMBER,FDS_SLEEP
USE DEVICE_VARIABLES
USE WALL_ROUTINES
USE FIRE
Expand Down
2 changes: 1 addition & 1 deletion Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1713,7 +1713,7 @@ SUBROUTINE READ_MISC
BNDF_DEFAULT,CC_IBM,CCVOL_LINK,C_DEARDORFF,&
CFL_MAX,CFL_MIN,CFL_VELOCITY_NORM,CHECK_HT,CHECK_VN, &
CNF_CUTOFF,CONSTANT_SPECIFIC_HEAT_RATIO,&
C_SMAGORINSKY,C_VREMAN,C_WALE,DEPOSITION,EXTERNAL_FILENAME,&
C_SMAGORINSKY,C_VREMAN,C_WALE,DEPOSITION,EXTERNAL_FILENAME,EXTERNAL_PAUSE,EXTERNAL_WAKE,&
FIXED_LES_FILTER_WIDTH,FLUX_LIMITER,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