Cantera  3.1.0
Loading...
Searching...
No Matches
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
10#include "sundials/sundials_config.h"
11
12#if SUNDIALS_VERSION_MAJOR >= 6
13 #include "sundials/sundials_context.h"
14#endif
15
16namespace Cantera
17{
18
19//! A wrapper for managing a SUNContext object, need for Sundials >= 6.0
21{
22#if SUNDIALS_VERSION_MAJOR >= 6
23public:
25 #if SUNDIALS_VERSION_MAJOR >= 7
26 SUNContext_Create(SUN_COMM_NULL, &m_context);
27
28 #else
29 SUNContext_Create(nullptr, &m_context);
30 #endif
31 }
33 SUNContext_Free(&m_context);
34 }
35 SUNContext get() {
36 return m_context;
37 }
38
39private:
40 SUNContext m_context;
41#endif
42// For older Sundials versions, this is an empty class
43};
44
45}
46
47#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:595