Skip to content
Merged
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
26 changes: 19 additions & 7 deletions Source/dump.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1296,7 +1296,7 @@ SUBROUTINE INITIALIZE_MESH_DUMPS(NM)
IF (ABS(OB%Z2-M%ZS)<TWO_EPSILON_EB) IOR = 3
IF (IOR==0) CYCLE OBST_LOOP
M%N_PATCH = M%N_PATCH + 1
IF (M%N_PATCH>SIZE(M%PATCH)) CALL REALLOCATE_PATCH(NM,SIZE(M%PATCH),SIZE(M%PATCH)+10)
IF (M%N_PATCH>SIZE(M%PATCH)) CALL REALLOCATE_PATCH(NM,SIZE(M%PATCH),SIZE(M%PATCH)+10,'PATCH')
PA => M%PATCH(M%N_PATCH)
PA%I1 = MIN(M%IBAR,MAX(0,NINT( GINV(OB%X1-M%XS,1,NM)*RDXI ))) ; PA%IG1 = PA%I1+1
PA%I2 = MIN(M%IBAR,MAX(0,NINT( GINV(OB%X2-M%XS,1,NM)*RDXI ))) ; PA%IG2 = PA%I2
Expand Down Expand Up @@ -1464,20 +1464,30 @@ END SUBROUTINE INITIALIZE_MESH_DUMPS
!> \param NM Mesh number
!> \param N1 Current size of array
!> \param N2 New size of array
!> \param PATCH_NAME Character string indicating which PATCH_TYPE variable to reallocate

SUBROUTINE REALLOCATE_PATCH(NM,N1,N2)
SUBROUTINE REALLOCATE_PATCH(NM,N1,N2,PATCH_NAME)

INTEGER, INTENT(IN) :: N1,N2,NM
TYPE (PATCH_TYPE), DIMENSION(:), ALLOCATABLE :: PATCH_DUMMY
TYPE (MESH_TYPE), POINTER :: M
CHARACTER(*), INTENT(IN) :: PATCH_NAME

M => MESHES(NM)

ALLOCATE(PATCH_DUMMY(1:N2))
PATCH_DUMMY(1:N1) = M%PATCH(1:N1)
DEALLOCATE(M%PATCH)
ALLOCATE(M%PATCH(1:N2))
M%PATCH(1:N2) = PATCH_DUMMY(1:N2)
SELECT CASE(PATCH_NAME)
CASE('PATCH')
PATCH_DUMMY(1:N1) = M%PATCH(1:N1)
DEALLOCATE(M%PATCH)
ALLOCATE(M%PATCH(1:N2))
M%PATCH(1:N2) = PATCH_DUMMY(1:N2)
CASE('EXTERIOR_PATCH')
PATCH_DUMMY(1:N1) = M%EXTERIOR_PATCH(1:N1)
DEALLOCATE(M%EXTERIOR_PATCH)
ALLOCATE(M%EXTERIOR_PATCH(1:N2))
M%EXTERIOR_PATCH(1:N2) = PATCH_DUMMY(1:N2)
END SELECT
DEALLOCATE(PATCH_DUMMY)

END SUBROUTINE REALLOCATE_PATCH
Expand Down Expand Up @@ -2298,7 +2308,7 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE

! Create EXTERIOR_PATCHes with which Smokeview colors, textures, or contours exterior mesh boundaries.

ALLOCATE(M%EXTERIOR_PATCH(10*(6+N_VENT_TOTAL))) ; M%N_EXTERIOR_PATCH = 0
ALLOCATE(M%EXTERIOR_PATCH(10)) ; M%N_EXTERIOR_PATCH = 0 ! The size of EXTERIOR_PATCH will expand if need be.
ALLOCATE(VENT_INDICES(MAX(M%IBAR,M%JBAR),MAX(M%JBAR,M%KBAR),6)) ; VENT_INDICES = 0

VENT_LOOP: DO N=1,M%N_VENT
Expand Down Expand Up @@ -2634,6 +2644,8 @@ SUBROUTINE DUMMY_VENTS(FI,N1,N2)
VENT_INDICES(I:ISTP,J:JSTP,FI) = -1

M%N_EXTERIOR_PATCH = M%N_EXTERIOR_PATCH + 1
IF (M%N_EXTERIOR_PATCH>SIZE(M%EXTERIOR_PATCH)) &
CALL REALLOCATE_PATCH(NM,SIZE(M%EXTERIOR_PATCH),SIZE(M%EXTERIOR_PATCH)+10,'EXTERIOR_PATCH')
EP => M%EXTERIOR_PATCH(M%N_EXTERIOR_PATCH)
SELECT CASE(FI)
CASE (1) ; EP%I1=0 ; EP%I2=0 ; EP%J1=I-1 ; EP%J2=ISTP ; EP%K1=J-1 ; EP%K2=JSTP ; EP%IOR= 1
Expand Down
Loading