Download @algsta.procedur

Back to the list

   1 : * @ALGSTA   PROCEDUR  KICH      99/05/31    21:15:04     3569           
   2 : DEBP @ALGSTA i*ENTIER ttt*TABLE ;
   3 : 
   4 : *-----------------------------------------------------------------------
   5 : * @ALGSTA : algorithme stationnaire, pour chaque iteration :
   6 : *          - calcul de la solution elastique
   7 : *          - si probleme plastique : calcul de l'increment de 
   8 : *                                    deformation plastique
   9 : *          - si probleme elastique : test de stationnarite
  10 : *               * verifie     -> arret, (. 'CONVERGENCE' . i = vrai)
  11 : *               * non verifie -> suite du calcul
  12 : *-----------------------------------------------------------------------
  13 : 
  14 :   mess ' ' ; mess ' ' ;
  15 :   mess '*********************************************************' ;
  16 :   mess '                    ITERATION : ' i ;
  17 : 
  18 :   ttt . 'CONVERGENCE' . i = FAUX ;
  19 : 
  20 : *** solution elastique
  21 : 
  22 :   ttt . 'DEPLACEMENTS' . i = reso (ttt . 'BLOCAGES_MECANIQUES')
  23 :                              ((ttt . 'FORCES_PLASTIQUES' . (i - 1))
  24 :                              + (ttt . 'CHARGEMENT')) ;
  25 :   ttt . 'DEFORMATIONS' . i = epsi (ttt . 'MODELE')
  26 :                                   (ttt . 'DEPLACEMENTS' . i) ;
  27 :   ttt . 'CONTRAINTES'  . i = (sigm (ttt . 'MODELE')
  28 :                                    (ttt . 'CARACTERISTIQUES')
  29 :                                    (ttt . 'DEPLACEMENTS' . i))
  30 :                           - (ttt . 'CONTRAINTES_PLASTIQUES' . (i - 1)) ;
  31 : 
  32 : *** calcul du critere de plasticite pour le probleme a l'iteration i
  33 : 
  34 :   ttt . 'CRITERE_PLASTICITE' . i = @CRIPL (ttt . 'MODELE')
  35 :        (ttt . 'CONTRAINTES' . i) (ttt . 'VARIABLES_INTERNES' . (i - 1))
  36 :        (ttt . 'CARACTERISTIQUES') (ttt . 'PRECISION') ;
  37 : 
  38 : *** test du critere de plasticite
  39 : 
  40 :   si (ttt . 'CRITERE_PLASTICITE' . i . PL) ;
  41 : 
  42 : *** PROBLEME PLASTIQUE : calcul de l'increment de deformation plastique
  43 : ***                      a l'iteration i
  44 : 
  45 :   si ((vale DIME) ega 2) ;
  46 : 
  47 : *** cas 2D
  48 : 
  49 :     VVV PPP E2D V2D = @DEFPL (ttt . 'MODELE') (ttt . 'MODELE_TABLE')
  50 :      (ttt . 'CARACTERISTIQUES') (ttt . 'DEFORMATIONS' . i)
  51 :      (ttt . 'CONTRAINTES_INITIALES') 
  52 :      (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1))
  53 :      (ttt . 'VARIABLES_INTERNES' . (i - 1))
  54 :      (ttt . 'PRECISION') (ttt . EP2D . (i - 1)) (ttt . VA2D . (i - 1)) ;
  55 :     ttt . 'VARIABLES_INTERNES'      . i = VVV ;
  56 :     ttt . 'DEFORMATIONS_PLASTIQUES' . i = PPP ;
  57 :     ttt . EP2D . i = E2D ;
  58 :     ttt . VA2D . i = V2D ;
  59 : 
  60 :   finsi ;
  61 : 
  62 :   si ((vale DIME) ega 3) ;
  63 : 
  64 : *** cas 3D
  65 : 
  66 :     VVV PPP E3D V3D = @DEFPL (ttt . 'MODELE') (ttt . 'MODELE_TABLE')
  67 :      (ttt . 'CARACTERISTIQUES') (ttt . 'DEFORMATIONS' . i)
  68 :      (ttt . 'CONTRAINTES_INITIALES') 
  69 :      (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1))
  70 :      (ttt . 'VARIABLES_INTERNES' . (i - 1))
  71 :      (ttt . 'PRECISION') (ttt . EP3D . (i - 1)) (ttt . VA3D . (i - 1)) ;
  72 :     ttt . 'VARIABLES_INTERNES'      . i = VVV ;
  73 :     ttt . 'DEFORMATIONS_PLASTIQUES' . i = PPP ;
  74 :     ttt . EP3D . i = E3D ;
  75 :     ttt . VA3D . i = V3D ;
  76 : 
  77 :   finsi ;
  78 : 
  79 : *** PROBLEME ELASTIQUE : test de stationnarite, arret si test verifie
  80 :     
  81 :   sinon ;
  82 : 
  83 :     si (i >eg 2) ;
  84 :       t_sta = @TEST (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1))
  85 :                    (ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 2))
  86 :                    (ttt . 'PRECISION') ;
  87 :       si t_sta ;
  88 : 
  89 :         mess ;
  90 :         mess '           ***    CONVERGENCE DU CALCUL    ***' ;
  91 :         mess ;
  92 :         ttt . 'DEFORMATIONS_PLASTIQUES' . i = 
  93 :                           ttt . 'DEFORMATIONS_PLASTIQUES' . (i - 1) ;
  94 :         ttt . 'VARIABLES_INTERNES'      . i =
  95 :                           ttt . 'VARIABLES_INTERNES'  . (i - 1) ;
  96 :         ttt . 'CONVERGENCE'             . i = VRAI ;
  97 :         quit @ALGSTA ;
  98 :       sinon ;
  99 :         mess '           ***  SOLUTION NON STATIONNAIRE  ***' ;
 100 :       finsi ;
 101 :     finsi ;
 102 : 
 103 :   finsi ;
 104 : 
 105 : *** calcul des contraintes plastiques : (L : ep)
 106 : *** et des forces plastiques a partir de ces contraintes plastiques
 107 : *** pour la resolution du probleme elastique de l'iteration suivante
 108 :  lm2 = extr ttt . modele deformat ;
 109 :  lm1 = extr ttt . 'DEFORMATIONS_PLASTIQUES' . i comp ;
 110 :  def_ut = changer comp ttt . 'DEFORMATIONS_PLASTIQUES' . i lm1 lm2 ;
 111 :  def_ut = changer def_ut type 'DEFORMATIONS' ;
 112 : 
 113 :   ttt . 'CONTRAINTES_PLASTIQUES' . i = (ttt . 'MODELE')
 114 :      (hook (ttt . 'MODELE') (ttt . 'CARACTERISTIQUES')) *
 115 : *     (ttt . 'DEFORMATIONS_PLASTIQUES' . i) ;
 116 :      def_ut ;
 117 :   ttt . 'FORCES_PLASTIQUES'      . i = bsig (ttt . 'MODELE')
 118 :      (ttt . 'CONTRAINTES_PLASTIQUES' . i) ;
 119 : 
 120 : FINP ttt ;
 121 :  
 122 :  

© Cast3M 2003 - All rights reserved.
Disclaimer