Ignore:
Timestamp:
06/24/16 09:19:59 (8 years ago)
Author:
dumas
Message:

OpenMP parallelization in remplimat-shelves-tabTu, litho and taubed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SOURCES/taubed-0.3.f90

    r4 r74  
    4343subroutine taubed() 
    4444 
     45  !$USE OMP_LIB  
    4546  USE module3D_phy 
    4647  USE param_phy_mod 
     
    5253  ! NLITH est defini dans isostasie et permet le choix du modele d'isostasie 
    5354 
     55   
    5456  if (NLITH.eq.1) then 
    5557     !       avec rigidite de la lithosphere 
     58     !$OMP PARALLEL 
     59     !$OMP DO 
    5660     do J=1,NY  
    5761        do I=1,NX 
     
    6569        end do 
    6670     end do 
    67  
     71     !$OMP END DO 
    6872 
    6973     ! il faut remplir CHARGE dans les parties a l'exterieur de la grille : 
    7074     ! a l'exterieur de la grille CHARGE est egale a la valeur sur le bord 
    71  
     75     !$OMP DO 
    7276     do J=1,NY 
    7377        CHARGE(1-LBLOC:0,J)=CHARGE(1,J)      ! bord W 
    7478        CHARGE(NX+1:NX+LBLOC,J)=CHARGE(NX,J) ! bord E 
    7579     end do 
     80     !$OMP END DO 
     81     !$OMP DO 
    7682     do I=1,NX 
    7783        CHARGE(I,1-LBLOC:0)=CHARGE(I,1)      ! bord S 
    7884        CHARGE(I,NY+1:NY+LBLOC)=CHARGE(I,NY) ! bord N 
    7985     end do 
     86     !$OMP END DO 
    8087 
    8188     ! valeur dans les quatres coins exterieurs au domaine        
     89          !$OMP WORKSHARE 
    8290     CHARGE(1-LBLOC:0,1-LBLOC:0)=CHARGE(1,1)           ! coin SW 
    8391     CHARGE(1-LBLOC:0,NY+1:NY+LBLOC)=CHARGE(1,NY)      ! coin NW 
    8492     CHARGE(NX+1:NX+LBLOC,1-LBLOC:0)=CHARGE(NX,1)      ! coin SE 
    8593     CHARGE(NX+1:NX+LBLOC,NY+1:NY+LBLOC)=CHARGE(NX,NY) ! coin NE 
    86  
     94     !$OMP END WORKSHARE 
     95     !$OMP END PARALLEL  
    8796     call litho 
    8897 
    8998  else 
    9099     !     enfoncement local 
     100     !$OMP PARALLEL 
     101     !$OMP DO 
    91102     do J=1,NY 
    92103        do I=1,NX 
     
    100111        end do 
    101112     end do 
     113     !$OMP END DO 
     114     !$OMP END PARALLEL 
    102115  endif 
    103116 
    104117  !     decroissance exponentielle de l'enfoncement 
     118  !$OMP PARALLEL 
     119  !$OMP DO 
    105120  do J=1,NY 
    106121     do I=1,NX 
     
    109124     end do 
    110125  end do 
     126  !$OMP END DO 
     127  !$OMP END PARALLEL 
    111128 
    112129end subroutine taubed 
Note: See TracChangeset for help on using the changeset viewer.