On Mon, Aug 18, 2014 at 7:55 AM, Derek Gaston <[email protected]> wrote:
> Am I doing something wrong - or do we really not have a specialization of
> Communciator::allgather() for std::vector<Point> ?
>
> I know that broadcast is implemented (because I'm using it in another part
> of the code). But I'm seeing this when I try to do allgather():
>
> error: calling a private constructor of class
> 'libMesh::Parallel::StandardType<libMesh::Point>'
>
> Any guidance?
Are you sure it works for broadcast? I tried this test code:
#include "libmesh/libmesh.h"
#include "libmesh/point.h"
#include "libmesh/parallel.h"
using namespace libMesh;
int main (int argc, char** argv)
{
LibMeshInit init(argc, argv);
// Let's try to broadcast a libMesh Point
Point p;
// Initialize p only on processor 0
if (init.comm().rank() == 0)
p(0) = 42;
Parallel::broadcast(p);
return 0;
}
and got a similar error:
parallel_implementation.h:2986:26: error: calling a private
constructor of class 'libMesh::Parallel::StandardType<libMesh::Point>'
MPI_Bcast (&data, 1, StandardType<T>(&data), root_id, this->get());
^
--
John
------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel