* fichier : dync01.dgibi * ********************************************************************* * * * RÉPONSE FORCEE D'UN OSCILLATEUR DE DUFFING * * OPTION EXPOSANT DE L'OPERATEUR DYNE (raideur cubique) * * * * CREATION : 25/01/2018 * * * * MANIP KOALA (CEA,DEN,DM2S,SEMT,DYN) * * * * * * _____ * * | | * * | m | * * |_____| * * | * * /| / | * * /|----[k]----[xi]----(knl)---- * * /| / ----> F(t) * * |----> x * * * ********************************************************************* ********************************************************************* * Parametres globaux ********************************************************************* GRAPH = FAUX; ********************************************************************* * PARAMETRES DU MODELE ********************************************************************* * nombre de modes a calculer NMODE = 1; * nombre de harmoniques a calculer et NFFT NHBM = 5; NFFT = 256; * Amplitude chargement Fext0 = 1.; * Parametre non-lineaire fnl=knl*x^3 knl = 0.25 ; ********************************************************************* * DEFINITION DU MODELE ********************************************************************* *--------------------- Characteristiques du modele ---------------- *masse frequence propre (Hz), raideur xi = 0.1/2.; m = 1.; k = 1.; *point de la masse *------------------Calcul des Modes Propres -------------- p1A = point 0. 0.; TMOD = TABLE 'BASE_MODALE'; TMOD . 'MODES' . 1 . 'POINT_REPERE' = p1A ; TMOD . 'MODES' . 1 . 'NUMERO_MODE' = 1; TMOD . 'MODES' . 1 . 'FREQUENCE' = 1./(2.*PI); TMOD . 'MODES' . 1 . 'MASSE_GENERALISEE' = m; TMOD . 'MODES' . 1 . 'DEFORMEE_MODALE' = phi1; ********************************************************************* * LIAISONS, CHARGEMENT ET AMORTISSEMENT ********************************************************************* *----------------------------------------------* * CHARGEMENT = EXCITATION HARMONIQUE *----------------------------------------------* *----------------------------------------------* * Les FORCES due a la raideur non-lineaire *----------------------------------------------* TL3 = TABLE 'LIAISON_ELEMENTAIRE' ; TL3 . 'SUPPORT' = p1A ; TL3 . 'ORIGINE' = p1A ; TL3 . 'COEFFICIENT' = -1.*knl ; TL3 . 'EXPOSANT' = 3 ; *----------------------------------------------* * Regroupement des LIAISONS *----------------------------------------------* TAB_LIAI = TABLE 'LIAISON' ; TAB_LIAI . 'LIAISON_A' = TABLE 'LIAISON_A'; TAB_LIAI . 'LIAISON_A' . 1 = TL3; *----------------------------------------------* * L'AMORTISSEMENT (attention en % pour AMOR) *----------------------------------------------* TAB_AMOR = TABLE 'AMORTISSEMENT'; ********************************************************************* * CALCUL NON LINEAIRE REPONSE FORCEE : TABLES DYNC ********************************************************************* *nouvelle syntaxe pour TAB_CHAR * chargement spatial : GFC1 * sur l'harmonique fondamentale 1 ==> F=Fext*cos(wt) TAB_CHAR = TABLE 'CHARGEMENT'; TAB_CHAR . 1 = GFC1; * constant avec la frequence, si F=w^2*(...) ==> BALOURD = 1 (eg. JEFFCOTT) * TAB_CHAR . 'BALOURD' = 0; * Approximation pour la solution initiale à fréquence fixe VEC_INIT = TABLE 'INITIAL'; Wext = 0.01; VEC_INIT . 'FREQUENCE' = Wext ; *bp VEC_INIT . 2 = 0.5; *bp : on utilise desormais la convention j=0 +1 -1 +2 -1 ... +nhbm -nhbm *bp ainsi qu'un chpoint VEC_INIT . +1 = Q0; * Paramètres numériques pour la continuation PAR_NUM = TABLE 'PARAMETRES_NUMERIQUES'; PAR_NUM . 'VAL_FIN' = 2.5; PAR_NUM . 'DS0' = 0.01; PAR_NUM . 'DSMAX' = 0.05; PAR_NUM . 'DSMIN' = 1.E-4; PAR_NUM . 'ITERMOY' = 3.4; PAR_NUM . 'ITERMAX' = 30; PAR_NUM . 'ANGLE_MIN' = 0.; PAR_NUM . 'ANGLE_MAX' = 50.; PAR_NUM . 'ISENS' = 1.; PAR_NUM . 'NBPAS' = 1000; *----------------------------------------------------------------------* * Appel a l'operateur * opti impi 3; TCON = DYNC TMOD TAB_CHAR TAB_LIAI TAB_AMOR VEC_INIT PAR_NUM NHBM NFFT; * opti impi 0 donn 5; *----------------------------------------------------------------------* ********************************************************************* * CALCUL NON LINEAIRE MODE NON-LINEAIRE : TABLES DYNC ********************************************************************* * qq modifs dans les donnees d'entree * PAR_NUM . 'VAL_INI' = 0.001; ---> VEC_INIT . 'ENERGIE' PAR_NUM . 'VAL_FIN' = 25; * PAR_NUM . 'MODE_DEBUT' = 1; ---> VEC_INIT . 'MODE' = 1 * *----------------------------------------------------------------------- * Appel a l'operateur * rem. : a) pour l'instant, pas de TAB_AMOR * b) VEC_INIT basée sur l'energie initiale VEC_INIT = TABLE 'INITIAL'; VEC_INIT . 'ENERGIE' = 0.001; *----------------------------------------------------------------------- ************************************************************************ * POST-TRAITEMENT ************************************************************************ * BACKBONE * -------- * frequence FNNM = TNNM . 'REPONSE' . 'FREQUENCE'; * MAX de la NORME2 des COEFFICIENTS de FOURIER pour chaque freq ANNM = TNNM . 'REPONSE' . 'NORME_DEPLACEMENT'; * COURBE DE REPONSE FORCE * ----------------------- * frequence FREQ = TCON . 'REPONSE' . 'FREQUENCE'; * MAX de la NORME2 des COEFFICIENTS de FOURIER pour chaque freq AMPS = TCON . 'REPONSE' . 'NORME_DEPLACEMENT'; * stabilite STAB = TCON . 'REPONSE' . 'STABILITE'; TABSTB = TABLE; TABSTB . 'LIGNE_VARIABLE' . 1 = STAB; TITR 'Duffing : courbe de reponse'; DESS XY TABSTB ; * BIFURCATIONS * ------------ * recup REPE BBIF NBIF; SI (EGA typbif 'LP'); prLP_Q = prLP_Q et Qbif; prLP_w = prLP_w et wbif; FINSI; SI (EGA typbif 'BP'); prBP_Q = prBP_Q et Qbif; prBP_w = prBP_w et wbif; FINSI; SI (EGA typbif 'PD'); prPD_Q = prPD_Q et Qbif; prPD_w = prPD_w et wbif; FINSI; FIN BBIF; * creation d'1 evolution + table de dessin ibif = 1; * Limit Point evBIF = evBIF et evLP; finsi; * Branch Point evBIF = evBIF et evBP; finsi; * Period Doubling Point evBIF = evBIF et evPD; finsi; * Neimark Sacker Point evBIF = evBIF et evNS; finsi; TITRE 'Duffing : courbe de reponse + bifurcations'; * STABILITE via les EXPOSANTS DE FLOQUET * -------------------------------------- TEXP_R = TCON . 'REPONSE' . 'EXPOSANT_REEL'; TEXP_I = TCON . 'REPONSE' . 'EXPOSANT_IMAGINAIRE'; repe bexp; fin bexp; DESS exp_R; DESS exp_I; * DETAIL DES HARMONIQUES DU 1ER MODE * ---------------------------------- * imode = 1; * le POINT_REPERE est p1A TABSTB2 = TABLE; j = 0; repe bhbm (nhbm + 1); si (EGA j 0); AMPj = TCON . REPONSE . COEFFICIENTS . j . p1A; sinon; AMPjC = TCON . REPONSE . COEFFICIENTS . j . p1A; AMPjS = TCON . REPONSE . COEFFICIENTS . (-1*j) . p1A; AMPj = ((AMPjC**2) + (AMPjS**2))**0.5; finsi; TABSTB2 . 'LIGNE_VARIABLE' . &bhbm = STAB; j = j + 1; fin bhbm; DESS ev1 'LEGE' TABSTB2; * TEMPOREL ET PORTRAITS DE PHASE POUR QUELQUES POINTS * --------------------------------------------------- * base de fonctions T (et leur derivees T2) sur une periode adimensionnee * terme constant * harmonique +j et -j j = 0; REPE bhbm nhbm; j = j + 2; T . j = COS (&bhbm * time) ; T . (j + 1) = SIN (&bhbm * time) ; T2 . j = -1. * &bhbm * T . (j + 1); T2 . (j + 1) = &bhbm * T . j ; FIN bhbm; * boucle sur les solutions a tracer * harmonique 0 * harmonique +j et -j REPE bhbm nhbm; j= &bhbm; jm = -1 * j; FIN bhbm; * q(t) = [T] * Q * trace du portrait de phase FIN BW; ************************************************************************ * TEST DE BON FONCTIONNEMENT ************************************************************************ * listreel des erreurs * amplitude max et w correspondant a la 1ere resonance (harmonique 1) wref1 = 2.210; Qref1 = 4.475; prERR = prERR et (wmax1 - wref1) et (Qmax1 - Qref1); * resonance harmonique 3 wref3 = 0.38; Qref3 = 1.03; prERR = prERR et (wmax3 - wref3) et (Qmax3 - Qref3); * test SI (ERRMAX > 0.05); LIST prERR; FINSI; * nombre et/ou type et/ou localisation des bifurcations FINSI; ************************************************************************ * PERFORMANCES ************************************************************************ * opti donn 5 trac X; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales