arkode_dense.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*---------------------------------------------------------------
  2. * Programmer(s): Daniel R. Reynolds @ SMU
  3. *---------------------------------------------------------------
  4. * LLNS/SMU Copyright Start
  5. * Copyright (c) 2015, Southern Methodist University and
  6. * Lawrence Livermore National Security
  7. *
  8. * This work was performed under the auspices of the U.S. Department
  9. * of Energy by Southern Methodist University and Lawrence Livermore
  10. * National Laboratory under Contract DE-AC52-07NA27344.
  11. * Produced at Southern Methodist University and the Lawrence
  12. * Livermore National Laboratory.
  13. *
  14. * All rights reserved.
  15. * For details, see the LICENSE file.
  16. * LLNS/SMU Copyright End
  17. *---------------------------------------------------------------
  18. * Header file for the ARKODE dense linear solver, ARKDENSE.
  19. *---------------------------------------------------------------*/
  20. #ifndef _ARKDENSE_H
  21. #define _ARKDENSE_H
  22. #include <arkode/arkode_direct.h>
  23. #include <sundials/sundials_dense.h>
  24. #ifdef __cplusplus /* wrapper to enable C++ usage */
  25. extern "C" {
  26. #endif
  27. /*---------------------------------------------------------------
  28. Function: ARKDense
  29. -----------------------------------------------------------------
  30. A call to the ARKDense function links the main integrator with
  31. the ARKDENSE linear solver.
  32. arkode_mem is the pointer to the integrator memory returned by
  33. ARKodeCreate.
  34. N is the size of the ODE system.
  35. The return value of ARKDense is one of:
  36. ARKDLS_SUCCESS if successful
  37. ARKDLS_MEM_NULL if the arkode memory was NULL
  38. ARKDLS_MEM_FAIL if there was a memory allocation failure
  39. ARKDLS_ILL_INPUT if a required vector operation is missing
  40. ---------------------------------------------------------------*/
  41. SUNDIALS_EXPORT int ARKDense(void *arkode_mem, long int N);
  42. /*---------------------------------------------------------------
  43. Function: ARKMassDense
  44. -----------------------------------------------------------------
  45. A call to the ARKMassDense function links the mass matrix solve
  46. with the ARKDENSE linear solver.
  47. arkode_mem is the pointer to the integrator memory returned by
  48. ARKodeCreate.
  49. N is the size of the ODE system.
  50. dmass is the user-supplied dense mass matrix setup function.
  51. The return value of ARKMassDense is one of:
  52. ARKDLS_SUCCESS if successful
  53. ARKDLS_MEM_NULL if the arkode memory was NULL
  54. ARKDLS_MEM_FAIL if there was a memory allocation failure
  55. ARKDLS_ILL_INPUT if a required vector operation is missing
  56. ---------------------------------------------------------------*/
  57. SUNDIALS_EXPORT int ARKMassDense(void *arkode_mem, long int N,
  58. ARKDlsDenseMassFn dmass);
  59. #ifdef __cplusplus
  60. }
  61. #endif
  62. #endif