* fichier : condense1.dgibi ************************************************************************ ************************************************************************ * * CAST TEST PORTANT SUR L'OPÉRATEUR SUPE * * Principe : * On considère une matrice formée de l'assemblage * d'une matrice de rigidité rig1 * de matrice de blocage nuls cl1 et cl2 * d'une matrie de masse massc1 * d'une de blocage cl3 * et un chargement formé de * de deplacement non nuls sur cl3: chpd0 * de forces reparties : chpfi * * On resoud indirectement par condensation sur les * multiplicateurs de Lagrange de cl3 puis par * une redescente sur tous les neouds * * On résoud directement * * * * On teste en particulier la normalisation des * multiplicateur de Lagrange lorsque'ils sont maitres * en choissant un module d'YOUNG une densité élévés * * degay 20 02 97 * *========== taille du maillage ====================== m = 30 ; n = m ; E1 = 1.d15 ; r0 = 7.d6 ; graph = faux ; *========== maillage ================================ p1 = 0. 0. ; p2 = 10. 0. ; li1 = d p1 n p2 ; P3 = 'POINT' su1 'PROC' ( 10. 1. ) ; P4 = 'POINT' su1 'PROC' ( 0. 1. ) ; * rotation du maillage de 45 pour avoir des conditions * aux limites composées *============== modle et matériau =================== *=============== matrices classique ================== massc1 = mas1 'ET' mas2 ; *============ matrice lumpée "elementaire" ============ *================= conditions aux limites ============= * * cl3 = 'BLOQ' lr10 'UX' ; rigt1 = rig1 et cl1 et cl2 et massc1 ; rigt2 = rigt1 et cl3 ; *================= Condensation ======================== *================= Chargement =========================== * on impose un deplacement unité de lr10 selon l'axe de la plaque * une alternative à DEPI est la commande suivante * chp0 = 'MANU' 'CHPO' ( mailmult ) 1 'FLX' 1. ; * on applique des forces sur le maillage chpfi = 'CHPOINT' 'ALEATOIRE' ( mas1 et mas2 ) ; 'NATU' 'DISCRET' ; *============ résolution indirecte ==================== * * on redescend *============== resolution directe ======================= * *=============== Comparaison ============================ * * Erreur sur le deplacement deperr = dep0 - dep1 ; errtot = ( erx ** 2 ) + ( ery ** 2 ) ; 'SI' graph ; 'TITR' 'Niveau d erreur' ; 'TRAC' errtot su1 ; 'FINSI' ; * erreur sur les forces ferr = chpf1 '-' chpf0 ; *===================================== * Code de fonctionnement 'SI' ((errx > 1.D-9) 'OU' (erry > 1.D-9) 'OU' (errf > 1.D-9 )); 'ERREUR' 5 ; 'SINON' 'ERREUR' 0 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales