|
Sierra Toolkit
Version of the Day
|
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_classic { 00014 namespace io { 00015 namespace util { 00016 00021 class Gmesh_STKmesh_Fixture 00022 { 00023 public: 00024 00034 Gmesh_STKmesh_Fixture(stk_classic::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_classic::mesh::PartVector & getSideParts() const 00084 { return m_sideset_parts; } 00085 00092 stk_classic::mesh::MetaData & getMetaData() 00093 { return m_meta_data.get_meta_data(m_meta_data); } 00094 00095 const stk_classic::mesh::fem::FEMMetaData & getFEMMetaData() const 00096 { return m_meta_data; } 00097 00098 stk_classic::mesh::fem::FEMMetaData & getFEMMetaData() 00099 { return m_meta_data; } 00100 00104 const stk_classic::mesh::BulkData & getBulkData() const 00105 { return m_bulk_data; } 00106 00107 stk_classic::mesh::BulkData & getBulkData() 00108 { return m_bulk_data; } 00109 00110 private: 00112 stk_classic::mesh::fem::FEMMetaData m_meta_data; 00113 00115 stk_classic::mesh::BulkData m_bulk_data; 00116 00122 stk_classic::io::MeshData m_mesh_data; 00123 00125 std::vector<std::string> m_sideset_names; 00126 00128 stk_classic::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_classic 00143 00144 #endif