Ignore:
Timestamp:
Mar 15, 2019 11:15:38 AM (6 years ago)
Author:
forkel
Message:

Modifications for OpenMP version by Klaus Ketelsen

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/UTIL/chemistry/gasphase_preproc/kpp4palm/src/create_kpp_module.C

    r3789 r3797  
    1717//-----------------
    1818//$Id: create_kpp_module.C 3453 2018-10-30 13:21:51Z forkel $
     19// OpenMP version    (15.03.2019, ketelsen)
     20//
    1921// Added vector switch Kacc,Krej,IERRV, Commented add_line for istatf,    (05.03.2019, forkel)
    2022//      added ,pe after ierr_u,         
     
    233235
    234236   mz_kpp.add_line(" ");
     237
     238// Declare variables THREADPRIVATE for OpenMP version
     239
     240   mz_kpp.add_line("  ! OpenMP directives generated by kp4 ");
     241   mz_kpp.add_line(" ");
     242   mz_kpp.add_line("  !$OMP THREADPRIVATE (vl,vl_glo,is,ie,data_loaded)");
     243   mz_kpp.add_line("  !$OMP THREADPRIVATE (c,var,fix,rconst,time,temp,stepmin,cfactor)");
     244   mz_kpp.add_line("  !$OMP THREADPRIVATE (qvap,fakt,cs_mech,a,icntrl,rcntrl)");
     245   mz_kpp.add_line(" ");
     246   if(kpp_switches.is_vector()) {
     247      mz_kpp.add_line("  ! Vector mode Only ");
     248          mz_kpp.add_line(" ");
     249          mz_kpp.add_line("  !$OMP THREADPRIVATE (kacc,krej,ierrv)");
     250          mz_kpp.add_line("  !$OMP THREADPRIVATE (kpoints,kpoints_SAVE,index_org,done_check,index_step,cell_done)");
     251          mz_kpp.add_line("  !$OMP THREADPRIVATE (f_done,kacc_done,krej_done,ierr_done,compress_done)");
     252          mz_kpp.add_line(" ");
     253   }
    235254
    236255
     
    444463   }
    445464   mz_kpp.add_line("  logical                     :: data_loaded = .false.             ");
     465   if(kpp_switches.is_vector()) {
     466          mz_kpp.add_line("  REAL(dp),POINTER,DIMENSION(:,:),CONTIGUOUS    :: var           ");
     467   } else {
     468      mz_kpp.add_line("  REAL(dp),POINTER,DIMENSION(:),CONTIGUOUS    :: var             ");
     469   }
    446470   in.close();
    447471
     
    547571   kppi.add_line("  if (present (rcntrl_i) )  rcntrl  = rcntrl_i                      ");
    548572   kppi.add_line("                                                                    ");
     573   if(kpp_switches.is_vector()) {
     574      kppi.add_line("  var => c(:,1:nvar)                                                  ");
     575   } else {
     576      kppi.add_line("  var => c(1:nvar)                                                  ");
     577   }
     578   kppi.add_line("                                                                    ");
    549579   kppi.add_line("  vl_glo = size(tempi,1)                                            ");
    550580   kppi.add_line("                                                                    ");
Note: See TracChangeset for help on using the changeset viewer.