NEURON
nrndaspk.cpp File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <math.h>
#include <InterViews/resource.h>
#include "spmatrix.h"
#include "nrnoc2iv.h"
#include "cvodeobj.h"
#include "nrndaspk.h"
#include "netcvode.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_rhs (NrnThread *)
 
void nrn_lhs (NrnThread *)
 
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 voidres_thread (NrnThread *nt)
 
static voidmsolve_thread (NrnThread *nt)
 
static int msolve (IDAMem mem, N_Vector b, N_Vector w, N_Vector ycur, N_Vector, N_Vector)
 
static voiddo_ode_thread (NrnThread *nt)
 
static double check (double t, Daspk *ida)
 
static voiddaspk_scatter_thread (NrnThread *nt)
 
static voiddaspk_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 45 of file nrndaspk.cpp.

◆ nt_t

#define nt_t   nrn_threads->_t

Definition at line 46 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 72 of file nrndaspk.cpp.

Function Documentation

◆ check()

static double check ( double  t,
Daspk ida 
)
static

Definition at line 214 of file nrndaspk.cpp.

◆ daspk_gather_thread()

static void* daspk_gather_thread ( NrnThread nt)
static

Definition at line 422 of file nrndaspk.cpp.

◆ daspk_nrn_solve()

static void daspk_nrn_solve ( NrnThread nt)
static

Definition at line 48 of file nrndaspk.cpp.

◆ daspk_scatter_thread()

static void* daspk_scatter_thread ( NrnThread nt)
static

Definition at line 394 of file nrndaspk.cpp.

◆ do_ode_thread()

static void* do_ode_thread ( NrnThread nt)
static

Definition at line 201 of file nrndaspk.cpp.

◆ IDAEwtSet()

booleantype IDAEwtSet ( IDAMem  IDA_mem,
N_Vector  ycur 
)

◆ mfree()

static int mfree ( IDAMem  )
static

Definition at line 142 of file nrndaspk.cpp.

◆ minit()

static int minit ( IDAMem  )
static

Definition at line 107 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 113 of file nrndaspk.cpp.

◆ msolve() [1/2]

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

◆ msolve() [2/2]

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

Definition at line 132 of file nrndaspk.cpp.

◆ msolve_thread()

static void* msolve_thread ( NrnThread nt)
static

Definition at line 122 of file nrndaspk.cpp.

◆ nrn_daspk_init_step()

void nrn_daspk_init_step ( double  ,
double  ,
int   
)

Definition at line 321 of file fadvance.cpp.

◆ nrn_lhs()

void nrn_lhs ( NrnThread )

Definition at line 484 of file treeset.cpp.

◆ nrn_rhs()

void nrn_rhs ( NrnThread )

Definition at line 355 of file treeset.cpp.

◆ nrn_solve()

void nrn_solve ( NrnThread )

Definition at line 328 of file solve.cpp.

◆ nrndae_dkpsol()

void nrndae_dkpsol ( double  )

◆ nrndae_dkres()

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

Definition at line 92 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 92 of file nrndaspk.cpp.

◆ res_thread()

static void* res_thread ( NrnThread nt)
static

Definition at line 82 of file nrndaspk.cpp.

Variable Documentation

◆ nvec_delta

N_Vector nvec_delta
static

Definition at line 77 of file nrndaspk.cpp.

◆ nvec_y

N_Vector nvec_y
static

Definition at line 75 of file nrndaspk.cpp.

◆ nvec_yp

N_Vector nvec_yp
static

Definition at line 76 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 79 of file nrndaspk.cpp.

◆ thread_cv

Cvode* thread_cv
static

Definition at line 81 of file nrndaspk.cpp.

◆ thread_ier

int thread_ier
static

Definition at line 80 of file nrndaspk.cpp.

◆ thread_t

double thread_t
static

Definition at line 78 of file nrndaspk.cpp.