Reference documentation for deal.II version GIT c415589cf0 2022-08-14 18:50:02+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\}}\)
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > > Class Template Reference

#include <deal.II/lac/la_parallel_vector.h>

Public Types

template<typename T >
using get_mpi_communicator_t = decltype(std::declval< T >().get_mpi_communicator())
 
template<typename T >
using locally_owned_domain_indices_t = decltype(std::declval< T >().locally_owned_domain_indices())
 
template<typename T >
using locally_owned_range_indices_t = decltype(std::declval< T >().locally_owned_range_indices())
 
template<typename T >
using initialize_dof_vector_t = decltype(std::declval< T >().initialize_dof_vector(std::declval< LinearAlgebra::distributed::Vector< Number > & >()))
 

Static Public Member Functions

template<typename MatrixType , std::enable_if_t< has_get_mpi_communicator< MatrixType > &&has_locally_owned_domain_indices< MatrixType >, MatrixType > * = nullptr>
static void reinit_domain_vector (MatrixType &mat, LinearAlgebra::distributed::Vector< Number > &vec, bool)
 
template<typename MatrixType , std::enable_if_t< has_initialize_dof_vector< MatrixType >, MatrixType > * = nullptr>
static void reinit_domain_vector (MatrixType &mat, LinearAlgebra::distributed::Vector< Number > &vec, bool omit_zeroing_entries)
 
template<typename MatrixType , std::enable_if_t< has_get_mpi_communicator< MatrixType > &&has_locally_owned_range_indices< MatrixType >, MatrixType > * = nullptr>
static void reinit_range_vector (MatrixType &mat, LinearAlgebra::distributed::Vector< Number > &vec, bool)
 
template<typename MatrixType , std::enable_if_t< has_initialize_dof_vector< MatrixType >, MatrixType > * = nullptr>
static void reinit_range_vector (MatrixType &mat, LinearAlgebra::distributed::Vector< Number > &vec, bool omit_zeroing_entries)
 

Static Public Attributes

template<typename T >
static constexpr bool has_get_mpi_communicator
 
template<typename T >
static constexpr bool has_locally_owned_domain_indices
 
template<typename T >
static constexpr bool has_locally_owned_range_indices
 
template<typename T >
static constexpr bool has_initialize_dof_vector
 

Detailed Description

template<typename Number>
class internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >

A helper class used internally in linear_operator.h. Specialization for LinearAlgebra::distributed::Vector.

Definition at line 1891 of file la_parallel_vector.h.

Member Typedef Documentation

◆ get_mpi_communicator_t

template<typename Number >
template<typename T >
using internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::get_mpi_communicator_t = decltype(std::declval<T>().get_mpi_communicator())

Definition at line 1897 of file la_parallel_vector.h.

◆ locally_owned_domain_indices_t

template<typename Number >
template<typename T >
using internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::locally_owned_domain_indices_t = decltype(std::declval<T>().locally_owned_domain_indices())

Definition at line 1907 of file la_parallel_vector.h.

◆ locally_owned_range_indices_t

template<typename Number >
template<typename T >
using internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::locally_owned_range_indices_t = decltype(std::declval<T>().locally_owned_range_indices())

Definition at line 1917 of file la_parallel_vector.h.

◆ initialize_dof_vector_t

template<typename Number >
template<typename T >
using internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::initialize_dof_vector_t = decltype(std::declval<T>().initialize_dof_vector( std::declval<LinearAlgebra::distributed::Vector<Number> &>()))

Definition at line 1927 of file la_parallel_vector.h.

Member Function Documentation

◆ reinit_domain_vector() [1/2]

template<typename Number >
template<typename MatrixType , std::enable_if_t< has_get_mpi_communicator< MatrixType > &&has_locally_owned_domain_indices< MatrixType >, MatrixType > * = nullptr>
static void internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::reinit_domain_vector ( MatrixType &  mat,
LinearAlgebra::distributed::Vector< Number > &  vec,
bool   
)
inlinestatic

Definition at line 1949 of file la_parallel_vector.h.

◆ reinit_domain_vector() [2/2]

template<typename Number >
template<typename MatrixType , std::enable_if_t< has_initialize_dof_vector< MatrixType >, MatrixType > * = nullptr>
static void internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::reinit_domain_vector ( MatrixType &  mat,
LinearAlgebra::distributed::Vector< Number > &  vec,
bool  omit_zeroing_entries 
)
inlinestatic

Definition at line 1968 of file la_parallel_vector.h.

◆ reinit_range_vector() [1/2]

template<typename Number >
template<typename MatrixType , std::enable_if_t< has_get_mpi_communicator< MatrixType > &&has_locally_owned_range_indices< MatrixType >, MatrixType > * = nullptr>
static void internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::reinit_range_vector ( MatrixType &  mat,
LinearAlgebra::distributed::Vector< Number > &  vec,
bool   
)
inlinestatic

Definition at line 1991 of file la_parallel_vector.h.

◆ reinit_range_vector() [2/2]

template<typename Number >
template<typename MatrixType , std::enable_if_t< has_initialize_dof_vector< MatrixType >, MatrixType > * = nullptr>
static void internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::reinit_range_vector ( MatrixType &  mat,
LinearAlgebra::distributed::Vector< Number > &  vec,
bool  omit_zeroing_entries 
)
inlinestatic

Definition at line 2010 of file la_parallel_vector.h.

Member Data Documentation

◆ has_get_mpi_communicator

template<typename Number >
template<typename T >
constexpr bool internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::has_get_mpi_communicator
staticconstexpr
Initial value:
=
is_supported_operation<get_mpi_communicator_t, T>

Definition at line 1901 of file la_parallel_vector.h.

◆ has_locally_owned_domain_indices

template<typename Number >
template<typename T >
constexpr bool internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::has_locally_owned_domain_indices
staticconstexpr
Initial value:
=
is_supported_operation<locally_owned_domain_indices_t, T>

Definition at line 1911 of file la_parallel_vector.h.

◆ has_locally_owned_range_indices

template<typename Number >
template<typename T >
constexpr bool internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::has_locally_owned_range_indices
staticconstexpr
Initial value:
=
is_supported_operation<locally_owned_range_indices_t, T>

Definition at line 1921 of file la_parallel_vector.h.

◆ has_initialize_dof_vector

template<typename Number >
template<typename T >
constexpr bool internal::LinearOperatorImplementation::ReinitHelper< LinearAlgebra::distributed::Vector< Number > >::has_initialize_dof_vector
staticconstexpr
Initial value:
=
is_supported_operation<initialize_dof_vector_t, T>

Definition at line 1932 of file la_parallel_vector.h.


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