Skip to content

Commit 419b137

Browse files
authored
Merge pull request #14150 from mcgratta/precon
FDS Source: Restore version of TUNNEL_PRECONDITION pre-Dec 14, 2023
2 parents dc79bfa + 0825146 commit 419b137

File tree

9 files changed

+130
-160
lines changed

9 files changed

+130
-160
lines changed

Source/cons.f90

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -534,9 +534,6 @@ MODULE GLOBAL_CONSTANTS
534534
REAL(EB), ALLOCATABLE, DIMENSION(:) :: TP_DD !< Diagonal of tri-diagonal matrix for tunnel pressure solver
535535
REAL(EB), ALLOCATABLE, DIMENSION(:) :: TP_RDXN !< Reciprocal of the distance between tunnel precon points
536536
REAL(EB), ALLOCATABLE, TARGET, DIMENSION(:) :: H_BAR !< Pressure solution of 1-D tunnel pressure solver, predictor step
537-
REAL(EB), ALLOCATABLE, TARGET, DIMENSION(:) :: H_BAR_S !< Pressure solution of 1-D tunnel pressure solver, corrector step
538-
REAL(EB), ALLOCATABLE, TARGET, DIMENSION(:) :: DUDT_BAR !< Average du/dt for 1-D tunnel pressure solver, predictor step
539-
REAL(EB), ALLOCATABLE, TARGET, DIMENSION(:) :: DUDT_BAR_S !< Average du/dt for 1-D tunnel pressure solver, corrector step
540537
INTEGER, ALLOCATABLE, DIMENSION(:) :: COUNTS_TP !< Counter for MPI calls used for 1-D tunnel pressure solver
541538
INTEGER, ALLOCATABLE, DIMENSION(:) :: DISPLS_TP !< Displacements for MPI calls used for 1-D tunnel pressure solver
542539
INTEGER, ALLOCATABLE, DIMENSION(:) :: I_OFFSET !< Spatial index of tunnel

Source/dump.f90

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7307,8 +7307,6 @@ REAL(EB) RECURSIVE FUNCTION GAS_PHASE_OUTPUT(T,DT,NM,II,JJ,KK,IND,IND2,Y_INDEX,Z
73077307
CASE( 9) ! PRESSURE
73087308
GAS_PHASE_OUTPUT_RES = PBAR(KK,PRESSURE_ZONE(II,JJ,KK)) + &
73097309
RHO(II,JJ,KK)*(0.5_EB*(H(II,JJ,KK)+HS(II,JJ,KK))-KRES(II,JJ,KK)) - P_0(KK)
7310-
IF (TUNNEL_PRECONDITIONER) GAS_PHASE_OUTPUT_RES = GAS_PHASE_OUTPUT_RES + &
7311-
RHO(II,JJ,KK)*0.5_EB*(H_BAR(I_OFFSET(NM)+II)+H_BAR_S(I_OFFSET(NM)+II))
73127310
CASE(10) ! VELOCITY
73137311
SELECT CASE(ABS(VELO_INDEX))
73147312
CASE DEFAULT
@@ -7327,8 +7325,6 @@ REAL(EB) RECURSIVE FUNCTION GAS_PHASE_OUTPUT(T,DT,NM,II,JJ,KK,IND,IND2,Y_INDEX,Z
73277325
GAS_PHASE_OUTPUT_RES = Q(II,JJ,KK)*0.001_EB
73287326
CASE(12) ! H
73297327
GAS_PHASE_OUTPUT_RES = 0.5_EB*(HS(II,JJ,KK)+H(II,JJ,KK))
7330-
IF (TUNNEL_PRECONDITIONER) GAS_PHASE_OUTPUT_RES = GAS_PHASE_OUTPUT_RES + &
7331-
0.5_EB*(H_BAR(I_OFFSET(NM)+II)+H_BAR_S(I_OFFSET(NM)+II))
73327328
CASE(13) ! MIXTURE FRACTION
73337329
! requires FUEL + AIR --> PROD (SIMPLE_CHEMISTRY, N_SIMPLE_CHEMISTRY_REACTIONS=1)
73347330
! f = Z_FUEL + Z_PROD/(1+S), where S is the mass stoichiometric coefficient for AIR

Source/main.f90

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,14 +1419,11 @@ SUBROUTINE PRESSURE_ITERATION_SCHEME
14191419
CALL PRESSURE_SOLVER_COMPUTE_RHS(T,DT,NM)
14201420
ENDDO
14211421

1422-
! Special case for tunnels -- filter out the lengthwise pressure gradient
1423-
1424-
IF (TUNNEL_PRECONDITIONER) CALL TUNNEL_POISSON_SOLVER
1425-
14261422
! Solve the Poission equation using either FFT or ULMAT, GLMAT, or UGLMAT
14271423

14281424
SELECT CASE(PRES_FLAG)
14291425
CASE (FFT_FLAG)
1426+
IF (TUNNEL_PRECONDITIONER) CALL TUNNEL_POISSON_SOLVER
14301427
DO NM=LOWER_MESH_INDEX,UPPER_MESH_INDEX
14311428
CALL PRESSURE_SOLVER_FFT(NM)
14321429
ENDDO
@@ -1435,6 +1432,7 @@ SUBROUTINE PRESSURE_ITERATION_SCHEME
14351432
CALL MESH_EXCHANGE(5)
14361433
CALL COPY_H_OMESH_TO_MESH
14371434
CASE (ULMAT_FLAG)
1435+
IF (TUNNEL_PRECONDITIONER) CALL TUNNEL_POISSON_SOLVER
14381436
DO NM=LOWER_MESH_INDEX,UPPER_MESH_INDEX
14391437
CALL ULMAT_SOLVER(NM,T,DT)
14401438
ENDDO

Source/mesh.f90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ MODULE MESH_VARIABLES
8686
REAL(EB), ALLOCATABLE, DIMENSION(:) :: SAVE1,SAVE2,WORK
8787
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: PRHS !< Right hand side of Poisson (pressure) equation
8888
REAL(EB), ALLOCATABLE, DIMENSION(:,:) :: BXS,BXF,BYS,BYF,BZS,BZF, BXST,BXFT,BYST,BYFT,BZST,BZFT
89+
REAL(EB) :: BXS_BAR,BXF_BAR
8990
INTEGER :: LSAVE,LWORK,LBC,MBC,NBC,LBC2,MBC2,NBC2,ITRN,JTRN,KTRN,IPS
9091

9192
REAL(EB), ALLOCATABLE, DIMENSION(:) :: P_0 !< Ambient pressure profile, \f$ \overline{p}_0(z) \f$ (Pa)
@@ -359,6 +360,7 @@ MODULE MESH_POINTERS
359360
REAL(EB), POINTER, DIMENSION(:) :: SAVE1,SAVE2,WORK
360361
REAL(EB), POINTER, DIMENSION(:,:,:) :: PRHS
361362
REAL(EB), POINTER, DIMENSION(:,:) :: BXS,BXF,BYS,BYF,BZS,BZF, BXST,BXFT,BYST,BYFT,BZST,BZFT
363+
REAL(EB), POINTER :: BXS_BAR,BXF_BAR
362364
INTEGER, POINTER :: LSAVE,LWORK,LBC,MBC,NBC,LBC2,MBC2,NBC2,ITRN,JTRN,KTRN,IPS
363365
REAL(EB), POINTER, DIMENSION(:) :: P_0,RHO_0,TMP_0,D_PBAR_DT,D_PBAR_DT_S,U_LEAK,U_WIND,V_WIND,W_WIND
364366
REAL(EB), POINTER, DIMENSION(:,:) :: PBAR,PBAR_S,R_PBAR
@@ -574,6 +576,8 @@ SUBROUTINE POINT_TO_MESH(NM)
574576
BYFT=>M%BYFT
575577
BZST=>M%BZST
576578
BZFT=>M%BZFT
579+
BXS_BAR=>M%BXS_BAR
580+
BXF_BAR=>M%BXF_BAR
577581
LBC=>M%LBC
578582
MBC=>M%MBC
579583
NBC=>M%NBC

0 commit comments

Comments
 (0)