Changeset 261
- Timestamp:
- 06/17/19 16:32:14 (5 years ago)
- Location:
- trunk/SOURCES
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/conserv-mass-adv-diff_sept2009_mod.f90
r224 r261 36 36 integer :: itesti 37 37 integer :: itour 38 38 double precision, dimension(nx,ny) :: H_local 39 39 40 40 contains … … 503 503 504 504 505 call resol_adv_diff_2D_vect (Dmx,Dmy,advmx,advmy,Hp,i_Hp,bilmass,vieuxH,H) 506 505 call resol_adv_diff_2D_vect (dble(Dmx),dble(Dmy),dble(advmx),dble(advmy),dble(Hp),i_Hp,dble(bilmass),dble(vieuxH),H_local) 506 507 H(:,:) = real(H_local(:,:)) 507 508 !$OMP PARALLEL 508 509 !$OMP DO -
trunk/SOURCES/resol_adv_diff_2D-sept2009.f90
r224 r261 18 18 19 19 implicit none 20 real:: omega !< parametre schema temporel de la resolution partie diffusion21 real:: mu_adv !< parametre schema temporel de la resolution advection22 real:: upwind !< schema spatial pour l'advection20 double precision :: omega !< parametre schema temporel de la resolution partie diffusion 21 double precision :: mu_adv !< parametre schema temporel de la resolution advection 22 double precision :: upwind !< schema spatial pour l'advection 23 23 24 24 ! tableaux de travail. resolution M H = Frelax 25 real,dimension(nx,ny) :: crelax !< diagnonale de M26 real,dimension(nx,ny) :: arelax !< sous diagonale selon x27 real,dimension(nx,ny) :: brelax !< sur diagonale selon x28 real,dimension(nx,ny) :: drelax !< sous diagonale selon y29 real,dimension(nx,ny) :: erelax !< sur diagonale selon y30 real,dimension(nx,ny) :: frelax !< vecteur31 real,dimension(nx,ny) :: c_west !< sur demi mailles Ux32 real,dimension(nx,ny) :: c_east !< sur demi mailles Ux33 real,dimension(nx,ny) :: c_north !< sur demi mailles Uy34 real,dimension(nx,ny) :: c_south !< sur demi mailles Uy35 36 real,dimension(nx,ny) :: bdx !< pente socle37 real,dimension(nx,ny) :: bdy !< pente socle38 39 real,dimension(nx,ny) :: hdx !< pente epaisseur40 real,dimension(nx,ny) :: hdy !< pente epaisseur25 double precision,dimension(nx,ny) :: crelax !< diagnonale de M 26 double precision,dimension(nx,ny) :: arelax !< sous diagonale selon x 27 double precision,dimension(nx,ny) :: brelax !< sur diagonale selon x 28 double precision,dimension(nx,ny) :: drelax !< sous diagonale selon y 29 double precision,dimension(nx,ny) :: erelax !< sur diagonale selon y 30 double precision,dimension(nx,ny) :: frelax !< vecteur 31 double precision,dimension(nx,ny) :: c_west !< sur demi mailles Ux 32 double precision,dimension(nx,ny) :: c_east !< sur demi mailles Ux 33 double precision,dimension(nx,ny) :: c_north !< sur demi mailles Uy 34 double precision,dimension(nx,ny) :: c_south !< sur demi mailles Uy 35 36 double precision,dimension(nx,ny) :: bdx !< pente socle 37 double precision,dimension(nx,ny) :: bdy !< pente socle 38 39 double precision,dimension(nx,ny) :: hdx !< pente epaisseur 40 double precision,dimension(nx,ny) :: hdy !< pente epaisseur 41 41 42 42 … … 95 95 implicit none 96 96 97 real,dimension(nx,ny), intent(in) :: Dfx !< terme diffusif selon x98 real,dimension(nx,ny), intent(in) :: Dfy !< terme diffusif selon y99 real,dimension(nx,ny), intent(in) :: Advx !< terme advectif selon x100 real,dimension(nx,ny), intent(in) :: Advy !< terme advectif selon y101 real,dimension(nx,ny), intent(in) :: vieuxH !< ancienne valeur de H102 real,dimension(nx,ny), intent(out):: newH !< nouvelle valeur de H103 104 real,dimension(nx,ny), intent(in) :: bil !< bilan de masse pour la colonne105 106 real,dimension(nx,ny), intent(in) :: H_presc !< H value if prescribed97 double precision,dimension(nx,ny), intent(in) :: Dfx !< terme diffusif selon x 98 double precision,dimension(nx,ny), intent(in) :: Dfy !< terme diffusif selon y 99 double precision,dimension(nx,ny), intent(in) :: Advx !< terme advectif selon x 100 double precision,dimension(nx,ny), intent(in) :: Advy !< terme advectif selon y 101 double precision,dimension(nx,ny), intent(in) :: vieuxH !< ancienne valeur de H 102 double precision,dimension(nx,ny), intent(out):: newH !< nouvelle valeur de H 103 104 double precision,dimension(nx,ny), intent(in) :: bil !< bilan de masse pour la colonne 105 106 double precision,dimension(nx,ny), intent(in) :: H_presc !< H value if prescribed 107 107 integer,dimension(nx,ny), intent(in) :: i_Hpresc !< 1 if H is prescribed on this node, else 0 108 108 … … 126 126 !!$real,dimension(nx,ny) :: hdy !< pente epaisseur 127 127 128 real:: frdx,frdy !< pour calcul frelax : termes diffusion129 real:: fraxw,fraxe,frays,frayn !< termes advection130 131 real,dimension(nx,ny) :: deltah ! dans calcul relax132 real:: delh ! dans calcul relax133 real:: testh ! dans calcul relax128 double precision :: frdx,frdy !< pour calcul frelax : termes diffusion 129 double precision :: fraxw,fraxe,frays,frayn !< termes advection 130 131 double precision,dimension(nx,ny) :: deltah ! dans calcul relax 132 double precision :: delh ! dans calcul relax 133 double precision :: testh ! dans calcul relax 134 134 135 135 logical :: stopp 136 136 integer :: ntour 137 real:: reste137 double precision :: reste 138 138 139 139
Note: See TracChangeset
for help on using the changeset viewer.