Ignore:
Timestamp:
Mar 29, 2011 11:39:40 AM (10 years ago)
Author:
raasch
Message:

New:
---

In case of multigrid method, on coarse grid levels, gathered data are
identically processed on all PEs (before, on PE0 only), so that the subsequent
scattering of data is not neccessary any more. (modules, init_pegrid, poismg)

Changed:


Calculation of weighted average of p is now handled in the same way
regardless of the number of ghost layers (advection scheme). (pres)

multigrid and sor method are using p_loc for iterative
advancements of pressure. p_sub removed. (init_3d_model, modules, poismg, pres, sor)

bc_lr and bc_ns replaced by bc_lr_dirrad, bc_lr_raddir, bc_ns_dirrad, bc_ns_raddir
for speed optimization. (calc_spectra, check_parameters, exchange_horiz,
exchange_horiz_2d, header, init_3d_model, init_grid, init_pegrid, modules,
poismg, pres, sor, time_integration, timestep)

grid_level directly used as index for MPI data type arrays. (exchange_horiz,
poismg)

initial assignments of zero to array p for iterative solvers only (init_3d_model)

Errors:


localsum calculation modified for proper OpenMP reduction. (pres)

Bugfix: bottom (nzb) and top (nzt+1) boundary conditions set in routines
resid and restrict. They were missed before, which may have led to
unpredictable results. (poismg)

File:
1 edited

Legend:

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

    r668 r707  
    44! Current revisions:
    55! -----------------
     6! bc_lr/ns replaced by bc_lr/ns_cyc
    67!
    78! Former revisions:
     
    110111!
    111112!--    Horizontal (Neumann) boundary conditions in case of non-cyclic boundaries
    112        IF ( bc_lr /= 'cyclic' )  THEN
     113       IF ( .NOT. bc_lr_cyc )  THEN
    113114          IF ( inflow_l .OR. outflow_l )  p(:,:,nxl-1) = p(:,:,nxl)
    114115          IF ( inflow_r .OR. outflow_r )  p(:,:,nxr+1) = p(:,:,nxr)
    115116       ENDIF
    116        IF ( bc_ns /= 'cyclic' )  THEN
     117       IF ( .NOT. bc_ns_cyc )  THEN
    117118          IF ( inflow_n .OR. outflow_n )  p(:,nyn+1,:) = p(:,nyn,:)
    118119          IF ( inflow_s .OR. outflow_s )  p(:,nys-1,:) = p(:,nys,:)
     
    172173!
    173174!--    Horizontal (Neumann) boundary conditions in case of non-cyclic boundaries
    174        IF ( bc_lr /= 'cyclic' )  THEN
     175       IF ( .NOT. bc_lr_cyc )  THEN
    175176          IF ( inflow_l .OR. outflow_l )  p(:,:,nxl-1) = p(:,:,nxl)
    176177          IF ( inflow_r .OR. outflow_r )  p(:,:,nxr+1) = p(:,:,nxr)
    177178       ENDIF
    178        IF ( bc_ns /= 'cyclic' )  THEN
     179       IF ( .NOT. bc_ns_cyc )  THEN
    179180          IF ( inflow_n .OR. outflow_n )  p(:,nyn+1,:) = p(:,nyn,:)
    180181          IF ( inflow_s .OR. outflow_s )  p(:,nys-1,:) = p(:,nys,:)
Note: See TracChangeset for help on using the changeset viewer.