Ignore:
Timestamp:
Mar 29, 2018 6:20:00 PM (3 years ago)
Author:
suehring
Message:

Set lateral boundary conditions for divergence in multigrid solver

File:
1 edited

Legend:

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

    r2718 r2939  
    2525! -----------------
    2626! $Id$
     27! Set lateral boundary conditions for divergence
     28!
     29! 2793 2018-02-07 10:54:33Z suehring
    2730! Corrected "Former revisions" section
    2831!
     
    195198
    196199       USE control_parameters,                                                 &
    197            ONLY:  gathered_size, grid_level_count,                             &
     200           ONLY:  bc_lr_cyc, bc_ns_cyc, gathered_size, grid_level_count,       &
     201                  ibc_p_t, maximum_grid_level, message_string, mgcycles,       &
     202                  mg_cycles, mg_switch_to_pe0_level, residual_limit,           &
     203                  subdomain_size
     204
     205       USE control_parameters,                                                 &
     206           ONLY:  bc_lr_cyc, bc_ns_cyc, gathered_size, grid_level,             &
     207                  grid_level_count, ibc_p_t,                                   &
    198208                  maximum_grid_level, message_string, mgcycles, mg_cycles,     &
    199209                  mg_switch_to_pe0_level, residual_limit, subdomain_size
     
    244254       grid_level = maximum_grid_level
    245255       CALL exchange_horiz( d, 1)
     256!
     257!--    Set bottom and top boundary conditions
    246258       d(nzb,:,:) = d(nzb+1,:,:)
     259       IF ( ibc_p_t == 1 )  d(nzt+1,:,: ) = d(nzt,:,:)
     260!
     261!--    Set lateral boundary conditions in non-cyclic case
     262       IF ( .NOT. bc_lr_cyc )  THEN
     263          IF ( inflow_l .OR. outflow_l .OR. nest_bound_l .OR. force_bound_l )  &
     264             d(:,:,nxl-1) = d(:,:,nxl)
     265          IF ( inflow_r .OR. outflow_r .OR. nest_bound_r .OR. force_bound_r )  &
     266             d(:,:,nxr+1) = d(:,:,nxr)
     267       ENDIF
     268       IF ( .NOT. bc_ns_cyc )  THEN
     269          IF ( inflow_n .OR. outflow_n .OR. nest_bound_n .OR. force_bound_n )  &
     270             d(:,nyn+1,:) = d(:,nyn,:)
     271          IF ( inflow_s .OR. outflow_s .OR. nest_bound_s .OR. force_bound_s )  &
     272             d(:,nys-1,:) = d(:,nys,:)
     273       ENDIF
    247274
    248275!
Note: See TracChangeset for help on using the changeset viewer.