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
47 changes: 30 additions & 17 deletions Source/ccib.f90
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ MODULE CC_SCALARS
CC_CUTCELL_VELOCITY,CC_CUTFACE_VELOCITY,CC_RESTORE_UVW_UNLINKED,&
CHECK_CFLVN_LINKED_CELLS,ADD_Q_DOT_CUTCELLS,CFACE_THERMAL_GASVARS,&
CFACE_PREDICT_NORMAL_VELOCITY,COMPUTE_LINKED_CUTFACE_BAROCLINIC,&
COPY_CC_UNKH_TO_HS, COPY_CC_HS_TO_UNKH, COPY_UNST_DM_TO_CART, CUTFACE_VELOCITIES, &
COPY_CC_UNKH_TO_HS, COPY_CC_MUNKH_TO_UNKH, COPY_UNST_DM_TO_CART, CUTFACE_VELOCITIES, &
GET_CFACE_OPEN_BC_COEF,GET_FN_DIVERGENCE_CUTCELL,GET_OPENBC_TANGENTIAL_CUTFACE_VEL,&
GET_CUTCELL_DDDT,GET_H_CUTFACES,GET_H_MATRIX_CC,GET_H_GUARD_CUTCELL,GET_CRTCFCC_INT_STENCILS,GET_RCFACES_H, &
GET_CC_MATRIXGRAPH_H,GET_CC_IROW,GET_CC_UNKH,GET_CUTCELL_HP, GET_LINKED_FV, GET_PRES_CFACE_BCS, &
Expand Down Expand Up @@ -21702,44 +21702,57 @@ SUBROUTINE NUMBER_UNKH_CUTCELLS(FLAG12,NM,IPZ,NUNKH_LC)
RETURN
END SUBROUTINE NUMBER_UNKH_CUTCELLS

! ------------------- COPY_CC_HS_TO_UNKH ----------------------------
! ------------------- COPY_CC_MUNKH_TO_UNKH ----------------------------

SUBROUTINE COPY_CC_HS_TO_UNKH(NM)

INTEGER, INTENT(IN) :: NM
SUBROUTINE COPY_CC_MUNKH_TO_UNKH

! Local Variables:
INTEGER :: NOM,ICC,II,JJ,KK,IOR,IW,IIO,JJO,KKO
INTEGER :: NOM,ICC,IW,IIO,JJO,KKO,II,JJ,KK
TYPE (OMESH_TYPE), POINTER :: OM

TYPE (BOUNDARY_COORD_TYPE), POINTER :: BC
! Loop over external wall cells:
EXTERNAL_WALL_LOOP: DO IW=1,N_EXTERNAL_WALL_CELLS

WC=>WALL(IW)
EWC=>EXTERNAL_WALL(IW)
IF (WC%BOUNDARY_TYPE/=INTERPOLATED_BOUNDARY) CYCLE EXTERNAL_WALL_LOOP

BC => BOUNDARY_COORD(WC%BC_INDEX)
II = BC%II
JJ = BC%JJ
KK = BC%KK
IOR = BC%IOR
NOM = EWC%NOM
OM => OMESH(NOM)

! This assumes all meshes at the same level of refinement:
KKO=EWC%KKO_MIN
JJO=EWC%JJO_MIN
IIO=EWC%IIO_MIN

BC => BOUNDARY_COORD(WC%BC_INDEX)
II = BC%II; JJ = BC%JJ; KK = BC%KK;
ICC=CCVAR(II,JJ,KK,CC_IDCC)

IF (ICC > 0) THEN ! Cut-cells on this guard-cell Cartesian cell.
MESHES(NM)%CUT_CELL(ICC)%UNKH(1) = INT(OM%HS(IIO,JJO,KKO))
CUT_CELL(ICC)%UNKH(1) = OM%MUNKH(IIO,JJO,KKO)
ELSE
MESHES(NM)%CCVAR(II,JJ,KK,CC_UNKH) = INT(OM%HS(IIO,JJO,KKO))
CCVAR(II,JJ,KK,CC_UNKH) = OM%MUNKH(IIO,JJO,KKO)
ENDIF

! ! Loop over all cells in mesh NOM that correspond to this boundary face (supports grid refinement):
! DO KKO = EWC%KKO_MIN, EWC%KKO_MAX
! DO JJO = EWC%JJO_MIN, EWC%JJO_MAX
! DO IIO = EWC%IIO_MIN, EWC%IIO_MAX

! ! Check if this cell in mesh NOM is a cut-cell:
! ICC = MESHES(NOM)%CCVAR(IIO,JJO,KKO,CC_IDCC)

! IF (ICC > 0) THEN
! ! Copy to cut-cell storage in mesh NOM:
! MESHES(NOM)%CUT_CELL(ICC)%UNKH(1) = OM%MUNKH(IIO,JJO,KKO)
! ELSE
! ! Copy to regular cell storage in mesh NOM:
! MESHES(NOM)%CCVAR(IIO,JJO,KKO,CC_UNKH) = OM%MUNKH(IIO,JJO,KKO)
! ENDIF

! ENDDO
! ENDDO
! ENDDO

ENDDO EXTERNAL_WALL_LOOP

! Loop over external wall cells:
Expand All @@ -21753,7 +21766,7 @@ SUBROUTINE COPY_CC_HS_TO_UNKH(NM)
ENDDO EXTERNAL_WALL_LOOP2

RETURN
END SUBROUTINE COPY_CC_HS_TO_UNKH
END SUBROUTINE COPY_CC_MUNKH_TO_UNKH

! ------------------- COPY_CC_UNKH_TO_HS ----------------------------

Expand Down
22 changes: 13 additions & 9 deletions Source/main.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1612,15 +1612,19 @@ SUBROUTINE GLOBAL_MATRIX_REASSIGN(FORCE_REASSIGN)
CALL ULMAT_SOLVER_SETUP(NM)
ENDDO
CALL STOP_CHECK(1)
CASE (UGLMAT_FLAG,GLMAT_FLAG)
IF(ALLOCATED(ZONE_SOLVE)) CALL FINISH_GLMAT_SOLVER
CALL GLMAT_SOLVER_SETUP(1)
CALL STOP_CHECK(1)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,CGSC) -> HS.
CALL GLMAT_SOLVER_SETUP(2)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,UNKH) -> HS.
CALL GLMAT_SOLVER_SETUP(3)
CALL STOP_CHECK(1)
CASE (UGLMAT_FLAG,GLMAT_FLAG)
IF(ALLOCATED(ZONE_SOLVE)) CALL FINISH_GLMAT_SOLVER
CALL GLMAT_SOLVER_SETUP(-1) ! Initialize EWC_TYPE, copy wall types to HS
CALL STOP_CHECK(1)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for IS_WALLT -> HS
CALL GLMAT_SOLVER_SETUP(0) ! Process coarse faces, copy updated wall types to HS
CALL MESH_EXCHANGE(3) ! Re-exchange guard cell info for IS_WALLT -> HS
CALL GLMAT_SOLVER_SETUP(1)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,CGSC) -> HS
CALL GLMAT_SOLVER_SETUP(2)
CALL MESH_EXCHANGE(3) ! Exchange guard cell info for CCVAR(I,J,K,UNKH) -> HS
CALL GLMAT_SOLVER_SETUP(3)
CALL STOP_CHECK(1)
END SELECT
OBST_CREATED_OR_REMOVED = .FALSE.
ENDIF
Expand Down
Loading
Loading