Download arcgau.procedur

Back to the list

   1 : * ARCGAU    PROCEDUR  DEGAY     95/05/11    21:15:10     1663           
   2 : DEBPROC ARCGAU TAB1*TABLE;
   3 : ********************************************************************
   4 : *  PROCEDURE ARCGAU : Calcul du champ de température créé par le   *
   5 : *              déplacement d'un arc de soudure et calcul de la     *
   6 : *              largeur de bain                                     *
   7 : *        (D'après Rosenthal)                                       *
   8 : ********************************************************************
   9 : *  Entrées : TABLE :                                               *
  10 : *            'PUISSANCE' : REEL : Puissance de l'arc (en W)        *
  11 : *            'RENDEMENT' : REEL : Rendement de l'arc : Rapport de  *
  12 : *               la puissance recue par la pièce et de la puissance *
  13 : *               de l'arc                                           *
  14 : *            'DIFFUSVITE' : REEL : Diffusivité thermique du        *
  15 : *               matériau (en m2/s)                                 *
  16 : *            'CONDUCTIVITE' : REEL : Conductivité thermique du     *
  17 : *               matériau (en W/Km2)                                *
  18 : *            'VITESSE' : REEL : Vitesse de déplacement de l'arc    *
  19 : *               (en m/s)                                           *
  20 : *            'T0' : REEL : Température ambiante (en °C ou en K)    *
  21 : *            'NTERMES' : ENTIER : Nombre de termes de la somme     *
  22 : *            'MAILLAGE' : MAILLAGE : Maillage support du champ de  *
  23 : *               température                                        *
  24 : *            'EPAISSEUR' : REEL : Epaisseur de la pièce (en m)     *
  25 : *            'LOCAL' : BOOLEEN : VRAI si la pièce est décrite dans *
  26 : *               le repère local à l'arc                            *
  27 : *            'INSTANT' : REEL : Si 'LOCAL' est FAUX, instant       *
  28 : *               auquel il faut calculer le champ de température    *
  29 : *               (l'abscisse de l'arc est alors V*t) (en s)         *
  30 : *            'TFUSION' : REEL : Température de fusion (en °C       *
  31 : *               ou en K)                                           *
  32 : *            'PRECISION' : REEL : Précision du calcul de la        *
  33 : *               largeur de bain (en m)                             *
  34 : *            'NSURFACES' : ENTIER : Nombre de surfaces sur         *
  35 : *               lesquelles la largeur de bain doit être calculée   * 
  36 : *            'SURFACE' : TABLE :                                   *
  37 : *                    'SURFACE'.I : MAILLAGE : i-ème surface sur    *
  38 : *                       laquelle la largeur de bain doit être      *
  39 : *                       calculée                                   *
  40 : *            'GAUSS' : BOOLEEN : VRAI si la source est gaussienne  *
  41 : *            'ECART-TYPE' : REEL : Ecart-type de la gaussienne     *
  42 : *               (en m)                                             *
  43 : *  Sortie  : CHPOINT : Champ de température (en °C ou en K)        *
  44 : *            Dans la table en entrée :                             *
  45 : *               'LARGEUR' : TABLE :                                *
  46 : *                    'LARGEUR'.I : REEL : Largeur de bain calculée * 
  47 : *                        sur la i-ème surface                      *
  48 : *               'XBAIN' : TABLE :
  49 : *                    'XBAIN'.I : REEL : Abscisse à laquelle la     *
  50 : *                        largeur de bain est maximale pour la      *
  51 : *                        i-ème surface                             *
  52 : ********************************************************************
  53 : &IMP = 'VALEUR' IMPI;
  54 : 
  55 : OBJ  = TAB1.'MAILLAGE';
  56 : TF   = TAB1.'TFUSION';
  57 : T0   = TAB1.'T0';
  58 : ER1  = TAB1.'PRECISION';
  59 : NSUR = TAB1.'NSURFACES';
  60 : Q    = TAB1.'PUISSANCE';
  61 : 
  62 : SI (EXISTE TAB1 'GAUSS');
  63 :    BGAUSS = TAB1.'GAUSS';
  64 : SINON;
  65 :    BGAUSS = FAUX;
  66 : FINSI;
  67 : SI (BGAUSS);
  68 :    ECT  = TAB1.'ECART-TYPE';
  69 :    CHT = CHTGAU TAB1;
  70 : SINON;
  71 :    CHT = ROSENT TAB1;
  72 : FINSI;
  73 : SI (EGA &IMP 1);
  74 :    MESS 'Determination de la largeur de bain';
  75 : FINSI;
  76 : 
  77 : IS = 0;
  78 : XBAIT = TABLE;
  79 : YBAIT = TABLE;
  80 : REPETER BSURF NSUR;
  81 :    IS = IS + 1;
  82 :    SUR  = TAB1.'SURFACE'.IS;
  83 :    CHTR = REDU CHT SUR;
  84 :    CHTSP = CHTR MASQ 'EGSUP' TF;
  85 :    SURSP = EXTR CHTSP 'MAIL';
  86 :    SURSP = SURSP CHAN 'POI1';
  87 :    NP = NBEL SURSP;
  88 :    I = 0;
  89 :    K = 0;
  90 :    YMIN = -1.E10;
  91 :    REPETER BOUCLE NP;
  92 :       I = I + 1;
  93 :       PPE = SURSP ELEM I;
  94 :       PP = PPE POIN 1;
  95 :       BOO = EXTR CHTSP 'SCAL' PP;
  96 :       SI (BOO > 0.);
  97 :          YPP = COOR 2 PP;
  98 :          SI (K EGA 0);
  99 :             K = 1;
 100 :             IST1 = PP;
 101 :          SINON;
 102 :             IST1 = IST1 ET PP;
 103 :          FINSI;
 104 :          SI (YPP > YMIN);
 105 :             YMIN = YPP;
 106 :          FINSI;
 107 :       FINSI;
 108 :    FIN BOUCLE;
 109 :    ISO1 = SUR ELEM APPU LARG IST1;
 110 :    ISO1 = ISO1 CHAN 'POI1';
 111 :   NP = NBEL ISO1;
 112 :   I = 0;
 113 :   XMIN = 1.E10;
 114 :   XMAX = -1.E10;
 115 :   YMAX = -1.E10;
 116 :   REPETER BOUCLE NP;
 117 :      I = I + 1;
 118 :      PPE = ISO1 ELEM I;
 119 :      PP = PPE POIN 1;
 120 :      XPP = COOR 1 PP;
 121 :      YPP = COOR 2 PP;
 122 :      SI (XPP > XMAX);
 123 :         XMAX = XPP;
 124 :      FINSI;
 125 :      SI (XPP < XMIN);
 126 :         XMIN = XPP;
 127 :      FINSI;
 128 :      SI (YPP > YMAX);
 129 :         YMAX = YPP;
 130 :      FINSI;
 131 :    FIN BOUCLE;
 132 :    PP = SUR POIN PROC (0. 0. 0.);
 133 :    Z = COOR 3 PP;
 134 :    SI (EGA &IMP 1);
 135 :       MESS 'XMIN = ' XMIN;
 136 :       MESS 'XMAX = ' XMAX;
 137 :       MESS 'YMIN = ' YMIN;
 138 :       MESS 'YMAX = ' YMAX;
 139 :       MESS 'Z    = ' Z;
 140 :    FINSI;
 141 :    PP1 = XMIN 0. Z;
 142 :    PP2 = XMIN YMAX Z;
 143 :    PP3 = XMAX YMAX Z;
 144 :    PP4 = XMAX 0. Z;
 145 :    LL1 = D PP1 PP2 'DINI' ER1 'DFIN' ER1;
 146 :    LL2 = D PP2 PP3 'DINI' ER1 'DFIN' ER1;
 147 :    LL3 = D PP3 PP4 'DINI' ER1 'DFIN' ER1;
 148 :    LL4 = D PP4 PP1 'DINI' ER1 'DFIN' ER1;
 149 :    OBJ2 = DALL LL1 LL2 LL3 LL4 'PLAN';
 150 :    TAB1.'MAILLAGE' = OBJ2;
 151 :    SI (BGAUSS);
 152 :       CHT2 = CHTGAU TAB1;
 153 :    SINON;
 154 :       CHT2 = ROSENT TAB1;
 155 :    FINSI;
 156 :    SI (EGA &IMP 1);
 157 :       MESS 'Recherche de la largeur du bain';
 158 :    FINSI;
 159 :    YBAI = 0.;
 160 :    CHTSP = CHT2 MASQ 'EGSUP' TF;
 161 :    SURSP = EXTR CHTSP 'MAIL';
 162 :    SURSP = SURSP CHAN 'POI1';
 163 :    NP = NBEL SURSP;
 164 :    I = 0;
 165 :    REPETER BOUCLE NP;
 166 :       I = I + 1;
 167 :       PPE = SURSP ELEM I;
 168 :       PP = PPE POIN 1;
 169 :       BOO = EXTR CHTSP 'SCAL' PP;
 170 :       SI (BOO > 0.);
 171 :          XPP = COOR 1 PP;
 172 :          YPP = COOR 2 PP;
 173 :          SI (YPP > YBAI);
 174 :             YBAI = YPP;
 175 :             XBAI = XPP;
 176 :          FINSI;
 177 :       FINSI;
 178 :    FIN BOUCLE;
 179 :    MESS 'Surface : ' IS '    Largeur de bain : ' YBAI;
 180 :    XBAIT.IS = XBAI;
 181 :    YBAIT.IS = YBAI;
 182 : FIN BSURF;
 183 : TAB1.'LARGEUR' = YBAIT;
 184 : TAB1.'XBAIN'   = XBAIT;
 185 : SI (EGA &IMP 1);
 186 :    XBAI1 = XBAIT.1;
 187 :    PP1 = XBAI1 0. 0.;
 188 :    PP2 = XBAI1 YMAX 0.;
 189 :    PP3 = XBAI1 YMAX ((-1.)*(TAB1.'EPAISSEUR'));
 190 :    PP4 = XBAI1 0. ((-1.)*(TAB1.'EPAISSEUR'));
 191 :    LL1 = D PP1 PP2 'DINI' 0.0001 'DFIN' 0.0001;
 192 :    LL2 = D PP2 PP3 'DINI' 0.0001 'DFIN' 0.0001;
 193 :    LL3 = D PP3 PP4 'DINI' 0.0001 'DFIN' 0.0001;
 194 :    LL4 = D PP4 PP1 'DINI' 0.0001 'DFIN' 0.0001;
 195 :    OBJ3 = DALL LL1 LL2 LL3 LL4 'PLAN';
 196 :    TAB1.'MAILLAGE' = OBJ3;
 197 :    SI (BGAUSS);
 198 :       CHT3 = CHTGAU TAB1;
 199 :    SINON;
 200 :       CHT3 = ROSENT TAB1;
 201 :    FINSI;
 202 :    DT = (TF - T0)/10.;
 203 :    LIR1 = PROG T0 PAS DT NPAS 12;
 204 :    OEX = -1.E7 0. 0.;
 205 :    OPTI ISOV LIGNE TRAC PS;
 206 :    TRAC OEX OBJ3 CHT3 LIR1;
 207 : FINSI;
 208 : TAB1.'MAILLAGE' = OBJ;
 209 : RESP CHT;
 210 : FINPROC;
 211 : 

© Cast3M 2003 - All rights reserved.
Disclaimer