- Timestamp:
- 12/21/06 10:22:39 (17 years ago)
- Location:
- trunk/NS3D_JMC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NS3D_JMC/config.h
r12 r13 14 14 ! Pour la librairie FFTW, les produits des facteurs premiers 2,3, 5, et 7 fonctionnent bien et tout particulièrement 15 15 ! les puissances de 2. 16 #define DIMX 2 5617 #define DIMY 25618 #define DIMZ 316 #define DIMX 2 17 #define DIMY 64 18 #define DIMZ 64 19 19 20 20 ! utile pour definir un mode "debugage" dans le code (pas d'initialisation du generateur de nombre aleatoire, … … 39 39 ! de l'architecture de calcul (NEC, processeur Intel...). 40 40 #define PPADX 0 41 #define PPADY 142 #define PPADZ 25641 #define PPADY 0 42 #define PPADZ 0 43 43 44 44 ! choix de la fonction qui genere l'ecoulement de base. Actuellement est disponible : -
trunk/NS3D_JMC/data.in
r12 r13 3 3 4 4 *** Parametres de discretisation *** 5 nx___________________________ 2 566 ny___________________________ 2567 nz___________________________ 38 Lx___________________________ 1 4.13229 Ly___________________________ 60.5 nx___________________________ 2 6 ny___________________________ 64 7 nz___________________________ 64 8 Lx___________________________ 10. 9 Ly___________________________ 10. 10 10 Lz___________________________ 10. 11 Dt___________________________ 0. 0111 Dt___________________________ 0.1 12 12 begin________________________ 0. 13 itmax________________________ 1500013 itmax________________________ 500 14 14 Troncature_oui/non___________ T 15 15 carree:1 / elliptique:2__ 1 … … 19 19 20 20 *** Parametres physiques *** 21 visc_________________________ 5.E-622 stratifie____________________ F23 brunt_vaisala_frequency__ 10.21 visc_________________________ 1.E-4 22 stratifie____________________ T 23 brunt_vaisala_frequency__ 0.39 24 24 schmidt number___________ 1. 25 25 2omega_______________________ 0. 26 26 27 27 *** Type de simulation *** 28 En perturbation______________ T29 Lineaire_____________________ T28 En perturbation______________ F 29 Lineaire_____________________ F 30 30 31 31 *** Reprise de run *** … … 33 33 34 34 *** Etat de base (pour simulation en perturbation) *** 35 Call subroutine gen_base2D___ T35 Call subroutine gen_base2D___ F 36 36 Lecture fichier______________ F 37 37 … … 39 39 Call subroutine gen_velo2D___ F 40 40 Lecture fichier______________ F 41 Bruit_blanc__________________ T41 Bruit_blanc__________________ F 42 42 amplitude________________ 0.00001 43 43 44 *** forcage *** 45 Call subroutine forcage______ T 46 A_ics____________________ 1.E-1 47 freq_____________________ 0.2 48 44 49 *** Sorties *** 45 periode out_physique1________ 146 periode out_physique2________ 200047 periode out_spectral1________ 100 50 periode out_physique1________ 5 51 periode out_physique2________ 5 52 periode out_spectral1________ 1000 48 53 49 54 *** Parametres additionnels... *** 50 55 51 56 * Tourbillons gaussiens * 52 Nb_tourbillons_______________ 257 Nb_tourbillons_______________ 0 53 58 Tourbillon 1 54 59 Position en x____________ 2.5 … … 61 66 Circulation______________ -6.28 62 67 Rayon____________________ 1. 68 -
trunk/NS3D_JMC/parametres.F90
r12 r13 63 63 logical, save :: lnoise 64 64 double precision, save :: amplitude_noise 65 66 !introduction d'un forcage, appel de la subroutine forcage 67 logical, save :: forcage_sub 68 double precision, save :: A_ics, freq 65 69 66 70 ! nombre et instants où sont appeles les differentes fonctions de sorties -
trunk/NS3D_JMC/sous_routines.F90
r12 r13 107 107 read(1,*) 108 108 read(1,*) 109 110 ! pba : deb 111 ! forcage 112 read(1,lecture_logical) bidon, forcage_sub 113 read(1,lecture_reel) bidon, A_ics 114 read(1,lecture_reel) bidon, freq 115 116 read(1,*) 117 read(1,*) 118 119 !pba fin 120 109 121 110 122 ! sorties … … 245 257 246 258 write(*,*) 259 write(*,*)'---------------------------------------------------' 260 write(*,*)'FORCAGE EN VITESSE' 261 write(*,*)'---------------------------------------------------' 262 write(*,aff_logical)'call subroutine', forcage_sub 263 write(*,aff_reel)'Amplitude..................',A_ics 264 write(*,aff_reel)'Frequence..................',freq 265 266 write(*,*) 247 267 write(*,*) '---------------------------------------------------' 248 268 write(*,*) 'SORTIES' … … 1274 1294 end subroutine 1275 1295 1296 ! pba: deb 1297 ! ************************************************************************* 1298 subroutine forcage(bx,by,bz) 1299 ! ************************************************************************* 1300 ! ajout d'un terme de forcage 1301 ! parametres du forcage entres ici provisoirement modifier 1302 ! data.in etc pour entree plus propre 1303 ! ************************************************************************** 1304 1305 1306 implicit none 1307 1308 double precision, dimension(0:dimx_tab-1,0:dimy_tab-1,0:dimz_tab-1), intent(inout) :: bx, by, bz 1309 double precision :: vbx0,vby0,vbz0,wbx0,wby0,wbz0 1310 double precision :: ax0,ay0,az0,bx0,by0,bz0 1311 double precision :: time, arg, sigma1, sigma2, FF, GG, acc 1312 integer :: ix, iy, iz, itime, i0, j0, k0 !itime a faire passer en parametre? 1313 ! itime=it0 1314 ! itime=itime+1 ! penser a it0=it0+itmax(run precedent si restat ! print *,'temps:', itime 1315 ! A_ics=100. !deplacement a definir dans data.in et parametres.F90 1316 !freq=2*pi/(3600*12.4) !M2 a verifier idem 1317 arg=freq*it*Dt !Dt est defini dans data.in ok 1318 ! print *,'arg:', arg 1319 ! print *,'A_ics:', A_ics !acceleration 1320 1321 ! localisation centre de la source 1322 i0=floor(0.5*nxmax) 1323 j0=floor(0.5*nymax) 1324 k0=floor(0.5*nzmax) 1325 1326 ! enveloppe gaussienne 1327 !sigma1=4km, sigma2=100m revoir les valeurs ci-dessous 1328 sigma1=20. ! defini en unite de dx et dz 1329 sigma2=1. ! dy 1330 1331 do iz=0,nzmax-1 1332 do iy=0,nymax-1 1333 do ix=0,nxmax-1 1334 FF=exp(-((ix-i0)**2+(iy-j0)**2)/sigma1**2) 1335 GG=exp(-(iz-k0)**2/sigma2**2) 1336 bx0=bx(ix,iy,iz) 1337 by0=by(ix,iy,iz) 1338 bz0=bz(ix,iy,iz) 1339 bx(ix,iy,iz)=bx0+A_ics*freq**2*FF*GG*sin(arg) 1340 ! Acc=A_ics*FF*GG*sin(arg) 1341 !print *,'acceleration:', Acc 1342 by(ix,iy,iz)=by0 1343 bz(ix,iy,iz)=bz0 1344 end do 1345 end do 1346 end do 1347 1348 end subroutine 1349 1350 !pba : fin 1351 1352 1276 1353 ! ************************************************************************* 1277 1354 subroutine urho(ax,ay,az,b) … … 1518 1595 tps_vecpro2 = tps_vecpro2 - tps_temp 1519 1596 call vecpro2(vox,voy,voz,fx,fy,fz) 1597 !pba : deb 1598 call forcage(fx,fy,fz) 1599 !pba : fin 1520 1600 call cpu_time(tps_temp) 1521 1601 tps_vecpro2 = tps_vecpro2 + tps_temp
Note: See TracChangeset
for help on using the changeset viewer.