source: trunk/SOURCES/New-remplimat/remplimat_declar_tabTu_mod.f90 @ 243

Last change on this file since 243 was 4, checked in by dumas, 10 years ago

initial import GRISLI trunk

File size: 3.3 KB
Line 
1module remplimat_declar
2
3! ce module sert à déclarer et à initialiser tous les tableaux
4! de la matrice "equation elliptique". Ces tableaux sont locaux à remplidom
5! et aux routines de conditions aux limites. 
6
7! dans cette version les tableaux Tuij, ... sont à 4 dimensions
8 
9
10
11use module3d_phy
12
13implicit none
14
15integer,parameter :: nflmax=2*nx*ny          ! nb. maxi de noeuds dans l'eq. elliptique.
16
17
18! les tableaux declares ici sont sur nx,ny mais seul le domaine
19! nx1,nx2,ny1,ny2 est vraiment utilise.
20
21
22! Coefficients de l'équation elliptique pour le calcul de u (ux)
23!---------------------------------------------------------------------
24! l'equation pour U(i,j) s'ecrit
25
26!  somme (Tu(i,j,itu,jtu))+ somme(Tv(i,j,itv,jtv)) = opposx(i,j)
27!  avec itu et jtu : -1,0,1
28!       itv : -1,0  et jtv : 0,1
29! on dimensionne cependant tous ces tableaux de -1 a 1 pour les coins de la grille
30
31
32integer :: il,jl                                  ! indices pour les tableaux Tu,... Mu  ...
33integer :: ilmin,ilmax                            ! bornes des boucles sur il et jl
34integer :: jlmin,jlmax 
35
36
37real    :: eps_col=1.e-5                          ! pour les tests : ~0
38
39! Les tableaux Tu, Tv, Su, Sv donnent les coefficients pour l'equation en U et V
40! Ce sont les lignes de la matrice L2
41
42! coefficients pour l'équation en U
43real,dimension(nx,ny,-1:1,-1:1)  ::  Tu       ! coefficients des vitesses U
44real,dimension(nx,ny,-1:1,-1:1)  ::  Tv       ! coefficients des vitesses V
45real,dimension(nx,ny)            ::  opposx   ! pression latérale
46
47!  idem avec permutation i-j pour V(i,j) avec Su et Sv
48
49! coefficients pour l'équation en V
50real,dimension(nx,ny,-1:1,-1:1)  ::  Su       ! coefficients des vitesses U
51real,dimension(nx,ny,-1:1,-1:1)  ::  Sv       ! coefficients des vitesses V
52real,dimension(nx,ny)            ::  opposy   ! pression latérale
53
54
55! Les tableaux Mu, Mv, Nu,Nv donnent des indications sur le remplissage des
56! colonnes de la matrice L2,
57! pour déterminer si un noeud est vraiment utilise par d'autres.
58
59real,dimension(nx,ny,-1:1,-1:1)  ::  Mu    ! noeuds U utilisant la vitesse U
60real,dimension(nx,ny,-1:1,-1:1)  ::  Mv    ! noeuds V utilisant la vitesse U
61real,dimension(nx,ny,-1:1,-1:1)  ::  Nu    ! noeuds U utilisant la vitesse V
62real,dimension(nx,ny,-1:1,-1:1)  ::  Nv    ! noeuds V utilisant la vitesse V
63
64real,dimension(nx,ny)            :: diagU  ! tableau de travail (diagonale de L2)
65real,dimension(nx,ny)            :: diagV  ! tableau detravail  (diagonale de L2)
66
67! pour compter les lignes
68
69integer :: count_line    ! variable de travail pour compter les lignes
70integer, dimension(nx,ny) :: ligu_L2                  ! numero de la ligne Uij  dans la matrice complete
71integer, dimension(nx,ny) :: ligv_L2                  ! numero de la ligne Vij  dans la matrice complete
72integer,dimension(nflmax,2) :: pos_ligu               ! position i,j d'un noeud U en position l dans la matrice L2
73integer,dimension(nflmax,2) :: pos_ligv               ! position i,j d'un noeud V en position l dans la matrice L2
74
75
76logical,dimension(nx,ny)  :: ok_umat           ! vrai si participe a l'equation elliptique
77logical,dimension(nx,ny)  :: ok_vmat           ! vrai si participe a l'equation elliptique
78logical,dimension(nx,ny)  :: ghost_x           ! vrai si noeud fantome (H=1)
79logical,dimension(nx,ny)  :: ghost_y           ! vrai si noeud fantome (H=1)
80
81end module remplimat_declar
82
Note: See TracBrowser for help on using the repository browser.