Sierra Toolkit  Version of the Day
RingFixture.hpp
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2010 Sandia Corporation. */
3 /* Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive */
4 /* license for use of this work by or on behalf of the U.S. Government. */
5 /* Export of this program may require a license from the */
6 /* United States Government. */
7 /*------------------------------------------------------------------------*/
8 
9 #ifndef STK_MESH_FIXTURES_RING_FIXTURE_HPP
10 #define STK_MESH_FIXTURES_RING_FIXTURE_HPP
11 
12 #include <stk_util/parallel/Parallel.hpp>
13 
14 #include <stk_util/environment/ReportHandler.hpp>
15 
16 #include <stk_mesh/base/Types.hpp>
17 #include <stk_mesh/base/MetaData.hpp>
18 #include <stk_mesh/base/BulkData.hpp>
19 #include <stk_mesh/base/MetaData.hpp>
20 #include <stk_mesh/base/Entity.hpp>
21 #include <stk_mesh/base/EntityComm.hpp>
22 #include <stk_mesh/base/GetEntities.hpp>
23 
24 #include <stk_mesh/fem/FEMMetaData.hpp>
25 
26 #include <Shards_BasicTopologies.hpp>
27 
28 namespace stk_classic {
29 namespace mesh {
30 namespace fixtures {
31 
37 class RingFixture {
38  public:
39  const int m_spatial_dimension;
40  fem::FEMMetaData m_meta_data;
41  BulkData m_bulk_data;
42  PartVector m_edge_parts ;
43  Part & m_edge_part_extra ;
44  const size_t m_num_edge_per_proc ;
45  std::vector<EntityId> m_node_ids , m_edge_ids ;
46 
48  unsigned num_edge_per_proc = 10 ,
49  bool use_edge_parts = false );
50 
51  ~RingFixture() {}
52 
57  void generate_mesh();
58 
62  void fixup_node_ownership();
63 
64  private:
65 
66  RingFixture();
67  RingFixture( const RingFixture & );
68  RingFixture & operator = ( const RingFixture & );
69 };
70 
71 }
72 }
73 }
74 
75 #endif
FEMMetaData is a class that implements a Finite Element Method skin on top of the Sierra Tool Kit Met...
Definition: FEMMetaData.hpp:54
An application-defined subset of a problem domain.
Definition: Part.hpp:49
Manager for an integrated collection of entities, entity relations, and buckets of field data...
Definition: BulkData.hpp:49
Sierra Toolkit.
MPI_Comm ParallelMachine
Definition: Parallel.hpp:32
std::vector< Part *> PartVector
Collections of parts are frequently maintained as a vector of Part pointers.
Definition: Types.hpp:31