MFEM  v4.4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
mfem::SundialsSolver Class Reference

Base class for interfacing with SUNDIALS packages. More...

#include <sundials.hpp>

Inheritance diagram for mfem::SundialsSolver:
[legend]
Collaboration diagram for mfem::SundialsSolver:
[legend]

Public Member Functions

void * GetMem () const
 Access the SUNDIALS memory structure. More...
 
int GetFlag () const
 Returns the last flag returned by a call to a SUNDIALS function. More...
 

Protected Member Functions

bool Parallel () const
 
bool Parallel () const
 
 SundialsSolver ()
 Protected constructor: objects of this type should be constructed only as part of a derived class. More...
 
void AllocateEmptyNVector (N_Vector &y)
 
void AllocateEmptyNVector (N_Vector &y, MPI_Comm comm)
 

Protected Attributes

void * sundials_mem
 SUNDIALS mem structure. More...
 
int flag
 Last flag returned from a call to SUNDIALS. More...
 
bool reinit
 Flag to signal memory reinitialization is need. More...
 
long saved_global_size
 Global vector length on last initialization. More...
 
SundialsNVectorY
 State vector. More...
 
SUNMatrix A
 
SUNMatrix M
 Mass matrix M. More...
 
SUNLinearSolver LSA
 Linear solver for A. More...
 
SUNLinearSolver LSM
 Linear solver for M. More...
 
SUNNonlinearSolver NLS
 Nonlinear solver. More...
 

Static Protected Attributes

static constexpr double default_rel_tol = 1e-4
 Default scalar relative tolerance. More...
 
static constexpr double default_abs_tol = 1e-9
 Default scalar absolute tolerance. More...
 

Detailed Description

Base class for interfacing with SUNDIALS packages.

Definition at line 196 of file sundials.hpp.

Constructor & Destructor Documentation

mfem::SundialsSolver::SundialsSolver ( )
inlineprotected

Protected constructor: objects of this type should be constructed only as part of a derived class.

Definition at line 226 of file sundials.hpp.

Member Function Documentation

void mfem::SundialsSolver::AllocateEmptyNVector ( N_Vector &  y)
protected
void mfem::SundialsSolver::AllocateEmptyNVector ( N_Vector &  y,
MPI_Comm  comm 
)
protected
int mfem::SundialsSolver::GetFlag ( ) const
inline

Returns the last flag returned by a call to a SUNDIALS function.

Definition at line 243 of file sundials.hpp.

void* mfem::SundialsSolver::GetMem ( ) const
inline

Access the SUNDIALS memory structure.

Definition at line 240 of file sundials.hpp.

bool mfem::SundialsSolver::Parallel ( ) const
inlineprotected

Definition at line 213 of file sundials.hpp.

bool mfem::SundialsSolver::Parallel ( ) const
inlineprotected

Definition at line 216 of file sundials.hpp.

Member Data Documentation

SUNMatrix mfem::SundialsSolver::A
protected

Linear system A = I - gamma J, M - gamma J, or J.

Definition at line 205 of file sundials.hpp.

constexpr double mfem::SundialsSolver::default_abs_tol = 1e-9
staticprotected

Default scalar absolute tolerance.

Definition at line 222 of file sundials.hpp.

constexpr double mfem::SundialsSolver::default_rel_tol = 1e-4
staticprotected

Default scalar relative tolerance.

Definition at line 220 of file sundials.hpp.

int mfem::SundialsSolver::flag
mutableprotected

Last flag returned from a call to SUNDIALS.

Definition at line 200 of file sundials.hpp.

SUNLinearSolver mfem::SundialsSolver::LSA
protected

Linear solver for A.

Definition at line 208 of file sundials.hpp.

SUNLinearSolver mfem::SundialsSolver::LSM
protected

Linear solver for M.

Definition at line 209 of file sundials.hpp.

SUNMatrix mfem::SundialsSolver::M
protected

Mass matrix M.

Definition at line 207 of file sundials.hpp.

SUNNonlinearSolver mfem::SundialsSolver::NLS
protected

Nonlinear solver.

Definition at line 210 of file sundials.hpp.

bool mfem::SundialsSolver::reinit
protected

Flag to signal memory reinitialization is need.

Definition at line 201 of file sundials.hpp.

long mfem::SundialsSolver::saved_global_size
protected

Global vector length on last initialization.

Definition at line 202 of file sundials.hpp.

void* mfem::SundialsSolver::sundials_mem
protected

SUNDIALS mem structure.

Definition at line 199 of file sundials.hpp.

SundialsNVector* mfem::SundialsSolver::Y
protected

State vector.

Definition at line 204 of file sundials.hpp.


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