Download ylap1t.eso

Back to the list

   1 : C YLAP1T    SOURCE    MAGN      09/07/30    21:22:24     6458           
   2 : C YLAP1A    SOURCE    LEPOTIER  02/12/17    21:18:56     4510           
   3 :       SUBROUTINE YLAP1T(ITEMC,ICOGRT,ITIMP,IQIMP,IMIXT,
   4 :      $     MELEMC,MELEMF,MELEFL,ISURF,INORM,IVOLU,
   5 :      $     IJACO)
   6 : C***********************************************************************
   7 : C NOM         : YLAP1A
   8 : C DESCRIPTION : Calcul de la matrice jacobienne du résidu du laplacien
   9 : C               VF 2D.
  10 : C     
  11 : C LANGAGE     : ESOPE
  12 : C AUTEUR      : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  13 : C               mél : gounand@semt2.smts.cea.fr
  14 : C***********************************************************************
  15 : C APPELES          : YLA1BT |
  16 : C                    YLAP1C | Calcul des contributions à la matrice
  17 : C                    YLAP1D | jacobienne du résidu du laplacien VF 2D.
  18 : C                    YLAP1E |
  19 : C APPELES (UTIL)   : LICHT2 : Lecture des pointeurs (maillages, valeurs)
  20 : C                             d'un objet de type MCHPOI.
  21 : C                    KRIPME : Création d'un tableau de repérage dans un
  22 : C                             maillage de points.
  23 : C                    ZERMAK : Création d'un objet de type MATRIK vide.
  24 : C APPELES (STD)    : ERREUR : Gestion des erreurs par GIBI.
  25 : C APPELE PAR       : YLAP11 : Chapeau de l'opérateur Gibiane 'LAPN'
  26 : C                             option 'VF'.
  27 : C***********************************************************************
  28 : C ENTREES            : MU (type réel) : viscosité dynamique (SI).
  29 : C                      KAPPA (type réel) : conductivité thermique (SI)
  30 : C                      CV (type réel) : chaleur spécifique à volume 
  31 : C                                       constant (SI).
  32 : C                      IROC (type MCHPOI) : masse volumique par élément.
  33 : C                      IVITC (type MCHPOI) : vitesse par élément.
  34 : C                      ITEMC (type MCHPOI) : température par élément.
  35 : C                      IGRVF (type MCHPOI) : gradient de la vitesse
  36 : C                                            aux interfaces.
  37 : C                      ICOGRV (type MCHELM) : coefficients pour le 
  38 : C                        calcul du gradient de la vitesse aux 
  39 : C                        interfaces.
  40 : C                      ICOGRT (type MCHELM) : coefficients pour le 
  41 : C                        calcul du gradient de la température aux
  42 : C                        interfaces.
  43 : C                      IVIMP (type MCHPOI) : CL de Dirichlet sur la 
  44 : C                                            vitesse.
  45 : C                      ITOIM (type MCHPOI) : CL de Dirichlet sur le 
  46 : C                                            tenseur des contraintes.
  47 : C                      ITIMP (type MCHPOI) : CL de Dirichlet sur la 
  48 : C                                            température.
  49 : C                      IQIMP (type MCHPOI) : CL de Dirichlet sur le 
  50 : C                                            flux de chaleur.
  51 : C                      IMIXT (type MCHPOI) : CL mixtes 
  52 : C                      ICLAU               : option pour ne calculer
  53 : c                                            que la thermique 
  54 : C                      MELEMC (type MELEME) : maillage des centres des
  55 : C                                             éléments.
  56 : C                      MELEMF (type MELEME) : maillage des faces des
  57 : C                                             éléments.
  58 : C                      MELEFL (type MELEME) : connectivités face-(centre
  59 : C                                             gauche, centre droit).
  60 : C                      ISURF (type MCHPOI) : surface des faces.
  61 : C                      INORM (type MCHPOI) : normale aux faces.
  62 : C                      IVOLU (type MCHPOI) : volume des éléments.
  63 : C ENTREES/SORTIES    : IJACO (type MATRIK) : matrice jacobienne du 
  64 : C                        résidu du laplacien VF 2D.
  65 : C SORTIES            : -
  66 : C***********************************************************************
  67 : C VERSION    : v1, 01/08/2001, version initiale
  68 : C HISTORIQUE : v1, 01/08/2001, création
  69 : C HISTORIQUE : v2, 11/02/2003 Ajout de l'OPTION 'MIXT' pour la température
  70 : C HISTORIQUE :
  71 : C***********************************************************************
  72 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  73 : C en cas de modification de ce sous-programme afin de faciliter
  74 : C la maintenance !
  75 : C***********************************************************************
  76 :       IMPLICIT INTEGER(I-N)
  77 : -INC CCOPTIO
  78 : -INC SMCOORD
  79 : -INC SMCHPOI
  80 :       POINTEUR IROC.MCHPOI  ,IVITC.MCHPOI ,ITEMC.MCHPOI
  81 :       POINTEUR IGRVF.MCHPOI
  82 :       POINTEUR IVIMP.MCHPOI ,ITOIM.MCHPOI
  83 :       POINTEUR ITIMP.MCHPOI ,IQIMP.MCHPOI,IMIXT.MCHPOI
  84 :       POINTEUR ISURF.MCHPOI ,INORM.MCHPOI ,IVOLU.MCHPOI
  85 :       POINTEUR MPROC.MPOVAL ,MPVITC.MPOVAL,MPTEMC.MPOVAL
  86 :       POINTEUR MPGRVF.MPOVAL
  87 :       POINTEUR MPVIMP.MPOVAL,MPTOIM.MPOVAL
  88 :       POINTEUR MPTIMP.MPOVAL,MPQIMP.MPOVAL,MPMIXT.MPOVAL
  89 :       POINTEUR MPSURF.MPOVAL,MPNORM.MPOVAL,MPVOLU.MPOVAL
  90 : -INC SMCHAML
  91 :       POINTEUR ICOGRV.MCHELM,ICOGRT.MCHELM
  92 : -INC SMELEME
  93 :       POINTEUR MELEMC.MELEME,MELEMF.MELEME,MELEFL.MELEME
  94 :       POINTEUR MELBID.MELEME
  95 :       POINTEUR MLVIMP.MELEME,MLTOIM.MELEME
  96 :       POINTEUR MLTIMP.MELEME,MLQIMP.MELEME,MLMIXT.MELEME
  97 : -INC SMLENTI
  98 :       POINTEUR KRVIMP.MLENTI,KRTOIM.MLENTI
  99 :       POINTEUR KRTIMP.MLENTI,KRQIMP.MLENTI,KRMIXT.MLENTI
 100 :       POINTEUR KRCENT.MLENTI,KRFACE.MLENTI
 101 : -INC SMMATRIK
 102 :       POINTEUR IJACO.MATRIK
 103 : *
 104 :       REAL*8 MU,KAPPA,CV
 105 : *     
 106 :       INTEGER IMPR,IRET,ICLAU
 107 : *     
 108 :       LOGICAL LCLIMV,LCLITO
 109 :       LOGICAL LCLIMT,LCLIMQ,LMIXT
 110 : *
 111 :       INTEGER NTOTPO
 112 : C     
 113 : *     
 114 : * Executable statements
 115 : *     
 116 :       IMPR=0
 117 :       IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans ylap1a.eso' 
 118 : * Initialisation de la matrice jacobienne à zéro
 118 :       CALL ZERMAK(IJACO,IMPR,IRET)
 119 :       IF (IRET.NE.0) GOTO 9999
 120 : * Lecture des données et initialisations de tableaux de travail
 120 :       CALL LICHT2(ITEMC,MPTEMC,MELBID,IMPR,IRET)
 121 :       IF (IRET.NE.0) GOTO 9999
 121 :       CALL LICHT2(ISURF,MPSURF,MELBID,IMPR,IRET)
 122 :       IF (IRET.NE.0) GOTO 9999
 122 :       CALL LICHT2(INORM,MPNORM,MELBID,IMPR,IRET)
 123 :       IF (IRET.NE.0) GOTO 9999
 123 :       CALL LICHT2(IVOLU,MPVOLU,MELBID,IMPR,IRET)
 124 :       IF (IRET.NE.0) GOTO 9999
 125 :       LCLIMT=(ITIMP.NE.0)
 126 :       LCLIMQ=(IQIMP.NE.0)
 127 :       LMIXT=(IMIXT.NE.0)
 128 :       NTOTPO=MCOORD.XCOOR(/1)/(IDIM+1)
 129 :       IF (LCLIMT) THEN
 129 :          CALL LICHT2(ITIMP,MPTIMP,MLTIMP,IMPR,IRET)
 130 :          IF (IRET.NE.0) GOTO 9999
 131 : *   In KRIPME : SEGINI KRTIMP
 131 :          CALL KRIPME(MLTIMP,NTOTPO,KRTIMP,IMPR,IRET)
 132 :          IF (IRET.NE.0) GOTO 9999
 133 :       ENDIF
 134 :       IF (LCLIMQ) THEN
 134 :          CALL LICHT2(IQIMP,MPQIMP,MLQIMP,IMPR,IRET)
 135 :          IF (IRET.NE.0) GOTO 9999
 136 : *   In KRIPME : SEGINI KRQIMP
 136 :          CALL KRIPME(MLQIMP,NTOTPO,KRQIMP,IMPR,IRET)
 137 :          IF (IRET.NE.0) GOTO 9999
 138 :       ENDIF
 139 : c ON EST ICI
 140 :       IF (LMIXT) THEN
 140 :          CALL LICHT2(IMIXT,MPMIXT,MLMIXT,IMPR,IRET)
 141 :          IF (IRET.NE.0) GOTO 9999
 142 : *   In KRIPME : SEGINI KRMIXT
 142 :          CALL KRIPME(MLMIXT,NTOTPO,KRMIXT,IMPR,IRET)
 143 :          IF (IRET.NE.0) GOTO 9999
 144 :       ENDIF
 145 : * Repérage dans les faces, les centres
 146 : *   In KRIPME : SEGINI KRFACE
 146 :       CALL KRIPME(MELEMF,NTOTPO,KRFACE,IMPR,IRET)
 147 :       IF (IRET.NE.0) GOTO 9999
 148 : *   In KRIPME : SEGINI KRCENT
 148 :       CALL KRIPME(MELEMC,NTOTPO,KRCENT,IMPR,IRET)
 149 :       IF (IRET.NE.0) GOTO 9999
 150 : *     
 151 : * Calcul des contributions à la matrice jacobienne faisant intervenir
 152 : * les coefficients pour le calcul des gradients de température (ICOGRT)
 153 : * (contributions à d Res_{\rho e_t} / d var
 154 : *      var prenant successivement les valeurs : 
 155 : *      \rho,   \rho u,    \rho v,     \rho e_t )
 156 : *     
 156 :       CALL YLA1BT(ICOGRT,MPTEMC,
 157 :      $     MPVOLU,MPNORM,MPSURF,MELEFL,
 158 :      $     KRFACE,KRCENT,LCLIMT,KRTIMP,LCLIMQ,KRQIMP,
 159 :      $     LMIXT,KRMIXT,
 160 :      $     IJACO,
 161 :      $     IMPR,IRET)
 162 :       IF (IRET.NE.0) GOTO 9999
 163 : *
 164 : * Destruction des tableaux de travail
 165 : *
 166 :       SEGSUP KRCENT
 167 :       SEGSUP KRFACE
 168 :       IF (LCLIMQ) THEN
 169 :          SEGSUP KRQIMP
 170 :       ENDIF
 171 :       IF (LCLIMT) THEN
 172 :          SEGSUP KRTIMP
 173 :       ENDIF
 174 :       IF (LMIXT) THEN
 175 :          SEGSUP KRMIXT
 176 :       ENDIF
 177 : *     
 178 : * Normal termination
 179 : *     
 180 :       IRET=0
 181 :       RETURN
 182 : *     
 183 : * Format handling
 184 : *     
 185 : *     
 186 : * Error handling
 187 : *     
 188 :  9999 CONTINUE
 189 :       IRET=1
 190 :       WRITE(IOIMP,*) 'An error was detected in subroutine ylap1t'
 190 :       CALL ERREUR(5)
 191 :       RETURN
 192 : *     
 193 : * End of subroutine YLAP1T
 194 : *     
 195 :       END
 196 : 
 197 : 
 198 : 
 199 :  
 200 :  
 201 :  
 202 :  
 203 :  
 204 :  

© Cast3M 2003 - All rights reserved.
Disclaimer