vec2ch
C VEC2CH SOURCE CB215821 22/07/20 15:39:46 11411 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : VEC2CH C DESCRIPTION : C C C Ce sp transforme un vecteur (KVEC pointeur de type IZA) C en chpoint (MCHTOT). L'ordonnancement des inconnues est C donné par MINC, les points concernés par KISPG et IDMAT C donne le passage num. nouvelle -> num. ancienne (NUNA) C C Son alter ego est ch2vec. C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : - C*********************************************************************** C ENTREES : KVEC, MINC, KISPG, IDMAT, IMPR C ENTREES/SORTIES : - C SORTIES : MCHTOT, IRET C CODE RETOUR (IRET) : 0 si ok C -1 si problème sur les inconnues C KVEC : pointeur sur segment IZA de l'include SMMATRIK C contient le vecteur des inconnues à transformer. C MINC : pointeur sur segment MINC de l'include SMMATRIK C décrit l'ordonnancement des inconnues dans une C certaine numérotation (dite "nouvelle"). C KISPG : pointeur sur segment MELEME de l'include SMELEME C support géométrique des inconnues. C IDMAT : pointeur sur segment IDMAT de l'include SMMATRIK C contient le tableau NUNA permettant de faire C le passage numérotation "nouvelle" -> num. ancienne. C IMPR : niveau d'impression C MCHTOT : pointeur sur segment MCHPOI de l'include SMCHPOI C chpoint correspondant au vecteur KVEC. C C*********************************************************************** C VERSION : v3, 20/10/06 C HISTORIQUE : v1, 01/04/98, création C HISTORIQUE : 16/05/98, MCHTOT est construit avec ET (CALL prfuse) C et plus avec un NSOUPO par inconnue. C HISTORIQUE : v2; 01/12/99, nouvelle signification de NUAN C (renumérotation des ddl et non pas des points) et mise au propre C (appel de adchpo à la place de prfuse et suppression des objets C temporaires) C HISTORIQUE : v3, 20/10/06, utilisation de TMTRAV et CRECHP (plus C rapide et moins buggé) C C C HISTORIQUE : C*********************************************************************** C Prière de PRENDRE LE TEMPS de compléter les commentaires C en cas de modification de ce sous-programme afin de faciliter C la maintenance ! C*********************************************************************** -INC PPARAM -INC CCOPTIO -INC SMMATRIK POINTEUR KVEC.IZA -INC TMTRAV POINTEUR ITRAV.MTRAV -INC SMCHPOI POINTEUR MCHTOT.MCHPOI -INC SMELEME POINTEUR KISPG.MELEME CHARACTER*8 NOMINC C * * Executable statements * IF (IMPR.GT.5) WRITE(IOIMP,*) 'Entrée dans vec2ch.eso' C IF (IMPR.GT.6) THEN WRITE(IOIMP,*) ' vec2ch : entrées ' WRITE(IOIMP,*) ' KVEC = ',KVEC WRITE(IOIMP,*) ' MINC = ',MINC WRITE(IOIMP,*) ' KISPG = ',KISPG WRITE(IOIMP,*) ' IDMAT = ',IDMAT ENDIF C SEGACT KVEC SEGACT MINC NNIN=LISINC(/2) NNNOE=NPOS(/1)-1 SEGACT KISPG SEGACT IDMAT * SEGINI ITRAV DO ININ=1,NNIN DO INNOE=1,NNNOE ITRAV.IGEO(INNOE)=KISPG.NUM(1,INNOE) IF (MPOS(INNOE,ININ).NE.0) THEN ITRAV.IBIN(ININ,INNOE)=1 ITRAV.BB(ININ,INNOE)= $ KVEC.A(NUAN(NPOS(INNOE)+ $ MPOS(INNOE,ININ)-1)) ENDIF ENDDO ENDDO * * SEGSUP ITRAV MCHTOT.JATTRI(1)=2 MCHTOT.MTYPOI='SOLUTION' MCHTOT.MOCHDE=TITREE IF (IMPR.GT.6) THEN WRITE(IOIMP,*) 'On a créé le chpo. MCHTOT=',MCHTOT ENDIF SEGDES IDMAT SEGDES KISPG SEGDES MINC SEGDES KVEC * * Terminaison normale * IRET=0 RETURN * * Gestion des erreurs * 9999 CONTINUE WRITE(IOIMP,*) 'An error was detected in vec2ch.eso' RETURN * * Fin de VEC2CH * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales