karpohl
C KARPOHL SOURCE CHAT 05/01/13 00:51:36 5004 C*********************************************************************** C* * C* PROJET : Opérateur LIMI * C* NOM : KARPOHL * C* DESCRIPTION : Ce sous programme calcule les coefficients de l'équa- * C* tion intégrale de quantité de mouvement par la * C* méthode de Von Karmann-Pohlhausen * C* LANGAGE : Esope * C* AUTEUR : Guillaume VENCO - DRN/DMT/SEMT/LTMF * C* * C*********************************************************************** C* * C* APPELES : QUIN2.eso, sous-programme * C* * C*********************************************************************** C* * C* ENTREES : teta: -Epaisseur de quantité de mouvement, * C* correspond à l'inconnue de l'équation intégrale* C* de quantité de mouvement * C* DUE : -Gradient du champ de vitesse extérieure * C* UE : -Champ de vitesse extérieure * C* N : -Nombre de noeuds du maillage C* * C* SORTIES : H : -Facteur de forme * C* B : -Coefficient de la relation permettant de * C* calculer le coefficient de frottement * C* * C*********************************************************************** C* * C* VERSION : 21/04/2000 * C* CREATION : * C* * C*********************************************************************** C* ********************************* C* *** Déclaration des variables *** C* ********************************* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) REAL*8 DUE(N),UE(N) REAL*8 a1,a2,a3,a4,a5,lambda,lambda2,NU C* ********************************* C* ******** Sous-programme ********* C* ********************************* C---- Viscosité NU=1.d-6 C---- Coefficients du polynome en Lambda a1 = ((37./315.)**2) a2 = (-2.*37./(315.*945.)) a3 = (1./(945.**2))-(2.*37./(9072.*315.)) a4 = 2./(945.*9072.) a5 = 1./(9072.**2) C---- Paramètre lambda C-----recherche de Lambda entre deux valeurs A0 et B0 A0=-17.5 B0=12. DO 10 I=1,N C----- Calcul du paramètre lambda2 C----- Calcul du paramètre lambda Lambda2=(-1.)*Lambda2 IF (DUE(I).GE.0.) THEN A0=0. B0=12. ELSE A0=-17.5 B0=0. ENDIF C---- Vérification de la validité de lambda C---- Lambda doit avoir le meme signe que DUE IF ((DUE(I)*Lambda).LT.0.) THEN write(6,*) 'ERREUR: Lambda et le gradient de vitesse de & signe différent' RETURN ENDIF IF ((Lambda.GT.28.2).OR.(Lambda.LT.(-37.79))) THEN write(6,*) 'ERREUR: Le calcul donne H<0' RETURN ENDIF C----- Calcul du facteur de forme H et du B s1 =((3./10.)-(Lambda/120)) s2 =((37./315.)-(Lambda/945.)-((Lambda**2)/9072.)) s3 = (2.+(Lambda/6.)) H(I) = s1*(s2**(-1)) B(I) = s2*s3 10 CONTINUE RETURN END C* ********************************* C* **** Fin Sous-Programme ******* C* *********************************
© Cast3M 2003 - Tous droits réservés.
Mentions légales