Cantera  3.1.0a1
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
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
A wrapper for managing a SUNContext object, need for Sundials >= 6.0.
This file contains definitions of constants, types and terms that are used in internal routines and a...
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:564