Sierra Toolkit Version of the Day
Gmesh_STKmesh_Fixture.hpp
00001 #ifndef stk_io_util_Gmesh_STKmesh_Fixture_hpp
00002 #define stk_io_util_Gmesh_STKmesh_Fixture_hpp
00003 
00004 #include <stk_util/parallel/Parallel.hpp>
00005 #include <stk_mesh/base/Types.hpp>
00006 #include <stk_mesh/fem/FEMMetaData.hpp>
00007 #include <stk_mesh/base/BulkData.hpp>
00008 #include <stk_io/MeshReadWriteUtils.hpp>
00009 
00010 #include <vector>
00011 #include <string>
00012 
00013 namespace stk {
00014 namespace io {
00015 namespace util {
00016 
00021 class Gmesh_STKmesh_Fixture
00022 {
00023  public:
00024 
00034   Gmesh_STKmesh_Fixture(stk::ParallelMachine comm, const std::string& gmesh_spec);
00035 
00040   void commit();
00041 
00047   size_t getSurfElemCount(size_t surf_id) const;
00048 
00057   std::pair<int, double> getSurfCoordInfo(size_t surf_id) const;
00058 
00062   size_t getSideCount() const;
00063 
00067   size_t getElemCount() const;
00068 
00072   size_t getNodeCount() const;
00073 
00077   const std::vector<std::string> & getSidesetNames() const
00078   { return m_sideset_names; }
00079 
00083   const stk::mesh::PartVector & getSideParts() const
00084   { return m_sideset_parts; }
00085 
00092   stk::mesh::MetaData & getMetaData()
00093   { return m_meta_data.get_meta_data(m_meta_data); }
00094 
00095   const stk::mesh::fem::FEMMetaData & getFEMMetaData() const
00096   { return m_meta_data; }
00097 
00098   stk::mesh::fem::FEMMetaData & getFEMMetaData()
00099   { return m_meta_data; }
00100 
00104   const stk::mesh::BulkData & getBulkData() const
00105   { return m_bulk_data; }
00106 
00107   stk::mesh::BulkData & getBulkData()
00108   { return m_bulk_data; }
00109 
00110  private:
00112   stk::mesh::fem::FEMMetaData m_meta_data;
00113 
00115   stk::mesh::BulkData m_bulk_data;
00116 
00122   stk::io::MeshData m_mesh_data;
00123 
00125   std::vector<std::string> m_sideset_names;
00126 
00128   stk::mesh::PartVector m_sideset_parts;
00129 
00131   int m_num_x;
00132 
00134   int m_num_y;
00135 
00137   int m_num_z;
00138 };
00139 
00140 }//namespace util
00141 }//namespace io
00142 }//namespace stk
00143 
00144 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines