Ignore:
Timestamp:
Mar 27, 2015 9:56:27 AM (9 years ago)
Author:
raasch
Message:

optimized multigrid method installed, new parameter seed_follows_topography for particle release, small adjustment in subjob for HLRN

File:
1 edited

Legend:

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

    r1343 r1575  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! poismg_fast + respective module added, adjustments for psolver-queries
    2323!
    2424! Former revisions:
     
    114114        ONLY:  poisfft
    115115
     116    USE poismg_mod
     117
    116118    USE statistics,                                                            &
    117119        ONLY:  statistic_regions, sums_divnew_l, sums_divold_l, weight_pres,   &
     
    144146!-- Multigrid method expects array d to have one ghost layer.
    145147!--
    146     IF ( psolver == 'multigrid' )  THEN
     148    IF ( psolver(1:9) == 'multigrid' )  THEN
    147149     
    148150       DEALLOCATE( d )
     
    293295    CALL cpu_log( log_point_s(1), 'divergence', 'start' )
    294296
    295     IF ( psolver == 'multigrid' )  THEN
     297    IF ( psolver(1:9) == 'multigrid' )  THEN
    296298       !$OMP PARALLEL DO SCHEDULE( STATIC )
    297299       DO  i = nxl-1, nxr+1
     
    388390!
    389391!-- Compute the pressure perturbation solving the Poisson equation
    390     IF ( psolver(1:7) == 'poisfft' )  THEN
     392    IF ( psolver == 'poisfft' )  THEN
    391393
    392394!
    393395!--    Solve Poisson equation via FFT and solution of tridiagonal matrices
    394        IF ( psolver == 'poisfft' )  THEN
    395 
    396           CALL poisfft( d )
    397 
    398        ENDIF
     396       CALL poisfft( d )
    399397
    400398!
     
    492490       tend = p_loc
    493491
    494     ELSEIF ( psolver == 'multigrid' )  THEN
     492    ELSEIF ( psolver(1:9) == 'multigrid' )  THEN
    495493
    496494!
     
    511509       ENDIF
    512510
    513        CALL poismg( tend )
     511       IF ( psolver == 'multigrid' )  THEN
     512          CALL poismg( tend )
     513       ELSE
     514          CALL poismg_fast( tend )
     515       ENDIF
    514516
    515517       IF ( gathered_size > subdomain_size )  THEN
Note: See TracChangeset for help on using the changeset viewer.