[MOAB-dev] r4900 - in MOAB/trunk/src: moab parallel

tautges at mcs.anl.gov tautges at mcs.anl.gov
Tue May 31 15:52:27 CDT 2011


Author: tautges
Date: 2011-05-31 15:52:26 -0500 (Tue, 31 May 2011)
New Revision: 4900

Modified:
   MOAB/trunk/src/moab/Skinner.hpp
   MOAB/trunk/src/parallel/ParallelComm.cpp
Log:
Fixing the problem with skinning I introduced on Fri, and clarifying
documentation on one of the skinning functions.



Modified: MOAB/trunk/src/moab/Skinner.hpp
===================================================================
--- MOAB/trunk/src/moab/Skinner.hpp	2011-05-31 18:14:55 UTC (rev 4899)
+++ MOAB/trunk/src/moab/Skinner.hpp	2011-05-31 20:52:26 UTC (rev 4900)
@@ -56,10 +56,12 @@
   ErrorCode find_geometric_skin(Range &forward_target_entities);
   
     /**\brief will accept entities all of one dimension and 
-     *        return entities of n-1 dimension
+     *        return entities of n-1 dimension; NOTE: get_vertices argument controls whether
+     * vertices or entities of n-1 dimension are returned, and only one of these is allowed
+     * (i.e. this function returns only vertices or (n-1)-dimensional entities, but not both)
      * \param entities The elements for which to find the skin
-     * \param get_vertices If true, vertices on the skin are also returned 
-     *        in the range
+     * \param get_vertices If true, vertices on the skin are returned 
+     *        in the range, otherwise elements are returned
      * \param output_handles Range holding skin entities returned
      * \param output_reverse_handles Range holding entities on skin which 
      *        are reversed wrt entities

Modified: MOAB/trunk/src/parallel/ParallelComm.cpp
===================================================================
--- MOAB/trunk/src/parallel/ParallelComm.cpp	2011-05-31 18:14:55 UTC (rev 4899)
+++ MOAB/trunk/src/parallel/ParallelComm.cpp	2011-05-31 20:52:26 UTC (rev 4900)
@@ -3231,15 +3231,13 @@
 
     // find the skin
   Skinner skinner(mbImpl);
-  result = skinner.find_skin(skin_ents[skin_dim+1], true, skin_ents[skin_dim],
+  result = skinner.find_skin(skin_ents[skin_dim+1], false, skin_ents[skin_dim],
                              NULL, true, true, true);
   RRA("Failed to find skin.");
   myDebug->tprintf(1, "Found skin, now resolving.\n");
 
     // get entities adjacent to skin ents from shared_dim down to zero
-  skin_ents[0] = skin_ents[skin_dim].subset_by_type(MBVERTEX);
-  skin_ents[skin_dim] -= skin_ents[0];
-  for (int this_dim = skin_dim-1; this_dim > 0; this_dim--) {
+  for (int this_dim = skin_dim-1; this_dim >= 0; this_dim--) {
     result = mbImpl->get_adjacencies(skin_ents[skin_dim], this_dim,
                                      true, skin_ents[this_dim],
                                      Interface::UNION);










More information about the moab-dev mailing list