Ignore:
Timestamp:
Feb 25, 2016 12:31:13 PM (6 years ago)
Author:
hellstea
Message:

Introduction of nested domain system

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/exchange_horiz_2d.f90

    r1683 r1762  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! Introduction of nested domain feature
    2222!
    2323! Former revisions:
     
    6262    USE control_parameters,                                                    &
    6363        ONLY :  bc_lr_cyc, bc_ns_cyc, inflow_l, inflow_n, inflow_r, inflow_s,  &
     64                nest_bound_l, nest_bound_n, nest_bound_r, nest_bound_s,        &
    6465                outflow_l, outflow_n, outflow_r, outflow_s
    6566               
     
    153154
    154155!
    155 !-- Neumann-conditions at inflow/outflow in case of non-cyclic boundary
    156 !-- conditions
    157     IF ( inflow_l .OR. outflow_l )  THEN
    158        DO i=nbgp, 1, -1
     156!-- Neumann-conditions at inflow/outflow/nested boundaries
     157    IF ( inflow_l .OR. outflow_l .OR. nest_bound_l )  THEN
     158       DO  i = nbgp, 1, -1
    159159         ar(:,nxl-i) = ar(:,nxl)
    160        END DO
    161     END IF
    162     IF ( inflow_r .OR. outflow_r )  THEN
    163        DO i=1, nbgp
     160       ENDDO
     161    ENDIF
     162    IF ( inflow_r .OR. outflow_r .OR. nest_bound_r )  THEN
     163       DO  i = 1, nbgp
    164164          ar(:,nxr+i) = ar(:,nxr)
    165        END DO
    166     END IF
    167     IF ( inflow_s .OR. outflow_s )  THEN
    168        DO i=nbgp, 1, -1
     165       ENDDO
     166    ENDIF
     167    IF ( inflow_s .OR. outflow_s .OR. nest_bound_s )  THEN
     168       DO  i = nbgp, 1, -1
    169169         ar(nys-i,:) = ar(nys,:)
    170        END DO
    171     END IF
    172     IF ( inflow_n .OR. outflow_n )  THEN
    173        DO i=1, nbgp
     170       ENDDO
     171    ENDIF
     172    IF ( inflow_n .OR. outflow_n .OR. nest_bound_n )  THEN
     173       DO  i = 1, nbgp
    174174         ar(nyn+i,:) = ar(nyn,:)
    175        END DO
    176     END IF
     175       ENDDO
     176    ENDIF
     177
    177178    CALL cpu_log( log_point_s(13), 'exchange_horiz_2d', 'stop' )
    178179
     
    193194
    194195    USE control_parameters,                                                    &
    195         ONLY:  bc_lr_cyc, bc_ns_cyc
     196        ONLY:  bc_lr_cyc, bc_ns_cyc, nest_bound_l, nest_bound_n, nest_bound_r, &
     197               nest_bound_s
    196198       
    197199    USE cpulog,                                                                &
     
    207209    IMPLICIT NONE
    208210
     211    INTEGER(iwp) ::  i
    209212    INTEGER(iwp) ::  ar(nysg:nyng,nxlg:nxrg)  !<
    210213
     
    277280
    278281#endif
     282!
     283!-- Neumann-conditions at inflow/outflow/nested boundaries
     284    IF ( nest_bound_l )  THEN
     285       DO  i = nbgp, 1, -1
     286         ar(:,nxl-i) = ar(:,nxl)
     287       ENDDO
     288    ENDIF
     289    IF ( nest_bound_r )  THEN
     290       DO  i = 1, nbgp
     291          ar(:,nxr+i) = ar(:,nxr)
     292       ENDDO
     293    ENDIF
     294    IF ( nest_bound_s )  THEN
     295       DO  i = nbgp, 1, -1
     296         ar(nys-i,:) = ar(nys,:)
     297       ENDDO
     298    ENDIF
     299    IF ( nest_bound_n )  THEN
     300       DO  i = 1, nbgp
     301         ar(nyn+i,:) = ar(nyn,:)
     302       ENDDO
     303    ENDIF
     304
    279305    CALL cpu_log( log_point_s(13), 'exchange_horiz_2d', 'stop' )
    280306
Note: See TracChangeset for help on using the changeset viewer.