Download takm_moy.procedur

Back to the list

   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