NeoFOAM
WIP Prototype of a modern OpenFOAM core
|
Unified interface for SUNDIALS Kokkos vector management. More...
#include <sundials.hpp>
Public Types | |
using | SKVectorSerialV = SKVectorSerial< ValueType > |
using | SKVectorHostDefaultV = SKVectorHostDefault< ValueType > |
using | SKDefaultVectorV = SKVectorDefault< ValueType > |
using | SKVectorVariant = std::variant< SKVectorSerialV, SKVectorHostDefaultV, SKDefaultVectorV > |
Public Member Functions | |
SKVector () | |
Default constructor. Initializes with host-default vector. | |
~SKVector ()=default | |
Default destructor. | |
SKVector (const SKVector &)=default | |
Copy constructor. | |
SKVector & | operator= (const SKVector &)=delete |
Copy assignment operator (deleted). | |
SKVector (SKVector &&) noexcept=default | |
Move constructor. | |
SKVector & | operator= (SKVector &&) noexcept=delete |
Move assignment operator (deleted). | |
void | setExecutor (const NeoFOAM::Executor &exec) |
Sets appropriate vector implementation based on executor type. | |
void | initNVector (size_t size, std::shared_ptr< SUNContext > context) |
Initializes underlying vector with given size and context. | |
const N_Vector & | sunNVector () const |
Gets const reference to underlying N_Vector. | |
N_Vector & | sunNVector () |
Gets mutable reference to underlying N_Vector. | |
const SKVectorVariant & | variant () const |
Gets const reference to variant storing implementation. | |
SKVectorVariant & | variant () |
Gets mutable reference to variant storing implementation. | |
Unified interface for SUNDIALS Kokkos vector management.
ValueType | The vector data type |
Manages executor-specific vector implementations through variant storage. Provides common interface for vector initialization and access.
Definition at line 370 of file sundials.hpp.
using NeoFOAM::sundials::SKVector< ValueType >::SKDefaultVectorV = SKVectorDefault<ValueType> |
Definition at line 376 of file sundials.hpp.
using NeoFOAM::sundials::SKVector< ValueType >::SKVectorHostDefaultV = SKVectorHostDefault<ValueType> |
Definition at line 375 of file sundials.hpp.
using NeoFOAM::sundials::SKVector< ValueType >::SKVectorSerialV = SKVectorSerial<ValueType> |
Definition at line 374 of file sundials.hpp.
using NeoFOAM::sundials::SKVector< ValueType >::SKVectorVariant = std::variant<SKVectorSerialV, SKVectorHostDefaultV, SKDefaultVectorV> |
Definition at line 377 of file sundials.hpp.
|
inline |
Default constructor. Initializes with host-default vector.
Definition at line 382 of file sundials.hpp.
|
default |
Default destructor.
|
default |
Copy constructor.
[in] | other | Source SKVector to copy from |
|
defaultnoexcept |
Move constructor.
[in] | other | Source SKVector to move from |
|
inline |
Initializes underlying vector with given size and context.
size | Number of vector elements |
context | SUNDIALS context for vector operations |
Definition at line 444 of file sundials.hpp.
|
delete |
Copy assignment operator (deleted).
|
deletenoexcept |
Move assignment operator (deleted).
|
inline |
Sets appropriate vector implementation based on executor type.
[in] | exec | NeoFOAM executor specifying computation space |
Definition at line 415 of file sundials.hpp.
|
inline |
Gets mutable reference to underlying N_Vector.
Definition at line 466 of file sundials.hpp.
|
inline |
Gets const reference to underlying N_Vector.
Definition at line 455 of file sundials.hpp.
|
inline |
Gets mutable reference to variant storing implementation.
Definition at line 481 of file sundials.hpp.
|
inline |
Gets const reference to variant storing implementation.
Definition at line 475 of file sundials.hpp.