Dear all,

I just tracked down a bug in my solve-on-part-of-domain stuff, that is 
in the (new) class SystemSubsetBySubdomain.  The idea of this class is 
to create a list of all dofs that are adjacent to at least one 
(active) element whose subdomain id is contained is a given list. 
The way it currently works is as follows:


loop over active_local_elements
{
   if(subdomain_id is in the given list)
   {
     loop over dofs of this element
     {
       if(dof is owned by this processor)
       {
         put dof in list;
       }
       (*) // see below
     }
   }
}
sort list and remove duplicates;


This gives a local list on each processor, but the list is wrong. 
That is, the following thing can happen: A dof is owned by processor 
#n, and this dof is adjacent to several elements, and only one of 
these elements has a subdomain id in the given list, but just this 
element is owned by processor #m (where m!=n).  In this case, this dof 
is not added to the list of processor #n, nor to any other list.

Now, my idea for fixing this would be to add at the position indicated 
by "(*)" the following code:


else
{
   put dof into a different list;
}


and then, at the end, transfer this "different list" to all the other 
processors.

My question now: Is there already a mechanism for solving this problem 
nicely somewhere in the library?  I guess it is (I remember that you 
guys were talking about a "send_list"), but I don't know where and how 
to use it.  If there is not, I will be able to manage this myself, but 
it might possibly not be as efficient as it could be.

Best Regards,

Tim

-- 
Dr. Tim Kroeger
CeVis -- Center of Complex Systems and Visualization
University of Bremen              [email protected]
Universitaetsallee 29             [email protected]
D-28359 Bremen                             Phone +49-421-218-7710
Germany                                    Fax   +49-421-218-4236

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to