Download @b_tpo2d.procedur

Back to the list

   1 : * @B_TPO2D  PROCEDUR  AM        93/10/29    21:15:17     959            
   2 : *-------------------------------------------------
   3 : ******          PROCEDURE @B_TPO2D          ******
   4 : *-------------------------------------------------
   5 : *
   6 : *     CETTE PROCEDURE A ETE MISE GRACIEUSEMENT
   7 : *   A DISPOSITION DE LA COMMUNAUTE  CASTEM2000
   8 : *      PAR Miguel A. Bretones UPC Barcelona
   9 : *
  10 : *-------------------------------------------------
  11 :  'DEBPROC' @B_TPO2D TENS1*MCHAML MOD1*MMODEL FESC/FLOTTANT ;
  12 :  IDIM = 'VALE' DIME ;
  13 :  'SI' (IDIM 'NEG' 2) ;
  14 :    'MESS' 'Esta procedure solo trabaja en 2 dimensiones' ;
  15 :    'QUIT' B_TPO2D ;
  16 :  'FINSI' ;
  17 :  MALL1 = 'EXTR' TENS1 'MAIL' ;
  18 :  TEPR1 = 'PRIN' TENS1 MOD1 ;
  19 :  SIG11 = 'EXCO' TEPR1 'SI11' 'SCAL' ;
  20 :  SIG22 = 'EXCO' TEPR1 'SI22' 'SCAL' ;
  21 :  TENS2 = 'CHAN' 'CHPO' TENS1 MOD1 ;
  22 :  SIG1 = 'CHAN' 'CHPO' SIG11 MOD1 ;
  23 :  SIG2 = 'CHAN' 'CHPO' SIG22 MOD1 ;
  24 :  SX = 'EXCO' TENS2 'SMXX' 'SCAL' ;
  25 :  SY = 'EXCO' TENS2 'SMYY' 'SCAL' ;
  26 :  TXY = 'EXCO' TENS2 'SMXY' 'SCAL' ;
  27 :  MALL2 = 'CHAN' MALL1 'POI1' ;
  28 :  NPUN = 'NBNO' MALL2 ;
  29 :  CHA1T1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  30 :  CHA1C1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  31 :  CHA2T1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  32 :  CHA2C1 = 'MANU' 'CHPO' (0. 0.) 2 'VX' 0. 'VY' 0. ;
  33 :  'DETR' TEPR1 ; 'DETR' SIG11 ; 'DETR' SIG22 ; 'DETR' TENS2 ;
  34 :  IPUN = 0 ;
  35 :  'REPETER' BUCL1 NPUN ;
  36 :    IPUN = IPUN + 1 ;
  37 :    APUN = MALL2 'POIN' IPUN ;
  38 :    SXP = 'EXTR' SX 'SCAL' APUN ;
  39 :    SYP = 'EXTR' SY 'SCAL' APUN ;
  40 :    TXYP = 'EXTR' TXY 'SCAL' APUN ;
  41 :    SIG1P = 'EXTR' SIG1 'SCAL' APUN ;
  42 :    SIG2P = 'EXTR' SIG2 'SCAL' APUN ;
  43 :    'SI' ((ABS ((SIG1P * SIG2P) - (SXP *SYP))) <EG 1.E-5) ;
  44 :      MESS 'Indefinicion del angulo en el punto' ipun ;
  45 :      ALFA = 0. ;
  46 :    'SINON' ;
  47 :      ALFA = (ATG(2 * TXYP / (SXP - SYP))) / 2. ;
  48 :    'FINSI' ;
  49 :    'SI' (SIG1P >EG 0) ;
  50 :      CHA1T1 = CHA1T1 ET ('MANU' 'CHPO' APUN 2 
  51 :                       'VX' ((COS (ALFA)) * SIG1P) 
  52 :                       'VY' ((SIN (ALFA)) * SIG1P)) ;
  53 :    'SINON' ;
  54 :      CHA1C1 = CHA1C1 ET ('MANU' 'CHPO' APUN 2 
  55 :                       'VX' ((COS (ALFA)) * SIG1P) 
  56 :                       'VY' ((SIN (ALFA)) * SIG1P)) ;
  57 :    'FINSI' ;
  58 :  
  59 :    'SI' (SIG2P >EG 0) ;
  60 :      CHA2T1 = CHA2T1 ET ('MANU' 'CHPO' APUN 2 
  61 :                       'VX' ((COS (ALFA + 90)) * SIG2P)
  62 :                       'VY' ((SIN (ALFA + 90)) * SIG2P)) ;
  63 :    'SINON' ;
  64 :      CHA2C1 = CHA2C1 ET ('MANU' 'CHPO' APUN 2 
  65 :                       'VX' ((COS (ALFA + 90)) * SIG2P)
  66 :                       'VY' ((SIN (ALFA + 90)) * SIG2P)) ;
  67 :    'FINSI' ;
  68 :  'FIN' BUCL1 ;
  69 :  CHA1T2 = (-1.) * CHA1T1 ;
  70 :  CHA1C2 = (-1.) * CHA1C1 ;
  71 :  CHA2T2 = (-1.) * CHA2T1 ;
  72 :  CHA2C2 = (-1.) * CHA2C1 ;
  73 :  FLAGESC = 0 ;
  74 :  'SI' (('NON' ('EXISTE' FESC)) 'OU' (FESC <EG 0)) ;
  75 :    'SI' ('NON' ('EXISTE' FESC)) ;
  76 :      FLAGESC = 1 ;
  77 :    'FINSI' ;
  78 :    PTOEXT = MALL2 'POIN' 'PROC' (500 500) ;
  79 :    TAMC = (((PTOEXT 'COOR' 1)**2.) + ((PTOEXT 'COOR' 2)**2.))**0.5 ;
  80 :    MAXT = MAXI ABS (PROG (MAXI ABS CHA1T1) (MAXI ABS CHA2T1)
  81 :                          (MAXI ABS CHA1C1) (MAXI ABS CHA2C1)) ;
  82 :    FESC = TAMC * 0.5 / MAXT ;  
  83 :    MESS 'Factor de escala empleado' FESC ;
  84 :  'FINSI' ;
  85 :  'REPETER' BUCL2 ;
  86 :    VVEC1 = ('VECT' CHA1T1 FESC 'VX' 'VY' ROUG) ET  
  87 :            ('VECT' CHA1T2 FESC 'VX' 'VY' ROUG) ;
  88 :    VVEC2 = ('VECT' CHA1C1 FESC 'VX' 'VY' VERT) ET  
  89 :            ('VECT' CHA1C2 FESC 'VX' 'VY' VERT) ;
  90 :    VVEC3 = ('VECT' CHA2T1 FESC 'VX' 'VY' ROUG) ET  
  91 :            ('VECT' CHA2T2 FESC 'VX' 'VY' ROUG) ;
  92 :    VVEC4 = ('VECT' CHA2C1 FESC 'VX' 'VY' VERT) ET  
  93 :            ('VECT' CHA2C2 FESC 'VX' 'VY' VERT) ;
  94 :    'TITRE' 'Tensiones Principales S11 ' ;
  95 :    'TRAC' MALL1 (VVEC1 'ET' VVEC2) ;
  96 :    'TITRE' 'Tensiones Principales S22 ' ;
  97 :    'TRAC' MALL1 (VVEC3 'ET' VVEC4) ;
  98 :    'TITRE' 'Tensiones Principales' ;
  99 :    'TRAC' MALL1 (VVEC1 'ET' VVEC2 'ET' VVEC3 'ET' VVEC4) ;
 100 :    'SI' (FLAGESC > 0) ;
 101 :      'MESS' 'Desea cambiar la escala (S/N)' ;
 102 :      'OBTE' RESP*MOT ;
 103 :      'SI' ((LOG1 = 'EGA' RESP 'S') OU (LOG2 = 'EGA' RESP 's')) ;
 104 :        'MESS' 'Introduzca el nuevo factor de escala' ;
 105 :        'OBTE' FESC ;
 106 :      'SINON' ;
 107 :        'QUIT' BUCL2 ;   
 108 :      'FINSI' ;
 109 :    'SINON' ;
 110 :      'QUIT' BUCL2 ;
 111 :    'FINSI' ;
 112 :  'FIN' BUCL2 ;
 113 :  'FINPROC' ;

© Cast3M 2003 - All rights reserved.
Disclaimer