Reference documentation for deal.II version 9.3.3
\(\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\}}\)
Classes | Functions
SUNDIALS::internal Namespace Reference

Classes

struct  LinearSolverContent
 
class  LinearSolverWrapper
 
class  NVectorView
 

Functions

void copy (TrilinosWrappers::MPI::Vector &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const TrilinosWrappers::MPI::Vector &src)
 
void copy (TrilinosWrappers::MPI::BlockVector &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const TrilinosWrappers::MPI::BlockVector &src)
 
void copy (PETScWrappers::MPI::Vector &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const PETScWrappers::MPI::Vector &src)
 
void copy (PETScWrappers::MPI::BlockVector &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const PETScWrappers::MPI::BlockVector &src)
 
void copy (BlockVector< double > &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const BlockVector< double > &src)
 
void copy (Vector< double > &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const Vector< double > &src)
 
void copy (LinearAlgebra::distributed::BlockVector< double > &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const LinearAlgebra::distributed::BlockVector< double > &src)
 
void copy (LinearAlgebra::distributed::Vector< double > &dst, const N_Vector &src)
 
void copy (N_Vector &dst, const LinearAlgebra::distributed::Vector< double > &src)
 
template<typename VectorType >
VectorType * unwrap_nvector (N_Vector v)
 
template<typename VectorType >
const VectorType * unwrap_nvector_const (N_Vector v)
 
N_Vector N_VNewEmpty ()
 
void N_VFreeEmpty (N_Vector v)
 
int N_VCopyOps (N_Vector w, N_Vector v)
 
SUNLinearSolver SUNLinSolNewEmpty ()
 
void SUNLinSolFreeEmpty (SUNLinearSolver solver)
 
std::size_t N_Vector_length (const N_Vector &vec)
 

Function Documentation

◆ copy() [1/16]

void SUNDIALS::internal::copy ( TrilinosWrappers::MPI::Vector dst,
const N_Vector &  src 
)

Definition at line 136 of file copy.cc.

◆ copy() [2/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const TrilinosWrappers::MPI::Vector src 
)

Definition at line 149 of file copy.cc.

◆ copy() [3/16]

void SUNDIALS::internal::copy ( TrilinosWrappers::MPI::BlockVector dst,
const N_Vector &  src 
)

Definition at line 161 of file copy.cc.

◆ copy() [4/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const TrilinosWrappers::MPI::BlockVector src 
)

Definition at line 174 of file copy.cc.

◆ copy() [5/16]

void SUNDIALS::internal::copy ( PETScWrappers::MPI::Vector dst,
const N_Vector &  src 
)

Definition at line 191 of file copy.cc.

◆ copy() [6/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const PETScWrappers::MPI::Vector src 
)

Definition at line 204 of file copy.cc.

◆ copy() [7/16]

void SUNDIALS::internal::copy ( PETScWrappers::MPI::BlockVector dst,
const N_Vector &  src 
)

Definition at line 216 of file copy.cc.

◆ copy() [8/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const PETScWrappers::MPI::BlockVector src 
)

Definition at line 229 of file copy.cc.

◆ copy() [9/16]

void SUNDIALS::internal::copy ( BlockVector< double > &  dst,
const N_Vector &  src 
)

Definition at line 246 of file copy.cc.

◆ copy() [10/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const BlockVector< double > &  src 
)

Definition at line 257 of file copy.cc.

◆ copy() [11/16]

void SUNDIALS::internal::copy ( Vector< double > &  dst,
const N_Vector &  src 
)

Definition at line 268 of file copy.cc.

◆ copy() [12/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const Vector< double > &  src 
)

Definition at line 279 of file copy.cc.

◆ copy() [13/16]

void SUNDIALS::internal::copy ( LinearAlgebra::distributed::BlockVector< double > &  dst,
const N_Vector &  src 
)

Definition at line 95 of file copy.cc.

◆ copy() [14/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const LinearAlgebra::distributed::BlockVector< double > &  src 
)

Definition at line 114 of file copy.cc.

◆ copy() [15/16]

void SUNDIALS::internal::copy ( LinearAlgebra::distributed::Vector< double > &  dst,
const N_Vector &  src 
)

Definition at line 61 of file copy.cc.

◆ copy() [16/16]

void SUNDIALS::internal::copy ( N_Vector &  dst,
const LinearAlgebra::distributed::Vector< double > &  src 
)

Definition at line 79 of file copy.cc.

◆ unwrap_nvector()

template<typename VectorType >
VectorType * SUNDIALS::internal::unwrap_nvector ( N_Vector  v)

Retrieve the underlying vector attached to N_Vector v. This call will only succeed if the underlying vector is not const. Use unwrap_nvector_const() for this case.

Note
Users must ensure that they ask for the correct VectorType when calling this function and there are no type-safety checks in place.
Template Parameters
VectorTypeType of the vector that is stored in v
Parameters
vVector to unwrap
Returns
The vector that is stored inside v

◆ unwrap_nvector_const()

template<typename VectorType >
const VectorType * SUNDIALS::internal::unwrap_nvector_const ( N_Vector  v)

Retrieve the underlying vector attached to N_Vector v as a constant pointer.

Note
Users must ensure that they ask for the correct VectorType when calling this function and there are no type-safety checks in place.
Template Parameters
VectorTypeType of the vector that is stored in v
Parameters
vVector to unwrap
Returns
The vector that is stored inside v

◆ N_VNewEmpty()

N_Vector SUNDIALS::internal::N_VNewEmpty ( )

Definition at line 41 of file sundials_backport.h.

◆ N_VFreeEmpty()

void SUNDIALS::internal::N_VFreeEmpty ( N_Vector  v)

Definition at line 132 of file sundials_backport.h.

◆ N_VCopyOps()

int SUNDIALS::internal::N_VCopyOps ( N_Vector  w,
N_Vector  v 
)

Definition at line 149 of file sundials_backport.h.

◆ SUNLinSolNewEmpty()

SUNLinearSolver SUNDIALS::internal::SUNLinSolNewEmpty ( )
inline

Create a new SUNLinearSolver structure without any content and operations set to nullptr.

Definition at line 45 of file sunlinsol_newempty.h.

◆ SUNLinSolFreeEmpty()

void SUNDIALS::internal::SUNLinSolFreeEmpty ( SUNLinearSolver  solver)
inline

Free the memory associated with solver which was previously allocated with a call to SUNLinSolNewEmpty().

Note
A call to this function does not deallocate the content field.
Parameters
solverThe solver memory to free

Definition at line 84 of file sunlinsol_newempty.h.

◆ N_Vector_length()

std::size_t SUNDIALS::internal::N_Vector_length ( const N_Vector &  vec)
inline

SUNDIALS provides different macros for getting the local length of a vector for serial and parallel vectors (as well as various parallel vectors that are not yet supported by deal.II). This function provides a generic interface to both and does a (checked) conversion from long int (the type SUNDIALS uses for lengths) to std::size_t.

Definition at line 33 of file copy.cc.