From 26b5b8564c5ae1b2e351f7d67b9f6a8affaa5d30 Mon Sep 17 00:00:00 2001 From: Joachim Schoeberl Date: Mon, 3 Sep 2012 09:59:06 +0000 Subject: [PATCH] fix for sequential curved elements --- libsrc/meshing/curvedelems.cpp | 69 ---------------------------------- 1 file changed, 69 deletions(-) diff --git a/libsrc/meshing/curvedelems.cpp b/libsrc/meshing/curvedelems.cpp index a7c2acaf..8ae375da 100644 --- a/libsrc/meshing/curvedelems.cpp +++ b/libsrc/meshing/curvedelems.cpp @@ -10,75 +10,6 @@ namespace netgen // bool rational = true; - - template - inline void MyMPI_ExchangeTableTmp (TABLE & send_data, - TABLE & recv_data, int tag, - MPI_Comm comm = MPI_COMM_WORLD) - { - int ntasks, rank; - MPI_Comm_size(comm, &ntasks); - MPI_Comm_rank(comm, &rank); - - Array send_sizes(ntasks); - Array recv_sizes(ntasks); - for (int i = 0; i < ntasks; i++) - send_sizes[i] = send_data[i].Size(); - - cout << "id = " << rank << ", sendsize = " << send_sizes << endl; - MPI_Alltoall (&send_sizes[0], 1, MPI_INT, - &recv_sizes[0], 1, MPI_INT, comm); - /* - // in-place is buggy ! - MPI_Alltoall (MPI_IN_PLACE, 1, MPI_INT, - &recv_sizes[0], 1, MPI_INT, comm); - */ - MPI_Barrier(comm); - cout << "id = " << rank << ", recvsize = " << recv_sizes << endl; - MPI_Barrier(comm); - - cout << "recv_table = " << recv_data << endl; - - for (int i = 0; i < ntasks; i++) - if (recv_sizes[i]) - recv_data.SetEntrySize (i, recv_sizes[i], sizeof(T)); - - cout << "recv_table2 = " << recv_data << endl; - - - MPI_Barrier(comm); - for (int i = 0; i < ntasks; i++) - cout << "id = " << rank << ", recvtagsize(" << i << ") = " << recv_data[i].Size() << endl; - MPI_Barrier(comm); - - for (int i = 0; i < ntasks; i++) - if (recv_data[i].Size()) - recv_data[i] = 0; - - Array requests(0); - for (int dest = 0; dest < ntasks; dest++) - if ( (dest != rank) && send_data[dest].Size()) - requests.Append (MyMPI_ISend (send_data[dest], dest, tag, comm)); - - for (int dest = 0; dest < ntasks; dest++) - if ( (dest != rank) && recv_data[dest].Size()) - requests.Append (MyMPI_IRecv (recv_data[dest], dest, tag, comm)); - - MPI_Barrier(comm); - cout << "comm started, id = " << rank << ", num requ = " << requests.Size() << endl; - MPI_Barrier(comm); - - if (requests.Size()) - MPI_Waitall (requests.Size(), &requests[0], MPI_STATUS_IGNORE); - MPI_Barrier(comm); - cout << "table done, id = " << rank << endl; - sleep(1); - MPI_Barrier(comm); - } - - - - static void ComputeGaussRule (int n, Array & xi, Array & wi) {