Code Search for Developers
 
 
  

cvdense_impl.h from Oscill8 at Krugle


Show cvdense_impl.h syntax highlighted

/*
 * -----------------------------------------------------------------
 * $Revision: 1.1 $
 * $Date: 2005/05/02 03:39:30 $
 * ----------------------------------------------------------------- 
 * Programmer(s): Scott D. Cohen, Alan C. Hindmarsh and
 *                Radu Serban @ LLNL
 * -----------------------------------------------------------------
 * Copyright (c) 2002, The Regents of the University of California.
 * Produced at the Lawrence Livermore National Laboratory.
 * All rights reserved.
 * For details, see sundials/cvodes/LICENSE.
 * -----------------------------------------------------------------
 * Implementation header file for the dense linear solver, CVDENSE.
 * -----------------------------------------------------------------
 */

#ifdef __cplusplus  /* wrapper to enable C++ usage */
extern "C" {
#endif

#ifndef _CVDENSE_IMPL_H
#define _CVDENSE_IMPL_H

#include <stdio.h>

#include "cvdense.h"

#include "dense.h"
#include "nvector.h"
#include "sundialstypes.h"

/*
 * -----------------------------------------------------------------
 * Types : CVDenseMemRec, CVDenseMem                             
 * -----------------------------------------------------------------
 * The type CVDenseMem is pointer to a CVDenseMemRec.
 * This structure contains CVDense solver-specific data. 
 * -----------------------------------------------------------------
 */

typedef struct {

  long int d_n;       /* problem dimension                      */

  CVDenseJacFn d_jac; /* jac = Jacobian routine to be called    */

  DenseMat d_M;       /* M = I - gamma J, gamma = h / l1        */
  
  long int *d_pivots; /* pivots = pivot array for PM = LU   */
  
  DenseMat d_savedJ;  /* savedJ = old Jacobian                  */
  
  long int  d_nstlj;  /* nstlj = nst at last Jacobian eval.     */
  
  long int d_nje;     /* nje = no. of calls to jac              */

  long int d_nfeD;    /* nfeD = no. of calls to f due to
                         difference quotient approximation of J */
  
  void *d_J_data;     /* J_data is passed to jac                */

  int d_last_flag;    /* last error return flag */
  
} CVDenseMemRec, *CVDenseMem;

/* Error Messages */

#define _CVDENSE_         "CVDense-- "
#define MSGDS_CVMEM_NULL  _CVDENSE_ "Integrator memory is NULL.\n\n"
#define MSGDS_BAD_NVECTOR _CVDENSE_ "A required vector operation is not implemented.\n\n"
#define MSGDS_MEM_FAIL    _CVDENSE_ "A memory request failed.\n\n"

#define MSGDS_SETGET_CVMEM_NULL "CVDenseSet*/CVDenseGet*-- Integrator memory is NULL.\n\n"

#define MSGDS_SETGET_LMEM_NULL "CVDenseSet*/CVDenseGet*-- cvdense memory is NULL.\n\n"

#endif

#ifdef __cplusplus
}
#endif




See more files for this project here

Oscill8

Oscill8 is a suite of tools for analyzing dynamical systems which concentrates on understanding how the dynamical behavior depends on the parameters using bifurcation theory and reaction network theory.

Project homepage: http://sourceforge.net/projects/oscill8
Programming language(s): C,C#,C++
License: other

  ReadMe.txt
  band.c
  band.h
  cvband.c
  cvband.h
  cvband_impl.h
  cvbandpre.c
  cvbandpre.h
  cvbandpre_impl.h
  cvbbdpre.c
  cvbbdpre.h
  cvbbdpre_impl.h
  cvdense.c
  cvdense.h
  cvdense_impl.h
  cvdiag.c
  cvdiag.h
  cvdiag_impl.h
  cvodea.c
  cvodea.h
  cvodea_impl.h
  cvodes.c
  cvodes.h
  cvodes.vcproj
  cvodes_impl.h
  cvodesio.c
  cvspgmr.c
  cvspgmr.h
  cvspgmr_impl.h
  dense.c
  dense.h
  iterative.c
  iterative.h
  nvector.c
  nvector.h
  nvector_serial.c
  nvector_serial.h
  smalldense.c
  smalldense.h
  spgmr.c
  spgmr.h
  sundials_config.h
  sundialsmath.c
  sundialsmath.h
  sundialstypes.h