Download bili_moy.procedur

Back to the list

   1 : * BILI_MOY  PROCEDUR  AM        95/12/28    21:17:33     1962           
   2 : *
   3 : debproc BILI_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 'EAYI')); EAYI=model.'EAYI'; 
  17 : 'SINON'; lok=faux;  'MESS' 'EAYI n"est pas dans model';
  18 : 'FINSI';
  19 : 'SI' (lok 'ET' ('EXISTE' model 'YMOM')); YMOM=model.'YMOM'; 
  20 : 'SINON'; lok=faux;  'MESS' 'YMOM n"est pas dans model';
  21 : 'FINSI';
  22 : 'SI' (lok 'ET' ('EXISTE' model 'INRY')); INRY=model.'INRY'; 
  23 : 'SINON'; lok=faux;  'MESS' 'INRY n"est pas dans model';
  24 : 'FINSI';
  25 : *
  26 : 'SI' (lok 'ET' ('EXISTE' model 'ELEN')); ELEN=model.'ELEN';
  27 : 'SINON'; ELEN='TIMO'; 'MESS' 'ELEN est pris egal a TIMO';
  28 : 'FINSI';
  29 : *
  30 : 'SI' lok;
  31 : *
  32 : * maillage de 1 element
  33 : *
  34 :   p1=0 0 0; p2=1 0 0;d1=p1 d 1 p2;
  35 : *
  36 : * champs nuls
  37 : *
  38 :   xx yy zz='COOR' d1;
  39 :   deplx='EXCO' (0*xx) 'SCAL' 'NOID' 'UX';
  40 :   deply='EXCO' (0*xx) 'SCAL' 'NOID' 'UY';
  41 :   rotax='EXCO' (0*xx) 'SCAL' 'NOID' 'RX';
  42 :   rotaz='EXCO' (0*xx) 'SCAL' 'NOID' 'RZ';
  43 :   chnul=deplx + deply + rotax + rotaz;
  44 : *
  45 : * modele
  46 : *
  47 :   mo=modl d1 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'BILIN_MOMY' ELEN;
  48 :   ma=matr mo 'YOUN' EELA 'NU' .2 'EAYI' EAYI 'YMOM' YMOM;
  49 :   ca=carb mo 'INRY' INRY 'SECT' 1. 'INRZ' 1. 'TORS' 1.;
  50 :   mc=ma et ca;
  51 : *
  52 : * initialisation
  53 : *
  54 :   cin=0.; ccour=prog 0.; mmoy=prog 0.;
  55 :   var0=zero mo 'VARINTER';
  56 :   sig0=zero mo 'CONTRAIN';
  57 : *
  58 : * loop sur les branches; 
  59 : *
  60 :   nbran=0; x1x=prog 0. 1.;
  61 :   'REPETER' lab1 nbcl;
  62 :   nbran=nbran+1;
  63 : *
  64 : * chargement
  65 : *
  66 :     cfin='EXTR' cycle nbran; npts='EXTR' npass nbran;
  67 :     y1y ='PROG' cin cfin;   dx=1./npts; xxx='PROG' 0. pas dx 1.;
  68 :     yyy='IPOL' xxx x1x y1y; coury='ENLE' 1 yyy;
  69 : *
  70 : * increment elastique
  71 : *
  72 :     dtx=(cfin-cin)/npts;
  73 :     rotay='EXCO' (dtx*xx) 'SCAL' 'NOID' 'RY';
  74 :     deplz='EXCO' (((-0.5)*dtx)*xx) 'SCAL' 'NOID' 'UZ';
  75 :     depy=chnul + rotay + deplz;
  76 :     esig=epsi mo mc depy;
  77 : *
  78 : * loop charge
  79 : *
  80 :     j=0; momy='PROG';
  81 :     'REPETER' lab2 npts;
  82 :        j=j+1;
  83 :        sig var xxxx='ECOULE' mo sig0 var0 esig mc;
  84 : *
  85 :        ssig='CHAN' 'CHPO' mo sig; momo='EXTR' ssig 'MOMY' p1;
  86 :        momy='INSE' momy j momo;
  87 : *
  88 :        var0=var; sig0=sig;
  89 : *
  90 :     'FIN' lab2;
  91 : *
  92 : * fin loop
  93 : *
  94 :     ccour=ccour 'ET' coury; mmoy=mmoy 'ET' momy;
  95 :     cin=cfin; 
  96 :     'MENAGE';
  97 :   'FIN' lab1;
  98 : 'FINSI';
  99 : titre 'modele plastique BILIN_MOMY';
 100 : courbe=evol manu 'Courbure' ccour 'Moment' mmoy;
 101 : *
 102 : 'FINPROC' courbe;
 103 :  

© Cast3M 2003 - All rights reserved.
Disclaimer