NEURON
nrndaspk.cpp File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <math.h>
#include "spmatrix.h"
#include "nrnoc2iv.h"
#include "cvodeobj.h"
#include "nrndaspk.h"
#include "netcvode.h"
#include "nrn_ansi.h"
#include "ida/ida.h"
#include "ida/ida_impl.h"
#include "mymath.h"

Go to the source code of this file.

Macros

#define INVALID   0
 
#define NO_CAP   1
 
#define SETUP   2
 
#define FACTORED   3
 
#define nt_dt   nrn_threads->_dt
 
#define nt_t   nrn_threads->_t
 
#define thread_t   nrn_thread_t
 

Functions

void nrndae_dkres (double *, double *, double *)
 
void nrndae_dkpsol (double)
 
void nrn_solve (NrnThread *)
 
void nrn_daspk_init_step (double, double, int)
 
booleantype IDAEwtSet (IDAMem IDA_mem, N_Vector ycur)
 
static void daspk_nrn_solve (NrnThread *nt)
 
static int res_gvardt (realtype t, N_Vector y, N_Vector yp, N_Vector delta, void *rdata)
 
static int minit (IDAMem)
 
static int msetup (IDAMem mem, N_Vector y, N_Vector ydot, N_Vector delta, N_Vector tempv1, N_Vector tempv2, N_Vector tempv3)
 
static int msolve (IDAMem mem, N_Vector b, N_Vector ycur, N_Vector ypcur, N_Vector deltacur)
 
static int mfree (IDAMem)
 
static void * res_thread (NrnThread *nt)
 
static void * msolve_thread (NrnThread *nt)
 
static int msolve (IDAMem mem, N_Vector b, N_Vector w, N_Vector ycur, N_Vector, N_Vector)
 
static void do_ode_thread (neuron::model_sorted_token const &sorted_token, NrnThread &ntr)
 
static void * daspk_scatter_thread (NrnThread *nt)
 
static void * daspk_gather_thread (NrnThread *nt)
 

Variables

static int solve_state_
 
static N_Vector nvec_y
 
static N_Vector nvec_yp
 
static N_Vector nvec_delta
 
static double thread_t
 
static double thread_cj
 
static int thread_ier
 
static Cvodethread_cv
 

Macro Definition Documentation

◆ FACTORED

#define FACTORED   3

Definition at line 23 of file nrndaspk.cpp.

◆ INVALID

#define INVALID   0

Definition at line 20 of file nrndaspk.cpp.

◆ NO_CAP

#define NO_CAP   1

Definition at line 21 of file nrndaspk.cpp.

◆ nt_dt

#define nt_dt   nrn_threads->_dt

Definition at line 43 of file nrndaspk.cpp.

◆ nt_t

#define nt_t   nrn_threads->_t

Definition at line 44 of file nrndaspk.cpp.

◆ SETUP

#define SETUP   2

Definition at line 22 of file nrndaspk.cpp.

◆ thread_t

#define thread_t   nrn_thread_t

Definition at line 68 of file nrndaspk.cpp.

Function Documentation

◆ daspk_gather_thread()

static void* daspk_gather_thread ( NrnThread nt)
static

Definition at line 416 of file nrndaspk.cpp.

◆ daspk_nrn_solve()

static void daspk_nrn_solve ( NrnThread nt)
static

Definition at line 46 of file nrndaspk.cpp.

◆ daspk_scatter_thread()

static void* daspk_scatter_thread ( NrnThread nt)
static

Definition at line 387 of file nrndaspk.cpp.

◆ do_ode_thread()

static void do_ode_thread ( neuron::model_sorted_token const &  sorted_token,
NrnThread ntr 
)
static

Definition at line 194 of file nrndaspk.cpp.

◆ IDAEwtSet()

booleantype IDAEwtSet ( IDAMem  IDA_mem,
N_Vector  ycur 
)

◆ mfree()

static int mfree ( IDAMem  )
static

Definition at line 136 of file nrndaspk.cpp.

◆ minit()

static int minit ( IDAMem  )
static

Definition at line 103 of file nrndaspk.cpp.

◆ msetup()

static int msetup ( IDAMem  mem,
N_Vector  y,
N_Vector  ydot,
N_Vector  delta,
N_Vector  tempv1,
N_Vector  tempv2,
N_Vector  tempv3 
)
static

Definition at line 109 of file nrndaspk.cpp.

◆ msolve() [1/2]

static int msolve ( IDAMem  mem,
N_Vector  b,
N_Vector  w,
N_Vector  ycur,
N_Vector  ,
N_Vector   
)
static

Definition at line 126 of file nrndaspk.cpp.

◆ msolve() [2/2]

static int msolve ( IDAMem  mem,
N_Vector  b,
N_Vector  ycur,
N_Vector  ypcur,
N_Vector  deltacur 
)
static

◆ msolve_thread()

static void* msolve_thread ( NrnThread nt)
static

Definition at line 116 of file nrndaspk.cpp.

◆ nrn_daspk_init_step()

void nrn_daspk_init_step ( double  tt,
double  dteps,
int  upd 
)

Definition at line 307 of file fadvance.cpp.

◆ nrn_solve()

void nrn_solve ( NrnThread _nt)

Definition at line 333 of file solve.cpp.

◆ nrndae_dkpsol()

void nrndae_dkpsol ( double  )

◆ nrndae_dkres()

void nrndae_dkres ( double *  y,
double *  yprime,
double *  delta 
)

Definition at line 98 of file nrndae.cpp.

◆ res_gvardt()

static int res_gvardt ( realtype  t,
N_Vector  y,
N_Vector  yp,
N_Vector  delta,
void *  rdata 
)
static

Definition at line 91 of file nrndaspk.cpp.

◆ res_thread()

static void* res_thread ( NrnThread nt)
static

Definition at line 78 of file nrndaspk.cpp.

Variable Documentation

◆ nvec_delta

N_Vector nvec_delta
static

Definition at line 73 of file nrndaspk.cpp.

◆ nvec_y

N_Vector nvec_y
static

Definition at line 71 of file nrndaspk.cpp.

◆ nvec_yp

N_Vector nvec_yp
static

Definition at line 72 of file nrndaspk.cpp.

◆ solve_state_

int solve_state_
static

Definition at line 24 of file nrndaspk.cpp.

◆ thread_cj

double thread_cj
static

Definition at line 75 of file nrndaspk.cpp.

◆ thread_cv

Cvode* thread_cv
static

Definition at line 77 of file nrndaspk.cpp.

◆ thread_ier

int thread_ier
static

Definition at line 76 of file nrndaspk.cpp.

◆ thread_t

double thread_t
static

Definition at line 74 of file nrndaspk.cpp.