namespace SUNDIALS
{
/**
- * Alias for the real type used by SUNDIALS.
+ * Alias for the bool and real types used by SUNDIALS.
*/
# if DEAL_II_SUNDIALS_VERSION_GTE(6, 0, 0)
+ using booltype = sunbooleantype;
using realtype = ::sunrealtype;
# else
+ using booltype = booleantype;
using realtype = ::realtype;
# endif
} // namespace SUNDIALS
lr);
};
- auto jacobian_solver_setup_callback = [](SUNDIALS::realtype t,
- N_Vector y,
- N_Vector fy,
-# if DEAL_II_SUNDIALS_VERSION_GTE(6, 0, 0)
- sunbooleantype jok,
- sunbooleantype *jcurPtr,
-# else
- booleantype jok,
- booleantype *jcurPtr,
-# endif
- SUNDIALS::realtype gamma,
- void *user_data) -> int {
+ auto jacobian_solver_setup_callback =
+ [](SUNDIALS::realtype t,
+ N_Vector y,
+ N_Vector fy,
+ SUNDIALS::booltype jok,
+ SUNDIALS::booltype *jcurPtr,
+ SUNDIALS::realtype gamma,
+ void *user_data) -> int {
Assert(user_data != nullptr, ExcInternalError());
ARKode<VectorType> &solver =
*static_cast<ARKode<VectorType> *>(user_data);
# endif
}
-# if DEAL_II_SUNDIALS_VERSION_GTE(6, 0, 0)
- sunbooleantype mass_time_dependent =
+ SUNDIALS::booltype mass_time_dependent =
data.mass_is_time_independent ? SUNFALSE : SUNTRUE;
-# else
- booleantype mass_time_dependent =
- data.mass_is_time_independent ? SUNFALSE : SUNTRUE;
-# endif
status = ARKStepSetMassLinearSolver(arkode_mem,
sun_mass_linear_solver,