Dear all. I have some problem with MPI_TYPE_CREATE_STRUCT and as a consequence with SENDRECV.
I have this variable type *type particle* *integer :: ip* * real :: RP(2)* * real :: QQ(4)* *end type particle* When I compile in double precision with: *mpif90 -r8 -fpp -DPARALLEL *.f90 * So when I create my own variable type for MPI, I have *TYPES(1)=MPI_INTEGER !We have three variables type in the new varible* *TYPES(2)=MPI_DOUBLE_PRECISION !Integer and Real and Real* * TYPES(3)=MPI_DOUBLE_PRECISION !Integer and Real and Real* * nBLOCKS(1)=1 !number of element in each block * * nBLOCKS(2)=2* * nBLOCKS(3)=4* * !* * DISPLACEMENTS(1)=0* * DISPLACEMENTS(2)=sizeof(dummy%ip)* * DISPLACEMENTS(3)=sizeof(dummy%ip)+sizeof(dummy%RP(1))+sizeof(dummy%RP(2))* * ! * * CALL MPI_TYPE_CREATE_STRUCT(3,nBLOCKS,DISPLACEMENTS,TYPES,MPI_PARTICLE_TYPE, PI%ierr)* * CALL MPI_TYPE_COMMIT(MPI_PARTICLE_TYPE,MPI%ierr)* Am I right? Thanks, in advance, for any kind of help