NEURON
netcvode.cpp File Reference
#include <../../nrnconf.h>
#include <stdlib.h>
#include <nrnmpi.h>
#include <errno.h>
#include <time.h>
#include <InterViews/resource.h>
#include <OS/math.h>
#include <InterViews/regexp.h>
#include "classreg.h"
#include "nrnoc2iv.h"
#include "parse.hpp"
#include "cvodeobj.h"
#include "hoclist.h"
#include "pool.h"
#include "tqueue.h"
#include "ocobserv.h"
#include "nrnneosm.h"
#include "datapath.h"
#include "objcmd.h"
#include "shared/sundialsmath.h"
#include "kssingle.h"
#include "ocnotify.h"
#include "vrecitem.h"
#include "oclist.h"
#include "htlist.h"
#include "ivocvect.h"
#include "netcon.h"
#include "netcvode.h"
#include "nrncore_write/utils/nrncore_utils.h"
#include "nrnste.h"
#include "profile.h"
#include "utils/profile/profiler_interface.h"
#include <unordered_map>
#include <unordered_set>
#include "membfunc.h"
#include <hocevent.cpp>

Go to the source code of this file.

Classes

struct  ForNetConsInfo
 
class  MaxStateItem
 
struct  InterThreadEvent
 

Macros

#define USE_MIN_DELAY   1
 
#define PROFILE   0
 
#define lvardtloop(i, j)
 
#define NVI_SUCCESS   0
 
#define PP2NT(pp)   ((NrnThread*) ((pp)->_vnt))
 
#define PP2t(pp)   (PP2NT(pp)->_t)
 
#define LOCK(m)
 
#define UNLOCK(m)
 
#define POINT_RECEIVE(type, tar, w, f)   (*pnt_receive[type])(tar, w, f)
 
#define nt_dt   nrn_threads->_dt
 
#define nt_t   nrn_threads->_t
 
#define ITE_SIZE   10
 
#define fifo_event   event
 

Typedefs

typedef void(* ReceiveFunc) (Point_process *, double *, double)
 
typedef std::vector< WatchCondition * > WatchList
 

Functions

void single_event_run ()
 
void setup_topology ()
 
void v_setup_vectors ()
 
int nrn_errno_check (int)
 
void nrn_ba (NrnThread *, int)
 
void nrn_cvfun (double t, double *y, double *ydot)
 
void nrn_cleanup_presyn (PreSyn *)
 
void nrn_parent_info (Section *)
 
Objectnrn_sec2cell (Section *)
 
int nrn_sec2cell_equals (Section *, Object *)
 
void net_send (void **, double *, Point_process *, double, double)
 
void net_move (void **, Point_process *, double)
 
void artcell_net_send (void **, double *, Point_process *, double, double)
 
void artcell_net_move (void **, Point_process *, double)
 
void nrn_pending_selfqueue (double tt, NrnThread *)
 
static void all_pending_selfqueue (double tt)
 
static voidpending_selfqueue (NrnThread *)
 
void net_event (Point_process *, double)
 
void _nrn_watch_activate (Datum *, double(*)(Point_process *), int, Point_process *, int, double)
 
void _nrn_free_watch (Datum *d, int offset, int n)
 Called by Point_process destructor in translated mod file. More...
 
int hoc_araypt (Symbol *, int)
 
int hoc_stacktype ()
 
Point_processob2pntproc (Object *)
 
Point_processob2pntproc_0 (Object *)
 
void nrn_use_daspk (int)
 
int linmod_extra_eqn_count ()
 
int nrn_modeltype ()
 
TQueuenet_cvode_instance_event_queue (NrnThread *)
 
hoc_Itemnet_cvode_instance_psl ()
 
PlayRecList * net_cvode_instance_prl ()
 
void nrn_update_ps2nt ()
 
void nrn_use_busywait (int)
 
double * nrn_recalc_ptr (double *)
 
voidnrn_interthread_enqueue (NrnThread *)
 
void nrnthread_get_trajectory_requests (int tid, int &bsize, int &n_pr, void **&vpr, int &n_trajec, int *&types, int *&indices, double **&pvars, double **&varrays)
 
void nrnthread_trajectory_values (int tid, int n_pr, void **vpr, double t)
 
void nrnthread_trajectory_return (int tid, int n_pr, int bsize, int vecsz, void **vpr, double t)
 
void _nrn_free_fornetcon (void **)
 
double nrn_netcon_get_delay (NetCon *nc)
 
void nrn_netcon_set_delay (NetCon *nc, double d)
 
int nrn_netcon_weight (NetCon *nc, double **pw)
 
double nrn_event_queue_stats (double *stats)
 
double nrn_netcon_get_thresh (NetCon *nc)
 
void nrn_netcon_set_thresh (NetCon *nc, double th)
 
void nrn_netcon_event (NetCon *nc, double td)
 
Point_processnrn_netcon_target (NetCon *nc)
 
int nrn_netcon_info (NetCon *nc, double **pw, Point_process **target, double **th, double **del)
 
int nrn_presyn_count (PreSyn *ps)
 
voidnrn_presyn_netcon (PreSyn *ps, int i)
 
void ncs2nrn_integrate (double tstop)
 
void nrn_fixed_step ()
 
void nrn_fixed_step_group (int)
 
static void allthread_handle_callback ()
 
static Nodenode (Object *)
 
 declarePool (SelfEventPool, SelfEvent) implementPool(SelfEventPool
 
static double nc_preloc (void *v)
 
static Object ** nc_preseg (void *v)
 
static double nc_postloc (void *v)
 
static Object ** nc_postseg (void *v)
 
static Object ** nc_syn (void *v)
 
static Object ** nc_pre (void *v)
 
static Object ** newoclist (int i, OcList *&o)
 
static Object ** nc_prelist (void *v)
 
static Object ** nc_synlist (void *v)
 
static Object ** nc_postcelllist (void *v)
 
static Object ** nc_precelllist (void *v)
 
static Object ** nc_precell (void *v)
 
static Object ** nc_postcell (void *v)
 
static double nc_setpost (void *v)
 
static double nc_valid (void *v)
 
static double nc_active (void *v)
 
static double nc_event (void *v)
 
static double nc_record (void *v)
 
static double nc_srcgid (void *v)
 
static Object ** nc_get_recordvec (void *v)
 
static double nc_wcnt (void *v)
 
static void steer_val (void *v)
 
static voidcons (Object *o)
 
static void destruct (void *v)
 
void NetCon_reg ()
 
static char * escape_bracket (const char *s)
 
void _nrn_watch_allocate (Datum *d, double(*c)(Point_process *), int i, Point_process *pnt, double flag)
 Introduced so corenrn->nrn can request the mod file to make sure all WatchCondition are allocated. More...
 
void nrn_watch_clear ()
 Watch info corenrn->nrn transfer requires all activated WatchCondition be deactivated prior to mirroring the activation that exists on the corenrn side. More...
 
static void peq (const TQItem *, int)
 
static void event_info_callback (const TQItem *, int)
 
int _nrn_netcon_args (void *v, double ***argslist)
 
void record_init_clear (const TQItem *q, int)
 
double nrn_hoc2fixed_step (void *)
 
double nrn_hoc2fun (void *v)
 
double nrn_hoc2scatter_y (void *v)
 
double nrn_hoc2gather_y (void *v)
 
static voideval_cond (NrnThread *nt)
 
static voidchk_deliv (NrnThread *nt)
 
static int trajec_buffered (NrnThread &nt, int bsize, IvocVect *v, double *pd, int i_pr, PlayRecord *pr, void **vpr, int i_trajec, int *types, int *indices, double **pvars, double **varrays)
 
void nrn2core_transfer_WatchCondition (WatchCondition *wc, void(*cb)(int, int, int, int, int))
 In nrncore_callbacks.cpp. More...
 
void nrn2core_transfer_WATCH (void(*cb)(int, int, int, int, int))
 
 implementPtrList (PlayRecList, PlayRecord) void NetCvode
 
static voidlvardt_integrate (NrnThread *nt)
 
static voiddeliver_for_thread (NrnThread *nt)
 

Variables

SelfEvent typedef std::vector< TQItem * > TQList
 
int structure_change_cnt
 
int v_structure_change
 
int tree_changed
 
int nrn_matrix_cnt_
 
int diam_changed
 
int cvode_active_
 
NetCvodenet_cvode_instance
 
cTemplate ** nrn_pnt_template_
 
double t
 
double dt
 
ReceiveFuncpnt_receive
 
ReceiveFuncpnt_receive_init
 
short * pnt_receive_size
 
short * nrn_is_artificial_
 
short * nrn_artcell_qindex_
 
int nrn_use_selfqueue_
 
int nrn_use_daspk_
 
Symlisthoc_built_in_symlist
 
Symlisthoc_top_level_symlist
 
void(* nrnthread_v_transfer_ )(NrnThread *)
 
Object *(* nrnpy_seg_from_sec_x )(Section *, double)
 
bool nrn_trajectory_request_per_time_step_ = false
 
int hoc_return_type_code
 
int nrn_fornetcon_cnt_
 
int * nrn_fornetcon_index_
 
int * nrn_fornetcon_type_
 
void(* nrn_allthread_handle )()
 
bool nrn_use_fifo_queue_
 
bool nrn_use_bin_queue_
 
static unsigned long deliver_cnt_
 
static unsigned long net_event_cnt_
 
static TQListrecord_init_items_
 
static DiscreteEventnull_event_
 
static PreSynunused_presyn
 
static Member_func members []
 
static Member_ret_obj_func omembers []
 
static IvocVectpeqvec
 
static int event_info_type_
 
static IvocVectevent_info_tvec_
 
static IvocVectevent_info_flagvec_
 
static OcListevent_info_list_
 
static double pending_selfqueue_deliver_
 
static Cvodeeval_cv
 
static double lvardt_tout_
 

Macro Definition Documentation

◆ fifo_event

#define fifo_event   event

Definition at line 2681 of file netcvode.cpp.

◆ ITE_SIZE

#define ITE_SIZE   10

Definition at line 1110 of file netcvode.cpp.

◆ LOCK

#define LOCK (   m)

Definition at line 55 of file netcvode.cpp.

◆ lvardtloop

#define lvardtloop (   i,
  j 
)
Value:
for (i = 0; i < nrn_nthread; ++i) \
for (j = 0; j < p[i].nlcv_; ++j)
#define i
Definition: md1redef.h:12
int nrn_nthread
Definition: multicore.cpp:46
size_t p
size_t j

Definition at line 48 of file netcvode.cpp.

◆ nt_dt

#define nt_dt   nrn_threads->_dt

Definition at line 79 of file netcvode.cpp.

◆ nt_t

#define nt_t   nrn_threads->_t

Definition at line 80 of file netcvode.cpp.

◆ NVI_SUCCESS

#define NVI_SUCCESS   0

Definition at line 52 of file netcvode.cpp.

◆ POINT_RECEIVE

#define POINT_RECEIVE (   type,
  tar,
  w,
 
)    (*pnt_receive[type])(tar, w, f)

Definition at line 59 of file netcvode.cpp.

◆ PP2NT

#define PP2NT (   pp)    ((NrnThread*) ((pp)->_vnt))

Definition at line 53 of file netcvode.cpp.

◆ PP2t

#define PP2t (   pp)    (PP2NT(pp)->_t)

Definition at line 54 of file netcvode.cpp.

◆ PROFILE

#define PROFILE   0

Definition at line 34 of file netcvode.cpp.

◆ UNLOCK

#define UNLOCK (   m)

Definition at line 56 of file netcvode.cpp.

◆ USE_MIN_DELAY

#define USE_MIN_DELAY   1

Definition at line 4 of file netcvode.cpp.

Typedef Documentation

◆ ReceiveFunc

typedef void(* ReceiveFunc) (Point_process *, double *, double)

Definition at line 46 of file netcvode.cpp.

◆ WatchList

typedef std::vector<WatchCondition*> WatchList

Definition at line 454 of file netcvode.cpp.

Function Documentation

◆ _nrn_free_fornetcon()

void _nrn_free_fornetcon ( void **  v)

Definition at line 4243 of file netcvode.cpp.

◆ _nrn_free_watch()

void _nrn_free_watch ( Datum d,
int  offset,
int  n 
)

Called by Point_process destructor in translated mod file.

Definition at line 2633 of file netcvode.cpp.

◆ _nrn_netcon_args()

int _nrn_netcon_args ( void v,
double ***  argslist 
)

Definition at line 4236 of file netcvode.cpp.

◆ _nrn_watch_activate()

void _nrn_watch_activate ( Datum d,
double(*)(Point_process *)  c,
int  i,
Point_process pnt,
int  r,
double  flag 
)

Definition at line 2507 of file netcvode.cpp.

◆ _nrn_watch_allocate()

void _nrn_watch_allocate ( Datum d,
double(*)(Point_process *)  c,
int  i,
Point_process pnt,
double  flag 
)

Introduced so corenrn->nrn can request the mod file to make sure all WatchCondition are allocated.

When that is the case then corenrn can call nrn_watch_activate with all args filled out because the allocated WatchCondition has double (*c)(Point_process) and flag_ filled in.

Definition at line 2594 of file netcvode.cpp.

◆ all_pending_selfqueue()

static void all_pending_selfqueue ( double  tt)
static

Definition at line 3916 of file netcvode.cpp.

◆ allthread_handle_callback()

static void allthread_handle_callback ( )
static

Definition at line 221 of file netcvode.cpp.

◆ artcell_net_move()

void artcell_net_move ( void **  v,
Point_process pnt,
double  tt 
)

Definition at line 2350 of file netcvode.cpp.

◆ artcell_net_send()

void artcell_net_send ( void **  v,
double *  weight,
Point_process pnt,
double  td,
double  flag 
)

Definition at line 2446 of file netcvode.cpp.

◆ chk_deliv()

static void* chk_deliv ( NrnThread nt)
static

Definition at line 5685 of file netcvode.cpp.

◆ cons()

static void* cons ( Object o)
static

Definition at line 855 of file netcvode.cpp.

◆ declarePool()

declarePool ( SelfEventPool  ,
SelfEvent   
)

◆ deliver_for_thread()

static void* deliver_for_thread ( NrnThread nt)
static

Definition at line 7002 of file netcvode.cpp.

◆ destruct()

static void destruct ( void v)
static

Definition at line 891 of file netcvode.cpp.

◆ escape_bracket()

static char* escape_bracket ( const char *  s)
static

Definition at line 919 of file netcvode.cpp.

◆ eval_cond()

static void* eval_cond ( NrnThread nt)
static

Definition at line 5656 of file netcvode.cpp.

◆ event_info_callback()

static void event_info_callback ( const TQItem q,
int   
)
static

Definition at line 3097 of file netcvode.cpp.

◆ hoc_araypt()

int hoc_araypt ( Symbol ,
int   
)

◆ hoc_stacktype()

int hoc_stacktype ( )

Definition at line 731 of file code.cpp.

◆ implementPtrList()

implementPtrList ( PlayRecList  ,
PlayRecord   
)

Definition at line 6238 of file netcvode.cpp.

◆ linmod_extra_eqn_count()

int linmod_extra_eqn_count ( )

◆ lvardt_integrate()

static void* lvardt_integrate ( NrnThread nt)
static

Definition at line 6883 of file netcvode.cpp.

◆ nc_active()

static double nc_active ( void v)
static

Definition at line 716 of file netcvode.cpp.

◆ nc_event()

static double nc_event ( void v)
static

Definition at line 729 of file netcvode.cpp.

◆ nc_get_recordvec()

static Object** nc_get_recordvec ( void v)
static

Definition at line 784 of file netcvode.cpp.

◆ nc_postcell()

static Object** nc_postcell ( void v)
static

Definition at line 661 of file netcvode.cpp.

◆ nc_postcelllist()

static Object** nc_postcelllist ( void v)
static

Definition at line 610 of file netcvode.cpp.

◆ nc_postloc()

static double nc_postloc ( void v)
static

Definition at line 525 of file netcvode.cpp.

◆ nc_postseg()

static Object** nc_postseg ( void v)
static

Definition at line 535 of file netcvode.cpp.

◆ nc_pre()

static Object** nc_pre ( void v)
static

Definition at line 555 of file netcvode.cpp.

◆ nc_precell()

static Object** nc_precell ( void v)
static

Definition at line 652 of file netcvode.cpp.

◆ nc_precelllist()

static Object** nc_precelllist ( void v)
static

Definition at line 631 of file netcvode.cpp.

◆ nc_prelist()

static Object** nc_prelist ( void v)
static

Definition at line 579 of file netcvode.cpp.

◆ nc_preloc()

static double nc_preloc ( void v)
static

Definition at line 466 of file netcvode.cpp.

◆ nc_preseg()

static Object** nc_preseg ( void v)
static

Definition at line 493 of file netcvode.cpp.

◆ nc_record()

static double nc_record ( void v)
static

Definition at line 752 of file netcvode.cpp.

◆ nc_setpost()

static double nc_setpost ( void v)
static

Definition at line 670 of file netcvode.cpp.

◆ nc_srcgid()

static double nc_srcgid ( void v)
static

Definition at line 775 of file netcvode.cpp.

◆ nc_syn()

static Object** nc_syn ( void v)
static

Definition at line 546 of file netcvode.cpp.

◆ nc_synlist()

static Object** nc_synlist ( void v)
static

Definition at line 593 of file netcvode.cpp.

◆ nc_valid()

static double nc_valid ( void v)
static

Definition at line 707 of file netcvode.cpp.

◆ nc_wcnt()

static double nc_wcnt ( void v)
static

Definition at line 793 of file netcvode.cpp.

◆ ncs2nrn_integrate()

void ncs2nrn_integrate ( double  tstop)

Definition at line 3832 of file netcvode.cpp.

◆ net_cvode_instance_event_queue()

TQueue * net_cvode_instance_event_queue ( NrnThread nt)

Definition at line 319 of file netcvode.cpp.

◆ net_cvode_instance_prl()

PlayRecList * net_cvode_instance_prl ( )

Definition at line 327 of file netcvode.cpp.

◆ net_cvode_instance_psl()

hoc_Item * net_cvode_instance_psl ( )

Definition at line 323 of file netcvode.cpp.

◆ net_event()

void net_event ( Point_process pnt,
double  time 
)

Definition at line 2485 of file netcvode.cpp.

◆ net_move()

void net_move ( void **  v,
Point_process pnt,
double  tt 
)

Definition at line 2333 of file netcvode.cpp.

◆ net_send()

void net_send ( void **  v,
double *  weight,
Point_process pnt,
double  td,
double  flag 
)

Definition at line 2411 of file netcvode.cpp.

◆ NetCon_reg()

void NetCon_reg ( )

Definition at line 896 of file netcvode.cpp.

◆ newoclist()

static Object** newoclist ( int  i,
OcList *&  o 
)
static

Definition at line 564 of file netcvode.cpp.

◆ node()

Node * node ( Object ob)
static

Definition at line 340 of file netcvode.cpp.

◆ nrn2core_transfer_WATCH()

void nrn2core_transfer_WATCH ( void(*)(int, int, int, int, int)  cb)

Definition at line 6161 of file netcvode.cpp.

◆ nrn2core_transfer_WatchCondition()

void nrn2core_transfer_WatchCondition ( WatchCondition wc,
void(*)(int, int, int, int, int)  cb 
)

◆ nrn_ba()

void nrn_ba ( NrnThread nt,
int  bat 
)

Definition at line 1104 of file fadvance.cpp.

◆ nrn_cleanup_presyn()

void nrn_cleanup_presyn ( PreSyn ps)

Definition at line 976 of file netpar.cpp.

◆ nrn_cvfun()

void nrn_cvfun ( double  t,
double *  y,
double *  ydot 
)

Definition at line 4359 of file netcvode.cpp.

◆ nrn_errno_check()

int nrn_errno_check ( int  i)

Definition at line 837 of file fadvance.cpp.

◆ nrn_fixed_step()

void nrn_fixed_step ( )

Definition at line 352 of file fadvance.cpp.

◆ nrn_fixed_step_group()

void nrn_fixed_step_group ( int  n)

Definition at line 408 of file fadvance.cpp.

◆ nrn_hoc2fixed_step()

double nrn_hoc2fixed_step ( void v)

Definition at line 4364 of file netcvode.cpp.

◆ nrn_hoc2fun()

double nrn_hoc2fun ( void v)

Definition at line 4369 of file netcvode.cpp.

◆ nrn_hoc2gather_y()

double nrn_hoc2gather_y ( void v)

Definition at line 4404 of file netcvode.cpp.

◆ nrn_hoc2scatter_y()

double nrn_hoc2scatter_y ( void v)

Definition at line 4388 of file netcvode.cpp.

◆ nrn_interthread_enqueue()

void * nrn_interthread_enqueue ( NrnThread nt)

Definition at line 7051 of file netcvode.cpp.

◆ nrn_modeltype()

int nrn_modeltype ( )

Definition at line 1949 of file treeset.cpp.

◆ nrn_netcon_event()

void nrn_netcon_event ( NetCon nc,
double  td 
)

Definition at line 185 of file netcvode.cpp.

◆ nrn_netcon_get_delay()

double nrn_netcon_get_delay ( NetCon nc)

Definition at line 154 of file netcvode.cpp.

◆ nrn_netcon_get_thresh()

double nrn_netcon_get_thresh ( NetCon nc)

Definition at line 172 of file netcvode.cpp.

◆ nrn_netcon_info()

int nrn_netcon_info ( NetCon nc,
double **  pw,
Point_process **  target,
double **  th,
double **  del 
)

Definition at line 195 of file netcvode.cpp.

◆ nrn_netcon_set_delay()

void nrn_netcon_set_delay ( NetCon nc,
double  d 
)

Definition at line 157 of file netcvode.cpp.

◆ nrn_netcon_set_thresh()

void nrn_netcon_set_thresh ( NetCon nc,
double  th 
)

Definition at line 179 of file netcvode.cpp.

◆ nrn_netcon_target()

Point_process* nrn_netcon_target ( NetCon nc)

Definition at line 190 of file netcvode.cpp.

◆ nrn_netcon_weight()

int nrn_netcon_weight ( NetCon nc,
double **  pw 
)

Definition at line 160 of file netcvode.cpp.

◆ nrn_parent_info()

void nrn_parent_info ( Section s)

Definition at line 1678 of file cabcode.cpp.

◆ nrn_pending_selfqueue()

void nrn_pending_selfqueue ( double  tt,
NrnThread nt 
)

Definition at line 3890 of file netcvode.cpp.

◆ nrn_presyn_count()

int nrn_presyn_count ( PreSyn ps)

Definition at line 203 of file netcvode.cpp.

◆ nrn_presyn_netcon()

void* nrn_presyn_netcon ( PreSyn ps,
int  i 
)

Definition at line 206 of file netcvode.cpp.

◆ nrn_recalc_ptr()

double* nrn_recalc_ptr ( double *  old)

Definition at line 2179 of file treeset.cpp.

◆ nrn_sec2cell()

Object* nrn_sec2cell ( Section sec)

Definition at line 233 of file cabcode.cpp.

◆ nrn_sec2cell_equals()

int nrn_sec2cell_equals ( Section sec,
Object obj 
)

Definition at line 248 of file cabcode.cpp.

◆ nrn_update_ps2nt()

void nrn_update_ps2nt ( void  )

Definition at line 5007 of file netcvode.cpp.

◆ nrn_use_busywait()

void nrn_use_busywait ( int  b)

Definition at line 1287 of file multicore.cpp.

◆ nrn_use_daspk()

void nrn_use_daspk ( int  b)

Definition at line 331 of file netcvode.cpp.

◆ nrn_watch_clear()

void nrn_watch_clear ( )

Watch info corenrn->nrn transfer requires all activated WatchCondition be deactivated prior to mirroring the activation that exists on the corenrn side.

Definition at line 2620 of file netcvode.cpp.

◆ nrnthread_get_trajectory_requests()

void nrnthread_get_trajectory_requests ( int  tid,
int &  bsize,
int &  n_pr,
void **&  vpr,
int &  n_trajec,
int *&  types,
int *&  indices,
double **&  pvars,
double **&  varrays 
)

Definition at line 5801 of file netcvode.cpp.

◆ nrnthread_trajectory_return()

void nrnthread_trajectory_return ( int  tid,
int  n_pr,
int  bsize,
int  vecsz,
void **  vpr,
double  t 
)

Definition at line 6097 of file netcvode.cpp.

◆ nrnthread_trajectory_values()

void nrnthread_trajectory_values ( int  tid,
int  n_pr,
void **  vpr,
double  t 
)

Definition at line 6054 of file netcvode.cpp.

◆ ob2pntproc()

Point_process* ob2pntproc ( Object ob)

Definition at line 88 of file hocmech.cpp.

◆ ob2pntproc_0()

Point_process* ob2pntproc_0 ( Object ob)

Definition at line 78 of file hocmech.cpp.

◆ pending_selfqueue()

static void * pending_selfqueue ( NrnThread nt)
static

Definition at line 3885 of file netcvode.cpp.

◆ peq()

static void peq ( const TQItem q,
int   
)
static

Definition at line 3071 of file netcvode.cpp.

◆ record_init_clear()

void record_init_clear ( const TQItem q,
int   
)

Definition at line 4254 of file netcvode.cpp.

◆ setup_topology()

void setup_topology ( void  )

◆ single_event_run()

void single_event_run ( )

◆ steer_val()

static void steer_val ( void v)
static

Definition at line 826 of file netcvode.cpp.

◆ trajec_buffered()

static int trajec_buffered ( NrnThread nt,
int  bsize,
IvocVect v,
double *  pd,
int  i_pr,
PlayRecord pr,
void **  vpr,
int  i_trajec,
int *  types,
int *  indices,
double **  pvars,
double **  varrays 
)
static

Definition at line 5746 of file netcvode.cpp.

◆ v_setup_vectors()

void v_setup_vectors ( )

Definition at line 1631 of file treeset.cpp.

Variable Documentation

◆ cvode_active_

int cvode_active_
extern

Definition at line 163 of file fadvance.cpp.

◆ deliver_cnt_

unsigned long deliver_cnt_
static

Definition at line 287 of file netcvode.cpp.

◆ diam_changed

int diam_changed
extern

Definition at line 23 of file cabcode.cpp.

◆ dt

double dt

Definition at line 76 of file netcvode.cpp.

◆ eval_cv

Cvode* eval_cv
static

Definition at line 5655 of file netcvode.cpp.

◆ event_info_flagvec_

IvocVect* event_info_flagvec_
static

Definition at line 3093 of file netcvode.cpp.

◆ event_info_list_

OcList* event_info_list_
static

Definition at line 3094 of file netcvode.cpp.

◆ event_info_tvec_

IvocVect* event_info_tvec_
static

Definition at line 3092 of file netcvode.cpp.

◆ event_info_type_

int event_info_type_
static

Definition at line 3091 of file netcvode.cpp.

◆ hoc_built_in_symlist

Symlist* hoc_built_in_symlist
extern

Definition at line 76 of file ivocmac.cpp.

◆ hoc_return_type_code

int hoc_return_type_code
extern

Definition at line 42 of file code.cpp.

◆ hoc_top_level_symlist

Symlist* hoc_top_level_symlist
extern

Definition at line 23 of file symdir.cpp.

◆ lvardt_tout_

double lvardt_tout_
static

Definition at line 6881 of file netcvode.cpp.

◆ members

Member_func members[]
static
Initial value:
= {{"active", nc_active},
{"valid", nc_valid},
{"preloc", nc_preloc},
{"postloc", nc_postloc},
{"setpost", nc_setpost},
{"event", nc_event},
{"record", nc_record},
{"srcgid", nc_srcgid},
{"wcnt", nc_wcnt},
{"delay", 0},
{"weight", 0},
{"threshold", 0},
{"x", 0},
{0, 0}}
static double nc_setpost(void *v)
Definition: netcvode.cpp:670
static double nc_event(void *v)
Definition: netcvode.cpp:729
static double nc_active(void *v)
Definition: netcvode.cpp:716
static double nc_preloc(void *v)
Definition: netcvode.cpp:466
static double nc_wcnt(void *v)
Definition: netcvode.cpp:793
static double nc_record(void *v)
Definition: netcvode.cpp:752
static double nc_valid(void *v)
Definition: netcvode.cpp:707
static double nc_srcgid(void *v)
Definition: netcvode.cpp:775
static double nc_postloc(void *v)
Definition: netcvode.cpp:525

Definition at line 798 of file netcvode.cpp.

◆ net_cvode_instance

NetCvode* net_cvode_instance
extern

Definition at line 27 of file cvodestb.cpp.

◆ net_event_cnt_

unsigned long net_event_cnt_
static

Definition at line 287 of file netcvode.cpp.

◆ nrn_allthread_handle

void(* nrn_allthread_handle) () ( )
extern

Definition at line 69 of file fadvance.cpp.

◆ nrn_artcell_qindex_

short* nrn_artcell_qindex_
extern

Definition at line 194 of file init.cpp.

◆ nrn_fornetcon_cnt_

int nrn_fornetcon_cnt_
extern

Definition at line 180 of file init.cpp.

◆ nrn_fornetcon_index_

int* nrn_fornetcon_index_
extern

Definition at line 182 of file init.cpp.

◆ nrn_fornetcon_type_

int* nrn_fornetcon_type_
extern

Definition at line 181 of file init.cpp.

◆ nrn_is_artificial_

short* nrn_is_artificial_
extern

Definition at line 193 of file init.cpp.

◆ nrn_matrix_cnt_

int nrn_matrix_cnt_

Definition at line 69 of file netcvode.cpp.

◆ nrn_pnt_template_

cTemplate** nrn_pnt_template_
extern

Definition at line 131 of file init.cpp.

◆ nrn_trajectory_request_per_time_step_

bool nrn_trajectory_request_per_time_step_ = false

Definition at line 140 of file netcvode.cpp.

◆ nrn_use_bin_queue_

bool nrn_use_bin_queue_

Definition at line 273 of file netcvode.cpp.

◆ nrn_use_daspk_

int nrn_use_daspk_
extern

Definition at line 72 of file treeset.cpp.

◆ nrn_use_fifo_queue_

bool nrn_use_fifo_queue_

Definition at line 270 of file netcvode.cpp.

◆ nrn_use_selfqueue_

int nrn_use_selfqueue_

Definition at line 93 of file netcvode.cpp.

◆ nrnpy_seg_from_sec_x

Object*(* nrnpy_seg_from_sec_x) (Section *, double) ( Section ,
double  x 
)

Definition at line 123 of file netcvode.cpp.

◆ nrnthread_v_transfer_

void(* nrnthread_v_transfer_) (NrnThread *) ( NrnThread nt)
extern

Definition at line 153 of file fadvance.cpp.

◆ null_event_

DiscreteEvent* null_event_
static

Definition at line 462 of file netcvode.cpp.

◆ omembers

Member_ret_obj_func omembers[]
static
Initial value:
= {{"syn", nc_syn},
{"pre", nc_pre},
{"precell", nc_precell},
{"postcell", nc_postcell},
{"preseg", nc_preseg},
{"postseg", nc_postseg},
{"prelist", nc_prelist},
{"synlist", nc_synlist},
{"precelllist", nc_precelllist},
{"postcelllist", nc_postcelllist},
{"get_recordvec", nc_get_recordvec},
{0, 0}}
static Object ** nc_precelllist(void *v)
Definition: netcvode.cpp:631
static Object ** nc_syn(void *v)
Definition: netcvode.cpp:546
static Object ** nc_prelist(void *v)
Definition: netcvode.cpp:579
static Object ** nc_preseg(void *v)
Definition: netcvode.cpp:493
static Object ** nc_get_recordvec(void *v)
Definition: netcvode.cpp:784
static Object ** nc_postcell(void *v)
Definition: netcvode.cpp:661
static Object ** nc_postseg(void *v)
Definition: netcvode.cpp:535
static Object ** nc_postcelllist(void *v)
Definition: netcvode.cpp:610
static Object ** nc_precell(void *v)
Definition: netcvode.cpp:652
static Object ** nc_synlist(void *v)
Definition: netcvode.cpp:593
static Object ** nc_pre(void *v)
Definition: netcvode.cpp:555

Definition at line 813 of file netcvode.cpp.

◆ pending_selfqueue_deliver_

double pending_selfqueue_deliver_
static

Definition at line 3884 of file netcvode.cpp.

◆ peqvec

IvocVect* peqvec
static

Definition at line 3069 of file netcvode.cpp.

◆ pnt_receive

ReceiveFunc* pnt_receive
extern

Definition at line 133 of file init.cpp.

◆ pnt_receive_init

ReceiveFunc* pnt_receive_init
extern

Definition at line 134 of file init.cpp.

◆ pnt_receive_size

short* pnt_receive_size
extern

Definition at line 135 of file init.cpp.

◆ record_init_items_

TQList* record_init_items_
static

Definition at line 460 of file netcvode.cpp.

◆ structure_change_cnt

int structure_change_cnt

Definition at line 67 of file netcvode.cpp.

◆ t

double t
extern

Definition at line 59 of file cvodeobj.cpp.

◆ TQList

SelfEvent typedef std::vector<TQItem*> TQList

Definition at line 456 of file netcvode.cpp.

◆ tree_changed

int tree_changed
extern

Definition at line 26 of file nrncore_utils.cpp.

◆ unused_presyn

PreSyn* unused_presyn
static

Definition at line 464 of file netcvode.cpp.

◆ v_structure_change

int v_structure_change
extern

Definition at line 99 of file cvodestb.cpp.