* POT_VECT PROCEDUR FANDEUR 14/10/10 21:15:20 8178 ************************************************************************ * MAGNETOSTATIQUE 2D EN POTENTIEL VECTEUR * ************************************************************************ * MATAB TABLE D ENTREE CONTENANT * MATAB.'MUAIR' PERMEABILITE DE L AIR (PAR DEFAUT UNITE METRE * * MATAB.'AIR' PARTIE AIR NON REDUITE A UN SUPER ELEMENT * * * MATAB.'TABNUSEC' = TABMAT * TABMAT doit etre une table indexé par les objets modeles * * des differentes zones ferro_magnétiques * les modeles doivent obligatoirement etre : * THERMIQUE ISOTROPE ou THERMIQUE ORTHOTROPE * * TABMAT.OBMOD1 = STN1 ; * TABMAT.OBMOD2 = STN2 ; * structure de la table STN * a) pour un materiau isotrope * STN.'EV1' = KEV1 courbe 1./MU0*MUREL(B) * type evolution * * b) pour un materiau orthotrope * STN.'EV1' = KEV1 courbe 1./MU0*MUREL(B) direction DIR1 * * peut eter obtenue par H_B * STN.'DIR1' =(X1 Y1) direction associée a KEV1 * * * STN.'EV2' = KEV2 courbe 1./MU0*MUREL(B) direction DIR2 * nécessairement perpendiculaire à DIR1 * * * * * * MATAB.'AIRSUP' PARTIE AIR TRAITEE EN SUPER (NON OBLIGATOIRE) * * MATAB.'MAITRES' POINT MAITRES SI SUPER ELEMENT * * MATAB.'ENCS ' COND. LIMITE SUR SUPER (EVENTUELLEMENT) * * * * MATAB.'BLOQUE' CONDITIONS LIMITES GENERALES REGROUPEES * * MATAB.'IMPOSE' CHPOINT (CREE PAR DEPIMP) LA PARTIE RIGIDITE * * DOIT ETRE DANS MATAB.'BLOQUE' * * * MATAB.'COUR' TABLE DE TABLES CONTENANT LA DESCRIPTION DES * * BLOCS DE COURANTS CONSTITUEE PAR UN OU DES * * APPEL(S) A LA PROCEDURE DESCOUR * * MATAB.'AXI' = VRAI SI PROBLEME AXISYMETRIQUE * * SOLIN MOT OPTIONNNEL POUR LE CALCUL DU PREMIER PAS LINEAIRE * ************************************************************************ * EN SORTIE MATAB CONTIENT LES OBJETS NECESSAIRES * * AU CALCUL NON LINEAIRE * * ET LA SOLUTION DU PREMIER PAS SI DEMANDEE DS MATAB.'POTENTIEL * ************************************************************************ AXI= FAUX ; 'SI' ( 'EXISTE' MATAB 'AXI' ); AXI = MATAB.'AXI' ;FINSI ; MUAIR = 4 * PI * 1.E-7 ; 'SI' ( 'EXISTE' MATAB 'MUAIR') ;MUAIR = MATAB.'MUAIR' ;'FINSI' ; * MATAB.'MUAIR'= MUAIR ; AIR = MATAB.'AIR' ; TABMU = MATAB.'TABNUSEC' ; IMUR = 0 ; 'REPETER' BOUCMUR NMUR ; IMUR = IMUR + 1 ; MOD_FERI= IDMUR.IMUR ; STN = TABMU.MOD_FERI; LIST STN ; ORTT = FAUX ; * 'SI' ('EXISTE' STN 'EV2' ) ; ORTT = VRAI ; DIR1 = STN.'DIR1' ; MAT_FERi= 'MATE' MOD_FERi DIRECTION DIR1 'K1' MU1 'K2' MU2 ; 'SINON' ; 'FINSI' ; * 'SI' AXI ; 'SI' ORTT ; K1 = MU1 * INVRFER ; K2 = MU2 * INVRFER ; MAT_FERI = 'MATE' MOD_FERI DIRECTION DIR1 'K1' K1 'K2' K2 ; 'SINON' ; K1 = MU1 * INVRFER ; 'FINSI' ; 'FINSI'; 'SI' ('EGA' IMUR 1 ) ; MAT_FER = MAT_FERI ; OBJ2 = MOD_FERi ; 'SINON' ; MAT_FER = MAT_FER 'ET' MAT_FERI ; OBJ2 = OBJ2 ET MOD_FERi ; 'FINSI' ; STN.KLAST = MAT_FERi ; FIN BOUCMUR ; RIGF = 'CONDUC' OBJ2 MAT_FER ; * 'SI' AXI ; * rectification conductibilites *================= *================= 'FINSI' ; 'SI' ( 'EXISTE' MATAB 'AIRSUP') ; AIRSUP = MATAB.'AIRSUP' ; 'SI' AXI ; 'FINSI' ; 'SI' ( 'EXISTE' MATAB 'ENCS' ); RIGB= ('CONDUC' OBJ3 MAT3 ) 'ET' ( 'BLOQUER' (MATAB.'ENCS') 'T' ) ; SFAC = MATAB.'MAITRES'; SUP1 = 'SUPER' 'RIGIDITE' RIGB SFAC ; MATAB.'SUPER' = SUP1 ; 'FINSI' ; 'FINS' ; RIGA= 'CONDUC' OBJ1 MAT1 ; *RIGF= 'CONDUC' OBJ2 MAT2 ; 'SI' ( 'EXISTE' MATAB 'MAITRES') ; 'SINON' ; RIGCON = RIGA ; 'FINSI' ; * charge TABCOUR = TABLE ; III = 'INDEX' TABCOUR ; IZ= 0 ; 'REPETER' BOUC ; IZ= IZ + 1 ; 'SI' ( 'NON' ('EXISTE' III IZ )) ;'QUITTER' BOUC ; 'FINSI' ; STN = TABCOUR.IZ ;GEO = STN.'GEO' ; 'SI' ('NON'( 'EXISTE' STN 'FIL' )) ; FEIZ = 'SOURCE' obbb 1. GEO ; * 'SI' ( 'EXISTE' STN 'AMP' ) ; J = STN.'AMP' ; STN.'AT' = SSS * J ; FEIZ = FEIZ * J ; 'SINON' ; SDO = STN.'AT' ; J = SDO / SSS ; STN.'AMP'= J ; FEIZ = FEIZ * J ; 'FINSI' ; 'FINSI' ; 'SI' ( 'EXISTE' STN 'FIL') ; STN.'AT' = J * nn ; STN.'AMP' = J ; 'FINSI' ; sauter 5 lignes ; * 'MESS' ' Rappel des zones de courants ' ; 'MESS' ' BLOC ' IZ ' JAMP ' J ' NI' STN.'AT' ; 'SI' ( 'EGA' IZ 1 ) ; FE = FEIZ ; 'SINON' ; FE = FE + FEIZ ; 'FINSI' ; 'FIN' BOUC ; MATAB.'RIGCON'= RIGCON; MATAB.'RIGFER'= RIGF ; 'SI' ( 'EXIST' SOLIN ) ; 'SI' ( 'EXISTE' MATAB 'BLOQUE'); BBB = MATAB.'BLOQUE' ; 'FINSI' ; 'SI' ('EXISTE' MATAB 'IMPOSE' ); FE = FE 'ET' ( MATAB.'IMPOSE' ) ; 'FINSI' ; MATAB.'RHS'= FE ; RHS = FE ; * 'SI' ( 'EXISTE' BBB ) ; SOL1= 'RESOU' ( RIGF 'ET' RIGCON 'ET' BBB ) RHS ; 'SINON' ; SOL1= 'RESOU' ( RIGF 'ET' RIGCON ) RHS ; 'FINSI' ; MATAB.'POTENTIEL'= SOL1 ; 'FINSI' ; * 'FINPROC' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales