C TRJRAL    SOURCE    CHAT      05/01/13    03:50:51     5004
      SUBROUTINE TRJRAL(IPARPO,IZLAR,MELEME,IZSH)
C
C
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C     PASSE DES COORDONNEES DE REFERENCES AUX COORDONNEES REELLES
C
C     IPARPO SEGMENT DES COORDONNEES DE REFERENCES
C     IZLAR SEGMENT DES COORDONNEES REELLES
C     MELEME MAILLAGE
C     IZSH SEGMENT DE TRAVAIL POUR LE CALCUL DES FONCTIONS DE FORME
C
C     SHP FONCTION DE FORME
C     XYZL COORDONNEES REELLES DES NOEUDS DE L ELEMENT
C     XR COORDONNEE DE LA PARTICULE DANS L ELEMENT DE REFERENCE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C
C

-INC PPARAM
-INC CCOPTIO
-INC SMCOORD
-INC SMELEME
C
      SEGMENT  IPARPO
        INTEGER NAPAR(NPOS),NUMP(NPOS)
        REAL*8 CREF(NDIM,NPOS),TPAR(NPOS)
      ENDSEGMENT
      POINTEUR IZLAR.IPARPO
C
      SEGMENT IZSH
            REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
      ENDSEGMENT
C
C
C
C
C
C
      DIMENSION XR(3)
C
C
C
C     WRITE(6,*) ' TRJRAL '
      NDIM=CREF(/1)
      NPOS=NAPAR(/1)
      SEGINI IZLAR
C     write(6,*)' SEGINI IZLAR',IZLAR
      DO 1 IPOS=1,NPOS
      IEL=NAPAR(IPOS)
C     write(6,*) iel,nump(ipos),cref(1,ipos),cref(2,ipos),tpar(ipos)
      IZLAR.NAPAR(IPOS)=IEL
      IZLAR.TPAR(IPOS)=TPAR(IPOS)
      IZLAR.NUMP(IPOS)=NUMP(IPOS)
      CALL MELNEL(IEL,MELEME,IPT1,NEL0,1)
      NOEL=IPT1.NUM(/1)
      IELL=IEL-NEL0
      CALL DOXE(XCOOR,IDIM,NOEL,IPT1.NUM,IELL,XYZL)
      ITY=IPT1.ITYPEL
      XR(3)=0.D0
      DO 4 ID1=1,NDIM
      XR(ID1)=CREF(ID1,IPOS)
C     WRITE(6,*)' CREFIJ ',ID1,IPOS,CREF(ID1,IPOS)
   4  CONTINUE
      CALL SHAPE(XR(1),XR(2),XR(3),ITY,SHP,IRET)
      DO 5 ID1=1,NDIM
      IZLAR.CREF(ID1,IPOS)=0.D0
      DO 6 K=1,NOEL
      IZLAR.CREF(ID1,IPOS)=IZLAR.CREF(ID1,IPOS)+SHP(1,K)*XYZL(ID1,K)
   6  CONTINUE
   5  CONTINUE
C     WRITE(6,*)IPOS,' CLEFIJ ',(IZLAR.CREF(ID1,IPOS),ID1=1,NDIM)
   1  CONTINUE
      RETURN
      END


