C NLOCAL SOURCE FANDEUR 12/12/21 21:15:01 7629 C_______________________________________________________________________ C C CALCUL DU MCHAML MOYENNE C C CHAM1=NLOC ( | 'MOYE' | ) CHAM2 CHAM3 LMOT1 ; C ( | 'SB ' | ) C C_______________________________________________________________________ SUBROUTINE NLOCAL IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCOPTIO PARAMETER (NCLE = 2) CHARACTER*4 MCLE(NCLE) CHARACTER*22 TT DATA MCLE / 'MOYE', 'SB ' / DATA TT / 'CONNECTIVITE NON LOCAL' / C C CHAM2 Pointeur sur un MCHAML de ss-type indifferent C CHAM3 Pointeur sur un MCHAML de Connectivite C IPLMOT Pointeur sur un LISTMOTS de noms de composante C LMOT1 Listmot dans lequel on trouve les composantes C de CHAM1 pour lesquelles on doit faire la moyenne C C CHAM1 Pointeur sur le MCHAML moyenne ICLE = 0 IPLMOT = 0 IPCHM1 = 0 IPCHM2 = 0 IPCHMS = 0 C C LECTURE DU MOT-CLE C CALL LIRMOT(MCLE,NCLE,ICLE,0) IF (IERR.NE.0) RETURN IF (ICLE.EQ.0) ICLE = 1 C C LECTURE DU LISTMOTS C CALL LIROBJ('LISTMOTS',IPLMOT,1,IRT1) IF (IERR.NE.0) RETURN C C LECTURE DES 2 MCHAML C CALL LIROBJ('MCHAML',IPCHM1,1,IRT1) IF (IERR.NE.0) RETURN C CALL LIROBJ('MCHAML',IPCHM2,1,IRT1) IF (IERR.NE.0) RETURN C C RECHERCHE DU MCHAML DE CONNECTIVITE QUE L'ON PLACE C EN TETE DE IP C CALL PLACHA(IPCHM1,TT,1,IPO) IF (IPO.NE.1) THEN CALL PLACHA(IPCHM2,TT,1,IPO) IF (IPO.NE.1) THEN CALL ERREUR(753) RETURN ENDIF III = IPCHM2 IPCHM2 = IPCHM1 IPCHM1 = III ENDIF C C CALCUL DE LA MOYENNE SELON LA METHODE RETENUE C IF (ICLE.EQ.1) THEN CALL NLOCA1(IPCHM2,IPLMOT,IPCHM1, IPCHMS,IRET) ELSE CALL NLOCSB(IPCHM2,IPLMOT,IPCHM1, IPCHMS,IRET) ENDIF C C ECRITURE DU MCHAML C IF(IRET.EQ.1) THEN CALL ECROBJ('MCHAML',IPCHMS) ENDIF C RETURN END