diff --git a/sources/tomawac/fric3d.f b/sources/tomawac/fric3d.f index 80d5e02e51a075a9108437328d7bd1b009fbdbdd..56a5112392e116d89e7160f43868a2f261493cee 100644 --- a/sources/tomawac/fric3d.f +++ b/sources/tomawac/fric3d.f @@ -52,9 +52,9 @@ G = SQRT (GRAVIT) LUMES = 0 -!.....PARAMETRES DE L'ALGORITHME ITERATIF +!.....ITERATIVE ALGORITHM PARAMETERS ! """"""""""""""""""""""""""""""""""" -!!!!!!!!!!!!!!!!!!!!!!!!!!comeca da subrotina chris2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! VITNUL= 1.D-6 ITERM = 100 TOLF = 1.D-8 @@ -65,7 +65,7 @@ RAC2=DSQRT(2.D0) C1 =1.D0/(XKAPPA*RAC2) !"""""""""""""""""""""""""""""""""""""""""""" -! 0 C AFFECTATION DES CONSTANTES DU MODELE. +! 0 C ASSIGNMENT OF MODEL CONSTANTS. !=====C====================================== R = 0.45D0 @@ -79,9 +79,9 @@ ENDIF XKN = 11.D0*MAX(DEPTH(I),1.D-9) /EXP(0.41D0*73.D0/G) DO JF = 1,NF -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ATENÇAO!TOU EU A DAR XKN +!!!!!!!!!!!!!!!!!!!!!!!!!!!!ATTENTION! I'M GIVING XKN OMEGAA=DEUPI*FREQ(JF) -!.....DETERMINATION DES SOLUTIONS INITIALES (SANS EFFET MUTUEL) +!.....DETERMINATION OF INITIAL SOLUTIONS (WITHOUT MUTUAL EFFECT) ! """"""""""""""""""""""""""""""""""""""""""""""""""""""""" XJ=(DSQRT(BETAMJ)*UWBM(I)/(XKN*OMEGAA))**(2.D0/3.D0) COEF1 = 30.D0/DEXP(1.D0) @@ -91,7 +91,7 @@ ELSEIF (XJ.LT.3.47D0) THEN FWINIT=2.D0*BETAMJ/XJ ELSE -! FUNCAO FWMOD2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11 +! FWMOD2 FUNCTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! USKA=UWBM(I)/(XKN*OMEGAA) ! C2=C1*DLOG(30.D0*XKAPPA*DEXP(-2.D0*ZETA)*USKA/RAC2) @@ -107,15 +107,16 @@ STOP 205 CONTINUE FWINIT=1.D0/(YN*YN) -!FUNCAO final FWMOD2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!final FWMOD2 FUNCTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ENDIF ! -!.....AFFECTATION DE LA SOLUTION DE DEPART +!.....ASSIGNMENT OF INITIAL SOLUTION ! """""""""""""""""""""""""""""""""""" FC=FCINIT FW=FWINIT -!.....ON S'ARRETE A CES SOLUTIONS SI UNE DES DEUX VITESSES EST -! NULLE OU SI LE RAPPORT DES VITESSES EST TRES GRAND OU PETIT. +!.....STOP AT THESE SOLUTIONS IF ONE OF THE TWO VELOCITIES IS ZERO, OR IF THE +! VELOCITY RATIO IS VERY LARGE OR SMALL. +! ! """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" IF ((VITCOU.LT.VITNUL).OR.(UWBM(I).LT.VITNUL)) THEN CFWC%R(I)=FC @@ -124,46 +125,45 @@ CFWC%R(I)=FC ELSE ! -!.....ALGORITHME ITERATIF DE NEWTON-RAPHSON. +!.....NEWTON-RAPHSON ITERATIVE ALGORITHM. ! """""""""""""""""""""""""""""""""""""" ITER=0 500 CONTINUE ITER=ITER+1 -!!!!!!!!!!!!!!!!!!!!!!!!!!final da subrotina chris2!!!!!!!!!!!!!!! -!.......CALCUL DES MATRICES ALFA ET BETA POUR X DONNE. -!CJSUBR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +!...... CALCULATION OF ALFA AND BETA MATRICES FOR GIVEN X. ! !=====C -! 1 C CALCUL DE SIGMA ET DE SES DERIVEES (COMMUN AUX 2 MODELES) -!=====C=========================================================== +! 1 C CALCULATION OF SIGMA AND ITS DERIVATIVES (COMMON TO BOTH MODELS) +!=====C================================================================= SIG = (FC/FW)*(VITCOU/UWBM(I))**2 SIGDFC = SIG/FC SIGDFW = -SIG/FW !=====C -! 2 C CALCUL DE M ET DE SES DERIVEES (COMMUN AUX 2 MODELES) -!=====C=========================================================== +! 2 C CALCULATION OF M AND ITS DERIVATIVES (COMMON TO BOTH MODELS) +!=====C============================================================= COSDIR = DABS(COS(DIRHOU(I)-DIRCOU)) MMM = DSQRT(1.D0+SIG*SIG+2.D0*SIG*COSDIR) MMMDFC = (SIG+COSDIR)/MMM*SIGDFC MMMDFW = (SIG+COSDIR)/MMM*SIGDFW !=====C -! 3 C CALCUL DE J ET DE SES DERIVEES (COMMUN AUX 2 MODELES) -!=====C=========================================================== +! 3 C CALCULATION OF J AND ITS DERIVATIVES (COMMON TO BOTH MODELS) +!=====C============================================================= COEFJ = UWBM(I)/(XKN*OMEGAA*DSQRT(2.D0)) JJJ = COEFJ*DSQRT(MMM*FW) JJJDFC = 0.5D0*JJJ/MMM*MMMDFC JJJDFW = 0.5D0*JJJ*(1.D0/FW+1.D0/MMM*MMMDFW) !=====C -! 4 C SELECTION DU MODELE EN FONCTION DE LA VALEUR DE J -!=====C================================================== +! 4 C MODEL SELECTION BASED ON THE VALUE OF J +!=====C======================================== IF (JJJ.GT.3.47D0) THEN MODEL=2 ELSE MODEL=1 ENDIF !=====C -! 5 C CALCUL DE DELTAW ET DE SES DERIVEES (SELON LE MODELE CHOISI) -!=====C============================================================= +! 5 C CALCULATION OF DELTAW AND ITS DERIVATIVES (DEPENDING ON THE MODEL CHOSEN) +!=====C========================================================================== IF (MODEL.EQ.1) THEN COEFTA = XKN*R*DEUPI/2.D0*DSQRT(BETAMJ*0.5D0) TAW = COEFTA*DSQRT(JJJ) @@ -176,8 +176,8 @@ TAWDFW = COEFTA*JJJDFW ENDIF !=====C -! 6 C CALCUL DE KA ET DE SES DERIVEES (SELON LE MODELE CHOISI) -!=====C============================================================= +! 6 C CALCULATION OF KA AND ITS DERIVATIVES (DEPENDING ON THE MODEL CHOSEN) +!=====C====================================================================== IF (MODEL.EQ.1) THEN COEFKA = XKAPPA/(BETAMJ*XKN) XKA = 30.D0*TAW*DEXP(-COEFKA*TAW*DSQRT(SIG/MMM)) @@ -194,8 +194,8 @@ & *DLOG(30.D0*TAW/XKN) + (1.D0-AUXI)*TAWDFW/TAW ) ENDIF !=====C -! 7 C CALCUL DE F1 ET DE SES DERIVEES (SELON LE MODELE CHOISI) -!=====C============================================================= +! 7 C CALCULATION OF F1 AND ITS DERIVATIVES (DEPENDING ON THE MODEL CHOSEN) +!=====C====================================================================== IF (MODEL.EQ.1) THEN F1MJ = FW -2.D0*BETAMJ*MMM/JJJ DF1DFC = -2.D0*BETAMJ*(MMMDFC/JJJ-JJJDFC*MMM/JJJ**2) @@ -210,26 +210,26 @@ & - 2.D0*MMM/JJJ*JJJDFW/AUXI**3) ENDIF !=====C -! 8 C CALCUL DE F2 ET DE SES DERIVEES (COMMUN AUX 2 MODELES) -!=====C=========================================================== +! 8 C CALCULATION OF F2 AND ITS DERIVATIVES (COMMON TO BOTH MODELS) +!=====C============================================================== COEF2 = 30.D0*DEPTH(I)/DEXP(1.D0) AUXI = DLOG(COEF2/XKA) F2MJ = DSQRT(2.D0/FC) - AUXI/XKAPPA DF2DFC = XKADFC/(XKA*XKAPPA)-1.D0/DSQRT(2.D0*FC**3) DF2DFW = XKADFW/(XKA*XKAPPA) -!CJSUBR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + ! -!.......CALCUL DE L'ERREUR SUR LA FONCTION -! """""""""""""""""""""""""""""""""" +!.......CALCULATION OF THE ERROR ON THE FUNCTION +! """""""""""""""""""""""""""""""""""""""" ERRF=ABS(F1MJ)+ABS(F2MJ) IF (ERRF.LT.TOLF) THEN KONVER=1 GOTO 201 ENDIF ! -!.......CALCUL DE DX -! """""""""""" +!.......CALCULATION OF DX +! """"""""""""""""" DET=DF1DFC*DF2DFW-DF1DFW*DF2DFC IF (ABS(DET).LT.1.D-10) THEN WRITE(6,*) '/!/ ARRET DANS CJSUBR : DETERMINAT NUL DET=' @@ -238,13 +238,13 @@ DFC=(-F1MJ*DF2DFW+F2MJ*DF1DFW)/DET DFW=(-F2MJ*DF1DFC+F1MJ*DF2DFC)/DET ! -!.......MISE A JOUR DE LA SOLUTION -! """""""""""""""""""""""""" +!.......UPDATING THE SOLUTION +! """"""""""""""""""""" FC=FC+DFC FW=FW+DFW ! -!.......TEST SUR LA VALEUR DE DX -! """""""""""""""""""""""" +!.......TEST ON THE VALUE OF DX +! """"""""""""""""""""""" ERRX=ABS(DFC)+ABS(DFW) IF (ERRX.LT.TOLX) THEN KONVER=2 @@ -258,8 +258,8 @@ 201 CONTINUE IF (LUMES.GT.0) WRITE(LUMES,2000) KONVER,ITER,FC,FW 2000 FORMAT( - & 'CONVERGENCE ',I1,' APRES',I5,' ITERATIONS => FC =', - & E11.4,' ET FW =',E11.4) + & 'CONVERGENCE ',I1,' AFTER ',I5,' ITERATIONS => FC =', + & E11.4,' AND FW =',E11.4) ENDIF ENDDO ENDDO diff --git a/sources/tomawac/wipj.f b/sources/tomawac/wipj.f index b835be9875a757951dd84518f90c99c196cfd7b6..0b98f4c2f6badd3bf71b2b8b54cc1f6b66b0359d 100644 --- a/sources/tomawac/wipj.f +++ b/sources/tomawac/wipj.f @@ -76,11 +76,11 @@ & (ST3,'=','GRADF Y',IELM2,1.D0,MESH%Y, & ST1,ST1,ST1,ST1,ST1,MESH,.FALSE.,ST1,ASSPAR=.TRUE.) -!AQUI FAZEMOS A MÉDIA dos grads no volume. +!HERE WE AVERAGE the grads in the volume. CALL OV('X=Y/Z ',WIPDY,T1,T3,C,NPOIN2) -!AQUI TEMOS AS DERIVADAS EM X E Y DO WAVE INDUCED PRESSURE +!HERE WE HAVE THE X AND Y DERIVATIVES OF THE WAVE INDUCED PRESSURE RETURN END