NEURON
Cvode Class Reference

#include <cvodeobj.h>

Public Member Functions

 Cvode (NetCvode *)
 
 Cvode ()
 
virtual ~Cvode ()
 
virtual int handle_step (NetCvode *, double)
 
virtual int init (double t)
 
virtual int advance_tn ()
 
virtual int interpolate (double t)
 
virtual double tn ()
 
virtual double t0 ()
 
void init_prepare ()
 
int solve ()
 
void statistics ()
 
double gam ()
 
double time () const
 
void free_cvodemem ()
 
int order ()
 
void maxorder (int)
 
void minstep (double)
 
void maxstep (double)
 
void stat_init ()
 
N_Vector nvnew (long)
 
int setup (N_Vector ypred, N_Vector fpred)
 
int solvex_thread (double *b, double *y, NrnThread *nt)
 
int solvex_thread_part1 (double *b, NrnThread *nt)
 
int solvex_thread_part2 (NrnThread *nt)
 
int solvex_thread_part3 (double *b, NrnThread *nt)
 
void fun_thread (double t, double *y, double *ydot, NrnThread *nt)
 
void fun_thread_transfer_part1 (double t, double *y, NrnThread *nt)
 
void fun_thread_transfer_part2 (double *ydot, NrnThread *nt)
 
void fun_thread_ms_part1 (double t, double *y, NrnThread *nt)
 
void fun_thread_ms_part2 (NrnThread *nt)
 
void fun_thread_ms_part3 (NrnThread *nt)
 
void fun_thread_ms_part4 (double *ydot, NrnThread *nt)
 
void fun_thread_ms_part34 (double *ydot, NrnThread *nt)
 
bool at_time (double, NrnThread *)
 
void set_init_flag ()
 
void check_deliver (NrnThread *nt=0)
 
void evaluate_conditions (NrnThread *nt=0)
 
void ste_check ()
 
void states (double *)
 
void dstates (double *)
 
void error_weights (double *)
 
void acor (double *)
 
void fill (Cvode *standard)
 
void delete_prl ()
 
void record_add (PlayRecord *)
 
void record_continuous ()
 
void record_continuous_thread (NrnThread *)
 
void play_add (PlayRecord *)
 
void play_continuous (double t)
 
void play_continuous_thread (double t, NrnThread *)
 
void do_ode (NrnThread *)
 
void do_nonode (NrnThread *nt=0)
 
double * n_vector_data (N_Vector, int)
 
int res (double, double *, double *, double *, NrnThread *)
 
int psol (double, double *, double *, double, NrnThread *)
 
void daspk_scatter_y (N_Vector)
 
void daspk_gather_y (N_Vector)
 
void daspk_scatter_y (double *, int)
 
void daspk_gather_y (double *, int)
 
void scatter_y (double *, int)
 
void gather_y (N_Vector)
 
void gather_y (double *, int)
 
void scatter_ydot (double *, int)
 
void gather_ydot (N_Vector)
 
void gather_ydot (double *, int)
 
void activate_maxstate (bool)
 
void maxstate (double *)
 
void maxstate (bool, NrnThread *nt=0)
 
void maxacor (double *)
 

Public Attributes

double tn_
 
double t0_
 
double t_
 
bool initialize_
 
bool can_retreat_
 
int advance_calls_
 
int interpolate_calls_
 
int init_calls_
 
int f_calls_
 
int mxb_calls_
 
int jac_calls_
 
int ts_inits_
 
bool use_daspk_
 
Daspkdaspk_
 
voidmem_
 
N_Vector y_
 
N_Vector atolnvec_
 
N_Vector maxstate_
 
N_Vector maxacor_
 
bool structure_change_
 
CvodeThreadDatactd_
 
NrnThreadnth_
 
int nctd_
 
long int * nthsizes_
 
NetCvodencv_
 
int neq_
 
int event_flag_
 
double next_at_time_
 
double tstop_
 
double tstop_begin_
 
double tstop_end_
 

Private Member Functions

void alloc_cvode ()
 
void alloc_daspk ()
 
int cvode_init (double)
 
int cvode_advance_tn ()
 
int cvode_interpolate (double)
 
int daspk_init (double)
 
int daspk_advance_tn ()
 
int daspk_interpolate (double)
 
void cvode_constructor ()
 
bool init_global ()
 
void init_eqn ()
 
void daspk_init_eqn ()
 
void matmeth ()
 
void nocap_v (NrnThread *)
 
void nocap_v_part1 (NrnThread *)
 
void nocap_v_part2 (NrnThread *)
 
void nocap_v_part3 (NrnThread *)
 
void solvemem (NrnThread *)
 
void atolvec_alloc (int)
 
double h ()
 
N_Vector ewtvec ()
 
N_Vector acorvec ()
 
void new_no_cap_memb (CvodeThreadData &, NrnThread *)
 
void before_after (BAMechList *, NrnThread *)
 
void rhs (NrnThread *)
 
void rhs_memb (CvMembList *, NrnThread *)
 
void lhs (NrnThread *)
 
void lhs_memb (CvMembList *, NrnThread *)
 
void triang (NrnThread *)
 
void bksub (NrnThread *)
 
bool is_owner (double *)
 
void daspk_setup1_tree_matrix ()
 
void daspk_setup2_tree_matrix ()
 

Private Attributes

bool local_
 
TQItemtqitem_
 
int prior2init_
 

Friends

class NetCvode
 

Detailed Description

Definition at line 76 of file cvodeobj.h.

Constructor & Destructor Documentation

◆ Cvode() [1/2]

Cvode::Cvode ( NetCvode ncv)

Definition at line 714 of file cvodeobj.cpp.

◆ Cvode() [2/2]

Cvode::Cvode ( )

Definition at line 718 of file cvodeobj.cpp.

◆ ~Cvode()

Cvode::~Cvode ( )
virtual

Definition at line 858 of file cvodeobj.cpp.

Member Function Documentation

◆ acor()

void Cvode::acor ( double *  pd)

Definition at line 994 of file occvode.cpp.

◆ acorvec()

N_Vector Cvode::acorvec ( )
private

Definition at line 1425 of file cvodeobj.cpp.

◆ activate_maxstate()

void Cvode::activate_maxstate ( bool  on)

Definition at line 927 of file cvodeobj.cpp.

◆ advance_tn()

int Cvode::advance_tn ( )
virtual

Definition at line 1144 of file cvodeobj.cpp.

◆ alloc_cvode()

void Cvode::alloc_cvode ( )
private

Definition at line 1014 of file cvodeobj.cpp.

◆ alloc_daspk()

void Cvode::alloc_daspk ( )
private

Definition at line 1134 of file cvodeobj.cpp.

◆ at_time()

bool Cvode::at_time ( double  te,
NrnThread nt 
)

Definition at line 768 of file cvodeobj.cpp.

◆ atolvec_alloc()

void Cvode::atolvec_alloc ( int  i)
private

Definition at line 849 of file cvodeobj.cpp.

◆ before_after()

void Cvode::before_after ( BAMechList baml,
NrnThread nt 
)
private

Definition at line 778 of file occvode.cpp.

◆ bksub()

void Cvode::bksub ( NrnThread _nt)
private

Definition at line 146 of file cvtrset.cpp.

◆ check_deliver()

void Cvode::check_deliver ( NrnThread nt = 0)

Definition at line 5689 of file netcvode.cpp.

◆ cvode_advance_tn()

int Cvode::cvode_advance_tn ( )
private

Definition at line 1327 of file cvodeobj.cpp.

◆ cvode_constructor()

void Cvode::cvode_constructor ( )
private

Definition at line 721 of file cvodeobj.cpp.

◆ cvode_init()

int Cvode::cvode_init ( double  )
private

Definition at line 1084 of file cvodeobj.cpp.

◆ cvode_interpolate()

int Cvode::cvode_interpolate ( double  tout)
private

Definition at line 1371 of file cvodeobj.cpp.

◆ daspk_advance_tn()

int Cvode::daspk_advance_tn ( )
private

Definition at line 1403 of file cvodeobj.cpp.

◆ daspk_gather_y() [1/2]

void Cvode::daspk_gather_y ( double *  y,
int  tid 
)

Definition at line 426 of file nrndaspk.cpp.

◆ daspk_gather_y() [2/2]

void Cvode::daspk_gather_y ( N_Vector  y)

Definition at line 421 of file nrndaspk.cpp.

◆ daspk_init()

int Cvode::daspk_init ( double  tout)
private

Definition at line 1130 of file cvodeobj.cpp.

◆ daspk_init_eqn()

void Cvode::daspk_init_eqn ( )
private

Definition at line 342 of file occvode.cpp.

◆ daspk_interpolate()

int Cvode::daspk_interpolate ( double  )
private

◆ daspk_scatter_y() [1/2]

void Cvode::daspk_scatter_y ( double *  y,
int  tid 
)

Definition at line 398 of file nrndaspk.cpp.

◆ daspk_scatter_y() [2/2]

void Cvode::daspk_scatter_y ( N_Vector  y)

Definition at line 393 of file nrndaspk.cpp.

◆ daspk_setup1_tree_matrix()

void Cvode::daspk_setup1_tree_matrix ( )
private

◆ daspk_setup2_tree_matrix()

void Cvode::daspk_setup2_tree_matrix ( )
private

◆ delete_prl()

void Cvode::delete_prl ( )

Definition at line 1006 of file occvode.cpp.

◆ do_nonode()

void Cvode::do_nonode ( NrnThread nt = 0)

Definition at line 927 of file occvode.cpp.

◆ do_ode()

void Cvode::do_ode ( NrnThread _nt)

Definition at line 901 of file occvode.cpp.

◆ dstates()

void Cvode::dstates ( double *  pd)

Definition at line 972 of file occvode.cpp.

◆ error_weights()

void Cvode::error_weights ( double *  pd)

Definition at line 983 of file occvode.cpp.

◆ evaluate_conditions()

void Cvode::evaluate_conditions ( NrnThread nt = 0)

Definition at line 5660 of file netcvode.cpp.

◆ ewtvec()

N_Vector Cvode::ewtvec ( )
private

Definition at line 1417 of file cvodeobj.cpp.

◆ fill()

void Cvode::fill ( Cvode standard)

◆ free_cvodemem()

void Cvode::free_cvodemem ( )

Definition at line 1063 of file cvodeobj.cpp.

◆ fun_thread()

void Cvode::fun_thread ( double  t,
double *  y,
double *  ydot,
NrnThread nt 
)

Definition at line 662 of file occvode.cpp.

◆ fun_thread_ms_part1()

void Cvode::fun_thread_ms_part1 ( double  t,
double *  y,
NrnThread nt 
)

Definition at line 726 of file occvode.cpp.

◆ fun_thread_ms_part2()

void Cvode::fun_thread_ms_part2 ( NrnThread nt)

Definition at line 746 of file occvode.cpp.

◆ fun_thread_ms_part3()

void Cvode::fun_thread_ms_part3 ( NrnThread nt)

Definition at line 753 of file occvode.cpp.

◆ fun_thread_ms_part34()

void Cvode::fun_thread_ms_part34 ( double *  ydot,
NrnThread nt 
)

Definition at line 749 of file occvode.cpp.

◆ fun_thread_ms_part4()

void Cvode::fun_thread_ms_part4 ( double *  ydot,
NrnThread nt 
)

Definition at line 757 of file occvode.cpp.

◆ fun_thread_transfer_part1()

void Cvode::fun_thread_transfer_part1 ( double  t,
double *  y,
NrnThread nt 
)

Definition at line 669 of file occvode.cpp.

◆ fun_thread_transfer_part2()

void Cvode::fun_thread_transfer_part2 ( double *  ydot,
NrnThread nt 
)

Definition at line 693 of file occvode.cpp.

◆ gam()

double Cvode::gam ( )

Definition at line 752 of file cvodeobj.cpp.

◆ gather_y() [1/2]

void Cvode::gather_y ( double *  y,
int  tid 
)

Definition at line 499 of file occvode.cpp.

◆ gather_y() [2/2]

void Cvode::gather_y ( N_Vector  y)

Definition at line 490 of file occvode.cpp.

◆ gather_ydot() [1/2]

void Cvode::gather_ydot ( double *  ydot,
int  tid 
)

Definition at line 530 of file occvode.cpp.

◆ gather_ydot() [2/2]

void Cvode::gather_ydot ( N_Vector  y)

Definition at line 521 of file occvode.cpp.

◆ h()

double Cvode::h ( )
private

Definition at line 760 of file cvodeobj.cpp.

◆ handle_step()

int Cvode::handle_step ( NetCvode ns,
double  te 
)
virtual

Definition at line 2280 of file netcvode.cpp.

◆ init()

int Cvode::init ( double  t)
virtual

Definition at line 1216 of file cvodeobj.cpp.

◆ init_eqn()

void Cvode::init_eqn ( )
private

Definition at line 108 of file occvode.cpp.

◆ init_global()

bool Cvode::init_global ( )
private

Definition at line 83 of file occvode.cpp.

◆ init_prepare()

void Cvode::init_prepare ( )

Definition at line 893 of file cvodeobj.cpp.

◆ interpolate()

int Cvode::interpolate ( double  t)
virtual

Definition at line 1249 of file cvodeobj.cpp.

◆ is_owner()

bool Cvode::is_owner ( double *  pd)
private

Definition at line 6614 of file netcvode.cpp.

◆ lhs()

void Cvode::lhs ( NrnThread _nt)
private

Definition at line 83 of file cvtrset.cpp.

◆ lhs_memb()

void Cvode::lhs_memb ( CvMembList cmlist,
NrnThread _nt 
)
private

Definition at line 109 of file cvtrset.cpp.

◆ matmeth()

void Cvode::matmeth ( )
private

Definition at line 1467 of file cvodeobj.cpp.

◆ maxacor()

void Cvode::maxacor ( double *  pd)

Definition at line 999 of file cvodeobj.cpp.

◆ maxorder()

void Cvode::maxorder ( int  maxord)

Definition at line 1029 of file cvodeobj.cpp.

◆ maxstate() [1/2]

void Cvode::maxstate ( bool  b,
NrnThread nt = 0 
)

Definition at line 948 of file cvodeobj.cpp.

◆ maxstate() [2/2]

void Cvode::maxstate ( double *  pd)

Definition at line 984 of file cvodeobj.cpp.

◆ maxstep()

void Cvode::maxstep ( double  x)

Definition at line 1051 of file cvodeobj.cpp.

◆ minstep()

void Cvode::minstep ( double  x)

Definition at line 1040 of file cvodeobj.cpp.

◆ n_vector_data()

double * Cvode::n_vector_data ( N_Vector  v,
int  tid 
)

Definition at line 451 of file occvode.cpp.

◆ new_no_cap_memb()

void Cvode::new_no_cap_memb ( CvodeThreadData z,
NrnThread _nt 
)
private

Definition at line 277 of file occvode.cpp.

◆ nocap_v()

void Cvode::nocap_v ( NrnThread _nt)
private

Definition at line 807 of file occvode.cpp.

◆ nocap_v_part1()

void Cvode::nocap_v_part1 ( NrnThread _nt)
private

Definition at line 853 of file occvode.cpp.

◆ nocap_v_part2()

void Cvode::nocap_v_part2 ( NrnThread _nt)
private

Definition at line 886 of file occvode.cpp.

◆ nocap_v_part3()

void Cvode::nocap_v_part3 ( NrnThread _nt)
private

Definition at line 889 of file occvode.cpp.

◆ nvnew()

N_Vector Cvode::nvnew ( long  )

Definition at line 811 of file cvodeobj.cpp.

◆ order()

int Cvode::order ( )

Definition at line 1016 of file cvodeobj.cpp.

◆ play_add()

void Cvode::play_add ( PlayRecord pr)

Definition at line 1060 of file occvode.cpp.

◆ play_continuous()

void Cvode::play_continuous ( double  t)

Definition at line 1068 of file occvode.cpp.

◆ play_continuous_thread()

void Cvode::play_continuous_thread ( double  t,
NrnThread nt 
)

Definition at line 1082 of file occvode.cpp.

◆ psol()

int Cvode::psol ( double  tt,
double *  y,
double *  b,
double  cj,
NrnThread _nt 
)

Definition at line 605 of file nrndaspk.cpp.

◆ record_add()

void Cvode::record_add ( PlayRecord pr)

Definition at line 1021 of file occvode.cpp.

◆ record_continuous()

void Cvode::record_continuous ( )

Definition at line 1029 of file occvode.cpp.

◆ record_continuous_thread()

void Cvode::record_continuous_thread ( NrnThread nt)

Definition at line 1048 of file occvode.cpp.

◆ res()

int Cvode::res ( double  tt,
double *  y,
double *  yprime,
double *  delta,
NrnThread nt 
)

Definition at line 450 of file nrndaspk.cpp.

◆ rhs()

void Cvode::rhs ( NrnThread _nt)
private

Definition at line 16 of file cvtrset.cpp.

◆ rhs_memb()

void Cvode::rhs_memb ( CvMembList cmlist,
NrnThread _nt 
)
private

Definition at line 62 of file cvtrset.cpp.

◆ scatter_y()

void Cvode::scatter_y ( double *  y,
int  tid 
)

Definition at line 464 of file occvode.cpp.

◆ scatter_ydot()

void Cvode::scatter_ydot ( double *  ydot,
int  tid 
)

Definition at line 508 of file occvode.cpp.

◆ set_init_flag()

void Cvode::set_init_flag ( )

Definition at line 803 of file cvodeobj.cpp.

◆ setup()

int Cvode::setup ( N_Vector  ypred,
N_Vector  fpred 
)

Definition at line 541 of file occvode.cpp.

◆ solve()

int Cvode::solve ( )

Definition at line 1195 of file cvodeobj.cpp.

◆ solvemem()

void Cvode::solvemem ( NrnThread nt)
private

Definition at line 642 of file occvode.cpp.

◆ solvex_thread()

int Cvode::solvex_thread ( double *  b,
double *  y,
NrnThread nt 
)

Definition at line 555 of file occvode.cpp.

◆ solvex_thread_part1()

int Cvode::solvex_thread_part1 ( double *  b,
NrnThread nt 
)

Definition at line 599 of file occvode.cpp.

◆ solvex_thread_part2()

int Cvode::solvex_thread_part2 ( NrnThread nt)

Definition at line 622 of file occvode.cpp.

◆ solvex_thread_part3()

int Cvode::solvex_thread_part3 ( double *  b,
NrnThread nt 
)

Definition at line 626 of file occvode.cpp.

◆ stat_init()

void Cvode::stat_init ( )

Definition at line 887 of file cvodeobj.cpp.

◆ states()

void Cvode::states ( double *  pd)

Definition at line 961 of file occvode.cpp.

◆ statistics()

void Cvode::statistics ( )

Definition at line 1433 of file cvodeobj.cpp.

◆ ste_check()

void Cvode::ste_check ( )

◆ t0()

virtual double Cvode::t0 ( )
inlinevirtual

Definition at line 89 of file cvodeobj.h.

◆ time()

double Cvode::time ( ) const
inline

Definition at line 97 of file cvodeobj.h.

◆ tn()

virtual double Cvode::tn ( )
inlinevirtual

Definition at line 86 of file cvodeobj.h.

◆ triang()

void Cvode::triang ( NrnThread _nt)
private

Definition at line 130 of file cvtrset.cpp.

Friends And Related Function Documentation

◆ NetCvode

friend class NetCvode
friend

Definition at line 235 of file cvodeobj.h.

Member Data Documentation

◆ advance_calls_

int Cvode::advance_calls_

Definition at line 110 of file cvodeobj.h.

◆ atolnvec_

N_Vector Cvode::atolnvec_

Definition at line 204 of file cvodeobj.h.

◆ can_retreat_

bool Cvode::can_retreat_

Definition at line 107 of file cvodeobj.h.

◆ ctd_

CvodeThreadData* Cvode::ctd_

Definition at line 214 of file cvodeobj.h.

◆ daspk_

Daspk* Cvode::daspk_

Definition at line 181 of file cvodeobj.h.

◆ event_flag_

int Cvode::event_flag_

Definition at line 220 of file cvodeobj.h.

◆ f_calls_

int Cvode::f_calls_

Definition at line 111 of file cvodeobj.h.

◆ init_calls_

int Cvode::init_calls_

Definition at line 110 of file cvodeobj.h.

◆ initialize_

bool Cvode::initialize_

Definition at line 106 of file cvodeobj.h.

◆ interpolate_calls_

int Cvode::interpolate_calls_

Definition at line 110 of file cvodeobj.h.

◆ jac_calls_

int Cvode::jac_calls_

Definition at line 111 of file cvodeobj.h.

◆ local_

bool Cvode::local_
private

Definition at line 237 of file cvodeobj.h.

◆ maxacor_

N_Vector Cvode::maxacor_

Definition at line 206 of file cvodeobj.h.

◆ maxstate_

N_Vector Cvode::maxstate_

Definition at line 205 of file cvodeobj.h.

◆ mem_

void* Cvode::mem_

Definition at line 202 of file cvodeobj.h.

◆ mxb_calls_

int Cvode::mxb_calls_

Definition at line 111 of file cvodeobj.h.

◆ nctd_

int Cvode::nctd_

Definition at line 216 of file cvodeobj.h.

◆ ncv_

NetCvode* Cvode::ncv_

Definition at line 218 of file cvodeobj.h.

◆ neq_

int Cvode::neq_

Definition at line 219 of file cvodeobj.h.

◆ next_at_time_

double Cvode::next_at_time_

Definition at line 221 of file cvodeobj.h.

◆ nth_

NrnThread* Cvode::nth_

Definition at line 215 of file cvodeobj.h.

◆ nthsizes_

long int* Cvode::nthsizes_

Definition at line 217 of file cvodeobj.h.

◆ prior2init_

int Cvode::prior2init_
private

Definition at line 243 of file cvodeobj.h.

◆ structure_change_

bool Cvode::structure_change_

Definition at line 209 of file cvodeobj.h.

◆ t0_

double Cvode::t0_

Definition at line 105 of file cvodeobj.h.

◆ t_

double Cvode::t_

Definition at line 105 of file cvodeobj.h.

◆ tn_

double Cvode::tn_

Definition at line 105 of file cvodeobj.h.

◆ tqitem_

TQItem* Cvode::tqitem_
private

Definition at line 240 of file cvodeobj.h.

◆ ts_inits_

int Cvode::ts_inits_

Definition at line 111 of file cvodeobj.h.

◆ tstop_

double Cvode::tstop_

Definition at line 222 of file cvodeobj.h.

◆ tstop_begin_

double Cvode::tstop_begin_

Definition at line 223 of file cvodeobj.h.

◆ tstop_end_

double Cvode::tstop_end_

Definition at line 223 of file cvodeobj.h.

◆ use_daspk_

bool Cvode::use_daspk_

Definition at line 180 of file cvodeobj.h.

◆ y_

N_Vector Cvode::y_

Definition at line 203 of file cvodeobj.h.


The documentation for this class was generated from the following files: