Skip to content

Commit d2f3e88

Browse files
committed
FDS Source : exchange blocked cut-cells in 3 dimensions.
1 parent add9f61 commit d2f3e88

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

Source/geom.f90

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ SUBROUTINE SET_CUTCELLS_3D
780780
REAL(EB), ALLOCATABLE, DIMENSION(:) :: GEOM_AREA_SURF
781781
REAL(EB), ALLOCATABLE, DIMENSION(:,:) :: GEOM_AREA_SURF_OLD,GEOM_AREA_SURF_NEW
782782
INTEGER, ALLOCATABLE, DIMENSION(:) :: GEOM_SURF
783-
INTEGER :: ICF, SURF_INDEX, SUM_CC
783+
INTEGER :: ICF, SURF_INDEX, SUM_CC, IDIM
784784

785785
LOGICAL, SAVE :: FIRST_CALL_ARG=.TRUE., FIRST_CALL_ARG2=.TRUE.
786786

@@ -1472,6 +1472,8 @@ SUBROUTINE SET_CUTCELLS_3D
14721472
! Deallocate Intersection variables:
14731473
DEALLOCATE(CC_SVAR_CRS,CC_IS_CRS,CC_SEG_CRS,CC_BDNUM_CRS,CC_BDNUM_CRS_AUX,CC_IS_CRS2,CC_SEG_TAN)
14741474

1475+
DO IDIM=1,MAX_DIM
1476+
14751477
! Exchange CC%NOADVANCE(JCC)>0 information among NEIGHBOURING meshes:
14761478
CALL EXCHANGE_CC_NOADVANCE_INFO
14771479
! Add CC%NOADVANCE(JCC) where needed:
@@ -1524,6 +1526,8 @@ SUBROUTINE SET_CUTCELLS_3D
15241526
! Call tag boundary cut-cells for blocking in refinement interfaces:
15251527
CALL TAG_CC_BLOCKING_REFINEMENT
15261528

1529+
ENDDO
1530+
15271531
! WRITE A file per process and mesh with the NOADVANCE cut-cells:
15281532
! DO NM=1,NMESHES
15291533
! M => MESHES(NM)
@@ -4999,6 +5003,8 @@ SUBROUTINE EXCHANGE_CC_NOADVANCE_INFO
49995003
ENDDO
50005004
ENDDO
50015005
IF (M%N_CC_BLOCKED>0) THEN
5006+
IF(ALLOCATED(M%XYZ_CC_BLOCKED)) DEALLOCATE(M%XYZ_CC_BLOCKED)
5007+
IF(ALLOCATED(M%JBT_CC_BLOCKED)) DEALLOCATE(M%JBT_CC_BLOCKED)
50025008
ALLOCATE(M%XYZ_CC_BLOCKED(3,M%N_CC_BLOCKED))
50035009
ALLOCATE(M%JBT_CC_BLOCKED(2,M%N_CC_BLOCKED))
50045010
! Fill in blocked cut-cell info:
@@ -5052,6 +5058,8 @@ SUBROUTINE EXCHANGE_CC_NOADVANCE_INFO
50525058
DO NM=1,NMESHES
50535059
IF (PROCESS(NM)==MY_RANK) CYCLE ! already done for this mesh at the beginning of the routine.
50545060
IF(MESHES(NM)%N_CC_BLOCKED>0) THEN
5061+
IF(ALLOCATED(MESHES(NM)%XYZ_CC_BLOCKED)) DEALLOCATE(MESHES(NM)%XYZ_CC_BLOCKED)
5062+
IF(ALLOCATED(MESHES(NM)%JBT_CC_BLOCKED)) DEALLOCATE(MESHES(NM)%JBT_CC_BLOCKED)
50555063
ALLOCATE(MESHES(NM)%XYZ_CC_BLOCKED(3,MESHES(NM)%N_CC_BLOCKED))
50565064
ALLOCATE(MESHES(NM)%JBT_CC_BLOCKED(2,MESHES(NM)%N_CC_BLOCKED))
50575065
ENDIF

0 commit comments

Comments
 (0)