Download kfpt.eso

Back to the list

   1 : C KFPT      SOURCE    FANDEUR   13/01/29    21:15:57     7683           
   2 :        SUBROUTINE KFPT
   3 : C********************************************************************
   4 : C
   5 : C  CALCUL DE H : COEFFICIENT D'ECHANGE THERMIQUE
   6 : C                D'ORIGINE CONVECTIVE
   7 : C
   8 : C  Dans le cadre de l'opérateur FPT :
   9 : C
  10 : C    FPT
  11 : C        ------> KFPT   : calcul de H
  12 : C        ------> ECHIMP : calcul des fonctions de paroi 
  13 : C                         sur la temperature
  14 : C    SYNTAXE : 
  15 : C      H TETA = KFPT $DOM RO MU CP LB UET YP TN ;
  16 : C 
  17 : C
  18 : C
  19 : C   NU    VISCOSITE CINEMATIQUE    ---> flottant
  20 : C   UET   U*                       ---> chpoint scal
  21 : C   YP    DISTANCE A LA PAROI      ---> flottant
  22 : C   ALFA  DIFFUSIVITE              ---> flottant
  23 : C   H     COEFFICIENT D'ECHANGE    ---> chpoint scal
  24 : C          THERMIQUE
  25 : C   TETA  TEMPERATURE A LA PAROI   ---> chpoint scal
  26 : C
  27 : C   TN    TEMPERATURE              ---> chpoint scal
  28 : C
  29 : C
  30 : C*********************************************************************
  31 :       IMPLICIT INTEGER(I-N)
  32 :        IMPLICIT REAL*8 (A-H,O-Z)
  33 :        CHARACTER*8 TYPE,MTYP
  34 : C
  35 : -INC SMCHPOI
  36 : -INC SMLENTI
  37 : -INC CCOPTIO
  38 :       POINTEUR MZUE.MPOVAL,MZYP.MPOVAL
  39 :       POINTEUR MZMU.MPOVAL,MZRO.MPOVAL,MZCP.MPOVAL,MZLB.MPOVAL
  40 :       POINTEUR MRO.MCHPOI,MMU.MCHPOI,MCP.MCHPOI,MLB.MCHPOI
  41 :       POINTEUR MZH.MPOVAL,MH.MCHPOI,MUE.MCHPOI
  42 : C*****************************************************************************
  43 : CFPT
  44 : 
  44 :       CALL LIROBJ('MMODEL',MMDZ,1,IRETOU)
  45 : 
  46 :       IF(IRETOU.NE.1)THEN
  47 : C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24
  48 :          MOTERR( 1: 8) = '  DOMZ  '
  49 :          MOTERR( 9:16) = '  DOMZ  '
  50 :          MOTERR(17:24) = '  KIZX  '
  50 :          CALL ERREUR(786)
  51 :          RETURN
  52 :       ENDIF
  53 : 
  54 : C E/  MMODEL : Pointeur de la table contenant l'information cherchée
  55 : C  /S IPOINT : Pointeur sur la table DOMAINE
  56 : C  /S INEFMD : Type formulation INEFMD=1 LINE,=2 MACRO,=3 QUADRATIQUE
  57 : C                               INEFMD=4 LINB
  58 : 
  58 :       CALL LEKMOD(MMDZ,MTABZ,INEFMD)
  59 : 
  59 :       CALL LEKTAB(MTABZ,'SOMMET',MELEMS)
  60 :       NC=1
  60 :       CALL CRCHPT(TYPE,MELEMS,NC,MH)
  61 :       SEGACT MH
  62 :       MSOUPO=MH.IPCHP(1)
  63 :       SEGACT MSOUPO
  64 :       MZH=IPOVAL
  65 :       SEGACT MZH
  66 :       NPT=MZH.VPOCHA(/1)
  67 : 
  68 : C ***
  69 : 
  70 : C *** LECTURE DES COEFFICIENTS ***
  71 : C 1er coefficient : ro
  71 :       CALL QUETYP(MTYP,0,IRETOU)
  72 :       IF(IRETOU.EQ.0)THEN
  73 : C% On ne trouve pas d'objet de type %m1:8
  74 :             MOTERR( 1: 8) = 'CHPOINT '
  74 :             CALL ERREUR(37)
  75 :             RETURN
  76 :       ENDIF
  77 :       IF(MTYP.EQ.'FLOTTANT')THEN
  78 :       IK1=1
  78 :       CALL LIRREE(XRO,1,IRETOU)
  79 :       N=1
  80 :       NC=1
  81 :       SEGINI MZRO
  82 :       MZRO.VPOCHA(1,1)=XRO
  83 :       ELSEIF(MTYP.EQ.'CHPOINT')THEN
  84 :       IK1=0
  84 :       CALL LIROBJ(MTYP,MRO,1,IRETOU)
  84 :         CALL LRCHT(MRO,MZRO,TYPE,IGEOM)
  84 :         CALL KRIPAD(IGEOM,MLENT1)
  84 :         CALL VERPAD(MLENT1,MELEMS,IRET)
  85 :          IF(IRET.NE.0)THEN
  86 : C%    Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  87 :           MOTERR(1: 8) = 'RO   '
  88 :           MOTERR(9:16) = 'CHPOINT '
  89 :           WRITE(IOIMP,*)'Opérateur : KFPT'
  89 :           CALL ERREUR(788)
  90 :           RETURN
  91 :          ENDIF
  92 :       ELSE
  93 : C        Option %m1:8 incompatible avec les données
  94 :             MOTERR( 1: 8) = 'EF/EFM1 '
  94 :             CALL ERREUR(803)
  95 :             RETURN
  96 :       ENDIF
  97 : 
  98 : C 2ème coefficient : mu
  98 :       CALL QUETYP(MTYP,0,IRETOU)
  99 :       IF(IRETOU.EQ.0)THEN
 100 : C% On ne trouve pas d'objet de type %m1:8
 101 :             MOTERR( 1: 8) = 'CHPOINT '
 101 :             CALL ERREUR(37)
 102 :             RETURN
 103 :       ENDIF
 104 :       IF(MTYP.EQ.'FLOTTANT')THEN
 105 :       IK2=1
 105 :       CALL LIRREE(XMU,1,IRETOU)
 106 :       N=1
 107 :       NC=1
 108 :       SEGINI MZMU
 109 :       MZMU.VPOCHA(1,1)=XMU
 110 :       ELSEIF(MTYP.EQ.'CHPOINT')THEN
 111 :       IK2=0
 111 :       CALL LIROBJ(MTYP,MMU,1,IRETOU)
 111 :         CALL LRCHT(MMU,MZMU,TYPE,IGEOM)
 111 :         CALL KRIPAD(IGEOM,MLENT1)
 111 :         CALL VERPAD(MLENT1,MELEMS,IRET)
 112 :          IF(IRET.NE.0)THEN
 113 : C%    Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
 114 :           MOTERR(1: 8) = 'MU   '
 115 :           MOTERR(9:16) = 'CHPOINT '
 116 :           WRITE(IOIMP,*)'Opérateur : KFPT'
 116 :           CALL ERREUR(788)
 117 :           RETURN
 118 :          ENDIF
 119 :       ELSE
 120 : C        Option %m1:8 incompatible avec les données
 121 :             MOTERR( 1: 8) = 'EF/EFM1 '
 121 :             CALL ERREUR(803)
 122 :             RETURN
 123 :       ENDIF
 124 : 
 125 : C 3ème coefficient : cp
 125 :       CALL QUETYP(MTYP,0,IRETOU)
 126 :       IF(IRETOU.EQ.0)THEN
 127 : C% On ne trouve pas d'objet de type %m1:8
 128 :             MOTERR( 1: 8) = 'CHPOINT '
 128 :             CALL ERREUR(37)
 129 :             RETURN
 130 :       ENDIF
 131 :       IF(MTYP.EQ.'FLOTTANT')THEN
 132 :       IK3=1
 132 :       CALL LIRREE(XCP,1,IRETOU)
 133 :       N=1
 134 :       NC=1
 135 :       SEGINI MZCP
 136 :       MZCP.VPOCHA(1,1)=XCP
 137 :       ELSEIF(MTYP.EQ.'CHPOINT')THEN
 138 :       IK3=0
 138 :       CALL LIROBJ(MTYP,MCP,1,IRETOU)
 138 :         CALL LRCHT(MCP,MZCP,TYPE,IGEOM)
 138 :         CALL KRIPAD(IGEOM,MLENT1)
 138 :         CALL VERPAD(MLENT1,MELEMS,IRET)
 139 :          IF(IRET.NE.0)THEN
 140 : C%    Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
 141 :           MOTERR(1: 8) = 'CP   '
 142 :           MOTERR(9:16) = 'CHPOINT '
 143 :           WRITE(IOIMP,*)'Opérateur : KFPT'
 143 :           CALL ERREUR(788)
 144 :           RETURN
 145 :          ENDIF
 146 :       ELSE
 147 : C        Option %m1:8 incompatible avec les données
 148 :             MOTERR( 1: 8) = 'EF/EFM1 '
 148 :             CALL ERREUR(803)
 149 :             RETURN
 150 :       ENDIF
 151 : 
 152 : C 4ème coefficient : lambda
 152 :       CALL QUETYP(MTYP,0,IRETOU)
 153 :       IF(IRETOU.EQ.0)THEN
 154 : C% On ne trouve pas d'objet de type %m1:8
 155 :             MOTERR( 1: 8) = 'CHPOINT '
 155 :             CALL ERREUR(37)
 156 :             RETURN
 157 :       ENDIF
 158 :       IF(MTYP.EQ.'FLOTTANT')THEN
 159 :       IK4=1
 159 :       CALL LIRREE(XLB,1,IRETOU)
 160 :       N=1
 161 :       NC=1
 162 :       SEGINI MZLB
 163 :       MZLB.VPOCHA(1,1)=XLB
 164 :       ELSEIF(MTYP.EQ.'CHPOINT')THEN
 165 :       IK4=0
 165 :       CALL LIROBJ(MTYP,MLB,1,IRETOU)
 165 :         CALL LRCHT(MLB,MZLB,TYPE,IGEOM)
 165 :         CALL KRIPAD(IGEOM,MLENT1)
 165 :         CALL VERPAD(MLENT1,MELEMS,IRET)
 166 :          IF(IRET.NE.0)THEN
 167 : C%    Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
 168 :           MOTERR(1: 8) = 'LB   '
 169 :           MOTERR(9:16) = 'CHPOINT '
 170 :           WRITE(IOIMP,*)'Opérateur : KFPT'
 170 :           CALL ERREUR(788)
 171 :           RETURN
 172 :          ENDIF
 173 :       ELSE
 174 : C        Option %m1:8 incompatible avec les données
 175 :             MOTERR( 1: 8) = 'EF/EFM1 '
 175 :             CALL ERREUR(803)
 176 :             RETURN
 177 :       ENDIF
 178 : 
 179 : C 5ème coefficient : uet
 179 :       CALL QUETYP(MTYP,0,IRETOU)
 180 :       IF(IRETOU.EQ.0)THEN
 181 : C% On ne trouve pas d'objet de type %m1:8
 182 :             MOTERR( 1: 8) = 'CHPOINT '
 182 :             CALL ERREUR(37)
 183 :             RETURN
 184 :       ENDIF
 185 :       IF(MTYP.EQ.'CHPOINT')THEN
 186 :       IK5=0
 186 :       CALL LIROBJ(MTYP,MUE,1,IRETOU)
 186 :         CALL LRCHT(MUE,MZUE,TYPE,IGEOM)
 186 :         CALL KRIPAD(IGEOM,MLENT1)
 186 :         CALL VERPAD(MLENT1,MELEMS,IRET)
 187 :          IF(IRET.NE.0)THEN
 188 : C%    Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
 189 :           MOTERR(1: 8) = 'UE   '
 190 :           MOTERR(9:16) = 'CHPOINT '
 191 :           WRITE(IOIMP,*)'Opérateur : KFPT'
 191 :           CALL ERREUR(788)
 192 :           RETURN
 193 :          ENDIF
 194 :       ELSE
 195 : C        Option %m1:8 incompatible avec les données
 196 :             MOTERR( 1: 8) = 'EF/EFM1 '
 196 :             CALL ERREUR(803)
 197 :             RETURN
 198 :       ENDIF
 199 : 
 200 : C 6ème coefficient : yp
 201 :       IK6=1
 201 :       CALL LIRREE(YP,1,IRETOU)
 202 :       IF(IRETOU.EQ.0)RETURN
 203 :       N=1
 204 :       NC=1
 205 :       SEGINI MZYP
 206 :       MZYP.VPOCHA(1,1)=YP
 207 : 
 208 : C 7ème coefficient : h
 209 :       IK7 = 0
 210 : 
 211 : 
 212 : 
 213 : C**************************************************************************
 214 : C*****CALCUL DE H(NU,UET,YP,ALFA)
 215 : C**************************************************************************
 216 : 
 216 :       CALL YKFPT (MZRO.VPOCHA(1,1),IK1,MZMU.VPOCHA(1,1),IK2,
 217 :      &MZCP.VPOCHA(1,1),IK3,MZLB.VPOCHA(1,1),IK4,
 218 :      &MZUE.VPOCHA,MZYP.VPOCHA,MZH.VPOCHA,NPT)
 219 : 
 220 :       SEGDES MZUE,MZH,MZYP
 221 :       SEGDES MUE,MH
 222 : 
 223 :       IF(IK1.EQ.0)THEN
 224 :       SEGDES MRO,MZRO
 225 :       ELSE
 226 :       SEGSUP MZRO
 227 :       ENDIF
 228 : 
 229 :       IF(IK2.EQ.0)THEN
 230 :       SEGDES MMU,MZMU
 231 :       ELSE
 232 :       SEGSUP MZMU
 233 :       ENDIF
 234 : 
 235 :       IF(IK3.EQ.0)THEN
 236 :       SEGDES MCP,MZCP
 237 :       ELSE
 238 :       SEGSUP MZCP
 239 :       ENDIF
 240 : 
 241 :       IF(IK4.EQ.0)THEN
 242 :       SEGDES MLB,MZLB
 243 :       ELSE
 244 :       SEGSUP MZLB
 245 :       ENDIF
 246 : 
 247 :  
 247 :       CALL ECROBJ('CHPOINT',MH)
 248 : 
 249 :       RETURN
 250 :       END
 251 : 
 252 :  
 253 :  
 254 :  
 255 :  

© Cast3M 2003 - All rights reserved.
Disclaimer