Download @keff.procedur

Back to the list

   1 : * @KEFF     PROCEDUR  PV        09/12/23    21:15:07     6590           
   2 : *23456789123456789123456789123456789123456789123456789123456789123456789
   3 : ************************************************************************
   4 : ************************************************************************
   5 : *
   6 : *  PROCEDURE DE CALCUL DU COMPOPRTEMENT EFFECTIF D'UNE MICROSTRUTURE
   7 : *
   8 : *  L. GELEBART 25/09/2008
   9 : *
  10 : ************************************************************************
  11 : ************************************************************************
  12 : DEBPROC @KEFF MOD1*MMODEL  MAT1*MCHAML CLIM1*PROCEDUR AMPL1*FLOTTANT 
  13 :               CONV1*ENTIER VISU1*TABLE;
  14 : *
  15 : *PCLIM1 = MOT CLIM1;
  16 : MAIL1 = MOD1 EXTR 'MAIL';
  17 : AMPL2 = AMPL1 * 1.e-6;
  18 : * 
  19 : *                       DEFINITION DES 6 CHARGEMENTS
  20 : *===================================================
  21 : ETAB = TABLE;
  22 : ETAB . 1 = TABLE;
  23 : ETAB . 1 . 1 = AMPL1; ETAB . 1 . 2 = AMPL2; ETAB . 1 . 3 = AMPL2;
  24 : ETAB . 1 . 4 = AMPL2; ETAB . 1 . 5 = AMPL2; ETAB . 1 . 6 = AMPL2;
  25 : ETAB . 2 = TABLE;
  26 : ETAB . 2 . 1 = AMPL2; ETAB . 2 . 2 = AMPL1; ETAB . 2 . 3 = AMPL2;
  27 : ETAB . 2 . 4 = AMPL2; ETAB . 2 . 5 = AMPL2; ETAB . 2 . 6 = AMPL2;
  28 : ETAB . 3 = TABLE;
  29 : ETAB . 3 . 1 = AMPL2; ETAB . 3 . 2 = AMPL2; ETAB . 3 . 3 = AMPL1;
  30 : ETAB . 3 . 4 = AMPL2; ETAB . 3 . 5 = AMPL2; ETAB . 3 . 6 = AMPL2;
  31 : ETAB . 4 = TABLE;
  32 : ETAB . 4 . 1 = AMPL2; ETAB . 4 . 2 = AMPL2; ETAB . 4 . 3 = AMPL2;
  33 : ETAB . 4 . 4 = AMPL1; ETAB . 4 . 5 = AMPL2; ETAB . 4 . 6 = AMPL2;
  34 : ETAB . 5 = TABLE;
  35 : ETAB . 5 . 1 = AMPL2; ETAB . 5 . 2 = AMPL2; ETAB . 5 . 3 = AMPL2;
  36 : ETAB . 5 . 4 = AMPL2; ETAB . 5 . 5 = AMPL1; ETAB . 5 . 6 = AMPL2;
  37 : ETAB . 6 = TABLE;
  38 : ETAB . 6 . 1 = AMPL2; ETAB . 6 . 2 = AMPL2; ETAB . 6 . 3 = AMPL2;
  39 : ETAB . 6 . 4 = AMPL2; ETAB . 6 . 5 = AMPL2; ETAB . 6 . 6 = AMPL1;
  40 : *
  41 : *                                    INITIALISATIONS
  42 : *===================================================
  43 : *   Systeme lineaire
  44 : *-------------------
  45 : KSL0 = TABLE; KSL1 = TABLE;
  46 : VSL0 = TABLE; VSL1 = TABLE;
  47 : I0 = 0;
  48 : REPETE BOUI0 36;
  49 : I0 = I0 + 1;
  50 : VSL0 . I0 = 0.; VSL1 . I0 = 0.;
  51 : KSL0 . I0 = TABLE; KSL1 . I0 = TABLE;
  52 : J0 = 0;
  53 : REPETE BOUJ0 36;
  54 : J0 = J0 + 1;
  55 : KSL0 . I0 . J0 = 0.;KSL1 . I0 . J0 = 0.;
  56 : FIN BOUJ0;
  57 : FIN BOUI0;
  58 : *   tables de sortie (contraintes et deformations moyennes)
  59 : *----------------------------------------------------------
  60 : C = TABLE;
  61 : C . 1 = TABLE; C . 2 = TABLE; C . 3 = TABLE;
  62 : C . 4 = TABLE; C . 5 = TABLE; C . 6 = TABLE;
  63 : *
  64 : *
  65 : D = TABLE;
  66 : D . 1 = TABLE; D . 2 = TABLE; D . 3 = TABLE;
  67 : D . 4 = TABLE; D . 5 = TABLE; D . 6 = TABLE;
  68 : *
  69 : *                         BOUCLE SUR LES CHARGEMENTS
  70 : *===================================================
  71 : I = 0;
  72 : REPETER CHGT 6;
  73 : I = I + 1;
  74 : ETAB1 = TABLE (ETAB . I);
  75 : RIG1 FTOT1 = CLIM1 MAIL1 ETAB1;
  76 : *K = 0.; QUITTER @KEFF;
  77 : *
  78 : *               CALCUL ELASTIQUE
  79 : *-------------------------------
  80 : RIGMAT = RIGI MOD1 MAT1;
  81 : KTOT1 = RIGMAT ET RIG1;
  82 : DEP1 = RESOU KTOT1 FTOT1;
  83 : DEFO0 = DEFO DEP1 MAIL1 0.;
  84 : DEFO1 = DEFO DEP1 MAIL1 1. ROUGE;
  85 : SI ((VISU1 . 1) EGA 1);
  86 : trac (DEFO0 ET DEFO1) CACH;
  87 : FINSI;
  88 : *
  89 : DEF1 = EPSI MOD1 DEP1;
  90 : SIG1 = SIGMA MOD1 MAT1 DEP1;
  91 : SI ((VISU1 . 2) EGA 1);
  92 : TRAC MOD1 SIG1;
  93 : FINSI;
  94 : SI ((VISU1 . 3) EGA 1);
  95 : TRAC MOD1 DEF1;
  96 : FINSI;
  97 : *
  98 : *                POST-TRAITEMENT
  99 : *  (contraintes et deformation moyennes)
 100 : *-------------------------------
 101 : V1 = MESU MAIL1;
 102 : *
 103 : SXX1 = (INTG SIG1 MOD1 SMXX) / V1;
 104 : SYY1 = (INTG SIG1 MOD1 SMYY) / V1;
 105 : SZZ1 = (INTG SIG1 MOD1 SMZZ) / V1;
 106 : SXY1 = (INTG SIG1 MOD1 SMXY) / V1;
 107 : SXZ1 = (INTG SIG1 MOD1 SMXZ) / V1;
 108 : SYZ1 = (INTG SIG1 MOD1 SMYZ) / V1;
 109 : *
 110 : EXX1 = (INTG DEF1 MOD1 EPXX) / V1;
 111 : EYY1 = (INTG DEF1 MOD1 EPYY) / V1;
 112 : EZZ1 = (INTG DEF1 MOD1 EPZZ) / V1;
 113 : EXY1 = (INTG DEF1 MOD1 GAXY) / (2 * V1);
 114 : EYZ1 = (INTG DEF1 MOD1 GAYZ) / (2 * V1);
 115 : EXZ1 = (INTG DEF1 MOD1 GAXZ) / (2 * V1);
 116 : *
 117 : * ECRITURE DES RESULTATS DANS DES TABLES (pour les 6 chargements)
 118 : *-----------------------------------------------------------------
 119 : C . 1 . I = SXX1;
 120 : C . 2 . I = SYY1;
 121 : C . 3 . I = SZZ1;
 122 : C . 4 . I = SXY1;
 123 : C . 5 . I = SXZ1;
 124 : C . 6 . I = SYZ1;
 125 : *
 126 : D . 1 . I = EXX1;
 127 : D . 2 . I = EYY1;
 128 : D . 3 . I = EZZ1;
 129 : D . 4 . I = EXY1;
 130 : D . 5 . I = EXZ1;
 131 : D . 6 . I = EYZ1;
 132 : *
 133 : *  DEFINITION DU SYTEME LINEAIRE 36*36                       
 134 : *-------------------------------------
 135 : * !!! mauvais arrangement des equationr pour RESO 
 136 : *
 137 : SI (CONV1 EGA 0);
 138 : EXY2 = 2. * EXY1; EXZ2 = 2. * EXZ1; EYZ2 = 2. * EYZ1;
 139 : SXY2 = SXY1; SXZ2 = SXZ1; SYZ2 = SYZ1;
 140 : FINSI;
 141 : SI (CONV1 EGA 1);
 142 : RA2 = 2. ** 0.5;
 143 : EXY2 = RA2 * EXY1; EXZ2 = RA2 * EXZ1; EYZ2 = RA2 * EYZ1;
 144 : SXY2 = RA2 * SXY1; SXZ2 = RA2 * SXZ1; SYZ2 = RA2 * SYZ1;
 145 : FINSI;
 146 : *
 147 : J0 = 0;
 148 : REPETE BOUJ0 6;
 149 : J0 = J0 + 1;
 150 : KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 1) = EXX1; 
 151 : KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 2) = EYY1; 
 152 : KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 3) = EZZ1; 
 153 : KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 4) = EXY2; 
 154 : KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 5) = EXZ2; 
 155 : KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 6) = EYZ2; 
 156 : FIN BOUJ0;
 157 : *
 158 : VSL0 . (1 + (6 *(I-1))) = SXX1;
 159 : VSL0 . (2 + (6 *(I-1))) = SYY1;
 160 : VSL0 . (3 + (6 *(I-1))) = SZZ1;
 161 : VSL0 . (4 + (6 *(I-1))) = SXY2;
 162 : VSL0 . (5 + (6 *(I-1))) = SXZ2;
 163 : VSL0 . (6 + (6 *(I-1))) = SYZ2;
 164 : *
 165 : FIN CHGT;
 166 : *
 167 : *                     FIN BOUCLE SUR LES CHARGEMENTS
 168 : *                           RESOLUTION SYST LINEAIRE
 169 : *===================================================
 170 : *
 171 : * rearrangement des equations KSL0 et VSL0!
 172 : *-------------------------------------------
 173 : I0 = 0;
 174 : REPETE BOUA0 36;
 175 : I0 = I0 + 1;
 176 : KSL1 . 1 . I0 = KSL0 . 1 . I0; VSL1 . 1 = VSL0 . 1;
 177 : KSL1 . 2 . I0 = KSL0 . 7 . I0; VSL1 . 2 = VSL0 . 7;
 178 : KSL1 . 3 . I0 = KSL0 . 13 . I0; VSL1 . 3 = VSL0 . 13;
 179 : KSL1 . 4 . I0 = KSL0 . 19 . I0; VSL1 . 4 = VSL0 . 19;
 180 : KSL1 . 5 . I0 = KSL0 . 25 . I0; VSL1 . 5 = VSL0 . 25;
 181 : KSL1 . 6 . I0 = KSL0 . 31 . I0; VSL1 . 6 = VSL0 . 31;
 182 : *
 183 : KSL1 . 7 . I0 = KSL0 . 2 . I0; VSL1 . 7 = VSL0 . 2;
 184 : KSL1 . 8 . I0 = KSL0 . 8 . I0; VSL1 . 8 = VSL0 . 8;
 185 : KSL1 . 9 . I0 = KSL0 . 14 . I0; VSL1 . 9 = VSL0 . 14;
 186 : KSL1 . 10 . I0 = KSL0 . 20 . I0; VSL1 . 10 = VSL0 . 20;
 187 : KSL1 . 11 . I0 = KSL0 . 26 . I0; VSL1 . 11 = VSL0 . 26;
 188 : KSL1 . 12 . I0 = KSL0 . 32 . I0; VSL1 . 12 = VSL0 . 32;
 189 : *
 190 : KSL1 . 13 . I0 = KSL0 . 3 . I0; VSL1 . 13 = VSL0 . 3;
 191 : KSL1 . 14 . I0 = KSL0 . 9 . I0; VSL1 . 14 = VSL0 . 9;
 192 : KSL1 . 15 . I0 = KSL0 . 15 . I0; VSL1 . 15 = VSL0 . 15;
 193 : KSL1 . 16 . I0 = KSL0 . 21 . I0; VSL1 . 16 = VSL0 . 21;
 194 : KSL1 . 17 . I0 = KSL0 . 27 . I0; VSL1 . 17 = VSL0 . 27;
 195 : KSL1 . 18 . I0 = KSL0 . 33 . I0; VSL1 . 18 = VSL0 . 33;
 196 : *
 197 : KSL1 . 19 . I0 = KSL0 . 4 . I0; VSL1 . 19 = VSL0 . 4;
 198 : KSL1 . 20 . I0 = KSL0 . 10 . I0; VSL1 . 20 = VSL0 . 10;
 199 : KSL1 . 21 . I0 = KSL0 . 16 . I0; VSL1 . 21 = VSL0 . 16;
 200 : KSL1 . 22 . I0 = KSL0 . 22 . I0; VSL1 . 22 = VSL0 . 22;
 201 : KSL1 . 23 . I0 = KSL0 . 28 . I0; VSL1 . 23 = VSL0 . 28;
 202 : KSL1 . 24 . I0 = KSL0 . 34 . I0; VSL1 . 24 = VSL0 . 34;
 203 : *
 204 : KSL1 . 25 . I0 = KSL0 . 5 . I0; VSL1 . 25 = VSL0 . 5;
 205 : KSL1 . 26 . I0 = KSL0 . 11 . I0; VSL1 . 26 = VSL0 . 11;
 206 : KSL1 . 27 . I0 = KSL0 . 17 . I0; VSL1 . 27 = VSL0 . 17;
 207 : KSL1 . 28 . I0 = KSL0 . 23 . I0; VSL1 . 28 = VSL0 . 23;
 208 : KSL1 . 29 . I0 = KSL0 . 29 . I0; VSL1 . 29 = VSL0 . 29;
 209 : KSL1 . 30 . I0 = KSL0 . 35 . I0; VSL1 . 30 = VSL0 . 35;
 210 : *
 211 : KSL1 . 31 . I0 = KSL0 . 6 . I0; VSL1 . 31 = VSL0 . 6;
 212 : KSL1 . 32 . I0 = KSL0 . 12 . I0; VSL1 . 32 = VSL0 . 12;
 213 : KSL1 . 33 . I0 = KSL0 . 18 . I0; VSL1 . 33 = VSL0 . 18;
 214 : KSL1 . 34 . I0 = KSL0 . 24 . I0; VSL1 . 34 = VSL0 . 24;
 215 : KSL1 . 35 . I0 = KSL0 . 30 . I0; VSL1 . 35 = VSL0 . 30;
 216 : KSL1 . 36 . I0 = KSL0 . 36 . I0; VSL1 . 36 = VSL0 . 36;
 217 : *
 218 : FIN BOUA0;
 219 : *
 220 : *CALCUL DU TENSEUR EFFECTIF
 221 : *--------------------------
 222 : *
 223 : KEFF1 = @SYSLIN KSL1 VSL1;
 224 : K = TABLE;
 225 : I0 = 0;
 226 : J0 = 0;
 227 : i = 0;
 228 : REPETE BOUI0 6;
 229 : I0 = I0 + 1;
 230 : K . I0 = TABLE;
 231 : J0 = 0;
 232 : REPETE BOUJ0 6;
 233 : J0 = J0 + 1;
 234 : i = i+1;
 235 : K . I0 . J0 = KEFF1 . i;
 236 : FIN BOUJ0;
 237 : FIN BOUI0;
 238 : *
 239 : *
 240 : FINPROC K C D;
 241 : ************************************************************************
 242 : *  FIN DE LA PROCEDURE @KEFF
 243 : ************************************************************************
 244 :  

© Cast3M 2003 - All rights reserved.
Disclaimer