1 : C KARPOHL SOURCE CHAT 05/01/13 00:51:36 5004 2 : C*********************************************************************** 3 : C* * 4 : C* PROJET : Opérateur LIMI * 5 : C* NOM : KARPOHL * 6 : C* DESCRIPTION : Ce sous programme calcule les coefficients de l'équa- * 7 : C* tion intégrale de quantité de mouvement par la * 8 : C* méthode de Von Karmann-Pohlhausen * 9 : C* LANGAGE : Esope * 10 : C* AUTEUR : Guillaume VENCO - DRN/DMT/SEMT/LTMF * 11 : C* * 12 : C*********************************************************************** 13 : C* * 14 : C* APPELES : QUIN2.eso, sous-programme * 15 : C* * 16 : C*********************************************************************** 17 : C* * 18 : C* ENTREES : teta: -Epaisseur de quantité de mouvement, * 19 : C* correspond à l'inconnue de l'équation intégrale* 20 : C* de quantité de mouvement * 21 : C* DUE : -Gradient du champ de vitesse extérieure * 22 : C* UE : -Champ de vitesse extérieure * 23 : C* N : -Nombre de noeuds du maillage 24 : C* * 25 : C* SORTIES : H : -Facteur de forme * 26 : C* B : -Coefficient de la relation permettant de * 27 : C* calculer le coefficient de frottement * 28 : C* * 29 : C*********************************************************************** 30 : C* * 31 : C* VERSION : 21/04/2000 * 32 : C* CREATION : * 33 : C* * 34 : C*********************************************************************** 35 : 36 : SUBROUTINE KARPOHL (teta,DUE,UE,N,H,B) 37 : 38 : C* ********************************* 39 : C* *** Déclaration des variables *** 40 : C* ********************************* 41 : 42 : IMPLICIT INTEGER(I-N) 43 : IMPLICIT REAL*8 (A-H,O-Z) 44 : REAL*8 H(N),B(N),teta(N) 45 : REAL*8 DUE(N),UE(N) 46 : REAL*8 a1,a2,a3,a4,a5,lambda,lambda2,NU 47 : 48 : C* ********************************* 49 : C* ******** Sous-programme ********* 50 : C* ********************************* 51 : 52 : C---- Viscosité 53 : NU=1.d-6 54 : 55 : C---- Coefficients du polynome en Lambda 56 : a1 = ((37./315.)**2) 57 : a2 = (-2.*37./(315.*945.)) 58 : a3 = (1./(945.**2))-(2.*37./(9072.*315.)) 59 : a4 = 2./(945.*9072.) 60 : a5 = 1./(9072.**2) 61 : 62 : C---- Paramètre lambda 63 : C-----recherche de Lambda entre deux valeurs A0 et B0 64 : 65 : A0=-17.5 66 : B0=12. 67 : 68 : DO 10 I=1,N 69 : 70 : C----- Calcul du paramètre lambda2 71 : Lambda2=(teta(I)**2)*DUE(I)*(1./NU) 72 : 73 : C----- Calcul du paramètre lambda 74 : Lambda2=(-1.)*Lambda2 75 : IF (DUE(I).GE.0.) THEN 76 : A0=0. 77 : B0=12. 78 : ELSE 79 : A0=-17.5 80 : B0=0. 81 : ENDIF 81 : CALL QUIN2(Lambda2,a1,a2,a3,a4,a5,A0,B0,Lambda) 82 : 83 : C---- Vérification de la validité de lambda 84 : C---- Lambda doit avoir le meme signe que DUE 85 : IF ((DUE(I)*Lambda).LT.0.) THEN 86 : write(6,*) 'ERREUR: Lambda et le gradient de vitesse de 87 : & signe différent' 88 : RETURN 89 : ENDIF 90 : IF ((Lambda.GT.28.2).OR.(Lambda.LT.(-37.79))) THEN 91 : write(6,*) 'ERREUR: Le calcul donne H<0' 92 : RETURN 93 : ENDIF 94 : 95 : C----- Calcul du facteur de forme H et du B 96 : s1 =((3./10.)-(Lambda/120)) 97 : s2 =((37./315.)-(Lambda/945.)-((Lambda**2)/9072.)) 98 : s3 = (2.+(Lambda/6.)) 99 : H(I) = s1*(s2**(-1)) 100 : B(I) = s2*s3 101 : 102 : 10 CONTINUE 103 : 104 : RETURN 105 : END 106 : 107 : C* ********************************* 108 : C* **** Fin Sous-Programme ******* 109 : C* ********************************* 110 : 111 : 112 : 113 :
© Cast3M 2003 - All rights reserved.
Disclaimer