Download modcal.eso

Back to the list

   1 : C MODCAL    SOURCE    CHAT      05/01/13    01:47:31     5004           
   2 :       SUBROUTINE MODCAL(EPSILO,NDIM,ITYG,XINTER,XNORMA
   3 :      $     ,XIREB,XNREB,IREBCO,IREBDI,XDEP2,TDEP,UREEL,U
   4 :      $     ,IZSH,DTREEL,XCON2,XARI2,TARI,DTNEW,ITEST1,ITEST2,LTEST)
   5 : ***************************************************************************
   6 : *** SP 'MODCAL' : traite les cas ou calibrage particule via 'CALIDT' est
   7 : *** inefficace (cas ou pt calibré invariant et hors maille). 'MODCAL' 
   8 : *** recalibre le saut convectif seul sans tenir compte du saut dspersif.
   9 : ***
  10 : *** APPELES 1 = aucun
  11 : *** APPELES 2 = 'CALIDT', 'LIEUPT'
  12 : ***
  13 : *** E = 'EPSILO' marge relative acceptée position % element
  14 : ***     'NDIM' dimension de l'espace
  15 : ***     'ITYG' entier caracterisant la geometrie de l'element
  16 : ***     'XINTER' coord reelles du pt intersection du calibrage
  17 : ***     'XNORMA' vecteur unitaire normal du calibrage
  18 : ***     'XIREB' pt d'impact sur la face impermeable
  19 : ***     'XNREB' vecteur normal à la face impermeable
  20 : ***     'IREBCO' vaut 1 si rebond lors de la convection, 0 sinon
  21 : ***     'IREBDI' vaut 1 si rebond lors de la diffusion, 0 sinon
  22 : ***     'XDEP2' coord reelles depart particule avt calibrage
  23 : ***     'TDEP' tps reel depart particule avt calibrage
  24 : ***     'UREEL' vecteur "vitesse convective" du calibrage
  25 : ***     'U' vecteur "vitesse diffusive" du calibrage
  26 : ***     'IZSH' segment content coord reelles noeuds, fcts forme et base
  27 : ***     'DTREEL' pas de tps réel de calcul avancée particule
  28 : ***
  29 : *** E/S = 'XCON2' nouvelles coord reelles apres convection
  30 : ***       'XARI2' nouvelles coord reelles arrivee particule
  31 : ***       'TARI' nouveau tps reel d'arrivee particule
  32 : ***       'DTNEW' pas de tps avancee particule au cours traitement
  33 : ***       'ITEST1' vaut 1 si calib sur conv seule donne dt coherent, 0 sinon
  34 : ***       'ITEST2' vaut 1 si nveau pt arrivee appartient à maille, 0 sinon
  35 : ***       'LTEST' vaut 1 si 1er essai calibrage, 0 si 2eme essai
  36 : ***
  37 : *** ORIGINE = CYRIL NOU
  38 : *************************************************************************** 
  39 : 
  40 : 
  41 :       IMPLICIT INTEGER(I-N)
  42 :       IMPLICIT REAL*8 (A-H,O-Z)
  43 :       SEGMENT IZSH
  44 :           REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  45 :       ENDSEGMENT
  46 :       DIMENSION XINTER(3),XNORMA(3),XDEP2(3),XCON2(3),XARI2(3)
  47 :       DIMENSION UZERO(3),UREEL(3),U(3),XIREB(3),XNREB(3),xcon(3)
  48 : ***   on cree un vecteur "vitesse diffusive" nul
  49 :       DO 10 I=1,NDIM
  50 :          UZERO(I)=0.D0
  51 :  10   CONTINUE
  52 : ***   traitement consistant a recalibrer sur convec seule (m vecteur vitesse)   
  52 :       CALL CALIDT(EPSILO,NDIM,XINTER,XNORMA
  53 :      $     ,XIREB,XNREB,IREBCO,IREBDI,XDEP2,TDEP,UREEL
  54 :      $     ,UZERO,DTREEL,LTEST,DTNEW,XCON2,XARI2,TARI,ITEST1)
  55 : ***   saut diffusif avec m vecteur vitesse diff si pas d'echec calibrage
  56 :       DO 20 I=1,NDIM
  57 :          XARI2(I)=XCON2(I)+U(I)*SQRT(DTNEW)
  58 :  20   CONTINUE
  59 : ***   localisation nouveau pt arrivee apres traitement à 0 pres
  59 :       CALL LIEUPT(0.D0,NDIM,ITYG,XARI2,IZSH,ITEST2)
  60 :       
  61 :       RETURN
  62 :       END
  63 : 
  64 : 
  65 : 
  66 : 
  67 :  
  68 :  

© Cast3M 2003 - All rights reserved.
Disclaimer