Cantera 2.6.0

SundialsContext.h
Go to the documentation of this file.
1//! @file SundialsContext.h
2
3// This file is part of Cantera. See License.txt in the top-level directory or
4// at https://cantera.org/license.txt for license and copyright information.
5
6#ifndef CT_SUNDIALSCONTEXT_H
7#define CT_SUNDIALSCONTEXT_H
8
9#include "cantera/base/ct_defs.h"
10
11#if CT_SUNDIALS_VERSION >= 60
12 #include "sundials/sundials_context.h"
13#endif
14
15 namespace Cantera
16{
17
18//! A wrapper for managing a SUNContext object, need for Sundials >= 6.0
19 class SundialsContext
20{
21#if CT_SUNDIALS_VERSION >= 60
22 public:
23 SundialsContext() {
24 SUNContext_Create(nullptr, &m_context);
25 }
26 ~SundialsContext() {
27 SUNContext_Free(&m_context);
28 }
29 SUNContext get() {
30 return m_context;
31 }
32
33 private:
34 SUNContext m_context;
35#endif
36// For older Sundials versions, this is an empty class
37};
38
39}
40
41#endif
Cantera::SundialsContext
A wrapper for managing a SUNContext object, need for Sundials >= 6.0.
Definition: SundialsContext.h:20
ct_defs.h
This file contains definitions of constants, types and terms that are used in internal routines and a...
Cantera
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:557