* LIMEMECA PROCEDUR AM 96/12/23 21:42:40 2448 mch1*'MCHAML' chp1*'CHPOINT' chp2/'CHPOINT' coeff/'FLOTTANT'; * * Analyse limite par l'approche cinematique de structure de poutre * * P.Pegon, Aout 90 * lok=faux; 'SINON'; lok=vrai; 'FINSI'; nbmeca1=nbmeca1-1; * 'SI' lok; 'SI' ('EXISTE' tab1 'SOUSTYPE'); 'SI' ('EGA' tab1 . 'SOUSTYPE' 'MECANISMES_PAR_NOEUDS'); lok=vrai; 'SINON'; lok=faux; 'FINSI'; 'FINSI'; 'SI' ('EXISTE' tab2 'SOUSTYPE'); 'SI' ('EGA' tab2 . 'SOUSTYPE' 'MECANISMES_PAR_ELEMENTS'); lok=lok 'ET' vrai; 'SINON'; lok=faux; 'FINSI'; 'FINSI'; 'FINSI'; * 'SI' lok; chlm1=tab2 . 1; laxi1=faux; ndonn1=4; laxi1=vrai; ndonn1=6; 'FINSI'; 'FINSI'; * ' components'; lok=faux; 'FINSI'; 'OUBL' comp1; * 'FINSI'; * 'SI' lok; * nbthet2=ndonn1*nbme1; * 'SI' ('NON' ('EXISTE' coeff)); coeff=1.d0; 'FINSI'; * tabf1='TABLE' 'VECTEUR'; 'REPE' lab1 nbme1; ind0=nbmeca1+((&lab1-1)*ndonn1); ind0=ind0+1; ind0=ind0+1; ind0=ind0+1; ind0=ind0+1; 'SI' laxi1; ind0=ind0+1; ind0=ind0+1; 'FINSI'; 'FIN' lab1; * 'SI' ('EXISTE' chp2); tabf10=0.d0; 'REPE' lab1 nbmeca1; tabf1 . &lab1=aa1; tabf10=tabf10 - (coeff*aa1); 'FIN' lab1; tabf1 . 0=tabf10; 'FINSI'; * * chp1=chp1/nchp1; * tabe1='TABLE'; tdum1='TABLE' 'VECTEUR'; tabe1 . 1=tdum1; tdum10=1.d0; 'REPE' lab1 nbmeca1; tdum1 . &lab1=aa1; tdum10=tdum10 + (coeff*aa1); 'FIN' lab1; tdum1 . 0=tdum10; * 'REPE' lab1 nbme1; ind0=1+((ndonn1/2)*(&lab1-1)); ** ind0=ind0+1; tdum1='TABLE' 'VECTEUR'; tabe1 . ind0=tdum1; tdum10=0.d0; 'REPE' lab2 nbmeca1; tdum1 . &lab2=rzp1; tdum10=tdum10 + (coeff*rzp1); fin lab2; tdum1 . 0=tdum10; jnd0=nbmeca1+(ndonn1*(&lab1-1)); tdum1 . (jnd0 + 1)=-1.d0; tdum1 . (jnd0 + 2)=1.d0; ** ind0=ind0+1; tdum1='TABLE' 'VECTEUR'; tabe1 . ind0=tdum1; tdum10=0.d0; 'REPE' lab2 nbmeca1; tdum1 . &lab2=rzp2; tdum10=tdum10 + (coeff*rzp2); fin lab2; tdum1 . 0=tdum10; jnd0=nbmeca1+(ndonn1*(&lab1-1)); tdum1 . (jnd0 + 3)=-1.d0; tdum1 . (jnd0 + 4)=1.d0; ** 'SI' laxi1; ind0=ind0+1; tdum1='TABLE' 'VECTEUR'; tabe1 . ind0=tdum1; tdum10=0.d0; 'REPE' lab2 nbmeca1; tdum1 . &lab2=up2; tdum10=tdum10 + (coeff*up2); fin lab2; tdum1 . 0=tdum10; jnd0=nbmeca1+(ndonn1*(&lab1-1)); tdum1 . (jnd0 + 5)=-1.d0; tdum1 . (jnd0 + 6)=1.d0; 'FINSI'; ** 'FIN' lab1; 'OUBL' me1; * 'SI' ('NEG' iok 0); lok=faux; 'SI' ('EGA' iok 1); 'SINON'; 'FINSI'; 'FINSI'; * 'FINSI'; * 'SI' lok; colim1=(-1.d0)/nchp1*tabp1 . 0; * 'REPE' lab1 nbmeca1; xlab1=(-1.d0)*coeff; lok='EXISTE' tabp1 &lab1; 'SI' lok; 'SI' ('EGA' tabp1 . &lab1 0.d0); lok=faux; 'FINSI'; 'FINSI'; 'SI' lok; xlab1=xlab1+tabp1 . &lab1; 'SINON'; &lab1 'is not activated --> increase coeff'; 'OUBL' tx1; 'QUITTER' lab1; 'FINSI'; tx1 . &lab1=xlab1; 'FIN' lab1; * 'FINSI'; * 'SI' lok; 'REPE' lab1 nbmeca1; 'SI' ('EGA' &lab1 1); chdlim1=(tx1 . &lab1)*(tab1 . &lab1); chrlim1=(tx1 . &lab1)*(tab2 . &lab1); 'SINON'; chdlim1=chdlim1+((tx1 . &lab1)*(tab1 . &lab1)); chrlim1=chrlim1+((tx1 . &lab1)*(tab2 . &lab1)); 'FINSI'; 'FIN' lab1; 'OUBL' tx1; 'SINON'; colim1=''; chdlim1=''; chrlim1=''; 'FINSI'; * 'FINPROC' lok colim1 chdlim1 chrlim1;
© Cast3M 2003 - Tous droits réservés.
Mentions légales