Loading [MathJax]/extensions/TeX/newcommand.js
 deal.II version GIT relicensing-3053-g9e797fbcaa 2025-04-09 03:30: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\}}
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Public Types | Public Member Functions | Public Attributes | List of all members
Portable::MatrixFree< dim, Number >::Data Struct Reference

#include <deal.II/matrix_free/portable_matrix_free.h>

Public Types

using TeamHandle = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type
 

Public Member Functions

unsigned int local_q_point_id (const unsigned int cell, const unsigned int n_q_points, const unsigned int q_point) const
 
Portable::MatrixFree< dim, Number >::point_typeget_quadrature_point (const unsigned int cell, const unsigned int q_point) const
 

Public Attributes

TeamHandle team_member
 
const unsigned int n_dofhandler
 
const int cell_index
 
const PrecomputedDataprecomputed_data
 
SharedData< dim, Number > * shared_data
 

Detailed Description

template<int dim, typename Number = double>
struct Portable::MatrixFree< dim, Number >::Data

A pointer to this data structure is passed to the user code in device code that computes operations in quadrature points. It can be used to construct Portable::FEEvaluation objects and contains necessary precomputed data and scratch memory space to perform matrix-free evaluations.

Definition at line 368 of file portable_matrix_free.h.

Member Typedef Documentation

◆ TeamHandle

template<int dim, typename Number = double>
using Portable::MatrixFree< dim, Number >::Data::TeamHandle = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space>::member_type

Definition at line 370 of file portable_matrix_free.h.

Member Function Documentation

◆ local_q_point_id()

template<int dim, typename Number = double>
unsigned int Portable::MatrixFree< dim, Number >::Data::local_q_point_id ( const unsigned int  cell,
const unsigned int  n_q_points,
const unsigned int  q_point 
) const
inline

Return the quadrature point index local. The index is only unique for a given MPI process.

Definition at line 388 of file portable_matrix_free.h.

◆ get_quadrature_point()

template<int dim, typename Number = double>
Portable::MatrixFree< dim, Number >::point_type & Portable::MatrixFree< dim, Number >::Data::get_quadrature_point ( const unsigned int  cell,
const unsigned int  q_point 
) const
inline

Return the quadrature point.

Definition at line 404 of file portable_matrix_free.h.

Member Data Documentation

◆ team_member

template<int dim, typename Number = double>
TeamHandle Portable::MatrixFree< dim, Number >::Data::team_member

TeamPolicy handle.

Definition at line 376 of file portable_matrix_free.h.

◆ n_dofhandler

template<int dim, typename Number = double>
const unsigned int Portable::MatrixFree< dim, Number >::Data::n_dofhandler

Definition at line 378 of file portable_matrix_free.h.

◆ cell_index

template<int dim, typename Number = double>
const int Portable::MatrixFree< dim, Number >::Data::cell_index

Definition at line 379 of file portable_matrix_free.h.

◆ precomputed_data

template<int dim, typename Number = double>
const PrecomputedData* Portable::MatrixFree< dim, Number >::Data::precomputed_data

Definition at line 380 of file portable_matrix_free.h.

◆ shared_data

template<int dim, typename Number = double>
SharedData<dim, Number>* Portable::MatrixFree< dim, Number >::Data::shared_data

Definition at line 381 of file portable_matrix_free.h.


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