1#ifndef included_AMP_SundialsVector
2#define included_AMP_SundialsVector
5#include "AMP/vectors/Vector.h"
8#include "sundials/sundials_nvector.h"
126std::shared_ptr<AMP::LinearAlgebra::Vector>
getAMP( N_Vector t );
std::shared_ptr< AMP::LinearAlgebra::Vector > getAMP(N_Vector t)
Parameters class to construct a Sundials N_Vector.
SundialsVector is a bridge between AMP::LinearAlgebra::Vector and the Sundials N_Vector data structur...
N_Vector & getNVector()
Obtain a Sundials N_Vector for use in Sundials routines.
SundialsVector()
Construct a SundialsVector.
static std::shared_ptr< SundialsVector > view(Vector::shared_ptr AmpVector)
If needed, create a Sundials wrapper for AmpVector. Otherwise, return AmpVector.
N_Vector d_n_vector
Sundials NVector wrapping the data in the Vector.
const N_Vector & getNativeVec() const
static std::shared_ptr< const SundialsVector > constView(Vector::const_shared_ptr AmpVector)
If needed, create a Sundials wrapper for AmpVector. Otherwise, return AmpVector.
const N_Vector & getNVector() const
Obtain a Sundials N_Vector for use in Sundials routines.
virtual std::shared_ptr< const Vector > getManagedVec() const =0
N_Vector & getNativeVec()
virtual std::shared_ptr< Vector > getManagedVec()=0
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr