waves
Basic FE playground
Map.h
Go to the documentation of this file.
1 #ifndef KATOPTRON_MAP_H
2 #define KATOPTRON_MAP_H
3 
4 #include "katoptron.h"
5 
6 #include <Tpetra_Map.hpp>
7 #include <Tpetra_Vector.hpp>
8 #include <Teuchos_RCP.hpp>
9 
10 #include <Xpetra_Map.hpp>
11 #include <Xpetra_TpetraMap.hpp>
12 #include <Xpetra_BlockedMap.hpp>
13 
14 namespace katoptron
15 {
16 
21 class Map
22 {
23 public:
24  //
25  // Convenience typedefs
26  //
27  typedef int local_ordinal_type;
28  typedef int global_ordinal_type;
29  typedef KokkosClassic::DefaultNode::DefaultNodeType node_type;
30  typedef Tpetra::Map<local_ordinal_type, global_ordinal_type, node_type> tpetra_map_type;
31  typedef Xpetra::Map<local_ordinal_type, global_ordinal_type, node_type> xpetra_map_type;
32  typedef Xpetra::TpetraMap<local_ordinal_type, global_ordinal_type, node_type> xpetra_tmap_type;
33  typedef Xpetra::BlockedMap<local_ordinal_type, global_ordinal_type, node_type> xpetra_bmap_type;
34 
35  Teuchos::RCP<const tpetra_map_type> mapNodesWO;
36  Teuchos::RCP<const tpetra_map_type> mapNodes;
37  Teuchos::RCP<const tpetra_map_type> mapElems;
38  Teuchos::RCP<const tpetra_map_type> mapDofsWO;
39  Teuchos::RCP<const tpetra_map_type> mapDofs;
40  Teuchos::RCP<const tpetra_map_type> mapOutput;
41  Teuchos::RCP<const tpetra_map_type> mapLagrangeDofs;
42  Teuchos::RCP<const tpetra_map_type> fullmap;
43  Teuchos::RCP<const tpetra_map_type> fullmapWO;
44  Teuchos::RCP<const tpetra_map_type> fullmapOutput;
45 
46  Teuchos::RCP<const tpetra_map_type> thermoMap;
47  Teuchos::RCP<const tpetra_map_type> mechaMap;
48 
49  Teuchos::RCP<const tpetra_map_type> thermoMapWO;
50  Teuchos::RCP<const tpetra_map_type> mechaMapWO;
51 
52  Teuchos::RCP<const tpetra_map_type> thermomecFullmap;
53  Teuchos::RCP<const tpetra_map_type> thermomecFullmapWO;
54 
55  Teuchos::RCP<const xpetra_bmap_type> thermomecBlockedMap;
56 
57  Teuchos::RCP<const xpetra_bmap_type> blockedMap;
58 
59  std::map<int, int> lm_to_dof; //to change
60  std::map<int, int> lm_to_dof_global; //to change
61  std::map<int, int> lagrange_to_dof;
62  std::map<int, int> dof_to_lm;
63 
65  size_t numPrimalDPN;
66  size_t numDualDPN = 1;
67 
68  Map(Problem &pbl, size_t _numPrimalDPN);
69 };
70 
71 }; // namespace katoptron
72 
73 #endif //KATOPTRON_MAP_H
katoptron::Map::local_ordinal_type
int local_ordinal_type
Definition: Map.h:27
katoptron::Map::thermomecBlockedMap
Teuchos::RCP< const xpetra_bmap_type > thermomecBlockedMap
Definition: Map.h:55
katoptron::Map::lm_to_dof_global
std::map< int, int > lm_to_dof_global
Definition: Map.h:60
katoptron::Map::mapDofs
Teuchos::RCP< const tpetra_map_type > mapDofs
Definition: Map.h:39
katoptron::Map::fullmapOutput
Teuchos::RCP< const tpetra_map_type > fullmapOutput
Definition: Map.h:44
katoptron::Map::blockedMap
Teuchos::RCP< const xpetra_bmap_type > blockedMap
Definition: Map.h:57
katoptron::Map::global_ordinal_type
int global_ordinal_type
Definition: Map.h:28
katoptron::Map::mapElems
Teuchos::RCP< const tpetra_map_type > mapElems
Definition: Map.h:37
katoptron::Map::lm_to_dof
std::map< int, int > lm_to_dof
Definition: Map.h:59
katoptron::Map::thermomecFullmapWO
Teuchos::RCP< const tpetra_map_type > thermomecFullmapWO
Definition: Map.h:53
katoptron::Map::xpetra_map_type
Xpetra::Map< local_ordinal_type, global_ordinal_type, node_type > xpetra_map_type
Definition: Map.h:31
katoptron::Map::indexBase
const global_ordinal_type indexBase
Definition: Map.h:64
katoptron::Map::mapLagrangeDofs
Teuchos::RCP< const tpetra_map_type > mapLagrangeDofs
Definition: Map.h:41
katoptron::Map::thermoMapWO
Teuchos::RCP< const tpetra_map_type > thermoMapWO
Definition: Map.h:49
katoptron
katoptron namespace
Definition: Algebraic.h:18
katoptron::Map::mechaMapWO
Teuchos::RCP< const tpetra_map_type > mechaMapWO
Definition: Map.h:50
katoptron::Map::thermoMap
Teuchos::RCP< const tpetra_map_type > thermoMap
Definition: Map.h:46
katoptron::Map::xpetra_bmap_type
Xpetra::BlockedMap< local_ordinal_type, global_ordinal_type, node_type > xpetra_bmap_type
Definition: Map.h:33
katoptron::Map::tpetra_map_type
Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > tpetra_map_type
Definition: Map.h:30
katoptron::Map::thermomecFullmap
Teuchos::RCP< const tpetra_map_type > thermomecFullmap
Definition: Map.h:52
katoptron::Map::node_type
KokkosClassic::DefaultNode::DefaultNodeType node_type
Definition: Map.h:29
katoptron::Map::xpetra_tmap_type
Xpetra::TpetraMap< local_ordinal_type, global_ordinal_type, node_type > xpetra_tmap_type
Definition: Map.h:32
katoptron::Map::mapNodesWO
Teuchos::RCP< const tpetra_map_type > mapNodesWO
Definition: Map.h:35
katoptron::Map::mapNodes
Teuchos::RCP< const tpetra_map_type > mapNodes
Definition: Map.h:36
katoptron::Problem
Class which is used to specify in Python the thermomechanical to solve.
Definition: wProblem.h:19
katoptron::Map::numDualDPN
size_t numDualDPN
Definition: Map.h:66
katoptron::Map
Class which includes all the Trilinos maps (Tpetra maps and Xpetra maps) used in the simulation.
Definition: Map.h:21
katoptron.h
katoptron::Map::fullmapWO
Teuchos::RCP< const tpetra_map_type > fullmapWO
Definition: Map.h:43
katoptron::Map::Map
Map(Problem &pbl, size_t _numPrimalDPN)
Map constructor.
Definition: Map.cpp:41
katoptron::Map::mapDofsWO
Teuchos::RCP< const tpetra_map_type > mapDofsWO
Definition: Map.h:38
katoptron::Map::mechaMap
Teuchos::RCP< const tpetra_map_type > mechaMap
Definition: Map.h:47
katoptron::Map::mapOutput
Teuchos::RCP< const tpetra_map_type > mapOutput
Definition: Map.h:40
katoptron::Map::dof_to_lm
std::map< int, int > dof_to_lm
Definition: Map.h:62
katoptron::Map::numPrimalDPN
size_t numPrimalDPN
Definition: Map.h:65
katoptron::Map::lagrange_to_dof
std::map< int, int > lagrange_to_dof
Definition: Map.h:61
katoptron::Map::fullmap
Teuchos::RCP< const tpetra_map_type > fullmap
Definition: Map.h:42