Test name
dyne01
Calculation type
MECHANICS DYNAMICS 3D
POLYNOMIAL LINKAGE
Finite element type
Topic
Using a polynomial linkage and test of restart computation.
The polynomial linkage calculates a force applied to a mode i and composed of a set of contributions stemming from other modes.
There is no geometry in this test, the computation is done in a modal basis, the used points are only modal points.
Goal
Comparison of displacement, velocity and acceleration between both computations.
Reference
Version
97' customer version
Model description
Test dyne01 Results
CASTEM figures
* 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 ;
Test dyne01 Comments
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 ;
The polynomial linkage calculates a force applied to a mode i and composed of a set of contributions stemming from other modes j :
with
is the modal coefficient (TL1.'COEFFICIENT').
Each modal contribution is defined in a CONTRIBUTION subtype table (TL2) which contains :
- the displacement exponent b (TL2.'EXPOSANT_DEPLACEMENT')
- the displacement term of delay d (TL2.'RETARD_DEPLACEMENT')
- the velocity exponent c (TL2.'EXPOSANT_VITESSE')
- the velocity term of delay e (TL2.'RETARD_VITESSE')
- the gap connected with the displacement (TL2.'JEU_DEPLACEMENT')
- the gap connected with the velocity (TL2.'JEU_VITESSE')
TL2 is given in TL1.PY where PY is the modal origin point.