$$$$ @KEFF * @KEFF PROCEDUR PV 09/12/23 21:15:07 6590 *23456789123456789123456789123456789123456789123456789123456789123456789 ************************************************************************ ************************************************************************ * * PROCEDURE DE CALCUL DU COMPOPRTEMENT EFFECTIF D'UNE MICROSTRUTURE * * L. GELEBART 25/09/2008 * ************************************************************************ ************************************************************************ DEBPROC @KEFF MOD1*MMODEL MAT1*MCHAML CLIM1*PROCEDUR AMPL1*FLOTTANT CONV1*ENTIER VISU1*TABLE; * *PCLIM1 = MOT CLIM1; MAIL1 = MOD1 EXTR 'MAIL'; AMPL2 = AMPL1 * 1.e-6; * * DEFINITION DES 6 CHARGEMENTS *=================================================== ETAB = TABLE; ETAB . 1 = TABLE; ETAB . 1 . 1 = AMPL1; ETAB . 1 . 2 = AMPL2; ETAB . 1 . 3 = AMPL2; ETAB . 1 . 4 = AMPL2; ETAB . 1 . 5 = AMPL2; ETAB . 1 . 6 = AMPL2; ETAB . 2 = TABLE; ETAB . 2 . 1 = AMPL2; ETAB . 2 . 2 = AMPL1; ETAB . 2 . 3 = AMPL2; ETAB . 2 . 4 = AMPL2; ETAB . 2 . 5 = AMPL2; ETAB . 2 . 6 = AMPL2; ETAB . 3 = TABLE; ETAB . 3 . 1 = AMPL2; ETAB . 3 . 2 = AMPL2; ETAB . 3 . 3 = AMPL1; ETAB . 3 . 4 = AMPL2; ETAB . 3 . 5 = AMPL2; ETAB . 3 . 6 = AMPL2; ETAB . 4 = TABLE; ETAB . 4 . 1 = AMPL2; ETAB . 4 . 2 = AMPL2; ETAB . 4 . 3 = AMPL2; ETAB . 4 . 4 = AMPL1; ETAB . 4 . 5 = AMPL2; ETAB . 4 . 6 = AMPL2; ETAB . 5 = TABLE; ETAB . 5 . 1 = AMPL2; ETAB . 5 . 2 = AMPL2; ETAB . 5 . 3 = AMPL2; ETAB . 5 . 4 = AMPL2; ETAB . 5 . 5 = AMPL1; ETAB . 5 . 6 = AMPL2; ETAB . 6 = TABLE; ETAB . 6 . 1 = AMPL2; ETAB . 6 . 2 = AMPL2; ETAB . 6 . 3 = AMPL2; ETAB . 6 . 4 = AMPL2; ETAB . 6 . 5 = AMPL2; ETAB . 6 . 6 = AMPL1; * * INITIALISATIONS *=================================================== * Systeme lineaire *------------------- KSL0 = TABLE; KSL1 = TABLE; VSL0 = TABLE; VSL1 = TABLE; I0 = 0; REPETE BOUI0 36; I0 = I0 + 1; VSL0 . I0 = 0.; VSL1 . I0 = 0.; KSL0 . I0 = TABLE; KSL1 . I0 = TABLE; J0 = 0; REPETE BOUJ0 36; J0 = J0 + 1; KSL0 . I0 . J0 = 0.;KSL1 . I0 . J0 = 0.; FIN BOUJ0; FIN BOUI0; * tables de sortie (contraintes et deformations moyennes) *---------------------------------------------------------- C = TABLE; C . 1 = TABLE; C . 2 = TABLE; C . 3 = TABLE; C . 4 = TABLE; C . 5 = TABLE; C . 6 = TABLE; * * D = TABLE; D . 1 = TABLE; D . 2 = TABLE; D . 3 = TABLE; D . 4 = TABLE; D . 5 = TABLE; D . 6 = TABLE; * * BOUCLE SUR LES CHARGEMENTS *=================================================== I = 0; REPETER CHGT 6; I = I + 1; ETAB1 = TABLE (ETAB . I); RIG1 FTOT1 = CLIM1 MAIL1 ETAB1; *K = 0.; QUITTER @KEFF; * * CALCUL ELASTIQUE *------------------------------- RIGMAT = RIGI MOD1 MAT1; KTOT1 = RIGMAT ET RIG1; DEP1 = RESOU KTOT1 FTOT1; DEFO0 = DEFO DEP1 MAIL1 0.; DEFO1 = DEFO DEP1 MAIL1 1. ROUGE; SI ((VISU1 . 1) EGA 1); trac (DEFO0 ET DEFO1) CACH; FINSI; * DEF1 = EPSI MOD1 DEP1; SIG1 = SIGMA MOD1 MAT1 DEP1; SI ((VISU1 . 2) EGA 1); TRAC MOD1 SIG1; FINSI; SI ((VISU1 . 3) EGA 1); TRAC MOD1 DEF1; FINSI; * * POST-TRAITEMENT * (contraintes et deformation moyennes) *------------------------------- V1 = MESU MAIL1; * SXX1 = (INTG SIG1 MOD1 SMXX) / V1; SYY1 = (INTG SIG1 MOD1 SMYY) / V1; SZZ1 = (INTG SIG1 MOD1 SMZZ) / V1; SXY1 = (INTG SIG1 MOD1 SMXY) / V1; SXZ1 = (INTG SIG1 MOD1 SMXZ) / V1; SYZ1 = (INTG SIG1 MOD1 SMYZ) / V1; * EXX1 = (INTG DEF1 MOD1 EPXX) / V1; EYY1 = (INTG DEF1 MOD1 EPYY) / V1; EZZ1 = (INTG DEF1 MOD1 EPZZ) / V1; EXY1 = (INTG DEF1 MOD1 GAXY) / (2 * V1); EYZ1 = (INTG DEF1 MOD1 GAYZ) / (2 * V1); EXZ1 = (INTG DEF1 MOD1 GAXZ) / (2 * V1); * * ECRITURE DES RESULTATS DANS DES TABLES (pour les 6 chargements) *----------------------------------------------------------------- C . 1 . I = SXX1; C . 2 . I = SYY1; C . 3 . I = SZZ1; C . 4 . I = SXY1; C . 5 . I = SXZ1; C . 6 . I = SYZ1; * D . 1 . I = EXX1; D . 2 . I = EYY1; D . 3 . I = EZZ1; D . 4 . I = EXY1; D . 5 . I = EXZ1; D . 6 . I = EYZ1; * * DEFINITION DU SYTEME LINEAIRE 36*36 *------------------------------------- * !!! mauvais arrangement des equationr pour RESO * SI (CONV1 EGA 0); EXY2 = 2. * EXY1; EXZ2 = 2. * EXZ1; EYZ2 = 2. * EYZ1; SXY2 = SXY1; SXZ2 = SXZ1; SYZ2 = SYZ1; FINSI; SI (CONV1 EGA 1); RA2 = 2. ** 0.5; EXY2 = RA2 * EXY1; EXZ2 = RA2 * EXZ1; EYZ2 = RA2 * EYZ1; SXY2 = RA2 * SXY1; SXZ2 = RA2 * SXZ1; SYZ2 = RA2 * SYZ1; FINSI; * J0 = 0; REPETE BOUJ0 6; J0 = J0 + 1; KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 1) = EXX1; KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 2) = EYY1; KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 3) = EZZ1; KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 4) = EXY2; KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 5) = EXZ2; KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 6) = EYZ2; FIN BOUJ0; * VSL0 . (1 + (6 *(I-1))) = SXX1; VSL0 . (2 + (6 *(I-1))) = SYY1; VSL0 . (3 + (6 *(I-1))) = SZZ1; VSL0 . (4 + (6 *(I-1))) = SXY2; VSL0 . (5 + (6 *(I-1))) = SXZ2; VSL0 . (6 + (6 *(I-1))) = SYZ2; * FIN CHGT; * * FIN BOUCLE SUR LES CHARGEMENTS * RESOLUTION SYST LINEAIRE *=================================================== * * rearrangement des equations KSL0 et VSL0! *------------------------------------------- I0 = 0; REPETE BOUA0 36; I0 = I0 + 1; KSL1 . 1 . I0 = KSL0 . 1 . I0; VSL1 . 1 = VSL0 . 1; KSL1 . 2 . I0 = KSL0 . 7 . I0; VSL1 . 2 = VSL0 . 7; KSL1 . 3 . I0 = KSL0 . 13 . I0; VSL1 . 3 = VSL0 . 13; KSL1 . 4 . I0 = KSL0 . 19 . I0; VSL1 . 4 = VSL0 . 19; KSL1 . 5 . I0 = KSL0 . 25 . I0; VSL1 . 5 = VSL0 . 25; KSL1 . 6 . I0 = KSL0 . 31 . I0; VSL1 . 6 = VSL0 . 31; * KSL1 . 7 . I0 = KSL0 . 2 . I0; VSL1 . 7 = VSL0 . 2; KSL1 . 8 . I0 = KSL0 . 8 . I0; VSL1 . 8 = VSL0 . 8; KSL1 . 9 . I0 = KSL0 . 14 . I0; VSL1 . 9 = VSL0 . 14; KSL1 . 10 . I0 = KSL0 . 20 . I0; VSL1 . 10 = VSL0 . 20; KSL1 . 11 . I0 = KSL0 . 26 . I0; VSL1 . 11 = VSL0 . 26; KSL1 . 12 . I0 = KSL0 . 32 . I0; VSL1 . 12 = VSL0 . 32; * KSL1 . 13 . I0 = KSL0 . 3 . I0; VSL1 . 13 = VSL0 . 3; KSL1 . 14 . I0 = KSL0 . 9 . I0; VSL1 . 14 = VSL0 . 9; KSL1 . 15 . I0 = KSL0 . 15 . I0; VSL1 . 15 = VSL0 . 15; KSL1 . 16 . I0 = KSL0 . 21 . I0; VSL1 . 16 = VSL0 . 21; KSL1 . 17 . I0 = KSL0 . 27 . I0; VSL1 . 17 = VSL0 . 27; KSL1 . 18 . I0 = KSL0 . 33 . I0; VSL1 . 18 = VSL0 . 33; * KSL1 . 19 . I0 = KSL0 . 4 . I0; VSL1 . 19 = VSL0 . 4; KSL1 . 20 . I0 = KSL0 . 10 . I0; VSL1 . 20 = VSL0 . 10; KSL1 . 21 . I0 = KSL0 . 16 . I0; VSL1 . 21 = VSL0 . 16; KSL1 . 22 . I0 = KSL0 . 22 . I0; VSL1 . 22 = VSL0 . 22; KSL1 . 23 . I0 = KSL0 . 28 . I0; VSL1 . 23 = VSL0 . 28; KSL1 . 24 . I0 = KSL0 . 34 . I0; VSL1 . 24 = VSL0 . 34; * KSL1 . 25 . I0 = KSL0 . 5 . I0; VSL1 . 25 = VSL0 . 5; KSL1 . 26 . I0 = KSL0 . 11 . I0; VSL1 . 26 = VSL0 . 11; KSL1 . 27 . I0 = KSL0 . 17 . I0; VSL1 . 27 = VSL0 . 17; KSL1 . 28 . I0 = KSL0 . 23 . I0; VSL1 . 28 = VSL0 . 23; KSL1 . 29 . I0 = KSL0 . 29 . I0; VSL1 . 29 = VSL0 . 29; KSL1 . 30 . I0 = KSL0 . 35 . I0; VSL1 . 30 = VSL0 . 35; * KSL1 . 31 . I0 = KSL0 . 6 . I0; VSL1 . 31 = VSL0 . 6; KSL1 . 32 . I0 = KSL0 . 12 . I0; VSL1 . 32 = VSL0 . 12; KSL1 . 33 . I0 = KSL0 . 18 . I0; VSL1 . 33 = VSL0 . 18; KSL1 . 34 . I0 = KSL0 . 24 . I0; VSL1 . 34 = VSL0 . 24; KSL1 . 35 . I0 = KSL0 . 30 . I0; VSL1 . 35 = VSL0 . 30; KSL1 . 36 . I0 = KSL0 . 36 . I0; VSL1 . 36 = VSL0 . 36; * FIN BOUA0; * *CALCUL DU TENSEUR EFFECTIF *-------------------------- * KEFF1 = @SYSLIN KSL1 VSL1; K = TABLE; I0 = 0; J0 = 0; i = 0; REPETE BOUI0 6; I0 = I0 + 1; K . I0 = TABLE; J0 = 0; REPETE BOUJ0 6; J0 = J0 + 1; i = i+1; K . I0 . J0 = KEFF1 . i; FIN BOUJ0; FIN BOUI0; * * FINPROC K C D; ************************************************************************ * FIN DE LA PROCEDURE @KEFF ************************************************************************