Ignore:
Timestamp:
Mar 27, 2018 3:52:42 PM (3 years ago)
Author:
suehring
Message:

Nesting in RANS-LES and RANS-RANS mode enabled; synthetic turbulence generator at all lateral boundaries in nesting or non-cyclic forcing mode; revised Inifor initialization in nesting mode

File:
1 edited

Legend:

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

    r2776 r2938  
    2525! -----------------
    2626! $Id$
     27! - No checks for domain decomposition in case of turbulence generator
     28!  (is done in stg module)
     29! - Introduce ids to indicate lateral processors for turbulence generator
     30!
     31! 2936 2018-03-27 14:49:27Z suehring
    2732! Variable use_synthetic_turbulence_generator has been abbreviated
    2833!
     
    251256
    252257    USE synthetic_turbulence_generator_mod,                                    &
    253         ONLY:  use_syn_turb_gen
     258        ONLY:  id_stg_left, id_stg_north, id_stg_right, id_stg_south,          &
     259               use_syn_turb_gen
    254260
    255261    USE transpose_indices,                                                     &
     
    267273    INTEGER(iwp) ::  id_outflow_source_l      !< local value of id_outflow_source
    268274    INTEGER(iwp) ::  id_recycling_l           !<
     275    INTEGER(iwp) ::  id_stg_left_l            !< left lateral boundary local core id in case of turbulence generator 
     276    INTEGER(iwp) ::  id_stg_north_l           !< north lateral boundary local core id in case of turbulence generator 
     277    INTEGER(iwp) ::  id_stg_right_l           !< right lateral boundary local core id in case of turbulence generator 
     278    INTEGER(iwp) ::  id_stg_south_l           !< south lateral boundary local core id in case of turbulence generator 
    269279    INTEGER(iwp) ::  ind(5)                   !<
    270280    INTEGER(iwp) ::  j                        !<
     
    518528!-- 1. transposition  z --> x
    519529!-- This transposition is not neccessary in case of a 1d-decomposition along x
    520     IF ( psolver == 'poisfft'  .OR.  calculate_spectra  .OR.                   &
    521          use_syn_turb_gen )  THEN
     530    IF ( psolver == 'poisfft'  .OR.  calculate_spectra )  THEN
    522531
    523532       IF ( pdims(2) /= 1 )  THEN
     
    12631272       ENDIF
    12641273    ENDIF
    1265 
     1274!
     1275!-- In case of synthetic turbulence geneartor determine ids.
     1276!-- Please note, if no forcing or nesting is applied, the generator is applied
     1277!-- only at the left lateral boundary.
     1278    IF ( use_syn_turb_gen )  THEN
     1279       IF ( force_bound_l  .OR.  nest_bound_l  .OR.  inflow_l )  THEN
     1280          id_stg_left_l = myidx
     1281       ELSE
     1282          id_stg_left_l = 0
     1283       ENDIF
     1284       IF ( force_bound_r  .OR.  nest_bound_r )  THEN
     1285          id_stg_right_l = myidx
     1286       ELSE
     1287          id_stg_right_l = 0
     1288       ENDIF
     1289       IF ( force_bound_s  .OR.  nest_bound_s )  THEN
     1290          id_stg_south_l = myidy
     1291       ELSE
     1292          id_stg_south_l = 0
     1293       ENDIF
     1294       IF ( force_bound_n  .OR.  nest_bound_n )  THEN
     1295          id_stg_north_l = myidy
     1296       ELSE
     1297          id_stg_north_l = 0
     1298       ENDIF
     1299
     1300       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
     1301       CALL MPI_ALLREDUCE( id_stg_left_l, id_stg_left,   1, MPI_INTEGER,       &
     1302                           MPI_SUM, comm1dx, ierr )
     1303
     1304       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
     1305       CALL MPI_ALLREDUCE( id_stg_right_l, id_stg_right, 1, MPI_INTEGER,       &
     1306                           MPI_SUM, comm1dx, ierr )
     1307
     1308       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
     1309       CALL MPI_ALLREDUCE( id_stg_south_l, id_stg_south, 1, MPI_INTEGER,       &
     1310                           MPI_SUM, comm1dy, ierr )
     1311
     1312       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
     1313       CALL MPI_ALLREDUCE( id_stg_north_l, id_stg_north, 1, MPI_INTEGER,       &
     1314                           MPI_SUM, comm1dy, ierr )
     1315
     1316    ENDIF
     1317 
    12661318!
    12671319!-- Broadcast the id of the inflow PE
Note: See TracChangeset for help on using the changeset viewer.