cvodes_lapack.h

Go to the documentation of this file.
00001 /*
00002  * -----------------------------------------------------------------
00003  * $Revision: 1.3 $
00004  * $Date: 2006/11/29 00:05:06 $
00005  * ----------------------------------------------------------------- 
00006  * Programmer: Radu Serban @ LLNL
00007  * -----------------------------------------------------------------
00008  * Copyright (c) 2006, The Regents of the University of California.
00009  * Produced at the Lawrence Livermore National Laboratory.
00010  * All rights reserved.
00011  * For details, see the LICENSE file.
00012  * -----------------------------------------------------------------
00013  * Header file for the CVODES dense linear solver CVSLAPACK.
00014  * -----------------------------------------------------------------
00015  */
00016 
00017 #ifndef _CVSLAPACK_H
00018 #define _CVSLAPACK_H
00019 
00020 #ifdef __cplusplus  /* wrapper to enable C++ usage */
00021 extern "C" {
00022 #endif
00023 
00024 #include <cvodes/cvodes_direct.h>
00025 #include <sundials/sundials_lapack.h>
00026 
00027 /*
00028  * -----------------------------------------------------------------
00029  * Function: CVLapackDense
00030  * -----------------------------------------------------------------
00031  * A call to the CVLapackDense function links the main integrator
00032  * with the CVSLAPACK linear solver using dense Jacobians.
00033  *
00034  * cvode_mem is the pointer to the integrator memory returned by
00035  *           CVodeCreate.
00036  *
00037  * N is the size of the ODE system.
00038  *
00039  * The return value of CVLapackDense is one of:
00040  *    CVDIRECT_SUCCESS   if successful
00041  *    CVDIRECT_MEM_NULL  if the CVODES memory was NULL
00042  *    CVDIRECT_MEM_FAIL  if there was a memory allocation failure
00043  *    CVDIRECT_ILL_INPUT if a required vector operation is missing
00044  * -----------------------------------------------------------------
00045  */
00046 
00047 SUNDIALS_EXPORT int CVLapackDense(void *cvode_mem, int N);
00048 
00049 /*
00050  * -----------------------------------------------------------------
00051  * Function: CVLapackBand
00052  * -----------------------------------------------------------------
00053  * A call to the CVLapackBand function links the main integrator
00054  * with the CVSLAPACK linear solver using banded Jacobians. 
00055  *
00056  * cvode_mem is the pointer to the integrator memory returned by
00057  *           CVodeCreate.
00058  *
00059  * N is the size of the ODE system.
00060  *
00061  * mupper is the upper bandwidth of the band Jacobian approximation.
00062  *
00063  * mlower is the lower bandwidth of the band Jacobian approximation.
00064  *
00065  * The return value of CVLapackBand is one of:
00066  *    CVDIRECT_SUCCESS   if successful
00067  *    CVDIRECT_MEM_NULL  if the CVODES memory was NULL
00068  *    CVDIRECT_MEM_FAIL  if there was a memory allocation failure
00069  *    CVDIRECT_ILL_INPUT if a required vector operation is missing or
00070  *                       if a bandwidth has an illegal value.
00071  * -----------------------------------------------------------------
00072  */
00073 
00074 SUNDIALS_EXPORT int CVLapackBand(void *cvode_mem, int N, int mupper, int mlower);
00075 
00076 /*
00077  * -----------------------------------------------------------------
00078  * Function: CVLapackDenseB
00079  * -----------------------------------------------------------------
00080  * CVLapackDenseB links the main CVODE integrator with the dense
00081  * CVSLAPACK linear solver for the backward integration.
00082  * -----------------------------------------------------------------
00083  */
00084 
00085 SUNDIALS_EXPORT int CVLapackDenseB(void *cvadj_mem, int nB);
00086 
00087 /*
00088  * -----------------------------------------------------------------
00089  * Function: CVLapackBandB
00090  * -----------------------------------------------------------------
00091  * CVLapackBandB links the main CVODE integrator with the band
00092  * CVSLAPACK linear solver for the backward integration.
00093  * -----------------------------------------------------------------
00094  */
00095 
00096 SUNDIALS_EXPORT int CVLapackBandB(void *cvadj_mem, int nB, int mupperB, int mlowerB);
00097 
00098 #ifdef __cplusplus
00099 }
00100 #endif
00101 
00102 #endif

Generated on Fri Sep 26 07:44:09 2008 for SimTKcore by  doxygen 1.5.6