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

#include <epsilon.hpp>

Public Types

using SrcVectorType = linalg::VectorQ1Vec< ScalarT, VecDim >
 
using DstVectorType = linalg::VectorQ1Vec< ScalarT, VecDim >
 
using ScalarType = ScalarT
 

Public Member Functions

 Epsilon (const grid::shell::DistributedDomain &domain, const grid::Grid3DDataVec< ScalarT, 3 > &grid, const grid::Grid2DDataScalar< ScalarT > &radii, const grid::Grid4DDataScalar< ScalarT > &k, bool treat_boundary, bool diagonal, linalg::OperatorApplyMode operator_apply_mode=linalg::OperatorApplyMode::Replace, linalg::OperatorCommunicationMode operator_communication_mode=linalg::OperatorCommunicationMode::CommunicateAdditively)
 
const grid::Grid4DDataScalar< ScalarType > & k_grid_data ()
 
void set_operator_apply_and_communication_modes (const linalg::OperatorApplyMode operator_apply_mode, const linalg::OperatorCommunicationMode operator_communication_mode)
 
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
 
void neumann (ScalarType src_local_hex[8], ScalarType dst_local_hex[8], const ScalarType k_eval, const int wedge, const ScalarType quad_weight, const ScalarType abs_det, dense::Mat< ScalarType, 3, 3 > *sym_grad_i, dense::Mat< ScalarType, 3, 3 > *sym_grad_j, const int dimi, const int dimj) const
 
void dirichlet_cmb (ScalarType src_local_hex[8], ScalarType dst_local_hex[8], const ScalarType k_eval, const int wedge, const ScalarType quad_weight, const ScalarType abs_det, dense::Mat< ScalarType, 3, 3 > *sym_grad_i, dense::Mat< ScalarType, 3, 3 > *sym_grad_j, const int dimi, const int dimj) const
 
void dirichlet_surface (ScalarType src_local_hex[8], ScalarType dst_local_hex[8], const ScalarType k_eval, const int wedge, const ScalarType quad_weight, const ScalarType abs_det, dense::Mat< ScalarType, 3, 3 > *sym_grad_i, dense::Mat< ScalarType, 3, 3 > *sym_grad_j, const int dimi, const int dimj) const
 
void diagonal (ScalarType src_local_hex[8], ScalarType dst_local_hex[8], const ScalarType k_eval, const int wedge, const ScalarType quad_weight, const ScalarType abs_det, dense::Mat< ScalarType, 3, 3 > *sym_grad_i, dense::Mat< ScalarType, 3, 3 > *sym_grad_j, const int dimi, const int dimj) const
 

Member Typedef Documentation

◆ DstVectorType

template<typename ScalarT , int VecDim = 3>
using terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::DstVectorType = linalg::VectorQ1Vec< ScalarT, VecDim >

◆ ScalarType

template<typename ScalarT , int VecDim = 3>
using terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::ScalarType = ScalarT

◆ SrcVectorType

template<typename ScalarT , int VecDim = 3>
using terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::SrcVectorType = linalg::VectorQ1Vec< ScalarT, VecDim >

Constructor & Destructor Documentation

◆ Epsilon()

template<typename ScalarT , int VecDim = 3>
terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::Epsilon ( const grid::shell::DistributedDomain domain,
const grid::Grid3DDataVec< ScalarT, 3 > &  grid,
const grid::Grid2DDataScalar< ScalarT > &  radii,
const grid::Grid4DDataScalar< ScalarT > &  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 , int VecDim = 3>
void terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::apply_impl ( const SrcVectorType src,
DstVectorType dst 
)
inline

◆ diagonal()

template<typename ScalarT , int VecDim = 3>
void terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::diagonal ( ScalarType  src_local_hex[8],
ScalarType  dst_local_hex[8],
const ScalarType  k_eval,
const int  wedge,
const ScalarType  quad_weight,
const ScalarType  abs_det,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_i,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_j,
const int  dimi,
const int  dimj 
) const
inline

◆ dirichlet_cmb()

template<typename ScalarT , int VecDim = 3>
void terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::dirichlet_cmb ( ScalarType  src_local_hex[8],
ScalarType  dst_local_hex[8],
const ScalarType  k_eval,
const int  wedge,
const ScalarType  quad_weight,
const ScalarType  abs_det,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_i,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_j,
const int  dimi,
const int  dimj 
) const
inline

◆ dirichlet_surface()

template<typename ScalarT , int VecDim = 3>
void terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::dirichlet_surface ( ScalarType  src_local_hex[8],
ScalarType  dst_local_hex[8],
const ScalarType  k_eval,
const int  wedge,
const ScalarType  quad_weight,
const ScalarType  abs_det,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_i,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_j,
const int  dimi,
const int  dimj 
) const
inline

◆ k_grid_data()

template<typename ScalarT , int VecDim = 3>
const grid::Grid4DDataScalar< ScalarType > & terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::k_grid_data ( )
inline

◆ neumann()

template<typename ScalarT , int VecDim = 3>
void terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::neumann ( ScalarType  src_local_hex[8],
ScalarType  dst_local_hex[8],
const ScalarType  k_eval,
const int  wedge,
const ScalarType  quad_weight,
const ScalarType  abs_det,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_i,
dense::Mat< ScalarType, 3, 3 > *  sym_grad_j,
const int  dimi,
const int  dimj 
) const
inline

◆ operator()()

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

◆ set_operator_apply_and_communication_modes()

template<typename ScalarT , int VecDim = 3>
void terra::fe::wedge::operators::shell::Epsilon< ScalarT, VecDim >::set_operator_apply_and_communication_modes ( const linalg::OperatorApplyMode  operator_apply_mode,
const linalg::OperatorCommunicationMode  operator_communication_mode 
)
inline

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