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: 0 additions & 1 deletion Source/cons.f90
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,6 @@ MODULE GLOBAL_CONSTANTS
LOGICAL :: NO_PRESSURE_ZONES=.FALSE. !< Flag to suppress pressure zones
LOGICAL :: CTRL_DIRECT_FORCE=.FALSE. !< Allow adjustable direct force via CTRL logic
LOGICAL :: REACTING_THIN_OBSTRUCTIONS=.FALSE. !< Thin obstructions that off-gas are present
LOGICAL :: CHECK_BOUNDARY_ONE_D_ARRAYS=.FALSE. !< Flag that indicates that ONE_D array dimensions need to be checked
LOGICAL :: TENSOR_DIFFUSIVITY=.FALSE. !< If true, use experimental tensor diffusivity model for spec and tmp
LOGICAL :: OXPYRO_MODEL=.FALSE. !< Flag to use oxidative pyrolysis mass transfer model
LOGICAL :: OUTPUT_WALL_QUANTITIES=.FALSE. !< Flag to force call to WALL_MODEL
Expand Down
16 changes: 8 additions & 8 deletions Source/dump.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3579,7 +3579,7 @@ SUBROUTINE DUMP_RESTART(T,DT,NM)
DO IW=1,N_WALL_CELLS
WC => WALL(IW)
RC=0 ; IC=0 ; LC=0
CALL PACK_WALL(NM,OS,WC,WC%SURF_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_WALL(NM,OS,WC,WC%SURF_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
WRITE(LU_CORE(NM)) WC%SURF_INDEX
WRITE(LU_CORE(NM)) OS%REALS,OS%INTEGERS,OS%LOGICALS
ENDDO
Expand All @@ -3589,7 +3589,7 @@ SUBROUTINE DUMP_RESTART(T,DT,NM)
DO ITW=1,N_THIN_WALL_CELLS
TW => THIN_WALL(ITW)
RC=0 ; IC=0 ; LC=0
CALL PACK_THIN_WALL(NM,OS,TW,TW%SURF_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_THIN_WALL(NM,OS,TW,TW%SURF_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
WRITE(LU_CORE(NM)) TW%SURF_INDEX
WRITE(LU_CORE(NM)) OS%REALS,OS%INTEGERS,OS%LOGICALS
ENDDO
Expand All @@ -3599,7 +3599,7 @@ SUBROUTINE DUMP_RESTART(T,DT,NM)
DO ICF=1,N_CFACE_CELLS_DIM
CFA => CFACE(ICF)
RC=0 ; IC=0 ; LC=0
CALL PACK_CFACE(NM,OS,CFA,CFA%SURF_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_CFACE(NM,OS,CFA,CFA%SURF_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
WRITE(LU_CORE(NM)) CFA%SURF_INDEX
WRITE(LU_CORE(NM)) OS%REALS,OS%INTEGERS,OS%LOGICALS
ENDDO
Expand All @@ -3610,7 +3610,7 @@ SUBROUTINE DUMP_RESTART(T,DT,NM)
LPC => LAGRANGIAN_PARTICLE_CLASS(LP%CLASS_INDEX)
OS => LPC%PARTICLE_STORAGE
RC=0 ; IC=0 ; LC=0
CALL PACK_PARTICLE(NM,OS,LP,LP%CLASS_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_PARTICLE(NM,OS,LP,LP%CLASS_INDEX,RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
WRITE(LU_CORE(NM)) LP%CLASS_INDEX
WRITE(LU_CORE(NM)) OS%REALS,OS%INTEGERS,OS%LOGICALS
ENDDO
Expand Down Expand Up @@ -3797,7 +3797,7 @@ SUBROUTINE READ_RESTART(T,DT,NM)
RC=0 ; IC=0 ; LC=0
CALL ALLOCATE_STORAGE(NM,SURF_INDEX=SURF_INDEX,WALL_INDEX=IW)
WC => MESHES(NM)%WALL(IW)
CALL PACK_WALL(NM,OS,WC,SURF_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_WALL(NM,OS,WC,SURF_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.TRUE.)
ENDDO

READ(LU_RESTART(NM)) N_THIN_WALL_CELLS,N_THIN_WALL_CELLS_DIM
Expand All @@ -3809,7 +3809,7 @@ SUBROUTINE READ_RESTART(T,DT,NM)
RC=0 ; IC=0 ; LC=0
CALL ALLOCATE_STORAGE(NM,SURF_INDEX=SURF_INDEX,THIN_WALL_INDEX=ITW)
TW => MESHES(NM)%THIN_WALL(ITW)
CALL PACK_THIN_WALL(NM,OS,TW,SURF_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_THIN_WALL(NM,OS,TW,SURF_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.TRUE.)
ENDDO

READ(LU_RESTART(NM)) N_CFACE_CELLS_DIM
Expand All @@ -3821,7 +3821,7 @@ SUBROUTINE READ_RESTART(T,DT,NM)
RC=0 ; IC=0 ; LC=0
CALL ALLOCATE_STORAGE(NM,SURF_INDEX=SURF_INDEX,CFACE_INDEX=ICF)
CFA => MESHES(NM)%CFACE(ICF)
CALL PACK_CFACE(NM,OS,CFA,SURF_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_CFACE(NM,OS,CFA,SURF_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.TRUE.)
ENDDO

READ(LU_RESTART(NM)) NLP,NLPDIM,PARTICLE_TAG
Expand All @@ -3836,7 +3836,7 @@ SUBROUTINE READ_RESTART(T,DT,NM)
RC=0 ; IC=0 ; LC=0
CALL ALLOCATE_STORAGE(NM,LP_INDEX=IP,LPC_INDEX=CLASS_INDEX,SURF_INDEX=LPC%SURF_INDEX)
LP => MESHES(NM)%LAGRANGIAN_PARTICLE(IP)
CALL PACK_PARTICLE(NM,OS,LP,CLASS_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_PARTICLE(NM,OS,LP,CLASS_INDEX,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
ENDDO
ENDIF

Expand Down
47 changes: 26 additions & 21 deletions Source/func.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3322,7 +3322,8 @@ SUBROUTINE ALLOCATE_STORAGE(NM,LP_INDEX,LPC_INDEX,SURF_INDEX,WALL_INDEX,CFACE_IN
WC%N_REALS = 0
WC%N_INTEGERS = 0
WC%N_LOGICALS = 0
CALL PACK_WALL(NM,OS_DUMMY,WC,SURF_INDEX,WC%N_REALS,WC%N_INTEGERS,WC%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.)
CALL PACK_WALL(NM,OS_DUMMY,WC,SURF_INDEX,WC%N_REALS,WC%N_INTEGERS,WC%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.,&
CHECK_BOUNDS=.FALSE.)

ELSEIF (PRESENT(THIN_WALL_INDEX)) THEN

Expand Down Expand Up @@ -3351,7 +3352,8 @@ SUBROUTINE ALLOCATE_STORAGE(NM,LP_INDEX,LPC_INDEX,SURF_INDEX,WALL_INDEX,CFACE_IN
TW%TD_INDEX = TD_INDEX
TW%B1_INDEX = B1_INDEX

CALL PACK_THIN_WALL(NM,OS_DUMMY,TW,SURF_INDEX,TW%N_REALS,TW%N_INTEGERS,TW%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.)
CALL PACK_THIN_WALL(NM,OS_DUMMY,TW,SURF_INDEX,TW%N_REALS,TW%N_INTEGERS,TW%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.,&
CHECK_BOUNDS=.FALSE.)

ELSEIF (PRESENT(CFACE_INDEX)) THEN

Expand Down Expand Up @@ -3384,7 +3386,8 @@ SUBROUTINE ALLOCATE_STORAGE(NM,LP_INDEX,LPC_INDEX,SURF_INDEX,WALL_INDEX,CFACE_IN
CFA%B2_INDEX = B2_INDEX
CFA%BR_INDEX = BR_INDEX

CALL PACK_CFACE(NM,OS_DUMMY,CFA,SURF_INDEX,CFA%N_REALS,CFA%N_INTEGERS,CFA%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.)
CALL PACK_CFACE(NM,OS_DUMMY,CFA,SURF_INDEX,CFA%N_REALS,CFA%N_INTEGERS,CFA%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.,&
CHECK_BOUNDS=.FALSE.)

ENDIF

Expand Down Expand Up @@ -3678,12 +3681,13 @@ END SUBROUTINE ALLOCATE_STORAGE
!> \param LC Counter of logical variables
!> \param UNPACK_IT Logical indicating whether the data is to be packed or unpacked
!> \param COUNT_ONLY Logical indicating whether the aim is simply to count variables
!> \param CHECK_BOUNDS Logical indicating whether to check the array bounds of the items being unpacked

SUBROUTINE PACK_PARTICLE(NM,OS,LP,LPC_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
SUBROUTINE PACK_PARTICLE(NM,OS,LP,LPC_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)

USE COMP_OPERATORS, ONLY: EQUATE
INTEGER, INTENT(IN) :: NM,LPC_INDEX
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS
INTEGER, INTENT(INOUT) :: IC,RC,LC
INTEGER :: BC_INDEX,OD_INDEX,B1_INDEX,B2_INDEX,BR_INDEX
TYPE(LAGRANGIAN_PARTICLE_TYPE), POINTER :: LP
Expand Down Expand Up @@ -3742,7 +3746,7 @@ SUBROUTINE PACK_PARTICLE(NM,OS,LP,LPC_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
! Boundary Coordinates

IF (LPC%INCLUDE_BOUNDARY_COORD_TYPE) CALL PACK_BOUNDARY_COORD(NM,IC,RC,OS,BC_INDEX,UNPACK_IT,COUNT_ONLY)
IF (LPC%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY)
IF (LPC%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)
IF (LPC%INCLUDE_BOUNDARY_PROP1_TYPE) CALL PACK_BOUNDARY_PROP1(NM,IC,RC,LC,OS,B1_INDEX,UNPACK_IT,COUNT_ONLY,LPC%SURF_INDEX)
IF (LPC%INCLUDE_BOUNDARY_PROP2_TYPE) CALL PACK_BOUNDARY_PROP2(NM,IC,RC,OS,B2_INDEX,UNPACK_IT,COUNT_ONLY)
IF (LPC%INCLUDE_BOUNDARY_RADIA_TYPE) CALL PACK_BOUNDARY_RADIA(NM,RC,OS,BR_INDEX,UNPACK_IT,COUNT_ONLY)
Expand All @@ -3760,15 +3764,15 @@ END SUBROUTINE PACK_PARTICLE
!> \param LC Counter of logical variables
!> \param UNPACK_IT Logical indicating whether the data is to be packed or unpacked
!> \param COUNT_ONLY Logical indicating whether the aim is simply to count variables
!> \param CHECK_BOUNDS Logical indicating whether to check the array bounds of the items being unpacked

SUBROUTINE PACK_WALL(NM,OS,WC,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
SUBROUTINE PACK_WALL(NM,OS,WC,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)

USE COMP_OPERATORS, ONLY: EQUATE
INTEGER, INTENT(IN) :: NM,SURF_INDEX
LOGICAL, INTENT(IN) :: UNPACK_IT
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS
INTEGER, INTENT(INOUT) :: IC,RC,LC
INTEGER :: BC_INDEX,OD_INDEX,B1_INDEX,B2_INDEX,BR_INDEX
LOGICAL, INTENT(IN) :: COUNT_ONLY
TYPE(WALL_TYPE), POINTER :: WC
TYPE(STORAGE_TYPE), POINTER :: OS
TYPE(SURFACE_TYPE), POINTER :: SF
Expand Down Expand Up @@ -3803,7 +3807,7 @@ SUBROUTINE PACK_WALL(NM,OS,WC,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
! Pack or unpack the appropriate derived type variables tied to this wall cell

IF (SF%INCLUDE_BOUNDARY_COORD_TYPE) CALL PACK_BOUNDARY_COORD(NM,IC,RC,OS,BC_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)
IF (SF%INCLUDE_BOUNDARY_PROP1_TYPE) CALL PACK_BOUNDARY_PROP1(NM,IC,RC,LC,OS,B1_INDEX,UNPACK_IT,COUNT_ONLY,SURF_INDEX)
IF (SF%INCLUDE_BOUNDARY_PROP2_TYPE) CALL PACK_BOUNDARY_PROP2(NM,IC,RC,OS,B2_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_RADIA_TYPE) CALL PACK_BOUNDARY_RADIA(NM,RC,OS,BR_INDEX,UNPACK_IT,COUNT_ONLY)
Expand All @@ -3821,15 +3825,15 @@ END SUBROUTINE PACK_WALL
!> \param LC Counter of logical variables
!> \param UNPACK_IT Logical indicating whether the data is to be packed or unpacked
!> \param COUNT_ONLY Logical indicating whether the aim is simply to count variables
!> \param CHECK_BOUNDS Logical indicating whether to check the array bounds of the items being unpacked

SUBROUTINE PACK_THIN_WALL(NM,OS,TW,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
SUBROUTINE PACK_THIN_WALL(NM,OS,TW,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)

USE COMP_OPERATORS, ONLY: EQUATE
INTEGER, INTENT(IN) :: NM,SURF_INDEX
LOGICAL, INTENT(IN) :: UNPACK_IT
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS
INTEGER :: BC_INDEX,OD_INDEX
INTEGER, INTENT(INOUT) :: RC,IC,LC
LOGICAL, INTENT(IN) :: COUNT_ONLY
TYPE(THIN_WALL_TYPE), POINTER :: TW
TYPE(STORAGE_TYPE), POINTER :: OS
TYPE(SURFACE_TYPE), POINTER :: SF
Expand Down Expand Up @@ -3858,7 +3862,7 @@ SUBROUTINE PACK_THIN_WALL(NM,OS,TW,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
! Pack or unpack the appropriate derived type variables tied to this wall cell

IF (SF%INCLUDE_BOUNDARY_COORD_TYPE) CALL PACK_BOUNDARY_COORD(NM,IC,RC,OS,BC_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)

END SUBROUTINE PACK_THIN_WALL

Expand All @@ -3873,12 +3877,13 @@ END SUBROUTINE PACK_THIN_WALL
!> \param LC Counter of logical variables
!> \param UNPACK_IT Logical indicating whether the data is to be packed or unpacked
!> \param COUNT_ONLY Logical indicating whether the aim is simply to count variables
!> \param CHECK_BOUNDS Logical indicating whether to check the array bounds of the items being unpacked

SUBROUTINE PACK_CFACE(NM,OS,CFA,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
SUBROUTINE PACK_CFACE(NM,OS,CFA,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)

USE COMP_OPERATORS, ONLY: EQUATE
INTEGER, INTENT(IN) :: NM,SURF_INDEX
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS
INTEGER, INTENT(INOUT) :: RC,IC,LC
INTEGER :: BC_INDEX,OD_INDEX,B1_INDEX,B2_INDEX,BR_INDEX
TYPE(CFACE_TYPE), POINTER :: CFA
Expand Down Expand Up @@ -3915,7 +3920,7 @@ SUBROUTINE PACK_CFACE(NM,OS,CFA,SURF_INDEX,RC,IC,LC,UNPACK_IT,COUNT_ONLY)
! Assign and initialize logicals

IF (SF%INCLUDE_BOUNDARY_COORD_TYPE) CALL PACK_BOUNDARY_COORD(NM,IC,RC,OS,BC_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_ONE_D_TYPE) CALL PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)
IF (SF%INCLUDE_BOUNDARY_PROP1_TYPE) CALL PACK_BOUNDARY_PROP1(NM,IC,RC,LC,OS,B1_INDEX,UNPACK_IT,COUNT_ONLY,SURF_INDEX)
IF (SF%INCLUDE_BOUNDARY_PROP2_TYPE) CALL PACK_BOUNDARY_PROP2(NM,IC,RC,OS,B2_INDEX,UNPACK_IT,COUNT_ONLY)
IF (SF%INCLUDE_BOUNDARY_RADIA_TYPE) CALL PACK_BOUNDARY_RADIA(NM,RC,OS,BR_INDEX,UNPACK_IT,COUNT_ONLY)
Expand Down Expand Up @@ -3976,14 +3981,14 @@ END SUBROUTINE PACK_BOUNDARY_COORD
!> \param OD_INDEX Index of the BOUNDARY_ONE_D array
!> \param UNPACK_IT Flag indicating whether the data is to be packed into the 1-D array or unpacked from it
!> \param COUNT_ONLY Flag signifying that only a variable count is to be done; no packing
!> \param CHECK_BOUNDS Logical indicating whether to check the array bounds of the items being unpacked

SUBROUTINE PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY)
SUBROUTINE PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS)

USE GLOBAL_CONSTANTS, ONLY: CHECK_BOUNDARY_ONE_D_ARRAYS
USE COMP_OPERATORS, ONLY: EQUATE
INTEGER, INTENT(IN) :: NM,OD_INDEX
INTEGER, INTENT(INOUT) :: IC,RC,LC
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY
LOGICAL, INTENT(IN) :: UNPACK_IT,COUNT_ONLY,CHECK_BOUNDS
INTEGER :: I1,NN,NL
TYPE(BOUNDARY_ONE_D_TYPE), POINTER :: ONE_D
TYPE(STORAGE_TYPE), POINTER :: OS
Expand All @@ -4006,7 +4011,7 @@ SUBROUTINE PACK_BOUNDARY_ONE_D(NM,IC,RC,LC,OS,OD_INDEX,UNPACK_IT,COUNT_ONLY)

! Check if the array bounds are appropriate

IF (UNPACK_IT .AND. CHECK_BOUNDARY_ONE_D_ARRAYS) CALL REALLOCATE_BOUNDARY_ONE_D(ONE_D)
IF (UNPACK_IT .AND. CHECK_BOUNDS) CALL REALLOCATE_BOUNDARY_ONE_D(ONE_D)

DO NL=1,ONE_D%N_LAYERS
IC=IC+1 ; IF (.NOT.COUNT_ONLY) CALL EQUATE(OS%INTEGERS(IC) , ONE_D%N_LAYER_CELLS(NL) , UNPACK_IT)
Expand Down
6 changes: 4 additions & 2 deletions Source/init.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1847,10 +1847,12 @@ SUBROUTINE REALLOCATE_ONE_D_ARRAYS(NM,WALL_CELL,THIN_WALL_CELL)

IF (PRESENT(WALL_CELL)) THEN
WC%N_REALS=0 ; WC%N_INTEGERS=0 ; WC%N_LOGICALS=0
CALL PACK_WALL(NM,OS_DUMMY,WC,WC%SURF_INDEX,WC%N_REALS,WC%N_INTEGERS,WC%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.)
CALL PACK_WALL(NM,OS_DUMMY,WC,WC%SURF_INDEX,WC%N_REALS,WC%N_INTEGERS,WC%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.,&
CHECK_BOUNDS=.FALSE.)
ELSEIF (PRESENT(THIN_WALL_CELL)) THEN
TW%N_INTEGERS=0 ; TW%N_REALS=0
CALL PACK_THIN_WALL(NM,OS_DUMMY,TW,TW%SURF_INDEX,TW%N_REALS,TW%N_INTEGERS,TW%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.)
CALL PACK_THIN_WALL(NM,OS_DUMMY,TW,TW%SURF_INDEX,TW%N_REALS,TW%N_INTEGERS,TW%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.,&
CHECK_BOUNDS=.FALSE.)
ENDIF

END SUBROUTINE REALLOCATE_ONE_D_ARRAYS
Expand Down
17 changes: 9 additions & 8 deletions Source/main.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2019,7 +2019,8 @@ SUBROUTINE INITIALIZE_MESH_EXCHANGE_1(NM)
LP => M%LAGRANGIAN_PARTICLE(1)
OS => LPC%PARTICLE_STORAGE
LPC%N_REALS=0 ; LPC%N_INTEGERS=0 ; LPC%N_LOGICALS=0
CALL PACK_PARTICLE(NM,OS,LP,ILC,LPC%N_REALS,LPC%N_INTEGERS,LPC%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.)
CALL PACK_PARTICLE(NM,OS,LP,ILC,LPC%N_REALS,LPC%N_INTEGERS,LPC%N_LOGICALS,&
UNPACK_IT=.FALSE.,COUNT_ONLY=.TRUE.,CHECK_BOUNDS=.FALSE.)
IF (.NOT.ALLOCATED(LPC%PARTICLE_STORAGE%REALS)) ALLOCATE(LPC%PARTICLE_STORAGE%REALS(LPC%N_REALS))
IF (.NOT.ALLOCATED(LPC%PARTICLE_STORAGE%INTEGERS)) ALLOCATE(LPC%PARTICLE_STORAGE%INTEGERS(LPC%N_INTEGERS))
IF (.NOT.ALLOCATED(LPC%PARTICLE_STORAGE%LOGICALS)) ALLOCATE(LPC%PARTICLE_STORAGE%LOGICALS(LPC%N_LOGICALS))
Expand Down Expand Up @@ -2257,9 +2258,7 @@ SUBROUTINE INITIALIZE_BACK_WALL_EXCHANGE

! Exchange WALL and THIN_WALL cells

CHECK_BOUNDARY_ONE_D_ARRAYS = .TRUE.
CALL MESH_EXCHANGE(6)
CHECK_BOUNDARY_ONE_D_ARRAYS = .FALSE.

! Initialize 3-D solid interpolation arrays

Expand Down Expand Up @@ -3125,7 +3124,7 @@ SUBROUTINE MESH_EXCHANGE(CODE)
DO I=1,OS%N_ITEMS
IW = OS%ITEM_INDEX(I)
WC => M%WALL(IW)
CALL PACK_WALL(NM,OS,WC,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_WALL(NM,OS,WC,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
ENDDO
ENDIF

Expand All @@ -3135,7 +3134,7 @@ SUBROUTINE MESH_EXCHANGE(CODE)
DO I=1,OS%N_ITEMS
IW = OS%ITEM_INDEX(I)
TW => M%THIN_WALL(IW)
CALL PACK_THIN_WALL(NM,OS,TW,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_THIN_WALL(NM,OS,TW,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
ENDDO
ENDIF

Expand Down Expand Up @@ -3444,7 +3443,8 @@ SUBROUTINE MESH_EXCHANGE(CODE)
DO I=1,OS%N_ITEMS
IW = OS%ITEM_INDEX(I)
WC => MESHES(NOM)%WALL(IW)
CALL PACK_WALL(NOM,OS,WC,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_WALL(NOM,OS,WC,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,&
CHECK_BOUNDS=INITIALIZATION_PHASE)
ENDDO
ENDIF RECEIVE_BACK_WALL

Expand All @@ -3454,7 +3454,8 @@ SUBROUTINE MESH_EXCHANGE(CODE)
DO I=1,OS%N_ITEMS
IW = OS%ITEM_INDEX(I)
TW => MESHES(NOM)%THIN_WALL(IW)
CALL PACK_THIN_WALL(NOM,OS,TW,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_THIN_WALL(NOM,OS,TW,OS%SURF_INDEX(I),RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,&
CHECK_BOUNDS=INITIALIZATION_PHASE)
ENDDO
ENDIF RECEIVE_BACK_THIN_WALL

Expand Down Expand Up @@ -3483,7 +3484,7 @@ SUBROUTINE MESH_EXCHANGE(CODE)
IPC = OS%INTEGERS(IC+2)
CALL ALLOCATE_STORAGE(NM,LP_INDEX=IP,LPC_INDEX=IPC,SURF_INDEX=LAGRANGIAN_PARTICLE_CLASS(IPC)%SURF_INDEX)
LP => M%LAGRANGIAN_PARTICLE(IP)
CALL PACK_PARTICLE(NM,OS,LP,IPC,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.)
CALL PACK_PARTICLE(NM,OS,LP,IPC,RC,IC,LC,UNPACK_IT=.TRUE.,COUNT_ONLY=.FALSE.,CHECK_BOUNDS=.FALSE.)
LP%WALL_INDEX = 0 ! If the droplet was stuck to a wall, unstick it when it arrives in the new mesh
IF(LP%CFACE_INDEX/=EXTERNAL_CFACE) LP%CFACE_INDEX = 0
BC=>M%BOUNDARY_COORD(LP%BC_INDEX)
Expand Down
3 changes: 2 additions & 1 deletion Source/part.f90
Original file line number Diff line number Diff line change
Expand Up @@ -4746,7 +4746,8 @@ SUBROUTINE ADD_TO_PARTICLE_SEND_BUFFER

OS%N_ITEMS = OS%N_ITEMS + 1

CALL PACK_PARTICLE(NM,OS,LP,LP%CLASS_INDEX,OS%N_REALS,OS%N_INTEGERS,OS%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.)
CALL PACK_PARTICLE(NM,OS,LP,LP%CLASS_INDEX,OS%N_REALS,OS%N_INTEGERS,OS%N_LOGICALS,UNPACK_IT=.FALSE.,COUNT_ONLY=.FALSE.,&
CHECK_BOUNDS=.FALSE.)

ENDIF

Expand Down