kopdir
C KOPDIR SOURCE FANDEUR 22/01/19 21:15:08 11256 IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : KOPDIR C DESCRIPTION : Transforme un CHPOINt MCHPOI en matrice C diagonale MRIGID C C C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C ENTREES : MCHPOI C ENTREES/SORTIES : C SORTIES : MRIGID C*********************************************************************** C VERSION : v1, 10/05/2011, version initiale C HISTORIQUE : v1, 10/05/2011, création C HISTORIQUE : C HISTORIQUE : C*********************************************************************** -INC PPARAM -INC CCOPTIO -INC SMRIGID -INC SMCHPOI -INC SMELEME -INC CCHAMP CHARACTER*4 MOMOT(1) CHARACTER*8 LETYPE DATA MOMOT(1) /'TYPE'/ * BP 01/04/2014 ajout d'un type a la rigidite (recopie de manuri.eso) * -- LECTURE DU SOUS-TYPE DE LA "RIGIDITE" A CREER -- ITYP = 0 IF(ITYP.EQ.1) THEN ICODE = 1 C write(ioimp,*) 'lecture de TYPE et du type:',LETYPE,':' IF (IERR .NE. 0) RETURN ELSE C ... Si on n'a rien trouvé, on met DIAGONAL dedans, C sinon il y a des cochonneries ... LETYPE='DIAGONAL' ENDIF C Pour le mode de calcul, on prend celui du CHPOINT * * Executable statements * SEGACT MCHPOI NSOUPO = IPCHP(/1) C On compte le nombre de matrices à générer NRIGEL=0 DO ISOUPO = 1, NSOUPO MSOUPO = IPCHP(ISOUPO) SEGACT MSOUPO NC=NOCOMP(/2) NRIGEL=NRIGEL+NC c* SEGDES MSOUPO ENDDO SEGINI MRIGID MTYMAT=LETYPE IFORIG=IFOPOI IRIG=0 C DO ISOUPO = 1, NSOUPO MSOUPO = IPCHP(ISOUPO) c* SEGACT MSOUPO NC=NOCOMP(/2) MELEME=IGEOC SEGACT MELEME SEGDES MELEME MPOVAL=IPOVAL SEGACT MPOVAL DO IC=1,NC IRIG=IRIG+1 COERIG(IRIG)=1.D0 IRIGEL(1,IRIG)=MELEME NLIGRP=1 NLIGRD=1 SEGINI DESCR LISINC(1)=NOCOMP(IC) IF (idx.NE.0) THEN LISDUA(1)=NOMDU(idx) ELSE LISDUA(1)=NOCOMP(IC) ENDIF NOELEP(1)=1 NOELED(1)=1 SEGDES DESCR IRIGEL(3,IRIG)=DESCR NELRIG=NBEL SEGINI XMATRI RE(1,1,IBEL)=VPOCHA(IBEL,IC) ENDDO SEGDES XMATRI IRIGEL(4,IRIG)=XMATRI ENDDO SEGDES MPOVAL SEGDES MSOUPO ENDDO SEGDES MRIGID SEGDES MCHPOI * * Normal termination * RETURN * * End of subroutine KOPDIR * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales