Télécharger viteunil.procedur

Retour à la liste

Numérotation des lignes :

  1. * VITEUNIL PROCEDUR PV 16/07/21 21:15:03 9042
  2. 'DEBPROC' VITEUNIL ROP*'RIGIDITE' M*'RIGIDITE' V*'CHPOINT'
  3. DX*'CHPOINT' DEPINI*'CHPOINT' H*'FLOTTANT' RESI*'CHPOINT'
  4. PRECED*'TABLE';
  5. * CORRECTION DE LA VITESSE EN CAS D'APPUI UNILATERAUX EN CAS DE DYNAMIQUE
  6. * ROP MATRICE (K '+' 4M/H2)
  7. * M MATRICE MASSE
  8. * V VITESSE CALCULEE PAR L'ALGORITHME
  9. * DX INCREMENT DE DPLACEMENT AU COURS DU PAS
  10. * DEPINI DEPLACEMENT INITIAL DU PAS
  11. * H PAS DE TEMPS ( ON POURRAIT S'EN PASSER)
  12. * RESI SECOND MEMEBRE INITIAL DU DÉBUT DU PAS ( CONTIEBNT LES JEUX INITIAUX)
  13. * EN SORTIE LA NOUVELLE VITESSE
  14. *
  15. MTA= 'EXTRAIRE' ROP 'CONTACT';
  16. MDI = 'DIME' MTA;
  17. VAUX = V;
  18. 'SI' ( 'EGA' MDI 0) ; 'QUIT' VITEUNIL; 'FINS';
  19.  
  20. BLOT = MTA. 7 ;
  21. MLX = 'EXTR' BLOT 'MAILLAGE' ;
  22. BLOI= 'EXTR' MTA . 1 'RIGI' 'MULT' ;
  23.  
  24. BLO = BLOI 'ET' BLOT;
  25.  
  26. NEWLAM=('EXCO' DX 'LX' 'NOID' ) 'EXTR' 'MAILLAGE';
  27. 'SI' ( NEWLAM 'EGA' 0) ;
  28. * NEWLAM EST VIDE ((ALORS QUE OLDLAM NE L'EST PAS))
  29. 'QUITTER' VITEUNIL;
  30. 'SINON';
  31. SUPPO = NEWLAM;
  32. 'FINSI';
  33. 'SI' ( 'NBEL' MLX 'EGA' 0) 'QUITTER' VITEUNIL;
  34. 'SINON';
  35. SUPPO = SUPPO 'INTE' ( 'CHAN' 'POI1' MLX);
  36. 'FINSI';
  37. *SI IMPPP; 'MESS' ' NOUVEAU SUPPO '; 'LIST' SUPPO;FINS;
  38. FFLX = ('EXCO' RESI 'FLX' 'NOID' 'FLX') 'REDU' SUPPO;
  39.  
  40. LLX = ('EXCO' (DX '*' -1.)'LX' 'NOID' 'LX') 'REDU' SUPPO ;
  41. *SI IMPPP; 'MESS' 'FFLX '; 'LIST' FFLX; 'MESS' ' LLX'; 'LIST' LLX;'FINSI';
  42. ENIC = FFLX LLX '*' ( 'MOTS' 'FLX' ) ( 'MOTS' 'LX') ( 'MOTS' 'SCAL');
  43. VGEN = BLO '*' V ;VGENFLX = ( VGEN 'EXCO' 'FLX' 'FLX' ) 'REDU' SUPPO;
  44. MBLO = M 'ET' BLOI;
  45. ENINUL = 'POINT' ENIC 'EGALE' 0.;
  46. *SI IMPPP ; 'MESS' ' ENINUL ' ; 'LIST' ENINUL;'FINSI';
  47. 'SI' (( 'NBNO' ENINUL ) 'NEG' 0) ;
  48. 'SI' (( 'NBNO' ENINUL ) 'EGA' ( 'NBNO' SUPPO)) ;
  49. 'QUITTER' VITEUNIL;
  50. 'FINSI';
  51. SUPPO = 'DIFF' SUPPO ENINUL;
  52. ENIC = 'REDU' ENIC SUPPO ;
  53. LLX = 'REDU' LLX SUPPO ;
  54. 'FINSI';
  55. * TEST SI LA CORRECTION EST NECESSAIRE
  56. ENICR = ('RESU' ENIC) 'MAXI' 'ABS';
  57. ENCIN = 'XTMX' V M;
  58. 'SI' (ENICR '<' (ENCIN '*' 1D-11)); 'QUITTER' VITEUNIL; 'FINSI';
  59.  
  60. LI0 = 'MANU' 'CHPO' SUPPO 1 'SCAL' -0.2 'NATURE' 'DIFFUS';
  61. LI20= 'MANU' 'CHPO' SUPPO 1 'SCAL' -20. 'NATURE' 'DIFFUS';
  62. LI1 = 'MANU' 'CHPO' SUPPO 1 'SCAL' 1. 'NATURE' 'DIFFUS';
  63. ENIC2= ENIC '/' 2.;
  64. VGENFLX = ( VGEN 'EXCO' 'FLX' 'FLX' ) 'REDU' SUPPO;
  65. LLXSCAL= LLX 'NOMC' 'SCAL';
  66. VGENLLX =(VGENFLX '*' LLXSCAL )'NOMC' 'SCAL';
  67. *SI IMPPP; 'MESS' ' VGENLLX ' ; 'LIST' VGENLLX; 'FINSI';
  68. H2SUR2 = H '*' H '*' 0.5;
  69. ITE = 0;NEQ3= 'NBNO' SUPPO '*' 20;
  70. 'SI' ( NEQ3 '<' 500);
  71. NEQ3=500;
  72. 'FINSI';
  73. RELAX = 0.5;
  74. UNMRELAX= 0.5;
  75. PLUSGR = -20.;
  76. CC = 1;
  77. AREF = 'MAXI' 'ABS' (V 'ENLE' 'LX');
  78. *'MESS' 'AREF ' AREF; 'LIST' V;
  79. 'REPETER' NFOI ; ITE = ITE '+' 1;
  80.  
  81. FSECF= LLX '*' LI0 '*' BLO;
  82. *'MESS' ' FSECF ' ; 'LIST' FSECF;
  83. REM = ('RESOU' MBLO ( -1. '*' FSECF ) ) '*' -1. ;
  84. *'MESS' ' REM'; 'LIST' REM;
  85. CTE = ENIC2 '*' LI0;
  86. PREM = VGENLLX '*' H '*' LI0;
  87. REMBLOR = (REM '*' BLO) 'REDU' SUPPO;
  88. MREMBLOR = REMBLOR 'EXTR' 'MAIL';
  89. 'SI' ('EGA' ('TYPE' MREMBLOR) 'ENTIER'); 'QUIT' VITEUNIL; 'FINSI';
  90. 'SI' (('NBEL' MREMBLOR) 'EGA' 0);'QUIT' VITEUNIL; 'FINSI';
  91. AZ= H2SUR2 '*' LLXSCAL;
  92. DEUXI = H2SUR2 '*' LLXSCAL '*'
  93. REMBLOR 'NOMC' 'SCAL';
  94.  
  95. LIBIS= 'RAVC' DEUXI PREM CTE;
  96.  
  97. *'MESS' ' SOLNE ' ; 'LIST' SOLNE;
  98. 'SI' (ITE '>' 50); SOLNE = (SOLNE '+' LIBIS)'*' 0.5;
  99. 'SINON' ; SOLNE = LIBIS ; 'FINSI';
  100. *SI IMPPP; 'MESS' 'LIBIS'; 'LIST' LIBIS;'FINSI';
  101. 'SI' ( ('NBNO' SUPPO ) 'EGA' 1 ) ; 'QUIT' NFOI;'FINSI';
  102. 'SI' (ITE '>' 1) ; AA = LI0 '-' SOLNE;
  103. 'SI' ( AREF 'NEG' 0.) ;
  104. CC = (AA / AREF ) 'MAXI' 'ABS' ;
  105. 'SINON';
  106. 'MESS' ' AREF NUL';
  107. CC = 1000.;
  108. 'FINSI';
  109. * 'MESS' ' ITE CC ' ITE CC ;
  110. 'SI' ( CC '<' 1E-8 ) ;
  111. * 'MESS' ' SORTIE DE LA BOUCLE ITÉRATION ' ITE;
  112. 'QUITTER' NFOI;
  113. 'FINSI';
  114. 'FINSI';
  115. 'SI' (( &NFOI '>' NEQ3) 'ET' (CC '>EG' CCOLD)) ;
  116. 'MESS' ' PAS DE CONVERGENCE APRÉS ' NEQ3 'ITÉRATIONS DANS VITEUNIL';
  117. PRECED . 'RATE_VITEUNIL'= VRAI; 'QUITTER' VITEUNIL;
  118. 'FINSI';
  119. LI0 = SOLNE;
  120. 'FIN' NFOI;
  121.  
  122. *'MESS' ' SOLNE ' ; 'LIST' SOLNE;
  123. LR2 = ((SOLNE '*' LLX '*' ROP ) 'ENLEVER' 'FLX' ) '*' H;
  124. *'MESS' ' AVANT RESOU';
  125. DV2 = ('RESOU' MBLO (-1. '*' LR2) )'*' -1. ;
  126. VAUXNEP= V '+' DV2;
  127. *'MESS' ' DV2 ' ; 'LIST' DV2;
  128. *'MESS' ' VAUXNEP ' ; 'LIST' VAUXNEP;
  129. VAUX = VAUXNEP 'ENLE' 'LX';
  130. LISEA = MTA. 6;MALI = 'MAXI' LISEA;
  131. 'SI' ( 'EGA' MALI 1 ) ;
  132. MV = M '*' VAUX ;
  133. VP = 'RESOU' ( M 'ET' BLO) 'NOUNIL' MV;
  134. V2 = ('ENLE' VP 'LX' )'*' 2. '-' VAUX;
  135. VAUX = V2;
  136. 'FINSI';
  137. *NNO= 'NBNO' SUPPO / 2;
  138. *'MESS' 'MODIFICATION VITESSES DUE AUX' NNO ' APPUIS UNILARÉRAUX';
  139. * 'MESS'S ' VAUX '; 'LIST' 'RESU'ME VAUX;
  140. *VCINN= 'XTMX' M VAUX; ; VCINANC= ENCIN;
  141. * 'MESS' 'ENER CIN AVANT ' VCINANC;
  142. * 'MESS' 'ENER CIN APRES ' VCINN;
  143. * 'MESS' ' ENER INJECTÉE PAR REACTIONS ' ('MAXI' ('RESU' ENIC));
  144. 'FINPROC' VAUX;
  145.  
  146.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales