waves
Basic FE playground
DirichletList.h
Go to the documentation of this file.
1 #ifndef KATOPTRON_DIRICHLETLIST_H
2 #define KATOPTRON_DIRICHLETLIST_H
3 
4 #include "katoptron.h"
5 
6 #include "Map.h"
7 #include "wDirichlet.h"
8 #include "wProblem.h"
9 #include "wTag.h"
10 #include "wNode.h"
11 
12 #include "ElementsList.h"
13 
14 #include <Tpetra_Map.hpp>
15 #include <Tpetra_Vector.hpp>
16 #include <Teuchos_RCP.hpp>
17 #include <Kokkos_ViewFactory.hpp>
18 
19 #include "EnsembleTraits.h"
20 
21 namespace katoptron
22 {
23 
27 template <typename scalar>
29 {
32 
33 private:
34  Kokkos::View<global_ordinal_type **, Kokkos::LayoutRight> dirichlet_nodesList;
35  Kokkos::View<scalar ***, Kokkos::LayoutRight> dirichlet_values_list;
36 
40 
44 
45 public:
46  DirichletList(Problem &pbl, Teuchos::RCP<Map> map, Teuchos::RCP<ElementsList> elementsList);
47 
52 
63  {
65  }
66 
78  {
79  return dirichlet_nodesList(i, dirichlet_nodes + n1);
80  }
81 
92  {
93  return dirichlet_values_list(i, 0, dirichlet_dofs + j);
94  }
95 
106  {
107  return dirichlet_values_list(i, 0, dirichlet_values + j);
108  }
109 };
110 }; // namespace katoptron
111 
112 #endif //KATOPTRON_DIRICHLETLIST_H
katoptron::DirichletList::global_ordinal_type
Map::global_ordinal_type global_ordinal_type
Definition: DirichletList.h:31
wProblem.h
katoptron::DirichletList::getDirichletValue
scalar getDirichletValue(local_ordinal_type i, local_ordinal_type j)
Return the value of the fixed DOF for a given BC.
Definition: DirichletList.h:105
katoptron::Map::local_ordinal_type
int local_ordinal_type
Definition: Map.h:27
katoptron::DirichletList::dirichlet_values_list
Kokkos::View< scalar ***, Kokkos::LayoutRight > dirichlet_values_list
Definition: DirichletList.h:35
katoptron::DirichletList::getDirichletDof
scalar getDirichletDof(local_ordinal_type i, local_ordinal_type j)
Return whether the DOF j is fixed for a given BC.
Definition: DirichletList.h:91
katoptron::Map::global_ordinal_type
int global_ordinal_type
Definition: Map.h:28
katoptron::DirichletList::getDirichletSize
local_ordinal_type getDirichletSize(local_ordinal_type i)
Return the number of nodes for a given Dirichlet BC.
Definition: DirichletList.h:62
katoptron::DirichletList::dirichlet_time
local_ordinal_type dirichlet_time
Definition: DirichletList.h:41
wDirichlet.h
katoptron::DirichletList::local_ordinal_type
Map::local_ordinal_type local_ordinal_type
Definition: DirichletList.h:30
katoptron::DirichletList::dirichlet_values
local_ordinal_type dirichlet_values
Definition: DirichletList.h:43
katoptron::DirichletList::dirichlet_nodesList
Kokkos::View< global_ordinal_type **, Kokkos::LayoutRight > dirichlet_nodesList
Definition: DirichletList.h:34
katoptron::DirichletList::dirichlet_number
local_ordinal_type dirichlet_number
Definition: DirichletList.h:37
ElementsList.h
katoptron
katoptron namespace
Definition: Algebraic.h:18
katoptron::DirichletList::dirichlet_nodes
local_ordinal_type dirichlet_nodes
Definition: DirichletList.h:39
katoptron::DirichletList::getDirichletNode
global_ordinal_type getDirichletNode(local_ordinal_type i, local_ordinal_type n1)
Return the global ID of the node n1 of a given BC.
Definition: DirichletList.h:77
katoptron::DirichletList::dirichlet_dofs
local_ordinal_type dirichlet_dofs
Definition: DirichletList.h:42
EnsembleTraits.h
katoptron::DirichletList::dirichlet_size
local_ordinal_type dirichlet_size
Definition: DirichletList.h:38
katoptron::Problem
Class which is used to specify in Python the thermomechanical to solve.
Definition: wProblem.h:19
katoptron.h
katoptron::DirichletList
Class which is used to store the list of the Dirichlet boundary conditions (BC).
Definition: DirichletList.h:28
katoptron::DirichletList::getDirichletNumber
local_ordinal_type getDirichletNumber()
Return the number of Dirichlet BC.
Definition: DirichletList.h:51
Map.h
katoptron::DirichletList::DirichletList
DirichletList(Problem &pbl, Teuchos::RCP< Map > map, Teuchos::RCP< ElementsList > elementsList)
DirichletList constructor.
Definition: DirichletList.hpp:21