Test name
dy_devo3
Calculation type
MECHANICS DYNAMICS 3D
IMPACT, LINKAGE CIRCLE-PLANE-FRICTION
Topic
A wheel subjected to a torsional moment
A wheel of 1 meter diameter is clamped by 2 planes. The wheel is subjected to a torsional moment.
The linkages used are a circle-point with taking into consideration the friction.
Goal
Find the rotation around Z-axis.
Reference
Version
97' customer version
Model description

Test dy_devo3 Results
Results

CASTEM figures

* Test Dy_devo3.dgibi: Jeux de données *
* ------------------------------------ *
* *
* si GRAPH = N, les graphiques ne sont pas affichés
* si GRAPH différent de N, tous les graphiques
* sont affichés
*
GRAPH = 'N' ;
*
SAUT PAGE ;
*-----------------------------------------------------*
* DY_DEVO3 *
*-----------------------------------------------------*
* *
* Tests de l'op{rateur DYNE option DE_VOGELAERE *
* __________________________________________ *
* *
* *
* Une roue de diamètre 1 mètre bloquée par 2 plans *
* On applique à la roue un moment Mz *
* 2 liaisons CERCLE_PLAN_FROTTEMENT *
* *
*-----------------------------------------------------*
*
OPTION ECHO 0 ;
TEMPS ;
OPTION ELEM SEG2 DIME 3 ;
*
* Définition géométrie
*
P1 = 0. 0. 0. ;
*
* Base modale
*
CHP_M1 =
MANU CHPO 6 P1 'UX' 1.0 'UY' 0.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0;
CHP_M2 =
MANU CHPO 6 P1 'UX' 0.0 'UY' 1.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0;
CHP_M3 =
MANU CHPO 6 P1 'UX' 0.0 'UY' 0.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 1.0;
*
TBAS = TABLE 'BASE_MODALE' ;
TBAS . 'MODES' = TABLE 'BASE_DE_MODES' ;
TBAS . 'MODES' . 'MAILLAGE' = P1 ;
TBAS . 'MODES' . 1 = TABLE 'MODE' ;
TBAS . 'MODES' . 1 . 'POINT_REPERE' = ( 0 0 0 ) ;
TBAS . 'MODES' . 1 . 'FREQUENCE' = 0.0 ;
TBAS . 'MODES' . 1 . 'MASSE_GENERALISEE' = 1.0 ;
TBAS . 'MODES' . 1 . 'DEFORMEE_MODALE' = CHP_M1 ;
TBAS . 'MODES' . 2 = TABLE 'MODE' ;
TBAS . 'MODES' . 2 . 'POINT_REPERE' = ( 0 0 0 ) ;
TBAS . 'MODES' . 2 . 'FREQUENCE' = 0.0 ;
TBAS . 'MODES' . 2 . 'MASSE_GENERALISEE' = 1.0 ;
TBAS . 'MODES' . 2 . 'DEFORMEE_MODALE' = CHP_M2 ;
TBAS . 'MODES' . 3 = TABLE 'MODE' ;
TBAS . 'MODES' . 3 . 'POINT_REPERE' = ( 0 0 0 ) ;
TBAS . 'MODES' . 3 . 'FREQUENCE' = 0.0 ;
TBAS . 'MODES' . 3 . 'MASSE_GENERALISEE' = 1.0 ;
TBAS . 'MODES' . 3 . 'DEFORMEE_MODALE' = CHP_M3 ;
*
* Champ de force
*
XFOR = 1000.0 ;
CHP_F1 = MANU CHPO 3 P1 'MX' 0.0
'MY' 0.0
'MZ' XFOR ;
EVO_F1 = EVOL MANU ( PROG -1. 10. ) ( PROG 1. 1. ) ;
CHA_F1 = CHARGE 'FORC' CHP_F1 EVO_F1 ;
TCHARG = TABLE 'CHARGEMENT' ;
TCHARG . 'BASE_A' = PJBA TBAS CHA_F1 ;
*
*--- Définition des liaisons
*
TLIA1 = TABLE 'LIAISON' ;
TLB1 = TABLE 'LIAISON_B' ;
TLIA1 . 'LIAISON_B' = TLB1 ;
*
* Liaison CERCLE_PLAN_FROTTEMENT avec amortissement
*
RAY_SUP = 1.0 ;
XNU = 0.4 ;
XRAID = 4.0E6 ;
RAID_T = ( 10.0 * XRAID ) / ( RAY_SUP ** 2 ) ;
AMOR_T = ( RAID_T * 1.0 ) ** 0.5 ;
TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL1.'TYPE_LIAISON' =
MOT 'CERCLE_PLAN_FROTTEMENT' ;
TL1.'SUPPORT' = P1 ;
TL1.'JEU' = -0.00025 ;
TL1.'NORMALE' = ( 0 -1 0 ) ;
TL1.'RAIDEUR' = XRAID ;
TL1.'RAYON_SUPPORT' = RAY_SUP ;
TL1.'COEFFICIENT_GLISSEMENT' = XNU ;
TL1.'COEFFICIENT_ADHERENCE' = XNU ;
TL1.'RAIDEUR_TANGENTIELLE' = RAID_T ;
TL1.'AMORTISSEMENT_TANGENTIEL' = AMOR_T ;
TL1.'AMORTISSEMENT' = 0.0 ;
TL2 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL2.'TYPE_LIAISON' =
MOT 'CERCLE_PLAN_FROTTEMENT' ;
TL2.'SUPPORT' = P1 ;
TL2.'JEU' = -0.00025 ;
TL2.'NORMALE' = ( 0 1 0 ) ;
TL2.'RAIDEUR' = XRAID ;
TL2.'RAYON_SUPPORT' = RAY_SUP ;
TL2.'COEFFICIENT_GLISSEMENT' = XNU ;
TL2.'COEFFICIENT_ADHERENCE' = XNU ;
TL2.'RAIDEUR_TANGENTIELLE' = RAID_T ;
TL2.'AMORTISSEMENT_TANGENTIEL' = AMOR_T ;
TL2.'AMORTISSEMENT' = 0.0 ;
*
TLB1 . 1 = TL1 ;
TLB1 . 2 = TL2 ;
*
*--- Définition des résultats en sortie
*
TSORT = TABLE 'SORTIE' ;
TSOR1 = TABLE 'SORTIE' ;
TSORT . 'VARIABLE' = TSOR1 ;
TSOR1 . 'DEPLACEMENT' = FAUX ;
TSOR1 . 'VITESSE' = FAUX ;
*
TSOR2 = TABLE 'SORTIE' ;
TSORT . 'LIAISON_B' = TSOR2 ;
TSOR2 . TL1 = VRAI ;
*
* Temps
*
PDT = 4.0E-5 ;
NP1 = 5000 ;
NP2 = 5000 ;
NINS = 20 ;
*
*------ Opérateur DYNE ------
*
TRESU1 = DYNE 'DIFFERENCES_CENTREES' TBAS TCHARG TSORT
TLIA1 NP1 PDT NINS ;
*
TINIT = TABLE 'INITIAL' ;
TINIT.'REPRISE' = TRESU1.'REPRISE' ;
TRESU2 = DYNE 'DE_VOGELAERE' TBAS TCHARG TSORT TLIA1
TINIT NP2 PDT NINS ;
*
* Tracé des courbes
*
LISTE1 = TRESU1.'TEMPS_DE_SORTIE' ;
LISTE2 = TRESU2.'TEMPS_DE_SORTIE' ;
*
TITRE '***** - TL1- FORCE DE CHOC NORMALE *****' ;
EVO_FN1 =
EVOL MANU LISTE1 TRESU1.TL1.'FORCE_DE_CHOC_NORMALE' ;
EVO_FN2 =
EVOL MANU LISTE2 TRESU2.TL1.'FORCE_DE_CHOC_NORMALE' ;
EVO_FN = CONCAT EVO_FN1 EVO_FN2 ;
*
TITRE
'***** - TL1- FORCE DE CHOC TANGENTIELLE *****' ;
EVO_FT1 = EVOL MANU LISTE1
TRESU1.TL1.'FORCE_DE_CHOC_TANGENTIELLE' ;
EVO_FT2 = EVOL MANU LISTE2
TRESU2.TL1.'FORCE_DE_CHOC_TANGENTIELLE' ;
EVO_FT = CONCAT EVO_FT1 EVO_FT2 ;
*
TITRE '***** - TL1- PUISSANCE USURE *****' ;
EVO_PU1 = EVOL MANU LISTE1
TRESU1.TL1.'PUISSANCE_USURE_INSTANTANEE' ;
EVO_PU2 = EVOL MANU LISTE2
TRESU2.TL1.'PUISSANCE_USURE_INSTANTANEE' ;
EVO_PU = CONCAT EVO_PU1 EVO_PU2 ;
*
TITRE '***** - TL1- VX POINT DE CONTACT *****' ;
EVO_VX1 = EVOL MANU LISTE1
TRESU1.TL1.'VX_POINT_CONTACT' ;
EVO_VX2 = EVOL MANU LISTE2
TRESU2.TL1.'VX_POINT_CONTACT' ;
EVO_VX = CONCAT EVO_VX1 EVO_VX2 ;
*
TITRE '***** - TL1- MZ POINT FIBRE NEUTRE *****' ;
EVO_MZ1 = EVOL MANU LISTE1
TRESU1.TL1.'MZ_POINT_FIBRE_NEUTRE' ;
EVO_MZ2 = EVOL MANU LISTE2
TRESU2.TL1.'MZ_POINT_FIBRE_NEUTRE' ;
EVO_MZ = CONCAT EVO_MZ1 EVO_MZ2 ;
*
TITRE '***** - TL1- RZ POINT FIBRE NEUTRE *****' ;
EVO_RZ1 = EVOL MANU LISTE1
TRESU1.TL1.'RZ_POINT_FIBRE_NEUTRE' ;
EVO_RZ2 = EVOL MANU LISTE2
TRESU2.TL1.'RZ_POINT_FIBRE_NEUTRE' ;
EVO_RZ = CONCAT EVO_RZ1 EVO_RZ2 ;
*
SI ( NEG GRAPH 'N' ) ;
DESS EVO_FN 'MIMA' ;
DESS EVO_FT 'MIMA' ;
DESS EVO_PU 'MIMA' ;
DESS EVO_VX 'MIMA' ;
DESS EVO_MZ 'MIMA' ;
DESS EVO_RZ 'MIMA' ;
FINSI ;
*
LIS_RZ = EXTRAIRE EVO_RZ 'ORDO' ;
LISTEM = EXTRAIRE EVO_RZ 'ABSC' ;
D = EXTRAIRE LIS_RZ 501 ;
T = EXTRAIRE LISTEM 501 ;
SAUT PAGE ;
MESS 'valeur du temps :' T ;
MESS 'valeur de la rotation autour de Z :' D ;
SAUT 2 LIGNES ;
*
TEMPS ;
*
* Code de bon fonctionnement
*
DEPREF = 100. * T * T ;
RESI = ABS ( ( D - DEPREF ) / DEPREF ) ;
SI ( RESI <EG 1E-2 ) ;
ERRE 0 ;
SINON ;
ERRE 5 ;
FINSI ;
*
FIN ;
Test dy_devo3 Comments
TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL1.'TYPE_LIAISON' = MOT 'CERCLE_PLAN_FROTTEMENT' ;
TL1.'SUPPORT' = P1 ;
TL1.'JEU' = -0.00025 ;
TL1.'NORMALE' = ( 0 -1 0 ) ;
TL1.'RAIDEUR' = XRAID ;
TL1.'RAYON_SUPPORT' = RAY_SUP ;
TL1.'COEFFICIENT_GLISSEMENT' = XNU ;
TL1.'COEFFICIENT_ADHERENCE' = XNU ;
TL1.'RAIDEUR_TANGENTIELLE' = RAID_T ;
TL1.'AMORTISSEMENT_TANGENTIEL' = AMOR_T ;
TL1.'AMORTISSEMENT' = 0.0 ;
The linkage CERCLE_PLAN_FROTTEMENT is used for impacts of a circle onto a semi-infinite medium. The circle is simply described by its center point (TL1.'SUPPORT') and its radius
(TL1.'RAYON_SUPPORT').
TL1.'JEU' is the gap between a point of the circle and the medium. Here the gap is negative : it means the medium penetrates into the circle.
The linkage takes into consideration the friction, so specific data must be given to describe the imaginary spring : the impact stiffness (TL1.'RAIDEUR'), the tangential stiffness (TL1.'RAIDEUR_TANGENTIELLE'), the sliding coefficient (TL1.'COEFFICIENT_GLISSEMENT'), the adherence stress coefficient (TL1.'COEFFICIENT_ADHERENCE'), the impact damping (TL1.'AMORTISSEMENT') and the tangential damping (TL1.'AMORTISSEMENT_TANGENTIEL'). Note that the impact damping is optional.
TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL1.'TYPE_LIAISON' = MOT 'CERCLE_PLAN_FROTTEMENT' ;
TL1.'SUPPORT' = P1 ;
...
TL1.'NORMALE' = ( 0 -1 0 ) ;
...
TL2 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL2.'TYPE_LIAISON' = MOT 'CERCLE_PLAN_FROTTEMENT' ;
TL2.'SUPPORT' = P1 ;
...
TL2.'NORMALE' = ( 0 1 0 ) ;
The difference between TL1 and TL2 is only made by the definition of the normals TL1.'NORMALE' and TL2.'NORMALE'.
TSORT = TABLE 'SORTIE' ;
TSOR1 = TABLE 'SORTIE' ;
TSORT . 'VARIABLE' = TSOR1 ;
TSOR1 . 'DEPLACEMENT' = FAUX ;
TSOR1 . 'VITESSE' = FAUX ;
**
TSOR2 = TABLE 'SORTIE' ;
TSORT . 'LIAISON_B' = TSOR2 ;
TSOR2 . TL1 = VRAI ;
The output table will contain only the results related to TL1 linkage.
LISTE1 = TRESU1.'TEMPS_DE_SORTIE' ;
LISTE2 = TRESU2.'TEMPS_DE_SORTIE' ;
...
TITRE '***** - TL1- RZ POINT OF MEDIAN LINE *****' ;
EVO_RZ1 = EVOL MANU LISTE1 TRESU1.TL1.'RZ_POINT_FIBRE_NEUTRE' ;
EVO_RZ2 = EVOL MANU LISTE2 TRESU2.TL1.'RZ_POINT_FIBRE_NEUTRE' ;
EVO_RZ = CONCAT EVO_RZ1 EVO_RZ2 ;
...
LIS_RZ = EXTRAIRE EVO_RZ 'ORDO' ;
LISTEM = EXTRAIRE EVO_RZ 'ABSC' ;
D = EXTRAIRE LIS_RZ 501 ;
T = EXTRAIRE LISTEM 501 ;
The computation is done in two parts: thus the results are separate (some in TRESU1 and others in TRESU2). The CONCAT operator performs the joining up of two objects (of EVOLUTION type).
To obtain a specific value from the EVO_RZ object, it is first necessary to extract every list of reals from the EVOLUTION object (EVO_RZ) : the EXTRAIRE operator extracts the lists of reals related to the abscissas ('ABSC') and the ordinates ('ORDO'). Then you can extract the required value from the obtained list of reals : 501 is the row of the required value in the list.