Loading...
Searching...
No Matches
terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT > Class Template Reference

#include <div_k_grad_simple.hpp>

Public Types

using SrcVectorType = linalg::VectorQ1Scalar< ScalarT >
 
using DstVectorType = linalg::VectorQ1Scalar< ScalarT >
 
using ScalarType = ScalarT
 
using Grid4DDataLocalMatrices = terra::grid::Grid4DDataMatrices< ScalarType, 6, 6, 2 >
 

Public Member Functions

 DivKGradSimple (const grid::shell::DistributedDomain &domain, const grid::Grid3DDataVec< ScalarT, 3 > &grid, const grid::Grid2DDataScalar< ScalarT > &radii, const grid::Grid4DDataScalar< ScalarType > &k, bool treat_boundary, bool diagonal, linalg::OperatorApplyMode operator_apply_mode=linalg::OperatorApplyMode::Replace, linalg::OperatorCommunicationMode operator_communication_mode=linalg::OperatorCommunicationMode::CommunicateAdditively)
 
const grid::shell::DistributedDomainget_domain () const
 Getter for domain member.
 
grid::Grid2DDataScalar< ScalarT > get_radii () const
 Getter for radii member.
 
grid::Grid3DDataVec< ScalarT, 3 > get_grid () const
 Getter for grid member.
 
void set_diagonal (bool v)
 S/Getter for diagonal member.
 
void set_single_quadpoint (bool v)
 S/Getter for quadpoint member.
 
dense::Mat< ScalarT, 6, 6 > get_local_matrix (const int local_subdomain_id, const int x_cell, const int y_cell, const int r_cell, const int wedge)
 Retrives the local matrix stored in the operator.
 
void set_local_matrix (const int local_subdomain_id, const int x_cell, const int y_cell, const int r_cell, const int wedge, const dense::Mat< ScalarT, LocalMatrixDim, LocalMatrixDim > &mat) const
 Set the local matrix stored in the operator.
 
void setApplyStoredLMatrices (bool v)
 Setter/Getter for app applyStoredLMatrices_: usage of stored local matrices during apply.
 
void store_lmatrices ()
 allocates memory for the local matrices calls kernel with storeLMatrices_ = true to assemble and store the local matrices sets applyStoredLMatrices_, such that future applies use the stored local matrices
 
void apply_impl (const SrcVectorType &src, DstVectorType &dst)
 
void operator() (const int local_subdomain_id, const int x_cell, const int y_cell, const int r_cell) const
 

Static Public Attributes

static constexpr int LocalMatrixDim = 6
 

Member Typedef Documentation

◆ DstVectorType

template<typename ScalarT >
using terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::DstVectorType = linalg::VectorQ1Scalar< ScalarT >

◆ Grid4DDataLocalMatrices

template<typename ScalarT >
using terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::Grid4DDataLocalMatrices = terra::grid::Grid4DDataMatrices< ScalarType, 6, 6, 2 >

◆ ScalarType

template<typename ScalarT >
using terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::ScalarType = ScalarT

◆ SrcVectorType

template<typename ScalarT >
using terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::SrcVectorType = linalg::VectorQ1Scalar< ScalarT >

Constructor & Destructor Documentation

◆ DivKGradSimple()

template<typename ScalarT >
terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::DivKGradSimple ( const grid::shell::DistributedDomain domain,
const grid::Grid3DDataVec< ScalarT, 3 > &  grid,
const grid::Grid2DDataScalar< ScalarT > &  radii,
const grid::Grid4DDataScalar< ScalarType > &  k,
bool  treat_boundary,
bool  diagonal,
linalg::OperatorApplyMode  operator_apply_mode = linalg::OperatorApplyMode::Replace,
linalg::OperatorCommunicationMode  operator_communication_mode = linalg::OperatorCommunicationMode::CommunicateAdditively 
)
inline

Member Function Documentation

◆ apply_impl()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::apply_impl ( const SrcVectorType src,
DstVectorType dst 
)
inline

◆ get_domain()

template<typename ScalarT >
const grid::shell::DistributedDomain & terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::get_domain ( ) const
inline

Getter for domain member.

◆ get_grid()

template<typename ScalarT >
grid::Grid3DDataVec< ScalarT, 3 > terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::get_grid ( ) const
inline

Getter for grid member.

◆ get_local_matrix()

template<typename ScalarT >
dense::Mat< ScalarT, 6, 6 > terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::get_local_matrix ( const int  local_subdomain_id,
const int  x_cell,
const int  y_cell,
const int  r_cell,
const int  wedge 
)
inline

Retrives the local matrix stored in the operator.

◆ get_radii()

template<typename ScalarT >
grid::Grid2DDataScalar< ScalarT > terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::get_radii ( ) const
inline

Getter for radii member.

◆ operator()()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::operator() ( const int  local_subdomain_id,
const int  x_cell,
const int  y_cell,
const int  r_cell 
) const
inline

◆ set_diagonal()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::set_diagonal ( bool  v)
inline

S/Getter for diagonal member.

◆ set_local_matrix()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::set_local_matrix ( const int  local_subdomain_id,
const int  x_cell,
const int  y_cell,
const int  r_cell,
const int  wedge,
const dense::Mat< ScalarT, LocalMatrixDim, LocalMatrixDim > &  mat 
) const
inline

Set the local matrix stored in the operator.

◆ set_single_quadpoint()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::set_single_quadpoint ( bool  v)
inline

S/Getter for quadpoint member.

◆ setApplyStoredLMatrices()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::setApplyStoredLMatrices ( bool  v)
inline

Setter/Getter for app applyStoredLMatrices_: usage of stored local matrices during apply.

◆ store_lmatrices()

template<typename ScalarT >
void terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::store_lmatrices ( )
inline

allocates memory for the local matrices calls kernel with storeLMatrices_ = true to assemble and store the local matrices sets applyStoredLMatrices_, such that future applies use the stored local matrices

Member Data Documentation

◆ LocalMatrixDim

template<typename ScalarT >
constexpr int terra::fe::wedge::operators::shell::DivKGradSimple< ScalarT >::LocalMatrixDim = 6
staticconstexpr

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