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