Download pot_vect.procedur

Back to the list

   1 : * POT_VECT  PROCEDUR  CHAT      12/08/07    21:15:13     7481           
   2 :  'DEBPROC' POT_VECT  MATAB*'TABLE'   SOLIN/'MOT' ;                      
   3 : ************************************************************************
   4 : *        MAGNETOSTATIQUE  2D  EN POTENTIEL VECTEUR                     *
   5 : ************************************************************************
   6 : *      MATAB  TABLE D ENTREE CONTENANT                                  
   7 : *    MATAB.'MUAIR'   PERMEABILITE DE L AIR (PAR DEFAUT UNITE METRE     *
   8 : *    MATAB.'AIR'     PARTIE AIR  NON   REDUITE A UN SUPER ELEMENT      *
   9 : *                                                                       
  10 : *    MATAB.'TABNUSEC' = TABMAT                                          
  11 : *            TABMAT doit etre une table indexé par les objets modeles  *
  12 : *  des differentes zones ferro_magnétiques                              
  13 : *       les modeles doivent obligatoirement etre :                      
  14 : *                        THERMIQUE ISOTROPE ou THERMIQUE ORTHOTROPE    *
  15 : *           TABMAT.OBMOD1 = STN1 ;                                      
  16 : *           TABMAT.OBMOD2 = STN2 ;                                      
  17 :                                                                         
  18 : *      structure  de la table STN                                       
  19 : *        a) pour un materiau isotrope                                   
  20 : *             STN.'EV1' = KEV1  courbe  1./MU0*MUREL(B)                 
  21 : *                                                    type evolution    *
  22 : *        b) pour un materiau orthotrope                                 
  23 : *             STN.'EV1' = KEV1  courbe 1./MU0*MUREL(B) direction DIR1 * 
  24 : *                           peut eter obtenue par H_B                   
  25 : *             STN.'DIR1' =(X1 Y1) direction associée a  KEV1            
  26 : *                                                                      *
  27 : *             STN.'EV2' = KEV2  courbe 1./MU0*MUREL(B) direction DIR2   
  28 : *      nécessairement  perpendiculaire à DIR1                          *
  29 : *                                                                      *
  30 : *                                                                      *
  31 : *    MATAB.'AIRSUP'  PARTIE AIR  TRAITEE EN SUPER (NON OBLIGATOIRE)    *
  32 : *    MATAB.'MAITRES'   POINT MAITRES SI SUPER ELEMENT                  *
  33 : *    MATAB.'ENCS '   COND. LIMITE SUR SUPER (EVENTUELLEMENT)           *
  34 : *                                                                      *
  35 : *    MATAB.'BLOQUE'  CONDITIONS LIMITES GENERALES REGROUPEES           *
  36 : *    MATAB.'IMPOSE'  CHPOINT (CREE PAR DEPIMP) LA PARTIE RIGIDITE       
  37 : *                                                                       
  38 : *                  DOIT ETRE DANS MATAB.'BLOQUE'                        
  39 : *                                                                      *
  40 : *    MATAB.'COUR'   TABLE  DE TABLES CONTENANT LA DESCRIPTION DES      *
  41 : *                   BLOCS DE COURANTS   CONSTITUEE PAR UN OU DES       *
  42 : *                   APPEL(S) A LA PROCEDURE DESCOUR                    *
  43 : *    MATAB.'AXI' =  VRAI     SI PROBLEME AXISYMETRIQUE                 *
  44 : *    SOLIN   MOT OPTIONNNEL  POUR LE CALCUL DU PREMIER PAS LINEAIRE    *
  45 : ************************************************************************
  46 : *        EN SORTIE MATAB CONTIENT LES OBJETS NECESSAIRES               *
  47 : *           AU CALCUL NON LINEAIRE                                     *
  48 : *    ET LA SOLUTION DU PREMIER PAS SI DEMANDEE DS MATAB.'POTENTIEL     *
  49 : ************************************************************************
  50 :   AXI= FAUX ;                                                           
  51 :    'SI' ( 'EXISTE' MATAB 'AXI' ); AXI = MATAB.'AXI' ;FINSI ;    
  52 :  MUAIR = 4 * PI * 1.E-7 ;                                               
  53 :    'SI' ( 'EXISTE'  MATAB 'MUAIR') ;MUAIR = MATAB.'MUAIR' ;'FINSI' ;    
  54 : * MATAB.'MUAIR'= MUAIR ;                                                
  55 :  AIR = MATAB.'AIR' ;                                                    
  56 : TABMU   = MATAB.'TABNUSEC' ;                                            
  57 : IDMUR = 'INDE' TABMU  ;                                                 
  58 : NMUR = 'DIME' IDMUR ;                                                   
  59 : IMUR = 0 ;                                                              
  60 : 'REPETER' BOUCMUR NMUR ;                                                
  61 :     IMUR = IMUR + 1 ;                                                   
  62 :     MOD_FERI= IDMUR.IMUR ;                                              
  63 :     STN   = TABMU.MOD_FERI;                                             
  64 :  LIST STN ;                                                             
  65 :     ORTT = FAUX ;                                                       
  66 : *                                                                       
  67 :      'SI' ('EXISTE' STN 'EV2' ) ;                                       
  68 :    ORTT = VRAI ;                                                        
  69 :   MU1  = EXTR ( EXTR (STN.'EV1') ORDO ) 1  ;                            
  70 :     DIR1 = STN.'DIR1' ;                                                 
  71 :   MU2  =  EXTR ( EXTR (STN.'EV2') ORDO ) 1  ;                           
  72 :                                                                         
  73 :   MAT_FERi= 'MATR' MOD_FERi  DIRECTION DIR1                             
  74 :    'K1'  MU1    'K2'  MU2    ;                                          
  75 :     'MESS' IMUR 'Materiau Ferromag. de Permeabilite :' MU1  MU2 ;       
  76 :     'MESS' 'DIRECTION ' (COOR 1 DIR1) ( COOR 2 DIR1 ) ;                 
  77 :      'SINON' ;                                                          
  78 :  MU1   =  EXTR ( EXTR (STN.'EV1') ORDO ) 1  ;                           
  79 :     'MESS' IMUR 'Materiau Ferromag. de Permeabilite :' MU1   ;          
  80 :     MAT_FERI= 'MATR' MOD_FERI 'K'   MU1    ;                            
  81 :      'FINSI' ;                                                          
  82 : *                                                                       
  83 :     'SI' AXI ;
  84 :                                                               
  85 :         RFER = 'COOR' 1 MAT_FERI ;                                      
  86 :    RFER = ('CHAN' 'RIGIDITE' MOD_FERI RFER ) ** -1. ;
  87 :    INVRFER= 'CHAN ' 'NOEUD'  MOD_FERI RFER  ;                                   
  88 :            'SI' ORTT ;                                                  
  89 :         K1 =   MU1 * INVRFER       ;                                    
  90 :         K2 =   MU2 * INVRFER       ;                                    
  91 :       MAT_FERI = 'MATR' MOD_FERI  DIRECTION DIR1                        
  92 :       'K1'  K1  'K2'    K2 ;                                            
  93 :            'SINON' ;                                                    
  94 :     K1 =  MU1 * INVRFER  ;                                              
  95 :         MAT_FERI = 'MATR' MOD_FERI 'K' K1       ;                       
  96 :            'FINSI' ;                                                    
  97 :     'FINSI';                                                            
  98 :     'SI' ('EGA' IMUR 1 ) ;                                              
  99 :         MAT_FER = MAT_FERI ;                                            
 100 :         OBJ2 = MOD_FERi ;                                               
 101 :         'SINON' ;                                                       
 102 :         MAT_FER  = MAT_FER 'ET' MAT_FERI ;                              
 103 :         OBJ2 = OBJ2 ET  MOD_FERi ;                                      
 104 :     'FINSI' ;                                                           
 105 :  STN.KLAST = MAT_FERi ;                                                 
 106 : FIN BOUCMUR ;                                                           
 107 :     RIGF    = 'CONDUC' OBJ2  MAT_FER ;                                  
 108 : *                                                                               
 109 :  OBJ1= 'MODL' AIR  THERMIQUE ISOTROPE ;                                 
 110 :  MAT1= 'MATR' OBJ1  'K' (1./MUAIR) ;                                
 111 :   'SI'  AXI  ;                                                          
 112 : *             rectification  conductibilites               
 113 : *=================
 114 :     RAIR = ('CHAN' 'RIGIDITE' OBJ1  ('COOR' 1 MAT1 )) ** -1.    ;
 115 :     KAIR  = ('CHAN' 'NOEUD' OBJ1 RAIR)/MUAIR   ;
 116 : *=================        
 117 :   MAT1= MATR OBJ1 'K' KAIR  ;                                            
 118 :    'FINSI' ;                                                            
 119 :    'SI' ( 'EXISTE' MATAB 'AIRSUP') ;                                    
 120 :  AIRSUP = MATAB.'AIRSUP' ;                                              
 121 :  OBJ3='MODL' AIRSUP  'THERMIQUE' 'ISOTROPE' ;                           
 122 :  MAT3= 'MATR' OBJ3  'K' ( 1./MUAIR);                                 
 123 :     'SI'  AXI  ;                                                        
 124 :   RSIR =('CHAN' 'RIGIDITE' OBJ3  ('COOR' 1 MAT3 )) ** -1.    ; 
 125 :   KAI3  = ('CHAN' 'NOEUD' OBJ3 RSIR ) / MUAIR ;                        
 126 :   MAT3 = MATE OBJ3 'K'  KAI3  ;                                          
 127 :     'FINSI' ;                                                           
 128 :       'SI' ( 'EXISTE' MATAB 'ENCS' );                                   
 129 :  RIGB= ('CONDUC' OBJ3 MAT3 ) 'ET' ( 'BLOQUER' (MATAB.'ENCS') 'T' ) ;    
 130 :       SFAC = MATAB.'MAITRES';                                           
 131 :       SUP1 = 'SUPER' 'RIGIDITE' RIGB SFAC ;                             
 132 :       MATAB.'SUPER' = SUP1 ;                                            
 133 :       'FINSI' ;                                                         
 134 :    'FINS' ;                                                             
 135 :  RIGA= 'CONDUC' OBJ1 MAT1 ;                                             
 136 : *RIGF= 'CONDUC' OBJ2 MAT2 ;                                             
 137 :    'SI' ( 'EXISTE' MATAB 'MAITRES') ;                                   
 138 :  RIGCON= RIGA 'ET' ( 'EXTRAI' SUP1 'RIGI' );                            
 139 :    'SINON' ;                                                            
 140 :  RIGCON = RIGA ;                                                        
 141 :    'FINSI' ;                                                            
 142 : *                    charge                                             
 143 :   TABCOUR = TABLE ;                                                     
 144 :   TABCOUR = MATAB.'COUR';                                               
 145 :   III = 'INDEX' TABCOUR ;                                               
 146 :   IZ= 0 ;                                                               
 147 :                                                                         
 148 :   'REPETER' BOUC ;                                                      
 149 :   IZ= IZ + 1 ;                                                          
 150 :     'SI' ( 'NON'  ('EXISTE' III IZ )) ;'QUITTER' BOUC ; 'FINSI' ;       
 151 :     STN = TABCOUR.IZ ;GEO = STN.'GEO' ;                                 
 152 :     obbb = 'MODL' GEO 'THERMIQUE' 'ISOTROPE' ;                          
 153 :                                                                         
 154 :    'SI' ('NON'( 'EXISTE' STN 'FIL' )) ;                                 
 155 :     FEIZ = 'SOURCE' obbb 1.  GEO  ;                                     
 156 :                                                                         
 157 :     SSS='EXTR' ('RESU' FEIZ) 'Q' (( 'EXTR' FEIZ 'MAIL' ) 'POINT' 1);    
 158 : *                                                                       
 159 :            'SI' ( 'EXISTE' STN 'AMP' ) ;                                
 160 :         J = STN.'AMP' ;                                                 
 161 :         STN.'AT' = SSS * J ;                                            
 162 :         FEIZ = FEIZ * J  ;                                              
 163 :             'SINON' ;                                                   
 164 :         SDO = STN.'AT' ;                                                
 165 :         J = SDO / SSS ;                                                 
 166 :         STN.'AMP'= J ;                                                  
 167 :         FEIZ = FEIZ * J  ;                                              
 168 :             'FINSI' ;                                                   
 169 :       'FINSI' ;                                                         
 170 :     'SI' ( 'EXISTE' STN 'FIL') ;                                        
 171 :         J= STN.'FIL' ;nn = GEO 'NBNO' ;                                 
 172 :         FEIZ = 'MANU' 'CHPO' GEO 1 'Q' ( 'PROG' nn  * J ) ;             
 173 :         STN.'AT' = J * nn ;                                             
 174 :         STN.'AMP' = J ;                                                 
 175 :         'FINSI' ;                                                       
 176 :  sauter 5 lignes ;                                                      
 177 : *                                                                       
 178 :  'MESS'       ' Rappel  des zones de courants  ' ;                      
 179 :  'MESS' ' BLOC  '  IZ  '  JAMP ' J ' NI'  STN.'AT'  ;                   
 180 :      'SI' ( 'EGA' IZ 1 ) ; FE = FEIZ ; 'SINON' ;                        
 181 :     FE = FE + FEIZ ;                                                    
 182 :      'FINSI' ;                                                          
 183 :    'FIN' BOUC ;                                                         
 184 :                                                                         
 185 :                                                                         
 186 :  MATAB.'RIGCON'= RIGCON;                                                
 187 :  MATAB.'RIGFER'= RIGF  ;                                                
 188 :      'SI' ( 'EXIST' SOLIN ) ;                                           
 189 :  'MESS' '  *****************************************************';      
 190 :  'MESS' '  *       CALCUL DE LA SOLUTION LINEAIRE              *';      
 191 :  'MESS' '  *****************************************************';      
 192 :                                                                         
 193 :        'SI' ( 'EXISTE' MATAB  'BLOQUE');                                
 194 :        BBB = MATAB.'BLOQUE' ;                                           
 195 :        'FINSI' ;                                                        
 196 :                                                                         
 197 :         'SI' ('EXISTE' MATAB 'IMPOSE' );                                
 198 :         FE  = FE 'ET' ( MATAB.'IMPOSE' ) ;                              
 199 :         'FINSI' ;                                                       
 200 :                                                                         
 201 :   MATAB.'RHS'= FE ;                                                     
 202 :   RHS = FE ;                                                            
 203 : *                                                                       
 204 :        'SI' ( 'EXISTE' BBB ) ;                                          
 205 :   SOL1= 'RESOU' ( RIGF 'ET' RIGCON 'ET' BBB ) RHS    ;                  
 206 :        'SINON' ;                                                        
 207 :   SOL1= 'RESOU' ( RIGF 'ET' RIGCON ) RHS    ;                           
 208 :        'FINSI' ;                                                        
 209 :   MATAB.'POTENTIEL'= SOL1 ;                                             
 210 :      'FINSI' ;                                                          
 211 : *                                                                       
 212 :    'FINPROC' ;
 213 :  
 214 :  

© Cast3M 2003 - All rights reserved.
Disclaimer