waves
Basic FE playground
ElementVectors< scalar, element_type, element_size > Class Template Reference

Class used to compute the matrix associated to the integration of load on surface \(\boldsymbol{N}\). More...

#include <ElementVectors.h>

Inheritance diagram for ElementVectors< scalar, element_type, element_size >:
Collaboration diagram for ElementVectors< scalar, element_type, element_size >:

Public Member Functions

 ElementVectors (Teuchos::RCP< katoptron::Domain< scalar >> domain, size_t numPrimalDPN, size_t pool_size)
 ElementVectors constructor. More...
 
void compute (int e, int i_thread)
 Compute the \(\boldsymbol{N}\) matrix. Arguments: More...
 
Kokkos::View< scalar **, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace > getN (size_t i_thread) const
 Return the \(\boldsymbol{N}\). More...
 

Public Attributes

Kokkos::View< scalar ***, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace > N
 
Teuchos::RCP< katoptron::Domain< scalar > > domain
 
size_t numPrimalDPN
 

Additional Inherited Members

- Protected Member Functions inherited from ElementComputation< scalar, element_type >
tbox::CacheHex8 & trilinosHex8GetCache ()
 Return the tbox cache of the hexahedron elements. More...
 
tbox::CacheTetra4 & trilinosTetra4GetCache ()
 Return the tbox cache of the tetrahedron elements. More...
 
tbox::CacheTri3 & trilinosTri3GetCache ()
 Return the tbox cache of the triangular elements. More...
 
tbox::CacheQuad4 & trilinosQuad4GetCache ()
 Return the tbox cache of the quadrangular elements. More...
 
double buildJ (int k, tMatrix< double, 3, 3 > &J, local_ordinal_type e, const katoptron::ElementsList &elementsList, const katoptron::NodesList &nodesList)
 Compute the Jacobian matrix \(\boldsymbol{J}\) of an element. More...
 

Detailed Description

template<typename scalar, int element_type, int element_size>
class ElementVectors< scalar, element_type, element_size >

Class used to compute the matrix associated to the integration of load on surface \(\boldsymbol{N}\).

Constructor & Destructor Documentation

◆ ElementVectors()

template<typename scalar , int element_type, int element_size>
ElementVectors< scalar, element_type, element_size >::ElementVectors ( Teuchos::RCP< katoptron::Domain< scalar >>  _domain,
size_t  _numPrimalDPN,
size_t  pool_size 
)

ElementVectors constructor.

Arguments:

  • domain: an RCP to a Domain object,
  • numPrimalDPN: the number of degrees of freedom per node (without taking into account the Lagrange multipliers),
  • pool_size: the number of threads that will be used to compute \(\boldsymbol{N}\).

The number of used threads is specify to allocate distinct memory for each thread to ensure that the threads do not use the same memory addresses.

Member Function Documentation

◆ compute()

template<typename scalar , int element_type, int element_size>
void ElementVectors< scalar, element_type, element_size >::compute ( int  e,
int  i_thread 
)

Compute the \(\boldsymbol{N}\) matrix. Arguments:

  • e: the local ID of the element for which \(\boldsymbol{N}\) has to be computed,
  • i_thread: the ID of the thread used to compute \(\boldsymbol{N}\).

◆ getN()

template<typename scalar , int element_type, int element_size>
Kokkos::View< scalar **, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace > ElementVectors< scalar, element_type, element_size >::getN ( size_t  i_thread) const

Return the \(\boldsymbol{N}\).

Argument:

  • i_thread: the ID of the thread used to compute \(\boldsymbol{N}\).

Member Data Documentation

◆ domain

template<typename scalar , int element_type, int element_size>
Teuchos::RCP<katoptron::Domain<scalar> > ElementVectors< scalar, element_type, element_size >::domain

◆ N

template<typename scalar , int element_type, int element_size>
Kokkos::View<scalar ***, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> ElementVectors< scalar, element_type, element_size >::N

◆ numPrimalDPN

template<typename scalar , int element_type, int element_size>
size_t ElementVectors< scalar, element_type, element_size >::numPrimalDPN

The documentation for this class was generated from the following files: