deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
Portable::internal Namespace Reference

Classes

struct  EvaluatorTensorProduct
 
struct  EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >
 

Enumerations

enum  EvaluatorVariant { evaluate_general , evaluate_symmetric , evaluate_evenodd }
 

Functions

template<unsigned int size>
unsigned int index2 (unsigned int i, unsigned int j)
 
template<unsigned int size>
unsigned int index3 (unsigned int i, unsigned int j, unsigned int k)
 
template<unsigned int fe_degree, unsigned int direction>
bool is_constrained_dof_2d (const ::internal::MatrixFreeFunctions::ConstraintKinds &constraint_mask, const unsigned int x_idx, const unsigned int y_idx)
 
template<unsigned int fe_degree, unsigned int direction>
bool is_constrained_dof_3d (const ::internal::MatrixFreeFunctions::ConstraintKinds &constraint_mask, const unsigned int x_idx, const unsigned int y_idx, const unsigned int z_idx, const ::internal::MatrixFreeFunctions::ConstraintKinds face1_type, const ::internal::MatrixFreeFunctions::ConstraintKinds face2_type, const ::internal::MatrixFreeFunctions::ConstraintKinds face1, const ::internal::MatrixFreeFunctions::ConstraintKinds face2, const ::internal::MatrixFreeFunctions::ConstraintKinds edge)
 
template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number , typename ViewType >
void interpolate_boundary_2d (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, Kokkos::View< Number *, MemorySpace::Default::kokkos_space > constraint_weights, const ::internal::MatrixFreeFunctions::ConstraintKinds &constraint_mask, ViewType values)
 
template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number , typename ViewType >
void interpolate_boundary_3d (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, Kokkos::View< Number *, MemorySpace::Default::kokkos_space > constraint_weights, const ::internal::MatrixFreeFunctions::ConstraintKinds constraint_mask, ViewType values)
 
template<int dim, int fe_degree, bool transpose, typename Number , typename ViewType >
void resolve_hanging_nodes (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, Kokkos::View< Number *, MemorySpace::Default::kokkos_space > constraint_weights, const ::internal::MatrixFreeFunctions::ConstraintKinds constraint_mask, ViewType values)
 
template<int dim, int n_q_points_1d, typename Number , int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void apply (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, const Kokkos::View< Number *, MemorySpace::Default::kokkos_space > shape_data, const ViewTypeIn in, ViewTypeOut out)
 

Enumeration Type Documentation

◆ EvaluatorVariant

In this namespace, the evaluator routines that evaluate the tensor products are implemented.

Enumerator
evaluate_general 
evaluate_symmetric 
evaluate_evenodd 

Definition at line 35 of file portable_tensor_product_kernels.h.

Function Documentation

◆ index2()

template<unsigned int size>
unsigned int Portable::internal::index2 ( unsigned int  i,
unsigned int  j 
)
inline

Definition at line 34 of file portable_hanging_nodes_internal.h.

◆ index3()

template<unsigned int size>
unsigned int Portable::internal::index3 ( unsigned int  i,
unsigned int  j,
unsigned int  k 
)
inline

Definition at line 43 of file portable_hanging_nodes_internal.h.

◆ is_constrained_dof_2d()

template<unsigned int fe_degree, unsigned int direction>
bool Portable::internal::is_constrained_dof_2d ( const ::internal::MatrixFreeFunctions::ConstraintKinds constraint_mask,
const unsigned int  x_idx,
const unsigned int  y_idx 
)
inline

Definition at line 52 of file portable_hanging_nodes_internal.h.

◆ is_constrained_dof_3d()

template<unsigned int fe_degree, unsigned int direction>
bool Portable::internal::is_constrained_dof_3d ( const ::internal::MatrixFreeFunctions::ConstraintKinds constraint_mask,
const unsigned int  x_idx,
const unsigned int  y_idx,
const unsigned int  z_idx,
const ::internal::MatrixFreeFunctions::ConstraintKinds  face1_type,
const ::internal::MatrixFreeFunctions::ConstraintKinds  face2_type,
const ::internal::MatrixFreeFunctions::ConstraintKinds  face1,
const ::internal::MatrixFreeFunctions::ConstraintKinds  face2,
const ::internal::MatrixFreeFunctions::ConstraintKinds  edge 
)
inline

Definition at line 76 of file portable_hanging_nodes_internal.h.

◆ interpolate_boundary_2d()

template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number , typename ViewType >
void Portable::internal::interpolate_boundary_2d ( const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &  team_member,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space constraint_weights,
const ::internal::MatrixFreeFunctions::ConstraintKinds constraint_mask,
ViewType  values 
)
inline

Definition at line 125 of file portable_hanging_nodes_internal.h.

◆ interpolate_boundary_3d()

template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number , typename ViewType >
void Portable::internal::interpolate_boundary_3d ( const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &  team_member,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space constraint_weights,
const ::internal::MatrixFreeFunctions::ConstraintKinds  constraint_mask,
ViewType  values 
)
inline

Definition at line 244 of file portable_hanging_nodes_internal.h.

◆ resolve_hanging_nodes()

template<int dim, int fe_degree, bool transpose, typename Number , typename ViewType >
void Portable::internal::resolve_hanging_nodes ( const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &  team_member,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space constraint_weights,
const ::internal::MatrixFreeFunctions::ConstraintKinds  constraint_mask,
ViewType  values 
)

This function resolves the hanging nodes using tensor product.

The implementation of this class is explained in Section 3 of [148] and in Section 3.4 of [138].

Definition at line 413 of file portable_hanging_nodes_internal.h.

◆ apply()

template<int dim, int n_q_points_1d, typename Number , int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::apply ( const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &  team_member,
const Kokkos::View< Number *, MemorySpace::Default::kokkos_space shape_data,
const ViewTypeIn  in,
ViewTypeOut  out 
)

Helper function for values() and gradients().

Definition at line 251 of file portable_tensor_product_kernels.h.