Sierra Toolkit Version of the Day
BoundaryAnalysis.hpp
00001 /*------------------------------------------------------------------------*/
00002 /*                 Copyright 2010 Sandia Corporation.                     */
00003 /*  Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive   */
00004 /*  license for use of this work by or on behalf of the U.S. Government.  */
00005 /*  Export of this program may require a license from the                 */
00006 /*  United States Government.                                             */
00007 /*------------------------------------------------------------------------*/
00008 
00009 #ifndef stk_mesh_BoundaryAnalysis_hpp
00010 #define stk_mesh_BoundaryAnalysis_hpp
00011 
00012 #include <vector>
00013 #include <stk_mesh/base/Types.hpp>
00014 #include <stk_util/util/NamedPair.hpp>
00015 
00016 namespace stk {
00017 namespace mesh {
00018 
00019 class BulkData;
00020 class Entity;
00021 
00025 NAMED_PAIR(EntitySideComponent, Entity *, entity, unsigned, side_ordinal)
00031 NAMED_PAIR(EntitySide, EntitySideComponent, inside, EntitySideComponent, outside)
00032 
00036 typedef std::vector<EntitySide> EntitySideVector;
00037 
00043 void boundary_analysis(const BulkData& bulk_data,
00044                        const std::vector< Entity *> & entities_closure,
00045                        EntityRank closure_rank,
00046                        EntitySideVector& boundary);
00047 
00060 void get_adjacent_entities( const Entity & entity ,
00061                             unsigned subcell_rank ,
00062                             unsigned subcell_identifier ,
00063                             std::vector< EntitySideComponent > & adjacent_entities );
00064 }
00065 }
00066 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends