1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
module utils
use machin
use truc
use bidule
implicit none
interface convert2matrX
module procedure conv16
module procedure conv7
end interface
CONTAINS
! this function transform the list read in 4x4 matrix
function conv16(tab)
!convert diffusion matrix size: 16
implicit none
real,dimension(nphio,ntheo,nphii,nthei,16),intent(in):: tab
!? d'où viennent nphio,ntheo,nphii,nthei ? D'un des use ?
real,dimension(nphio,ntheo,nphii,nthei,4,4):: conv16
integer::sz
conv16(:,:,:,:,1,:)=tab(:,:,:,:,1:4)
conv16(:,:,:,:,2,:)=tab(:,:,:,:,5:8)
conv16(:,:,:,:,3,:)=tab(:,:,:,:,9:12)
conv16(:,:,:,:,4,:)=tab(:,:,:,:,13:16)
end function conv16
function conv7(tab)
!convert extinction matrix size: 7
implicit none
real,dimension(nphii,nthei,7),intent(in):: tab
real,dimension(nphii,nthei,4,4):: conv7
integer::sz
conv7(:,:,1,:)=tab(:,:,1:4)
conv7(:,:,2,3:4)=tab(:,:,5:6)
conv7(:,:,3,4)=tab(:,:,6)
conv7(:,:,2,2)=tab(:,:,1)
conv7(:,:,3,3)=tab(:,:,1)
conv7(:,:,4,4)=tab(:,:,1)
conv7(:,:,2:4,:)=conv7(:,:,:,2:4)
conv7(:,:,3,2)=-conv7(:,:,2,3)
conv7(:,:,4,2:3)=-conv7(:,:,2:3,4)
end function conv7
... autres fonctions ...
end module utils |
Partager