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