1 : * NEWMARK PROCEDUR CHAT 09/06/26 21:15:02 6430 2 : *--------------------------------------------------------------------- 3 : * PROCEDURE NEWMARK VERSION DU 15/01/88 4 : *--------------------------------------------------------------------- 5 : * CETTE PROCEDURE EFFECTUE UN CALCUL DYNAMIQUE D'UN PAS 6 : * SELON L'ALGORITHME DE NEWMARK 7 : * 8 : * EN ENTREE : 9 : * --------- 10 : * U1 : DEPLACEMENT AU DEBUT DU PAS 11 : * V1 : VITESSE AU DEBUT DU PAS 12 : * A : OPERATEUR DYNAMIQUE 13 : * K : RIGIDITE QUI CONTIENT LES BLOQUAGES 14 : * M : MASSE 15 : * F1 : FORCES AU DEBUT DU PAS QUI CONTIENT LES FLX 16 : * F2 : FORCES A LA FIN DU PAS QUI CONTIENT LES FLX 17 : * H : PAS DE TEMPS 18 : * 19 : * EN SORTIE : 20 : * --------- 21 : * U2 : DEPLACEMENT A LA FIN DU PAS 22 : * V2 : VITESSE A LA FIN DU PAS 23 : * 24 : *--------------------------------------------------------------------- 25 : * 26 : 'DEBPROC' NEWMARK U1*'CHPOINT' V1*'CHPOINT' A*'RIGIDITE' 27 : K*'RIGIDITE' M*'RIGIDITE' F1*'CHPOINT' F2*'CHPOINT' H*'FLOTTANT'; 28 : 29 : tbid=table; 30 : K1 = 'EXTRAI' K 'RIGI' 'NOMU'; 31 : K2 = 'EXTRAI' K 'RIGI' 'MULT'; 32 : maico='EXTRAI' K 'MAIL' 'UNIL'; 33 : nbcont= 'NBELEM' maico; 34 : 35 : F1NOMU = 'ENLEVER' F1 'FLX'; 36 : 37 : SCA1 = 4. / H ; 38 : SCA2 = 2. / H ; 39 : W1 = SCA1 * V1 ; 40 : FA = M * W1 ; 'DETR' W1 ; 41 : UAUX = 'EXCO' 'LX' U1 'NOID' 'LX' ; 42 : UU1 = U1 - UAUX ; 43 : W2 = 2. * UU1 ; 44 : FB = K1 * W2 ; 'DETR' W2 ; 45 : FC = FA - FB ; 'DETR' FA ; 'DETR' FB ; 46 : FD = F1NOMU + F2 ; 47 : * 48 : UUV=U1; 49 : *en cas de cliaisons unilaterales on tue les mult associés. 50 : 'SI' (NBCONT > 0); UUR= 'REDU' U1 maico;UUV = U1 - UUR;'FINSI'; 51 : FG = K2 * UUV ; 52 : 'DETR' F1NOMU; 53 : FF = FC + FD ; 'DETR' FC ; 'DETR' FD ; FH = FF - FG; 54 : 'DETR' FG ; 'DETR' FF ; 55 : DU = 'RESOU' A FH ; 56 : 'DETR' K1 ; 57 : * 'DETR' K2 ; 58 : U2 = UU1 + DU ; 59 : 'DETR' UAUX ; 60 : W1 = ( 'ENLE' DU 'LX') * SCA2 ; 61 : V2 = W1 - V1 ; 62 : * 63 : 64 : * y-a-t-il des contacts unilateraux? 65 : ICONTA=VRAI; 66 : MTA= 'EXTRAIRE' A 'CONTACT'; MDI = 'DIME' MTA; 67 : 'SI' ( 'EGA' MDI 0) ; ICONTA=FAUX; 'FINSI'; 68 : * EN CAS D'APPUIS UNILATERAUX 69 : 'SI' ICONTA; 70 : V2 = VITEUNIL A M V2 du u1 h fh tbid; 71 : * si (( maxi ( vuu - v2) ) > 1.e-3); mess ' contact' ;finsi; 72 : * mess ' reactions ' ; list ( 'REAC' k2 u2); 73 : * mess ' deplacements ' ; list u2; 74 : * mess ' vitesses'; list v2; 75 : 'SI' ( 'EXIS' tbid 'RATE_VITEUNIL') ; 76 : 'MESS' ' erreur dans VITEUNIL '; 77 : 'ERRE' 5; 78 : 'FINSI'; 79 : 'FINSI'; 80 : 'DETR' W1 ; 'DETR' DU ; 'DETR' uu1; 'DETR' FH tbid; 81 : *----------------------------------- 82 : * SORTIE DE LA PROCEDURE 83 : *----------------------------------- 84 : 'FINPROC' U2 V2 ; 85 : *--------------------------------------------------------------------- 86 : 87 : 88 :
© Cast3M 2003 - All rights reserved.
Disclaimer