Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_STK_Quad8ToQuad4MeshFactory.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef __Panzer_STK_Quad8ToQuad4MeshFactory_hpp__
12 #define __Panzer_STK_Quad8ToQuad4MeshFactory_hpp__
13 
15 #include <Panzer_STK_Interface.hpp>
16 #include <vector>
17 #include <string>
18 
19 namespace panzer_stk {
20 
21 class STK_Interface;
22 
29 public:
30 
31  Quad8ToQuad4MeshFactory(const std::string& quad8MeshFileName,
32  stk::ParallelMachine mpi_comm = MPI_COMM_WORLD, // CHECK: ALLOW MPI_COMM_WORLD
33  const bool print_debug = false);
34 
36  const bool print_debug = false);
37 
38  Teuchos::RCP<STK_Interface> buildMesh(stk::ParallelMachine parallelMach) const;
39  virtual Teuchos::RCP<STK_Interface> buildUncommitedMesh(stk::ParallelMachine parallelMach) const;
40  virtual void completeMeshConstruction(STK_Interface & mesh,stk::ParallelMachine parallelMach) const;
41 
44 
47 
48 protected:
49 
50  void buildMetaData(stk::ParallelMachine parallelMach,STK_Interface & mesh) const;
51  void buildElements(stk::ParallelMachine parallelMach,STK_Interface & mesh) const;
52 
53  void addSideSets(STK_Interface & mesh) const;
54  void addNodeSets(STK_Interface & mesh) const;
55  void addEdgeBlocks(STK_Interface & mesh) const;
56  void copyCellFieldData(STK_Interface & mesh) const;
57 
59 
60  mutable unsigned int machRank_, machSize_;
61 
63 
66  mutable stk::mesh::EntityId offset_;
67 
69 
70  std::string edgeBlockName_;
71 };
72 
73 }
74 
75 #endif
bool offsetGIDs_
If true, offset mesh GIDs to exercise 32-bit limits.
Teuchos::RCP< STK_Interface > buildMesh(stk::ParallelMachine parallelMach) const
Build the mesh object.
void buildMetaData(stk::ParallelMachine parallelMach, STK_Interface &mesh) const
Teuchos::RCP< panzer_stk::STK_Interface > quad8Mesh_
void buildElements(stk::ParallelMachine parallelMach, STK_Interface &mesh) const
virtual void completeMeshConstruction(STK_Interface &mesh, stk::ParallelMachine parallelMach) const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Derived from ParameterListAcceptor.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &paramList)
Derived from ParameterListAcceptor.
Quad8ToQuad4MeshFactory(const std::string &quad8MeshFileName, stk::ParallelMachine mpi_comm=MPI_COMM_WORLD, const bool print_debug=false)
virtual Teuchos::RCP< STK_Interface > buildUncommitedMesh(stk::ParallelMachine parallelMach) const