1 : * TAKM_MOY PROCEDUR AM 95/12/28 21:47:03 1962 2 : * 3 : debproc TAKM_MOY cycle*'LISTREEL' npass*'LISTENTI' model*'TABLE'; 4 : * 5 : * verification elementaire 6 : * 7 : lok=vrai; 8 : nbcl='DIME' cycle; 9 : 'SI' (('DIME' npass) 'NEG' nbcl); 10 : lok=faux; 11 : 'MESS' 'cycle et pas n"ont pas la meme longueur'; 12 : 'FINSI'; 13 : 'SI' (lok 'ET' ('EXISTE' model 'EELA')); EELA=model.'EELA'; 14 : 'SINON'; lok=faux; 'MESS' 'EELA n"est pas dans model'; 15 : 'FINSI'; 16 : 'SI' (lok 'ET' ('EXISTE' model 'INRY')); INRY=model.'INRY'; 17 : 'SINON'; lok=faux; 'MESS' 'INRY n"est pas dans model'; 18 : 'FINSI'; 19 : * 20 : 'SI' (lok 'ET' ('EXISTE' model 'TRAC')); TTRAC=model.'TRAC'; 21 : 'SINON'; lok=faux; 'MESS' 'TRAC n"est pas dans model'; 22 : 'FINSI'; 23 : 'SI' (lok 'ET' ('EXISTE' model 'SFDP')); SFDP=model.'SFDP'; 24 : 'SINON'; lok=faux; 'MESS' 'SFDP n"est pas dans model'; 25 : 'FINSI'; 26 : 'SI' (lok 'ET' ('EXISTE' model 'SFDN')); SFDN=model.'SFDN'; 27 : 'SINON'; SFDN=SFDP; 'MESS' 'SFDN est pris egal a SFDP'; 28 : 'FINSI'; 29 : 'SI' (lok 'ET' ('EXISTE' model 'PINP')); PINP=model.'PINP'; 30 : 'SINON'; lok=faux; 'MESS' 'PINP n"est pas dans model'; 31 : 'FINSI'; 32 : 'SI' (lok 'ET' ('EXISTE' model 'PINN')); PINN=model.'PINN'; 33 : 'SINON'; PINN=(-1)*PINP; 'MESS' 'PINN est pris egal a -PINP'; 34 : 'FINSI'; 35 : 'SI' (lok 'ET' ('EXISTE' model 'SRDP')); SRDP=model.'SRDP'; 36 : 'SINON'; lok=faux; 'MESS' 'SRDP n"est pas dans model'; 37 : 'FINSI'; 38 : 'SI' (lok 'ET' ('EXISTE' model 'SRDN')); SRDN=model.'SRDN'; 39 : 'SINON'; SRDN=SRDP; 'MESS' 'SRDN est pris egal a SRDP'; 40 : 'FINSI'; 41 : * 42 : 'SI' (lok 'ET' ('EXISTE' model 'ELEN')); ELEN=model.'ELEN'; 43 : 'SINON'; ELEN='TIMO'; 'MESS' 'ELEN est pris egal a TIMO'; 44 : 'FINSI'; 45 : * 46 : 'SI' lok; 47 : * 48 : * maillage de 1 element 49 : * 50 : p1=0 0 0; p2=1 0 0;d1=p1 d 1 p2; 51 : * 52 : * champs nuls 53 : * 54 : xx yy zz='COOR' d1; 55 : deplx='EXCO' (0*xx) 'SCAL' 'NOID' 'UX'; 56 : deply='EXCO' (0*xx) 'SCAL' 'NOID' 'UY'; 57 : rotax='EXCO' (0*xx) 'SCAL' 'NOID' 'RX'; 58 : rotaz='EXCO' (0*xx) 'SCAL' 'NOID' 'RZ'; 59 : chnul=deplx + deply + rotax + rotaz; 60 : * 61 : * modele 62 : * 63 : mo=modl d1 mecanique elastique plastique takemo_momy ELEN; 64 : ma=matr mo 'YOUN' EELA 'NU' .2 'TRAC' TTRAC 'SFDP' SFDP 'SFDN' SFDN 65 : 'PINP' PINP 'PINN' PINN 'SRDP' SRDP 'SRDN' SRDN; 66 : ca=carb mo 'INRY' INRY 'SECT' 1. 'INRZ' 1. 'TORS' 1.; 67 : mc=ma et ca; 68 : * 69 : * initialisation 70 : * 71 : cin=0.; ccour=prog 0.; mmoy=prog 0.; 72 : var0=zero mo 'VARINTER'; 73 : sig0=zero mo 'CONTRAIN'; 74 : * 75 : * loop sur les branches; 76 : * 77 : nbran=0; x1x=prog 0. 1.; 78 : 'REPETER' lab1 nbcl; 79 : nbran=nbran+1; 80 : * 81 : * chargement 82 : * 83 : cfin='EXTR' cycle nbran; npts='EXTR' npass nbran; 84 : y1y ='PROG' cin cfin; dx=1./npts; xxx='PROG' 0. pas dx 1.; 85 : yyy='IPOL' xxx x1x y1y; coury='ENLE' 1 yyy; 86 : * 87 : * increment elastique 88 : * 89 : dtx=(cfin-cin)/npts; 90 : rotay='EXCO' (dtx*xx) 'SCAL' 'NOID' 'RY'; 91 : deplz='EXCO' (((-0.5)*dtx)*xx) 'SCAL' 'NOID' 'UZ'; 92 : depy=chnul + rotay + deplz; 93 : esig=epsi mo mc depy; 94 : * 95 : * loop charge 96 : * 97 : j=0; momy='PROG'; 98 : 'REPETER' lab2 npts; 99 : j=j+1; 100 : sig var xxxx='ECOU' mo sig0 var0 esig mc; 101 : * 102 : ssig='CHAN' 'CHPO' mo sig; momo='EXTR' ssig 'MOMY' p1; 103 : momy='INSE' momy j momo; 104 : * 105 : var0=var; sig0=sig; 106 : * 107 : 'FIN' lab2; 108 : * 109 : * fin loop 110 : * 111 : ccour=ccour 'ET' coury; mmoy=mmoy 'ET' momy; 112 : cin=cfin; 113 : 'MENAGE'; 114 : 'FIN' lab1; 115 : 'FINSI'; 116 : * 117 : titre 'modele plastique TAKEDA_MODIFIE'; 118 : courbe=evol manu 'Courbure' ccour 'Moment' mmoy; 119 : * 120 : 'FINPROC' courbe; 121 :
© Cast3M 2003 - All rights reserved.
Disclaimer