Télécharger dync01.dgibi

Retour à la liste

Numérotation des lignes :

  1. *********************************************************************
  2. * *
  3. * RÉPONSE FORCEE D'UN OSCILLATEUR DE DUFFING *
  4. * OPTION EXPOSANT DE L'OPERATEUR DYNE (raideur cubique) *
  5. * *
  6. * CREATION : 25/01/2018 *
  7. * *
  8. * MANIP KOALA (CEA,DEN,DM2S,SEMT,DYN) *
  9. * *
  10. * *
  11. * _____ *
  12. * | | *
  13. * | m | *
  14. * |_____| *
  15. * | *
  16. * /| / | *
  17. * /|----[k]----[xi]----(knl)---- *
  18. * /| / ----> F(t) *
  19. * |----> x *
  20. * *
  21. *********************************************************************
  22.  
  23.  
  24. *********************************************************************
  25. * Parametres globaux
  26. *********************************************************************
  27. GRAPH = FAUX;
  28.  
  29. OPTION DIME 2 ELEM SEG2 ;
  30. OPTION 'TRAC' 'PSC' 'EPTR' 5 'POTR' 'TIMES_16';
  31. OPTION 'EPSI' 'LINEAIRE';
  32.  
  33.  
  34. *********************************************************************
  35. * PARAMETRES DU MODELE
  36. *********************************************************************
  37. * nombre de modes a calculer
  38. NMODE = 1;
  39. * nombre de harmoniques a calculer et NFFT
  40. NHBM = 5; NFFT = 256;
  41. * Amplitude chargement
  42. Fext0 = 1.;
  43. * Parametre non-lineaire fnl=knl*x^3
  44. knl = 0.25 ;
  45.  
  46.  
  47. *********************************************************************
  48. * DEFINITION DU MODELE
  49. *********************************************************************
  50.  
  51. *--------------------- Characteristiques du modele ----------------
  52. *masse frequence propre (Hz), raideur
  53. xi = 0.1/2.;
  54. m = 1.;
  55. k = 1.;
  56. *point de la masse
  57. p1 = poin 0. 0. ;
  58.  
  59. *------------------Calcul des Modes Propres --------------
  60.  
  61. p1A = point 0. 0.;
  62. phi1 = manu chpo p1 1 'UX' 1. NATURE DIFFUS;
  63.  
  64. TMOD = TABLE 'BASE_MODALE';
  65. TMOD . 'MODES' = TABL 'BASE_DE_MODES';
  66. TMOD . 'MODES' . 'MAILLAGE' = manu 'POI1' p1;
  67. TMOD . 'MODES' . 1 = TABL 'MODE';
  68. TMOD . 'MODES' . 1 . 'POINT_REPERE' = p1A ;
  69. TMOD . 'MODES' . 1 . 'NUMERO_MODE' = 1;
  70. TMOD . 'MODES' . 1 . 'FREQUENCE' = 1./(2.*PI);
  71. TMOD . 'MODES' . 1 . 'MASSE_GENERALISEE' = m;
  72. TMOD . 'MODES' . 1 . 'DEFORMEE_MODALE' = phi1;
  73.  
  74.  
  75. *********************************************************************
  76. * LIAISONS, CHARGEMENT ET AMORTISSEMENT
  77. *********************************************************************
  78.  
  79. *----------------------------------------------*
  80. * CHARGEMENT = EXCITATION HARMONIQUE
  81. *----------------------------------------------*
  82. GFC1 = MANU CHPO p1A 1 'FALF' Fext0 ;
  83.  
  84. *----------------------------------------------*
  85. * Les FORCES due a la raideur non-lineaire
  86. *----------------------------------------------*
  87.  
  88. TL3 = TABLE 'LIAISON_ELEMENTAIRE' ;
  89. TL3 . 'TYPE_LIAISON' = MOT 'COUPLAGE_DEPLACEMENT';
  90. TL3 . 'SUPPORT' = p1A ;
  91. TL3 . 'ORIGINE' = p1A ;
  92. TL3 . 'COEFFICIENT' = -1.*knl ;
  93. TL3 . 'EXPOSANT' = 3 ;
  94.  
  95. *----------------------------------------------*
  96. * Regroupement des LIAISONS
  97. *----------------------------------------------*
  98. TAB_LIAI = TABLE 'LIAISON' ;
  99. TAB_LIAI . 'LIAISON_A' = TABLE 'LIAISON_A';
  100. TAB_LIAI . 'LIAISON_A' . 1 = TL3;
  101.  
  102. *----------------------------------------------*
  103. * L'AMORTISSEMENT (attention en % pour AMOR)
  104. *----------------------------------------------*
  105. TAB_AMOR = TABLE 'AMORTISSEMENT';
  106. TAB_AMOR . 'AMORTISSEMENT' = AMOR TMOD (100.*(prog xi));
  107.  
  108. *********************************************************************
  109. * CALCUL NON LINEAIRE : TABLES DYNC
  110. *********************************************************************
  111. *nouvelle syntaxe pour TAB_CHAR
  112. * chargement spatial : GFC1
  113. * sur l'harmonique fondamentale 1 ==> F=Fext*cos(wt)
  114. TAB_CHAR = TABLE 'CHARGEMENT';
  115. TAB_CHAR . 1 = GFC1;
  116. * constant avec la frequence, si F=w^2*(...) ==> BALOURD = 1 (eg. JEFFCOTT)
  117. * TAB_CHAR . 'BALOURD' = 0;
  118.  
  119. * Approximation pour la solution initiale à fréquence fixe
  120. VEC_INIT = TABLE 'INITIAL';
  121. Wext = 0.01;
  122. VEC_INIT . 'FREQUENCE' = Wext ;
  123. *bp VEC_INIT . 2 = 0.5;
  124. *bp : on utilise desormais la convention j=0 +1 -1 +2 -1 ... +nhbm -nhbm
  125. *bp ainsi qu'un chpoint
  126. Q0 = MANU CHPO p1A 1 'ALFA' 0.5 ;
  127. VEC_INIT . +1 = Q0;
  128.  
  129. * Paramètres numériques pour la continuation
  130. PAR_NUM = TABLE 'PARAMETRES_NUMERIQUES';
  131. PAR_NUM . 'TYPE' = MOT 'FORC';
  132. PAR_NUM . 'VAL_FIN' = 2.5;
  133. PAR_NUM . 'DS0' = 0.01;
  134. PAR_NUM . 'DSMAX' = 0.05;
  135. PAR_NUM . 'DSMIN' = 1.E-4;
  136. PAR_NUM . 'ITERMOY' = 3.4;
  137. PAR_NUM . 'ITERMAX' = 30;
  138. PAR_NUM . 'ANGLE_MIN' = 0.;
  139. PAR_NUM . 'ANGLE_MAX' = 50.;
  140. PAR_NUM . 'ISENS' = 1.;
  141. PAR_NUM . 'NBPAS' = 1000;
  142. *----------------------------------------------------------------------*
  143. * Appel a l'operateur
  144. * opti impi 3;
  145. TCON = DYNC TMOD TAB_CHAR TAB_LIAI TAB_AMOR VEC_INIT PAR_NUM
  146. NHBM NFFT;
  147. * opti impi 0;
  148. *----------------------------------------------------------------------*
  149.  
  150. ************************************************************************
  151. * POST-TRAITEMENT
  152. ************************************************************************
  153.  
  154. * RECUP
  155. * -----
  156. * frequence
  157. FREQ = TCON . 'REPONSE' . 'FREQUENCE';
  158. * MAX de la NORME2 des COEFFICIENTS de FOURIER pour chaque freq
  159. AMPS = TCON . 'REPONSE' . 'NORME_DEPLACEMENT';
  160. * stabilite
  161. STAB = TCON . 'REPONSE' . 'STABILITE';
  162. TABSTB = TABLE;
  163. TABSTB . 'LIGNE_VARIABLE' = TABL ENTI;
  164. TABSTB . 'LIGNE_VARIABLE' . 1 = STAB;
  165.  
  166. * AMPLITUDE - FREQUENCE
  167. * ---------------------
  168. XY = EVOL MANU '\w' FREQ '|Q|' AMPS;
  169.  
  170. DESS XY TABSTB;
  171. DESS XY TABSTB XBOR 0.1 0.5 XGRA 0.1;
  172. DESS XY TABSTB XBOR 2.0 2.2 XGRA 0.05 YBOR 6. 7. YGRA 0.2;
  173.  
  174. * EXPOSANTS DE FLOQUET
  175. * --------------------
  176. TEXP_R = TCON . 'REPONSE' . 'EXPOSANT_REEL';
  177. TEXP_I = TCON . 'REPONSE' . 'EXPOSANT_IMAGINAIRE';
  178. exp_R = VIDE 'EVOLUTIO';
  179. exp_I = VIDE 'EVOLUTIO';
  180. coco = MOTS 'ROUG' 'BLEU' 'VERT' 'AZUR' 'ORAN' 'VIOL' 'TURQ' ;
  181. repe bexp;
  182. si (non (exis TEXP_R &bexp)); quit bexp ; finsi;
  183. coco_i = EXTR coco &bexp;
  184. exp_R = exp_R ET (evol coco_i 'MANU' '\w' FREQ '\m_{R}' TEXP_R . &bexp);
  185. exp_I = exp_I ET (evol coco_i 'MANU' '\w' FREQ '\m_{I}' TEXP_I . &bexp);
  186. fin bexp;
  187.  
  188. DESS exp_R;
  189. DESS exp_I;
  190.  
  191. * DETAIL DES HARMONIQUES DU 1ER MODE
  192. * ----------------------------------
  193. * imode = 1;
  194. * le POINT_REPERE est p1A
  195. mycoco = @PALETTE (nhbm + 1);
  196. TABSTB2 = TABLE;
  197. TABSTB2 . 'LIGNE_VARIABLE' = TABL ENTI;
  198. ev1 = VIDE 'EVOLUTIO';
  199. j = 0;
  200. repe bhbm (nhbm + 1);
  201. si (EGA j 0);
  202. AMPj = TCON . REPONSE . COEFFICIENTS . j . p1A;
  203. sinon;
  204. AMPjC = TCON . REPONSE . COEFFICIENTS . j . p1A;
  205. AMPjS = TCON . REPONSE . COEFFICIENTS . (-1*j) . p1A;
  206. AMPj = ((AMPjC**2) + (AMPjS**2))**0.5;
  207. finsi;
  208. coco = EXTR mycoco &bhbm;
  209. ev1 = ev1 ET (EVOL coco 'MANU' 'LEGE' (chai 'j='j) '\w' FREQ '|Q^{j}|' AMPj);
  210. TABSTB2 . 'LIGNE_VARIABLE' . &bhbm = STAB;
  211. j = j + 1;
  212. fin bhbm;
  213.  
  214. DESS ev1 'LEGE' TABSTB2;
  215. DESS ev1 'LEGE' XBOR 0.1 0.5 XGRA 0.1 TABSTB2;
  216.  
  217.  
  218. * TEMPOREL ET PORTRAITS DE PHASE POUR QUELQUES POINTS
  219. * ---------------------------------------------------
  220.  
  221. * base de fonctions T (et leur derivees T2) sur une periode adimensionnee
  222. T = TABL;
  223. T2 = TABL;
  224. time = PROG 0. PAS (360./NFFT) 360.;
  225. * terme constant
  226. T . 1 = PROG (NFFT + 1)*1.;
  227. T2 . 1 = PROG (NFFT + 1)*0.;
  228. * harmonique +j et -j
  229. j = 0;
  230. REPE bhbm nhbm; j = j + 2;
  231. T . j = COS (&bhbm * time) ;
  232. T . (j + 1) = SIN (&bhbm * time) ;
  233. T2 . j = -1. * &bhbm * T . (j + 1);
  234. T2 . (j + 1) = &bhbm * T . j ;
  235. FIN bhbm;
  236.  
  237. * boucle sur les solutions a tracer
  238. wprog = PROG 0.23 0.39 1.0 2.0 ;
  239. REPE BW (DIME wprog);
  240. w = EXTR wprog &BW;
  241. ipas = POSI 1. 'DANS' (MASQ FREQ 'EGSUPE' w);
  242. w = EXTR FREQ ipas;
  243. * harmonique 0
  244. Qprog = PROG (EXTR TCON . REPONSE . COEFFICIENTS . 0 . p1A ipas);
  245. * harmonique +j et -j
  246. REPE bhbm nhbm; j= &bhbm; jm = -1 * j;
  247. Qprog = Qprog et (EXTR TCON . REPONSE . COEFFICIENTS . j . p1A ipas)
  248. et (EXTR TCON . REPONSE . COEFFICIENTS . jm . p1A ipas);
  249. FIN bhbm;
  250. * q(t) = [T] * Q
  251. qtime = COLI T Qprog;
  252. dotqtime = COLI T2 Qprog;
  253. * trace du portrait de phase
  254. evphase = EVOL 'AZUR' 'MANU' 'q' qtime 'dq/dt' dotqtime;
  255. DESS evphase TITRE (CHAI 'w=' FORMAT '(F6.3)' w) 'CARR';
  256. FIN BW;
  257.  
  258.  
  259. *opti donn 5 trac X;
  260. *-----------------------------------------------------------------------
  261. * performances
  262. *-----------------------------------------------------------------------
  263. TEMP IMPR MAXI CPU;
  264.  
  265. FIN ;
  266.  
  267.  
  268.  

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