waves
Basic FE playground
ElementVectors.h
Go to the documentation of this file.
1 #ifndef KATOPTRON_ELEMENTVECTORS_H
2 #define KATOPTRON_ELEMENTVECTORS_H
3 
4 #include <Kokkos_Core.hpp>
5 #include "Kokkos_ViewFactory.hpp"
6 #include "wCacheHex8.h"
7 #include "wCacheQuad4.h"
8 #include "wCacheTetra4.h"
9 #include "wCacheTri3.h"
10 #include "tMatrix.h"
11 #include "Domain.h"
12 #include "Loads.h"
13 
14 #include "ElementComputation.h"
15 
16 #include "MaterialsList.h"
17 #include "Material.h"
18 
19 #include "wLazy.h"
20 #include "tMatrix.h"
21 
26 template <typename scalar, int element_type, int element_size>
27 class ElementVectors : public ElementComputation<scalar, element_type>
28 {
29 public:
30  Kokkos::View<scalar ***, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> N;
31 
32  Teuchos::RCP<katoptron::Domain<scalar>> domain;
33 
34  size_t numPrimalDPN;
35 
36  ElementVectors(Teuchos::RCP<katoptron::Domain<scalar>> domain, size_t numPrimalDPN, size_t pool_size);
37 
38  void compute(int e, int i_thread);
39  Kokkos::View<scalar **, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> getN(size_t i_thread) const;
40 };
41 
42 #endif //KATOPTRON_ELEMENTVECTORS_H
ElementVectors::N
Kokkos::View< scalar ***, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace > N
Definition: ElementVectors.h:30
katoptron::Domain
Class which is used to store all the information related to the discretized domain:
Definition: Domain.h:26
ElementVectors::ElementVectors
ElementVectors(Teuchos::RCP< katoptron::Domain< scalar >> domain, size_t numPrimalDPN, size_t pool_size)
ElementVectors constructor.
Definition: ElementVectors.hpp:15
Domain.h
Material.h
tMatrix.h
ElementVectors::numPrimalDPN
size_t numPrimalDPN
Definition: ElementVectors.h:34
ElementComputation.h
MaterialsList.h
ElementVectors::domain
Teuchos::RCP< katoptron::Domain< scalar > > domain
Definition: ElementVectors.h:32
ElementVectors::compute
void compute(int e, int i_thread)
Compute the matrix. Arguments:
Definition: ElementVectors.hpp:31
ElementVectors::getN
Kokkos::View< scalar **, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace > getN(size_t i_thread) const
Return the .
Definition: ElementVectors.hpp:103
ElementComputation
Base class for the element computations.
Definition: ElementComputation.h:30
Loads.h
ElementVectors
Class used to compute the matrix associated to the integration of load on surface .
Definition: ElementVectors.h:27