1 /* 2 * ----------------------------------------------------------------- 3 * Programmer(s): Daniel Reynolds @ SMU 4 * ----------------------------------------------------------------- 5 * SUNDIALS Copyright Start 6 * Copyright (c) 2002-2020, Lawrence Livermore National Security 7 * and Southern Methodist University. 8 * All rights reserved. 9 * 10 * See the top-level LICENSE and NOTICE files for details. 11 * 12 * SPDX-License-Identifier: BSD-3-Clause 13 * SUNDIALS Copyright End 14 * ----------------------------------------------------------------- 15 * This file (companion of fsunlinsol_band.c) contains the 16 * definitions needed for the initialization of band 17 * linear solver operations in Fortran. 18 * ----------------------------------------------------------------- 19 */ 20 21 #ifndef _FSUNLINSOL_BAND_H 22 #define _FSUNLINSOL_BAND_H 23 24 #include <sunlinsol/sunlinsol_band.h> 25 #include <sundials/sundials_fnvector.h> 26 27 #ifdef __cplusplus /* wrapper to enable C++ usage */ 28 extern "C" { 29 #endif 30 31 #if defined(SUNDIALS_F77_FUNC) 32 #define FSUNBANDLINSOL_INIT SUNDIALS_F77_FUNC(fsunbandlinsolinit, FSUNBANDLINSOLINIT) 33 #define FSUNMASSBANDLINSOL_INIT SUNDIALS_F77_FUNC(fsunmassbandlinsolinit, FSUNMASSBANDLINSOLINIT) 34 #else 35 #define FSUNBANDLINSOL_INIT fsunbandlinsolinit_ 36 #define FSUNMASSBANDLINSOL_INIT fsunmassbandlinsolinit_ 37 #endif 38 39 40 /* Declarations of global variables */ 41 42 extern SUNLinearSolver F2C_CVODE_linsol; 43 extern SUNLinearSolver F2C_IDA_linsol; 44 extern SUNLinearSolver F2C_KINSOL_linsol; 45 extern SUNLinearSolver F2C_ARKODE_linsol; 46 extern SUNLinearSolver F2C_ARKODE_mass_sol; 47 48 /* 49 * Prototypes of exported functions 50 * 51 * FSUNBANDLINSOL_INIT - initializes band linear solver for main problem 52 * FSUNMASSBANDLINSOL_INIT - initializes band linear solver for mass matrix solve 53 */ 54 55 void FSUNBANDLINSOL_INIT(int *code, int *ier); 56 void FSUNMASSBANDLINSOL_INIT(int *ier); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif 63