* 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