relr12
C RELR12 SOURCE GOUNAND 11/05/24 21:15:54 6976 $ LINCP,LINCD, $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : RELR12 C DESCRIPTION : * Construction de : * - l'ensemble des noms d'inconnues primales : LINCP * - l'ensemble des noms d'inconnues duales : LINCD 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 APPELES : C APPELES (E/S) : C APPELES (BLAS) : C APPELES (CALCUL) : C APPELE PAR : RELR10 C*********************************************************************** C SYNTAXE GIBIANE : C ENTREES : C ENTREES/SORTIES : C SORTIES : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 26/06/2003, version initiale C HISTORIQUE : v1, 26/06/2003, création C HISTORIQUE : 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 SMCOORD -INC SMRIGID POINTEUR MLIN.MRIGID POINTEUR DES.DESCR -INC SMLMOTS POINTEUR LINCP.MLMOTS POINTEUR LINCD.MLMOTS POINTEUR LINTMP.MLMOTS * INTEGER IMPR,IRET * * Executable statements * IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans relr12.eso' * SEGACT MLIN NRIG=MLIN.IRIGEL(/2) * * Primale * JGN=4 JGM=0 IGM=0 SEGINI LINTMP DO IRIG=1,NRIG DES=MLIN.IRIGEL(3,IRIG) SEGACT DES NDDL=DES.LISINC(/2) JGM=JGM+NDDL SEGADJ LINTMP DO IDDL=1,NDDL IGM=IGM+1 ENDDO SEGDES DES ENDDO * Suppression des doublons SEGINI LINCP $ LINCP.MOTS,JGM2, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 JGM=JGM2 SEGADJ LINCP SEGDES LINCP SEGSUP LINTMP * * Duale (copie conforme du dessus) * JGN=4 JGM=0 IGM=0 SEGINI LINTMP DO IRIG=1,NRIG DES=MLIN.IRIGEL(3,IRIG) SEGACT DES NDDL=DES.LISDUA(/2) JGM=JGM+NDDL SEGADJ LINTMP DO IDDL=1,NDDL IGM=IGM+1 ENDDO SEGDES DES ENDDO * Suppression des doublons SEGINI LINCD $ LINCD.MOTS,JGM2, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 JGM=JGM2 SEGADJ LINCD SEGDES LINCD SEGSUP LINTMP SEGDES MLIN * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine relr12' RETURN * * End of subroutine RELR12 * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales