Hello libMesh community,

Bit of a special (as opposed to general) problem here. I'm trying to 
create a serial mesh on each of N processors, each to be kept on its 
respective processor and solved separately. This causes problems when 
initialising a given mesh's EquationSystems; I've narrowed the bug down 
to this line of code in dof_map.C:

         Parallel::send_receive(procup, requested_ids[procup],
                              procdown, request_to_fill);

For the case where N = 2, when run on the first processor the above 
request_to_fill vector has a size equal to the number of nodes (or 
elements) on the second processor. I think this is where the problem 
occurs --- despite localising all the nodes and elements of the first 
processor's mesh, because I've already got a completely different mesh 
on the second processor it returns the number of nodes for that mesh. 
This either causes a crash if n_nodes_mesh_1 > n_nodes_mesh_0, or funky 
behaviour otherwise.

Is there a workaround for this? I understand that this is an unusual 
problem, but ultimately I aim to run several thousand serial meshes so 
parallelisation is pretty important.

Thanks in advance,
Peter

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to