Télécharger madef3d.procedur

Retour à la liste

Numérotation des lignes :

  1. * MADEF3D PROCEDUR JK148537 26/06/26 21:15:11 12583
  2. *** TRAC3D PROCEDUR CHAT 96/03/05 21:15:02 2071
  3. *----------------------------------------------------------------------
  4. *
  5. * PROCEDURE MADEF3D < TRAC3D
  6. *
  7. * PROCEDURE EN DIMENSION3
  8. * CONSTRUCTION D UN MAILLAGE SURFACIQUE 3D et du CHPO DEFORME A PARTIR
  9. * DU MAILLAGE 3D DU PROFIL MERIDIEN D AXE Z (coor 3)
  10. * ET DU CHAMP DE DEPLACEMENT DEFORME ASSOCIE EN DECOMPOSITION DE FOURIER
  11. * SORT DANS OPTION MODE INITIAL
  12. *----------------------------------------------------------------------
  13. *
  14. * ENTREE DANS L'ORDRE
  15. *
  16. * + ZMAIL OBJET MAILLAGE 2d (profil meridien d axe Z (coor 3))
  17. * + ZCHPU CHPOINT DE DEPLACEMENTS ISSU DU CALCUL FOURIER COQ2 (OU AXI)
  18. * + ZAM AMPLIFICATION DES DEPLACEMENTS
  19. * + ZANGL ANGLE DE ROTATION EN DEGRES POUR LA CONSTRUCTION
  20. * DU MAILLAGE 3D
  21. * + ZM NOMBRE DE DECOUPAGES SUR CET ANGLE
  22. * + ZN NUMERO DE L HARMONIQUE ( 0 SI CALCUL AXI)
  23. * + ZXVISU ABSCISSE DE L'OEIL
  24. * + ZYVISU ORDONNEE DE L'OEIL
  25. * + ZZVISU COTE DE L'OEIL
  26. * + ZINTER UTILISATION DE LA ROUTINE EN INTERACTIF OU NON
  27. *
  28. *----------------------------------------------------------------------
  29. * DEBPROC TRAC3D
  30. *ZMAIL*MAILLAGE ZCHPU*CHPOINT ZAM*FLOTTANT ZANGL*FLOTTANT ZM*ENTIER
  31. *ZN*ENTIER ZXVISU*FLOTTANT ZYVISU*FLOTTANT ZZVISU*FLOTTANT
  32. *ZINTER*LOGIQUE;
  33. DEBPROC MADEF3D
  34. ZMAIN*MAILLAGE ZCHPI*CHPOINT ZN*ENTIER ZMOT*MOT ZANGL/FLOTTANT ZM/ENTIER
  35. ZAM/FLOTTANT ;
  36. *-----------------------------------------------------------------------
  37. mess '§§§§§§§ procedure madef3d / ' zmot ' §§§§§§§§§§' ;
  38. 'SI' ('NEG' ('TYPE' ZAM) 'FLOTTANT') ; ZAM = 1.d0 ; 'FINSI' ;
  39. 'SI' ('NEG' ('TYPE' ZANGL) 'FLOTTANT') ; ZANGL = 360.d0 ; 'FINSI' ;
  40. 'SI' ('NEG' ('TYPE' ZM) 'ENTIER') ; ZM = 10 ; 'FINSI' ;
  41. VZERO = 0. 0. 0. ;
  42. ZMAIL = ZMAIN PLUS VZERO ;
  43. ZCHPU = ZCHPI PLUS VZERO ;
  44. *
  45. inimode = 'MOT' 'MODE' ;
  46. 'SI' ('EGA' ('VALE' 'MODE') 'FOUR') ;
  47. inimode = 'MOT' 'FOUR' ; l_four = 'VALE' 'MODE' 'FOUR' ; 'FINSI' ;
  48. 'SI' ('EGA' ('VALE' 'MODE') 'AXIS') ; inimode = 'MOT' 'AXIS' ; 'FINSI';
  49.  
  50. 'SI' (EGA ZMOT 'FORCES') ;
  51. ZCHPU = 'CHANGER' ZCHPU 'COMP' ('MOTS' 'FR' 'FZ' 'FT' 'MT')
  52. ('MOTS' 'UR' 'UZ' 'UT' 'RT') ;
  53. 'FINSI' ;
  54.  
  55. OPTI ELEM QUA4 MODE TRID ;
  56. CHPUR0=EXCO 'UR' ZCHPU;
  57. CHPUZ0=EXCO 'UZ' ZCHPU;
  58. CHPUT0=EXCO 'UT' ZCHPU;
  59. CHPRT0=EXCO 'RT' ZCHPU;
  60. ELIM 1.E-4 (ZMAIL ET (EXTR CHPUR0 MAIL)) ;
  61. *
  62. ZA0=0. 0. 0.; ZAX=1. 0. 0.; ZAZ=0. 0. 1.;
  63.  
  64. CHPUR0=NOMC SCAL (CHPUR0 * ZAM) NATURE 'DISCRET';
  65. CHPUZ0=NOMC SCAL (CHPUZ0 * ZAM) NATURE 'DISCRET';
  66. CHPUT0=NOMC SCAL (CHPUT0 * ZAM) NATURE 'DISCRET';
  67. CHPRT0=NOMC SCAL (CHPRT0 * ZAM) NATURE 'DISCRET';
  68.  
  69. K=0;
  70.  
  71. CHPUXKK= NOMC 'UX' CHPUR0 NATURE 'DISCRET';
  72. CHPUYKK= NOMC 'UY' CHPUT0 NATURE 'DISCRET';
  73. CHPUZKK= NOMC 'UZ' CHPUZ0 NATURE 'DISCRET';
  74. CHPRXKK= NOMC 'RX' (CHPRT0 * 0.d0) NATURE 'DISCRET';
  75. CHPRYKK= NOMC 'RY' CHPRT0 NATURE 'DISCRET';
  76. CHPRZKK= NOMC 'RZ' (CHPRT0 * 0.d0) NATURE 'DISCRET';
  77.  
  78. CHPUK = CHPUXKK ET CHPUYKK ET CHPUZKK ET CHPRXKK ET CHPRYKK ET CHPRZKK;
  79. DETR CHPUXKK;DETR CHPUYKK;DETR CHPUZKK;DETR CHPRXKK ; DETR CHPRYKK ; DETR CHPRZKK ;
  80. CHPU_T = CHPUK PLUS VZERO ;
  81. ZMAI0 = EXTR CHPU_T MAIL ;
  82.  
  83. TDF3D=TABLE;
  84. TDF3D.0 = ZMAIL PLUS VZERO ;
  85.  
  86. DTHETA=ZANGL / ZM ;
  87. REPETER DEP3D (ZM - 1) ;
  88. K= K + 1;
  89. THETA= K * (DTHETA);
  90. COSNT= COS ( ZN *THETA );
  91. SINNT= SIN ( ZN *THETA );
  92. COST = COS THETA ;
  93. SINT = SIN THETA ;
  94. * CHPUXK = COLI CHPUR0 (COSNT*COST) CHPUT0 (SINNT*SINT*(-1));
  95. CHPUXK = COLI CHPUR0 (COSNT*COST) CHPUT0 (COSNT*SINT*(-1));
  96. * CHPUYK = COLI CHPUR0 (COSNT*SINT) CHPUT0 (SINNT*COST);
  97. CHPUYK = COLI CHPUR0 (COSNT*SINT) CHPUT0 (COSNT*COST);
  98. CHPUZK = CHPUZ0 ;
  99. *jk
  100. CHPRXK = CHPRT0 * COSNT * SINT*(-1) ;
  101. CHPRYK = CHPRT0 * COSNT * COST ;
  102. CHPRZK = CHPRT0 * 0.D0 ;
  103.  
  104. CHPUXKK= NOMC 'UX' CHPUXK NATURE 'DISCRET';
  105. CHPUYKK= NOMC 'UY' CHPUYK NATURE 'DISCRET';
  106. CHPUZKK= NOMC 'UZ' CHPUZK NATURE 'DISCRET';
  107. CHPRXKK= NOMC 'RX' CHPRXK NATURE 'DISCRET';
  108. CHPRYKK= NOMC 'RY' CHPRYK NATURE 'DISCRET';
  109. CHPRZKK= NOMC 'RZ' CHPRZK NATURE 'DISCRET';
  110. CHPUK = CHPUXKK ET CHPUYKK ET CHPUZKK ET CHPRXKK ET CHPRYKK ET CHPRZKK ;
  111. DETR CHPUXKK;DETR CHPUYKK;DETR CHPUZKK;DETR CHPRXKK ; DETR CHPRYKK ; DETR CHPRZKK ;
  112. DEPLA ZMAIL TOUR DTHETA ZA0 ZAZ;
  113. CHPUL = CHPUK PLUS VZERO ;
  114. ZMAIU = EXTR CHPUL MAIL ;
  115. TDF3D.K=ZMAIL PLUS VZERO ;
  116. Z_U = (TDF3D.(K - 1)) REGL 1 (TDF3D.K) ;
  117. CHPU_T = CHPU_T ET CHPUL ;
  118. SI (K > 1);
  119. ZDF3D = ZDF3D ET Z_U ;
  120. SINON ;
  121. ZDF3D = Z_U ;
  122. FINSI;
  123.  
  124. SI (K EGA (ZM - 1)) ;
  125. Z_U = (TDF3D.K ) REGL 1 (TDF3D.0) ;
  126. ZDF3D = ZDF3D ET Z_U ;
  127. FINSI ;
  128.  
  129. FIN DEP3D;
  130.  
  131.  
  132. *
  133. 'SI' ('EGA' ZMOT 'MAILLAGE') ;
  134. ELIM 1.E-4 ZDF3D ;
  135. Z_U = ZDF3D ;
  136. ZDF3D = REGE Z_U 'VERI' ;
  137. DETR CHPU_T ; RESP ZDF3D ; 'FINSI' ;
  138.  
  139. 'SI' ('EGA' ZMOT 'DEFORMEE') ;
  140. DETR ZDF3D ; ELIM 1.e-4 (EXTR CHPU_T MAIL) ;
  141. RESP CHPU_T ; 'FINSI' ;
  142.  
  143. 'SI' (EGA ZMOT 'FORCES') ;
  144. DETR ZDF3D ; ELIM 1.e-4 (EXTR CHPU_T MAIL) ;
  145. CHPU_T = 'CHANGER' CHPU_T 'COMP' ('MOTS' 'UX' 'UY' 'UZ' 'RX' 'RY' 'RZ')
  146. ('MOTS' 'FX' 'FY' 'FZ' 'MX' 'MY' 'MZ') ;
  147. RESP CHPU_T ;
  148. 'FINSI' ;
  149.  
  150. 'SI' ('EGA' inimode 'FOUR') ;
  151. 'OPTI' 'MODE' 'FOUR' l_four ; 'FINSI' ;
  152.  
  153. *------------------------------------------------------------
  154. FINPROC ;
  155.  
  156.  
  157.  

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