Download dyne01.dgibi

Back to the list

* fichier :  dyne01.dgibi
*           Test Dyne01.dgibi: Jeux de données        *
*           ----------------------------------        *
*                                                     *
*------------------------------------------------------
* Test dyne01.dgibi         
*------------------------------------------------------
TITRE 
' DYNE liaison POLYNOMIALE: test reprise de calcul';
OPTION DIME 3 MODE TRID ECHO 0 ;
*
* Creation des points modaux
*
P0 = 0. 0. 0. ;
PX = 0. 0. 0. ;
PY = 0. 0. 0. ;
*
* Données
*
MG = 1.25 ; 
FR = 5.23 ;
T = 1. / FR ;
DEFMX = MANU 'CHPO' P0 3 UX 1. UY 0. UZ 0. ;
DEFMY = MANU 'CHPO' P0 3 UX 0. UY 1. UZ 0. ;
*
* Table de bases de modes
*
TAB1 = TABLE 'BASES_DE_MODE' ;
TABMO1 = TABLE 'MODE' ;
TABMO1.'POINT_REPERE' = PX ;
TABMO1.'FREQUENCE' = FR ;
TABMO1.'MASSE_GENERALISEE' = MG ;
TABMO1.'DEFORMEE_MODALE' = DEFMX ;
TAB1.1 = TABMO1 ;
*
TABMO2 = TABLE 'MODE' ;
TABMO2.'POINT_REPERE' = PY ;
TABMO2.'FREQUENCE' = FR ;
TABMO2.'MASSE_GENERALISEE' = MG ;
TABMO2.'DEFORMEE_MODALE' = DEFMY ;
TAB1.2 = TABMO2 ;
*
TAB1.'MAILLAGE' = P0 ;
TBAS = TABLE 'BASE_MODALE' ;
TBAS.'MODES' = TAB1 ;
*
* Table des conditions initiales
*
CPID = (MANU 'CHPO' PX 1 ALFA .033 ) +
       (MANU 'CHPO' PY 1 ALFA .54 ) ;
CPIV = (MANU 'CHPO' PX 1 ALFA 5.) +
       (MANU 'CHPO' PY 1 ALFA -0.9) ;
TINIT = TABLE 'INITIAL' ;
TINIT.'DEPLACEMENT' = CPID ;
TINIT.'VITESSE'     = CPIV ;
TINIT2 = TINIT ;
*
* Tables des liaisons
*
EPS1 = -1.E-9 ;
TLIAI = TABLE 'LIAISON' ;
TLA   = TABLE 'LIAISON_A' ;
*
TLB = TABLE 'LIAISON_B' ;
TLIAI.'LIAISON_B' = TLB ;
TLB1 = TABLE 'LIAISON_ELEMENTAIRE' ;
TLB1.'TYPE_LIAISON' = MOT 'POINT_PLAN' ;
TLB1.'SUPPORT' = PX ;
TLB1.'NORMALE' = (1.0 0.0 0.0) ;
TLB1.'RAIDEUR' = 0. ;
TLB1.'JEU' = 1.0 ;
TLB1.'AMORTISSEMENT' = 0. ;
TLB.1 = TLB1 ;
*
TLIAI.'LIAISON_A' = TLA ;
TL1   = TABLE 'LIAISON_ELEMENTAIRE' ;
*
TL1.'TYPE_LIAISON' = MOT 'POLYNOMIALE' ;
TL1.'SUPPORT'      = PX ;
TL1.'COEFFICIENT'  = .67 ;
TL2 = TABLE 'CONTRIBUTION' ;
TL1.PY = TL2 ;
TL2.'EXPOSANT_DEPLACEMENT' = 1.2 ;
TL2.'RETARD_DEPLACEMENT'   = 0.01 ;
TL2.'EXPOSANT_VITESSE'     = 0. ;
TL2.'RETARD_VITESSE'       = 0. ;
TL2.'JEU_DEPLACEMENT'      = 0. ; 
TL2.'JEU_VITESSE'          = 0. ;
TLA.1 = TL1 ;
TL3   = TABLE 'LIAISON_ELEMENTAIRE' ;
TL3.'TYPE_LIAISON' = MOT 'POLYNOMIALE' ;
TL3.'SUPPORT'      = PX ;
TL3.'COEFFICIENT'  = .67 ;
TL4 = TABLE 'CONTRIBUTION' ;
TL3.PY = TL4 ;
TL4.'EXPOSANT_DEPLACEMENT' = 1.2 ;
TL4.'RETARD_DEPLACEMENT'   = 0. ;
TL4.'EXPOSANT_VITESSE'     = 0. ;
TL4.'RETARD_VITESSE'       = 0. ;
TL4.'JEU_DEPLACEMENT'      = EPS1 ; 
TL4.'JEU_VITESSE'          = 0. ;
TLA.2 = TL3 ;
*
* Table de sortie des variables generalisees
*
TSORT = TABLE 'SORTIE' ;
TSORV = TABLE 'VARIABLE' ;
TSORV.'DEPLACEMENT'   = vrai ;
TSORV.'VITESSE'       = vrai ;
TSORV.'ACCELERATION'  = vrai ;
TSORT.'VARIABLE'      = TSORV ;
*
* Table de sortie variables de liaison sur base A
*
TSORL = TABLE 'LIAISON_A' ;
TSORL.TL1 = TABLE ;
TSORL.TL1.'FORCE_POLYNOMIALE' = vrai ;
TSORL.TL3 = TABLE ;
TSORL.TL3.'FORCE_POLYNOMIALE' = vrai ;
TSORT.'LIAISON_A' = TSORL ;
*
* Table de sortie variables de liaison sur base B
*
TSORB = TABLE 'LIAISON_B' ;
TSORB.TLB1 = TABLE ;
TSORB.TLB1.'FORCE_DE_CHOC' = VRAI ;
TSORT.'LIAISON_B' = TSORB ;
*
* Donnee des valeurs temporelles : NT & DT
* 
NT = 1200 ;
DT = 0.0025 ;
TT = NT * DT ;
NPC = 5 ;
LST = PROG 0. PAS (DT * NPC) NPAS (NT / NPC) ;
*
*------> appel a DYNE avec NT pas de temps
*
TRES1 = DYNE 'DE_VOGELAERE' 
           TBAS TLIAI TINIT NT DT NPC TSORT ;
*
*------> appel a DYNE avec NT/2 pas de temps
*        puis reprise avec NT/2 pas supplementaires
*
NT2 = ENTIER(NT/2) ;
TRES21 = DYNE 'DE_VOGELAERE'
         TBAS TLIAI TINIT NT2 DT NPC TSORT ;
*
TREP = TRES21.'REPRISE' ;
TINIT.'REPRISE' = TREP ;
*
TRES22 = DYNE 'DE_VOGELAERE'
          TBAS TLIAI TINIT NT2 DT NPC TSORT ;
*
LIS1  =  TRES1.'TEMPS_DE_SORTIE' ;
LIS21 = TRES21.'TEMPS_DE_SORTIE' ;
LIS22 = TRES22.'TEMPS_DE_SORTIE' ;
*
* Deplacement / vitesse / acceleration
*
I = 0 ;
NF1 = ENTIER (NT / NPC)  + 1 ;
REPETER BOUC1 NF1 ;
   I = I + 1 ;
   CHD1 = TRES1.I.'DEPLACEMENT' ;
   DEP1 = EXTR CHD1 ALFA PX ;
   CHV1 = TRES1.I.'VITESSE' ;
   VIT1 = EXTR CHV1 ALFA PX ;
   CHA1 = TRES1.I.'ACCELERATION' ;
   ACC1 = EXTR CHA1 ALFA PX ;
   SI (I EGA 1) ;
      LD1 = PROG DEP1 ;
      LV1 = PROG VIT1 ;
      LA1 = PROG ACC1 ;
   SINON ;
      LD1 = LD1 ET (PROG DEP1) ;
      LV1 = LV1 ET (PROG VIT1) ;
      LA1 = LA1 ET (PROG ACC1) ;
   FINSI ;
FIN BOUC1 ;
*
I = 0 ;
NF21 = ENTIER((NT / NPC) / 2) + 1 ;
REPETER BOUC21 NF21 ;
   I = I + 1 ;
   CHD21 = TRES21.I.'DEPLACEMENT' ;
   DEP21 = EXTR CHD21 ALFA PX ;
   CHV21 = TRES21.I.'VITESSE' ;
   VIT21 = EXTR CHV21 ALFA PX ;
   CHA21 = TRES21.I.'ACCELERATION' ;
   ACC21 = EXTR CHA21 ALFA PX ;
   SI (I EGA 1) ;
      LD21 = PROG DEP21 ;
      LV21 = PROG VIT21 ;
      LA21 = PROG ACC21 ;
   SINON ;
      LD21 = LD21 ET (PROG DEP21) ;
      LV21 = LV21 ET (PROG VIT21) ;
      LA21 = LA21 ET (PROG ACC21) ;
   FINSI ;  
FIN BOUC21 ;
I = 0 ;
NF22 = ENTIER((NT / NPC) / 2) ;
REPETER BOUC22 NF22 ;
   I = I + 1 ;
   CHD22 = TRES22.I.'DEPLACEMENT' ;
   DEP22 = EXTR CHD22 ALFA PX ;
   CHV22 = TRES22.I.'VITESSE' ;
   VIT22 = EXTR CHV22 ALFA PX ;
   CHA22 = TRES22.I.'ACCELERATION' ;
   ACC22 = EXTR CHA22 ALFA PX ;
   SI (I EGA 1) ;
      LD22 = PROG DEP22 ;
      LV22 = PROG VIT22 ;
      LA22 = PROG ACC22 ;
   SINON ;
      LD22 = LD22 ET (PROG DEP22) ;
      LV22 = LV22 ET (PROG VIT22) ;
      LA22 = LA22 ET (PROG ACC22) ;
   FINSI ;
FIN BOUC22 ;
LD2 = LD21 ET LD22 ;
LV2 = LV21 ET LV22 ;
LA2 = LA21 et LA22 ;
*
* Comparaison des deplacements, vitesses et 
* accelerations au dernier pas de calcul
*
LD2 = LD21 ET LD22 ;
DFIN1 = EXTRAIRE LD1 NF1 ;
DFIN2 = EXTRAIRE LD22 NF22 ;
ERD = ABS ( (DFIN1 - DFIN2) / DFIN1 ) ; 
BOLD = (ERD <EG 0.001 ) ;
*
VFIN1 = EXTRAIRE LV1 NF1 ;
VFIN2 = EXTRAIRE LV22 NF22 ;
ERV = ABS ( (VFIN1 - VFIN2 ) / VFIN1 ) ;
BOLV = ( ERV <EG 0.001 ) ;
*
AFIN1 = EXTRAIRE LA1 NF1 ;
AFIN2 = EXTRAIRE LA22 NF22 ;
ERA = ABS ( (AFIN1 - AFIN2 ) / AFIN1 ) ;
BOLA = ( ERA <EG 0.001 ) ;
*
SI ( BOLA et BOLV et BOLD ) ;
   ERREUR 0 ;
SINON ;
   ERREUR 5 ;
FINSI ;
*
FIN ;



 

© Cast3M 2003 - All rights reserved.
Disclaimer