C DFOURI    SOURCE    CB215821  20/11/25    13:25:20     10792          
      SUBROUTINE DFOURI
C=======================================================================
C
C          OPERATEUR DFOURI
C
C     SYNTAXE   I CHPT I  =  DFOURI  I CHPT I  ANGL
C               I CHEL I             I CHEL I
C
C     CHPT    : CHPOINT DE TYPE FORCES OU DEPLACEMENTS
C     CHEL    : CHAMP/ELEMENT DE CONTRAINTES OU DEFORMATIONS (MCHAML)
C     ANGL    : VALEUR DE L ANGLE
C
C   DANS LE CAS D UNE ANALYSE EN SERIE DE FOURIER , CALCULE LES VALEURS
C   DU CHPOINT OU DU MCHALM POUR L ANGLE DONNE
C
C     J BROCHARD MARS 87
C     PASSAGE AUX NOUVEAUX MCHAMLS  P DOWLATYARI SEPT. 91
C=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

-INC PPARAM
-INC CCOPTIO
-INC SMCHPOI
C
C ********  ON LIT L ANGLE
C
      CALL LIRREE(ANGL,1,IRETOU)
      IF (IERR.NE.0) RETURN
C
      CALL LIROBJ('CHPOINT',IPCHP1,0,IRT1)
      IF(IERR.NE.0)RETURN

      IF(IRT1.NE.0) THEN
C
C    C'EST BIEN UN CHPOINT QU'IL FAUT LIRE
C
        CALL DFOUR1(IPCHP1,ANGL,IPCHP2)
        IF (IERR.NE.0) RETURN
*        ATTRIBUTION D'UNE NATURE IDENTIQUE AU CHPO ARGUMENT
        MCHPOI = IPCHP1
        MCHPO1 = IPCHP2
        SEGACT ,MCHPOI,MCHPO1
        NAT = MAX ( 1 , MCHPO1.JATTRI(/1) )
        NSOUPO=MCHPO1.IPCHP(/1)
        SEGADJ MCHPO1
        IF ( JATTRI(/1) .GE. 1 )  THEN
             MCHPO1.JATTRI(1) = JATTRI(1)
        ELSE
             JATTRI(1) = 0
        ENDIF
        SEGDES ,MCHPOI,MCHPO1
        CALL ECROBJ('CHPOINT',IPCHP2)
      ELSE
C
C     LE CHAMP EST UN CHAMP/ELEMENT
C
         CALL LIROBJ('MCHAML',IPCHE1,1,IRT3)
         IF(IERR.NE.0)RETURN
      CALL DFOUR2(IPCHE1,ANGL,IPCHE2)
         IF (IERR.EQ.0) CALL ECROBJ('MCHAML',IPCHE2)
      ENDIF
      RETURN
      END


 
