deal.II version GIT relicensing-7058-gb35ee29762 2026-11-11 09:30:01+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\}}\)
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
SUNDIALS::internal Namespace Reference

Classes

struct  InvocationContext
 
class  LinearSolverWrapper
 
class  NVectorView
 
class  SharedSUNContext
 
class  SundialsHandle
 
struct  SundialsLinearSolverTraits
 
struct  SundialsNonlinearSolverTraits
 

Typedefs

using SundialsLinearSolver = SundialsHandle< SundialsLinearSolverTraits >
 
using SundialsNonlinearSolver = SundialsHandle< SundialsNonlinearSolverTraits >
 

Functions

template<typename VectorType >
VectorType * unwrap_nvector (N_Vector v)
 
template<typename VectorType >
const VectorType * unwrap_nvector_const (N_Vector v)
 
SundialsLinearSolver make_spgmr_linear_solver (N_Vector y_template, const InvocationContext &inv_ctx)
 
SundialsNonlinearSolver make_fixed_point_nonlinear_solver (N_Vector y_template, int anderson_acceleration_subspace, const InvocationContext &inv_ctx)
 

Typedef Documentation

◆ SundialsLinearSolver

Owning handle for any SUNLinearSolver created by SUNDIALS, for example by SUNLinSol_SPGMR() or SUNLinSol_PCG().

Note
This is not suitable for the solver created by LinearSolverWrapper, whose content is not owned by SUNDIALS.

Definition at line 299 of file sunlinsol_wrapper.h.

◆ SundialsNonlinearSolver

Owning handle for any SUNNonlinearSolver created by SUNDIALS, for example by SUNNonlinSol_FixedPoint() or SUNNonlinSol_Newton().

Definition at line 54 of file sunnonlinsol_wrapper.h.

Function Documentation

◆ 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

◆ make_spgmr_linear_solver()

SundialsLinearSolver SUNDIALS::internal::make_spgmr_linear_solver ( N_Vector  y_template,
const InvocationContext &  inv_ctx 
)
private

Create SUNDIALS' own SPGMR linear solver without preconditioning.

Parameters
y_templateA vector that is used as a template to create the internal vectors of the solver. It is not needed after this function returns.
inv_ctxThe invocation context that provides the SUNDIALS context (for SUNDIALS 6.0 and newer) to create the solver with.

Definition at line 56 of file sunlinsol_wrapper.cc.

◆ make_fixed_point_nonlinear_solver()

SundialsNonlinearSolver SUNDIALS::internal::make_fixed_point_nonlinear_solver ( N_Vector  y_template,
int  anderson_acceleration_subspace,
const InvocationContext &  inv_ctx 
)

Create SUNDIALS' fixed-point nonlinear solver.

Parameters
y_templateA vector that is used as a template to create the internal vectors of the solver. It is not needed after this function returns.
anderson_acceleration_subspaceSize of the Anderson acceleration subspace.
inv_ctxThe invocation context that provides the SUNDIALS context (for SUNDIALS 6.0 and newer) to create the solver with.

Definition at line 33 of file sunnonlinsol_wrapper.cc.