Télécharger aft1.procedur

Retour à la liste

Numérotation des lignes :

  1. * AFT1 PROCEDUR BP208322 16/09/01 21:15:01 9010
  2.  
  3. ************************************************************************
  4. *
  5. * OBJET : Calcul du deplacement temporel
  6. * a partir de son expression frequentielle
  7. *
  8. *
  9. * /!\ TOUS LES ARGUMENTS (SAUF DEP1) SONT PASSES IMPLICITEMENT /!\
  10. *
  11. ************************************************************************
  12.  
  13. DEBPROC AFT1 DEP1*'CHPOINT';
  14.  
  15.  
  16. *---------------- sous forme d'un LISTCHPO
  17. SI IFCHPO;
  18.  
  19.  
  20. *DEP_k = listchpo des chpoint de deplacement par harmonique
  21. ik = 0;
  22. DEP_k = SUIT (exco DEP1 NOMU0 NOMCOM 'NOID');
  23. REPE bouhbm nhbm; ik = ik + 1 ;
  24. NOMUc = NHBMU . ik . 'COS';
  25. NOMUs = NHBMU . ik . 'SIN';
  26. DEP_k = DEP_k et (exco DEP1 NOMUc NOMCOM 'NOID');
  27. DEP_k = DEP_k et (exco DEP1 NOMUs NOMCOM 'NOID');
  28. FIN bouhbm;
  29.  
  30. DEPT = VIDE 'LISTCHPO';
  31. VITT = VIDE 'LISTCHPO';
  32. *it = temps; ik = harmonique;
  33. it = 0;
  34. *-BOUCLE SUR LE TEMPS------------------------------
  35. REPE btemps (dime LISTDT); it = it + 1;
  36. * xdeg = extr LISDEG it;
  37. * * harmonique 0
  38. * xt = prog 1.;
  39. * ik = 0;
  40. * *---BOUCLE SUR LES HARMONIQUES-----------------------
  41. * REPE bouhbm nhbm; ik = ik + 1 ;
  42. * xt = xt et (cos (ik*xdeg)) et (sin (ik*xdeg));
  43. * FIN bouhbm;
  44. xt = TGAMMA . it;
  45. * u(t_i) = {1 .. cos(k*t_i) sin(k*t_i) ..} * (U_0 .. U_kcos U_ksin ..)
  46. DEPT = DEPT ET (COLI DEP_k xt);
  47. SI FLVITE;
  48. vt = wrads * (TGAMMA_V . it);
  49. * v(t_i) = {0 .. -k*sin(k*t_i) k*cos(k*t_i) ..} * (U_0 .. U_kcos U_ksin ..)
  50. VITT = VITT ET (COLI DEP_k vt);
  51. FINSI;
  52. FIN btemps;
  53. DEPnl = DEPT;
  54. VITnl = VITT;
  55.  
  56. *---------------- sous forme de LISTREELs
  57. SINON;
  58.  
  59. * DEPnl = TABLE indicee par les ddl NL contenant les listreels u(t)
  60. DEPnl = TABLE ;
  61. VITnl = TABLE;
  62. *-boucle sur les ddls physique NL (UX, UY, ...) ---------
  63. REPE Bcnl (DIME COMP_FNL); inl = &Bcnl;
  64. icnl = EXTR COMP_FNL inl;
  65. SI (EGA (TYPE Pnl) 'POINT'); Ps = Pnl;
  66. SINON; Ps = EXTR Pnl inl;
  67. FINSI;
  68. *---boucle sur les ddls frequentiels associes pour chaque harmonique ---
  69. DEPf = PROG;
  70. REPE Bdep (DIME COMPU . icnl); id = &Bdep;
  71. DEPf = DEPf ET (EXTR DEP1 (EXTR COMPU . icnl id) Ps);
  72. FIN Bdep;
  73. *---recombinaison pour chaque harmonique ---
  74. DEPnl . inl = (EXTR DEPf 1) * (LISCOS . 0);
  75. REPE Bdep nhbm; ik = &Bdep;
  76. DEPnl . inl
  77. = DEPnl . inl + ((EXTR DEPf (2* ik)) * LISCOS . ik)
  78. + ((EXTR DEPf (2*ik + 1)) * LISSIN . ik);
  79. FIN Bdep;
  80. SI FLVITE;
  81. VITnl . inl = 0. * (COS(0*LISTDT));
  82. REPE Bdep nhbm; ik = &Bdep;
  83. VITnl . inl
  84. = VITnl . inl + (wrads * (EXTR DEPf (2* ik)) * LISCOS2 . ik)
  85. + (wrads * (EXTR DEPf (2*ik + 1)) * LISSIN2 . ik);
  86. FIN Bdep;
  87. FINSI;
  88. FIN Bcnl;
  89. *-fin de boucle sur les ddls NL ---------
  90.  
  91. FINSI;
  92. *---------------- fin de la distinction LISTCHPO / LISTREELs
  93.  
  94.  
  95. FINP DEPnl VITnl;
  96.  
  97.  

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