Télécharger pot_vect.procedur

Retour à la liste

Numérotation des lignes :

  1. * POT_VECT PROCEDUR FANDEUR 14/10/10 21:15:20 8178
  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= 'MATE' 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= 'MATE' 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 = 'MATE' MOD_FERI DIRECTION DIR1
  92. 'K1' K1 'K2' K2 ;
  93. 'SINON' ;
  94. K1 = MU1 * INVRFER ;
  95. MAT_FERI = 'MATE' 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= 'MODE' AIR THERMIQUE ISOTROPE ;
  110. MAT1= 'MATE' 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= 'MATE' OBJ1 'K' KAIR ;
  118. 'FINSI' ;
  119. 'SI' ( 'EXISTE' MATAB 'AIRSUP') ;
  120. AIRSUP = MATAB.'AIRSUP' ;
  121. OBJ3='MODE' AIRSUP 'THERMIQUE' 'ISOTROPE' ;
  122. MAT3= 'MATE' 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 = 'MODE' 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.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales