Changeset 74 for trunk/SOURCES/litho-0.4.f90
- Timestamp:
- 06/24/16 09:19:59 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/litho-0.4.f90
r65 r74 37 37 38 38 39 subroutine litho 39 subroutine litho 40 !$ USE OMP_LIB 41 USE module3D_phy 42 USE param_phy_mod 43 USE ISO_DECLAR ! module de declaration des variables specifiques a l'isostasie 40 44 41 USE module3D_phy 42 USE param_phy_mod 43 USE ISO_DECLAR ! module de declaration des variables specifiques a l'isostasie 45 implicit none 44 46 45 implicit none 46 47 INTEGER :: II,SOM1,SOM2 48 REAL, dimension(:,:), allocatable :: WLOC 47 INTEGER :: II,SOM1,SOM2 48 REAL, dimension(:,:), allocatable :: WLOC 49 49 50 50 51 !----- allocation de WLOC et de croix -----------51 !----- allocation de WLOC et de croix ----------- 52 52 53 54 55 56 57 58 59 53 if (.not.allocated(WLOC)) THEN 54 allocate(WLOC(-LBLOC:LBLOC,-LBLOC:LBLOC),stat=err) 55 if (err/=0) then 56 print *,"Erreur a l'allocation du tableau WLOC",err 57 stop 4 58 end if 59 end if 60 60 61 !----- fin de l'allocation --------------61 !----- fin de l'allocation -------------- 62 62 63 ! calcul de la deflexion par sommation des voisins appartenant64 ! au bloc de taille 2*LBLOC65 66 63 ! calcul de la deflexion par sommation des voisins appartenant 64 ! au bloc de taille 2*LBLOC 65 som1=0. 66 som2=0. 67 67 68 ! On somme aussi les contributions des points exterieurs au domaine 69 ! lorsque la charge est due a l'ocean. On suppose alors que 70 ! ces points ont la meme charge que les limites 71 72 boucleij : do J=1,NY 73 do I=1,NX 68 ! On somme aussi les contributions des points exterieurs au domaine 69 ! lorsque la charge est due a l'ocean. On suppose alors que 70 ! ces points ont la meme charge que les limites 71 !$OMP PARALLEL 72 !$OMP DO PRIVATE(Wloc) 73 boucleij : do J=1,NY 74 do I=1,NX 74 75 75 76 76 77 77 W1(I,J)=0. 78 ! ii=0 78 79 79 ! Wloc : enfoncement centre sur ij du a chaque charges autour80 80 ! Wloc : enfoncement centre sur ij du a chaque charges autour 81 Wloc(:,:) = We(:,:) * charge(i-lbloc:i+lbloc,j-lbloc:j+lbloc) 81 82 82 83 83 84 W1(i,j) = sum (Wloc(:,:)) ! effet en ij de toutes les charges autour (distance < lbloc) 84 85 85 ! ------------------------ FIN DE L'INTEGRATION SUR LE PAVE LBLOC86 87 86 ! ------------------------ FIN DE L'INTEGRATION SUR LE PAVE LBLOC 87 ! som1=som1+W1(I,J) 88 ! som2=som2-charge(I,J)/ROMG 88 89 89 end do 90 end do boucleij 91 92 ! write(6,*)'enfoncement total avec rigidite de la lithosphere:', 93 ! & som1 94 ! write(6,*)'enfoncement total avec isostasie locale :', 95 ! & som2 90 end do 91 end do boucleij 92 !$OMP END DO 93 !$OMP END PARALLEL 94 95 ! write(6,*)'enfoncement total avec rigidite de la lithosphere:', 96 ! & som1 97 ! write(6,*)'enfoncement total avec isostasie locale :', 98 ! & som2 96 99 97 100 98 99 101 end subroutine litho 102
Note: See TracChangeset
for help on using the changeset viewer.