Reference documentation for deal.II version 9.6.0
\(\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
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 >
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, Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > values)
 
template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number >
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, Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > values)
 
template<int dim, int fe_degree, bool transpose, typename Number >
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, Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > 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)
 

Function Documentation

◆ index2()

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

Definition at line 36 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 45 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 54 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 78 of file portable_hanging_nodes_internal.h.

◆ interpolate_boundary_2d()

template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number >
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,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > values )
inline

Definition at line 126 of file portable_hanging_nodes_internal.h.

◆ interpolate_boundary_3d()

template<unsigned int fe_degree, unsigned int direction, bool transpose, typename Number >
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,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > values )
inline

Definition at line 247 of file portable_hanging_nodes_internal.h.

◆ resolve_hanging_nodes()

template<int dim, int fe_degree, bool transpose, typename Number >
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,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > values )

This function resolves the hanging nodes using tensor product.

The implementation of this class is explained in Section 3 of [145] and in Section 3.4 of [136].

Definition at line 415 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 255 of file portable_tensor_product_kernels.h.