next up previous contents
Next: Test vibr2 Description Up: DYNAMICS Previous: Test dy_devo8 Description

Test dyne01 Description sheet

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

  1. Linkage POLYNOMIALE

    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.



ven 3 nov 04:14:58 NFT 2000