Loading [MathJax]/extensions/TeX/newcommand.js
 deal.II version GIT relicensing-3020-gf6ff73b199 2025-04-05 03:00: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 Attributes | List of all members
Portable::MatrixFree< dim, Number >::PrecomputedData Struct Reference

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

Public Attributes

Kokkos::View< point_type **, MemorySpace::Default::kokkos_spaceq_points
 
Kokkos::View< types::global_dof_index **, MemorySpace::Default::kokkos_spacelocal_to_global
 
Kokkos::View< Number **[dim][dim], MemorySpace::Default::kokkos_spaceinv_jacobian
 
Kokkos::View< Number **, MemorySpace::Default::kokkos_spaceJxW
 
Kokkos::View<::internal::MatrixFreeFunctions::ConstraintKinds *, MemorySpace::Default::kokkos_spaceconstraint_mask
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceshape_values
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceshape_gradients
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceco_shape_gradients
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceconstraint_weights
 
unsigned int n_cells
 
unsigned int n_components
 
unsigned int padding_length
 
unsigned int row_start
 
bool use_coloring
 
::internal::MatrixFreeFunctions::ElementType element_type
 
unsigned int scratch_pad_size
 

Detailed Description

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

Structure which is passed to the kernel. It is used to pass all the necessary information from the CPU to the GPU and is precomputed on the CPU. This data is read-only once we run on the GPU.

Definition at line 265 of file portable_matrix_free.h.

Member Data Documentation

◆ q_points

template<int dim, typename Number = double>
Kokkos::View<point_type **, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::q_points

Kokkos::View of the quadrature points.

Definition at line 270 of file portable_matrix_free.h.

◆ local_to_global

template<int dim, typename Number = double>
Kokkos::View<types::global_dof_index **, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::local_to_global

Map the position in the local vector to the position in the global vector.

Definition at line 278 of file portable_matrix_free.h.

◆ inv_jacobian

template<int dim, typename Number = double>
Kokkos::View<Number **[dim][dim], MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::inv_jacobian

Kokkos::View of the inverse Jacobian.

Definition at line 284 of file portable_matrix_free.h.

◆ JxW

template<int dim, typename Number = double>
Kokkos::View<Number **, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::JxW

Kokkos::View of the Jacobian times the weights.

Definition at line 289 of file portable_matrix_free.h.

◆ constraint_mask

template<int dim, typename Number = double>
Kokkos::View<::internal::MatrixFreeFunctions::ConstraintKinds *, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::constraint_mask

Mask deciding where constraints are set on a given cell.

Definition at line 296 of file portable_matrix_free.h.

◆ shape_values

template<int dim, typename Number = double>
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::shape_values

Values of the shape functions.

Definition at line 301 of file portable_matrix_free.h.

◆ shape_gradients

template<int dim, typename Number = double>
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::shape_gradients

Gradients of the shape functions.

Definition at line 307 of file portable_matrix_free.h.

◆ co_shape_gradients

template<int dim, typename Number = double>
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::co_shape_gradients

Gradients of the shape functions for collocation methods.

Definition at line 313 of file portable_matrix_free.h.

◆ constraint_weights

template<int dim, typename Number = double>
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::MatrixFree< dim, Number >::PrecomputedData::constraint_weights

Weights used when resolving hanging nodes.

Definition at line 319 of file portable_matrix_free.h.

◆ n_cells

template<int dim, typename Number = double>
unsigned int Portable::MatrixFree< dim, Number >::PrecomputedData::n_cells

Number of cells.

Definition at line 324 of file portable_matrix_free.h.

◆ n_components

template<int dim, typename Number = double>
unsigned int Portable::MatrixFree< dim, Number >::PrecomputedData::n_components

Number of components.

Definition at line 329 of file portable_matrix_free.h.

◆ padding_length

template<int dim, typename Number = double>
unsigned int Portable::MatrixFree< dim, Number >::PrecomputedData::padding_length

Length of the padding.

Definition at line 334 of file portable_matrix_free.h.

◆ row_start

template<int dim, typename Number = double>
unsigned int Portable::MatrixFree< dim, Number >::PrecomputedData::row_start

Row start (including padding).

Definition at line 339 of file portable_matrix_free.h.

◆ use_coloring

template<int dim, typename Number = double>
bool Portable::MatrixFree< dim, Number >::PrecomputedData::use_coloring

If true, use graph coloring has been used and we can simply add into the destingation vector. Otherwise, use atomic operations.

Definition at line 345 of file portable_matrix_free.h.

◆ element_type

template<int dim, typename Number = double>
::internal::MatrixFreeFunctions::ElementType Portable::MatrixFree< dim, Number >::PrecomputedData::element_type

Encodes the type of element detected at construction. FEEvaluation will select the most efficient algorithm based on the given element type.

Definition at line 352 of file portable_matrix_free.h.

◆ scratch_pad_size

template<int dim, typename Number = double>
unsigned int Portable::MatrixFree< dim, Number >::PrecomputedData::scratch_pad_size

Size of the scratch pad for temporary storage in shared memory.

Definition at line 357 of file portable_matrix_free.h.


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