NEURON
netcvode.cpp File Reference
#include <../../nrnconf.h>
#include <nrnmpi.h>
#include "cabcode.h"
#include "classreg.h"
#include "code.h"
#include "parse.hpp"
#include "cvodeobj.h"
#include "hoclist.h"
#include "pool.hpp"
#include "tqueue.hpp"
#include "ocobserv.h"
#include "nrnneosm.h"
#include "datapath.h"
#include "objcmd.h"
#include "kssingle.h"
#include "ocnotify.h"
#include "utils/enumerate.h"
#include "vrecitem.h"
#include "oclist.h"
#include "htlist.h"
#include "ivocvect.h"
#include "netcon.h"
#include "netcvode.h"
#include "nrn_ansi.h"
#include "nrncore_write/utils/nrncore_utils.h"
#include "nrniv_mf.h"
#include "nrnste.h"
#include "profile.h"
#include "utils/profile/profiler_interface.h"
#include "utils/formatting.hpp"
#include <array>
#include <cerrno>
#include <cstdlib>
#include <ctime>
#include <regex>
#include <unordered_set>
#include <utility>
#include "membfunc.h"

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 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
 
using SelfEventPool = MutexPool< SelfEvent >
 
typedef std::vector< TQItem * > TQList
 
using HocEventPool = MutexPool< HocEvent >
 

Functions

void single_event_run ()
 
void nrn_cvfun (double t, double *y, double *ydot)
 
void nrn_cleanup_presyn (PreSyn *)
 
void nrn_pending_selfqueue (double tt, NrnThread *)
 
static void all_pending_selfqueue (double tt)
 
static void * pending_selfqueue (NrnThread *)
 
int linmod_extra_eqn_count ()
 
int nrn_modeltype ()
 
TQueuenet_cvode_instance_event_queue (NrnThread *)
 
std::vector< PlayRecord * > * net_cvode_instance_prl ()
 
void nrn_use_busywait (int)
 
void * nrn_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)
 
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)
 
void * nrn_presyn_netcon (PreSyn *ps, int i)
 
void ncs2nrn_integrate (double tstop)
 
static void allthread_handle_callback ()
 
std::vector< PreSyn * > * net_cvode_instance_psl ()
 
void nrn_use_daspk (int b)
 
static Nodenode (Object *)
 
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 void * cons (Object *o)
 
static void destruct (void *v)
 
void NetCon_reg ()
 
static char * escape_bracket (const char *s)
 
static std::regex get_regex (int id)
 
void nrn_net_move (Datum *v, Point_process *pnt, double tt)
 
void artcell_net_move (Datum *v, Point_process *pnt, double tt)
 
void nrn_net_send (Datum *v, double *weight, Point_process *pnt, double td, double flag)
 
void artcell_net_send (Datum *v, double *weight, Point_process *pnt, double td, double flag)
 
void artcell_net_send (void *v, double *weight, Point_process *pnt, double td, double flag)
 
void nrn_net_send (void *v, double *weight, Point_process *pnt, double td, double flag)
 
void net_event (Point_process *pnt, double time)
 
void _nrn_watch_activate (Datum *d, double(*c)(Point_process *), int i, Point_process *pnt, int r, double flag)
 
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...
 
void _nrn_free_watch (Datum *d, int offset, int n)
 Called by Point_process destructor in translated mod file. More...
 
static void peq (const TQItem *, int)
 
static void event_info_callback (const TQItem *, int)
 
int _nrn_netcon_args (void *v, double ***argslist)
 
void _nrn_free_fornetcon (void **v)
 
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)
 
void nrn_update_ps2nt ()
 
static void * eval_cond (NrnThread *nt)
 
static void * chk_deliv (NrnThread *nt)
 
static int trajec_buffered (NrnThread &nt, int bsize, IvocVect *v, neuron::container::data_handle< 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))
 
static void lvardt_integrate (neuron::model_sorted_token const &token, NrnThread &ntr)
 
static void * deliver_for_thread (NrnThread *nt)
 

Variables

NetCvodenet_cvode_instance
 
cTemplate ** nrn_pnt_template_
 
double t
 
double dt
 
short * nrn_is_artificial_
 
short * nrn_artcell_qindex_
 
int nrn_use_selfqueue_
 
int nrn_use_daspk_
 
void(* nrnthread_v_transfer_ )(NrnThread *)
 
Object *(* nrnpy_seg_from_sec_x )(Section *, double)
 
bool nrn_trajectory_request_per_time_step_ = false
 
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 2496 of file netcvode.cpp.

◆ ITE_SIZE

#define ITE_SIZE   10

Definition at line 987 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:19
int nrn_nthread
Definition: multicore.cpp:55
size_t p
size_t j

Definition at line 52 of file netcvode.cpp.

◆ nt_dt

#define nt_dt   nrn_threads->_dt

Definition at line 73 of file netcvode.cpp.

◆ nt_t

#define nt_t   nrn_threads->_t

Definition at line 74 of file netcvode.cpp.

◆ NVI_SUCCESS

#define NVI_SUCCESS   0

Definition at line 56 of file netcvode.cpp.

◆ POINT_RECEIVE

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

Definition at line 61 of file netcvode.cpp.

◆ PP2NT

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

Definition at line 57 of file netcvode.cpp.

◆ PP2t

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

Definition at line 58 of file netcvode.cpp.

◆ PROFILE

#define PROFILE   0

Definition at line 29 of file netcvode.cpp.

◆ USE_MIN_DELAY

#define USE_MIN_DELAY   1

Definition at line 4 of file netcvode.cpp.

Typedef Documentation

◆ HocEventPool

Definition at line 3321 of file netcvode.cpp.

◆ ReceiveFunc

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

Definition at line 50 of file netcvode.cpp.

◆ SelfEventPool

Definition at line 406 of file netcvode.cpp.

◆ TQList

typedef std::vector<TQItem*> TQList

Definition at line 407 of file netcvode.cpp.

◆ WatchList

typedef std::vector<WatchCondition*> WatchList

Definition at line 405 of file netcvode.cpp.

Function Documentation

◆ _nrn_free_fornetcon()

void _nrn_free_fornetcon ( void **  v)

Definition at line 4110 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 2469 of file netcvode.cpp.

◆ _nrn_netcon_args()

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

Definition at line 4103 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 2340 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 2430 of file netcvode.cpp.

◆ all_pending_selfqueue()

static void all_pending_selfqueue ( double  tt)
static

Definition at line 3785 of file netcvode.cpp.

◆ allthread_handle_callback()

static void allthread_handle_callback ( )
static

Definition at line 174 of file netcvode.cpp.

◆ artcell_net_move()

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

Definition at line 2206 of file netcvode.cpp.

◆ artcell_net_send() [1/2]

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

Definition at line 2283 of file netcvode.cpp.

◆ artcell_net_send() [2/2]

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

Definition at line 2318 of file netcvode.cpp.

◆ chk_deliv()

static void* chk_deliv ( NrnThread nt)
static

Definition at line 5495 of file netcvode.cpp.

◆ cons()

static void* cons ( Object o)
static

Definition at line 802 of file netcvode.cpp.

◆ deliver_for_thread()

static void* deliver_for_thread ( NrnThread nt)
static

Definition at line 6751 of file netcvode.cpp.

◆ destruct()

static void destruct ( void *  v)
static

Definition at line 838 of file netcvode.cpp.

◆ escape_bracket()

static char* escape_bracket ( const char *  s)
static

Definition at line 865 of file netcvode.cpp.

◆ eval_cond()

static void* eval_cond ( NrnThread nt)
static

Definition at line 5466 of file netcvode.cpp.

◆ event_info_callback()

static void event_info_callback ( const TQItem q,
int   
)
static

Definition at line 2871 of file netcvode.cpp.

◆ get_regex()

static std::regex get_regex ( int  id)
static

Definition at line 894 of file netcvode.cpp.

◆ linmod_extra_eqn_count()

int linmod_extra_eqn_count ( )

◆ lvardt_integrate()

static void lvardt_integrate ( neuron::model_sorted_token const &  token,
NrnThread ntr 
)
static

Definition at line 6631 of file netcvode.cpp.

◆ nc_active()

static double nc_active ( void *  v)
static

Definition at line 661 of file netcvode.cpp.

◆ nc_event()

static double nc_event ( void *  v)
static

Definition at line 674 of file netcvode.cpp.

◆ nc_get_recordvec()

static Object** nc_get_recordvec ( void *  v)
static

Definition at line 731 of file netcvode.cpp.

◆ nc_postcell()

static Object** nc_postcell ( void *  v)
static

Definition at line 607 of file netcvode.cpp.

◆ nc_postcelllist()

static Object** nc_postcelllist ( void *  v)
static

Definition at line 560 of file netcvode.cpp.

◆ nc_postloc()

static double nc_postloc ( void *  v)
static

Definition at line 477 of file netcvode.cpp.

◆ nc_postseg()

static Object** nc_postseg ( void *  v)
static

Definition at line 487 of file netcvode.cpp.

◆ nc_pre()

static Object** nc_pre ( void *  v)
static

Definition at line 507 of file netcvode.cpp.

◆ nc_precell()

static Object** nc_precell ( void *  v)
static

Definition at line 598 of file netcvode.cpp.

◆ nc_precelllist()

static Object** nc_precelllist ( void *  v)
static

Definition at line 579 of file netcvode.cpp.

◆ nc_prelist()

static Object** nc_prelist ( void *  v)
static

Definition at line 531 of file netcvode.cpp.

◆ nc_preloc()

static double nc_preloc ( void *  v)
static

Definition at line 417 of file netcvode.cpp.

◆ nc_preseg()

static Object** nc_preseg ( void *  v)
static

Definition at line 445 of file netcvode.cpp.

◆ nc_record()

static double nc_record ( void *  v)
static

Definition at line 699 of file netcvode.cpp.

◆ nc_setpost()

static double nc_setpost ( void *  v)
static

Definition at line 616 of file netcvode.cpp.

◆ nc_srcgid()

static double nc_srcgid ( void *  v)
static

Definition at line 722 of file netcvode.cpp.

◆ nc_syn()

static Object** nc_syn ( void *  v)
static

Definition at line 498 of file netcvode.cpp.

◆ nc_synlist()

static Object** nc_synlist ( void *  v)
static

Definition at line 545 of file netcvode.cpp.

◆ nc_valid()

static double nc_valid ( void *  v)
static

Definition at line 652 of file netcvode.cpp.

◆ nc_wcnt()

static double nc_wcnt ( void *  v)
static

Definition at line 740 of file netcvode.cpp.

◆ ncs2nrn_integrate()

void ncs2nrn_integrate ( double  tstop)

Definition at line 3700 of file netcvode.cpp.

◆ net_cvode_instance_event_queue()

TQueue * net_cvode_instance_event_queue ( NrnThread nt)

Definition at line 270 of file netcvode.cpp.

◆ net_cvode_instance_prl()

std::vector< PlayRecord * > * net_cvode_instance_prl ( )

Definition at line 278 of file netcvode.cpp.

◆ net_cvode_instance_psl()

std::vector<PreSyn*>* net_cvode_instance_psl ( )

Definition at line 274 of file netcvode.cpp.

◆ net_event()

void net_event ( Point_process pnt,
double  time 
)

Definition at line 2326 of file netcvode.cpp.

◆ NetCon_reg()

void NetCon_reg ( )

Definition at line 842 of file netcvode.cpp.

◆ newoclist()

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

Definition at line 516 of file netcvode.cpp.

◆ node()

Node * node ( Object ob)
static

Definition at line 291 of file netcvode.cpp.

◆ nrn2core_transfer_WATCH()

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

Definition at line 5945 of file netcvode.cpp.

◆ nrn2core_transfer_WatchCondition()

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

◆ nrn_cleanup_presyn()

void nrn_cleanup_presyn ( PreSyn ps)

Definition at line 970 of file netpar.cpp.

◆ nrn_cvfun()

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

Definition at line 4224 of file netcvode.cpp.

◆ nrn_event_queue_stats()

double nrn_event_queue_stats ( double *  stats)

Definition at line 126 of file netcvode.cpp.

◆ nrn_hoc2fixed_step()

double nrn_hoc2fixed_step ( void *  v)

Definition at line 4229 of file netcvode.cpp.

◆ nrn_hoc2fun()

double nrn_hoc2fun ( void *  v)

Definition at line 4234 of file netcvode.cpp.

◆ nrn_hoc2gather_y()

double nrn_hoc2gather_y ( void *  v)

Definition at line 4269 of file netcvode.cpp.

◆ nrn_hoc2scatter_y()

double nrn_hoc2scatter_y ( void *  v)

Definition at line 4253 of file netcvode.cpp.

◆ nrn_interthread_enqueue()

void * nrn_interthread_enqueue ( NrnThread nt)

Definition at line 6800 of file netcvode.cpp.

◆ nrn_modeltype()

int nrn_modeltype ( )

Definition at line 1785 of file treeset.cpp.

◆ nrn_net_move()

void nrn_net_move ( Datum v,
Point_process pnt,
double  tt 
)

Definition at line 2189 of file netcvode.cpp.

◆ nrn_net_send() [1/2]

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

Definition at line 2257 of file netcvode.cpp.

◆ nrn_net_send() [2/2]

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

Definition at line 2322 of file netcvode.cpp.

◆ nrn_netcon_event()

void nrn_netcon_event ( NetCon nc,
double  td 
)

Definition at line 147 of file netcvode.cpp.

◆ nrn_netcon_get_delay()

double nrn_netcon_get_delay ( NetCon nc)

Definition at line 116 of file netcvode.cpp.

◆ nrn_netcon_get_thresh()

double nrn_netcon_get_thresh ( NetCon nc)

Definition at line 134 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 157 of file netcvode.cpp.

◆ nrn_netcon_set_delay()

void nrn_netcon_set_delay ( NetCon nc,
double  d 
)

Definition at line 119 of file netcvode.cpp.

◆ nrn_netcon_set_thresh()

void nrn_netcon_set_thresh ( NetCon nc,
double  th 
)

Definition at line 141 of file netcvode.cpp.

◆ nrn_netcon_target()

Point_process* nrn_netcon_target ( NetCon nc)

Definition at line 152 of file netcvode.cpp.

◆ nrn_netcon_weight()

int nrn_netcon_weight ( NetCon nc,
double **  pw 
)

Definition at line 122 of file netcvode.cpp.

◆ nrn_pending_selfqueue()

void nrn_pending_selfqueue ( double  tt,
NrnThread nt 
)

Definition at line 3759 of file netcvode.cpp.

◆ nrn_presyn_count()

int nrn_presyn_count ( PreSyn ps)

Definition at line 165 of file netcvode.cpp.

◆ nrn_presyn_netcon()

void* nrn_presyn_netcon ( PreSyn ps,
int  i 
)

Definition at line 168 of file netcvode.cpp.

◆ nrn_update_ps2nt()

void nrn_update_ps2nt ( void  )

Definition at line 4871 of file netcvode.cpp.

◆ nrn_use_busywait()

void nrn_use_busywait ( int  b)

Definition at line 1009 of file multicore.cpp.

◆ nrn_use_daspk()

void nrn_use_daspk ( int  b)

Definition at line 282 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 2456 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 5607 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 5881 of file netcvode.cpp.

◆ nrnthread_trajectory_values()

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

Definition at line 5839 of file netcvode.cpp.

◆ pending_selfqueue()

static void * pending_selfqueue ( NrnThread nt)
static

Definition at line 3754 of file netcvode.cpp.

◆ peq()

static void peq ( const TQItem q,
int   
)
static

Definition at line 2845 of file netcvode.cpp.

◆ record_init_clear()

void record_init_clear ( const TQItem q,
int   
)

Definition at line 4118 of file netcvode.cpp.

◆ single_event_run()

void single_event_run ( )

◆ steer_val()

static void steer_val ( void *  v)
static

Definition at line 773 of file netcvode.cpp.

◆ trajec_buffered()

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

Definition at line 5551 of file netcvode.cpp.

Variable Documentation

◆ deliver_cnt_

unsigned long deliver_cnt_
static

Definition at line 238 of file netcvode.cpp.

◆ dt

double dt

Definition at line 70 of file netcvode.cpp.

◆ eval_cv

Cvode* eval_cv
static

Definition at line 5465 of file netcvode.cpp.

◆ event_info_flagvec_

IvocVect* event_info_flagvec_
static

Definition at line 2867 of file netcvode.cpp.

◆ event_info_list_

OcList* event_info_list_
static

Definition at line 2868 of file netcvode.cpp.

◆ event_info_tvec_

IvocVect* event_info_tvec_
static

Definition at line 2866 of file netcvode.cpp.

◆ event_info_type_

int event_info_type_
static

Definition at line 2865 of file netcvode.cpp.

◆ lvardt_tout_

double lvardt_tout_
static

Definition at line 6629 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},
{nullptr, nullptr}}
static double nc_setpost(void *v)
Definition: netcvode.cpp:616
static double nc_event(void *v)
Definition: netcvode.cpp:674
static double nc_active(void *v)
Definition: netcvode.cpp:661
static double nc_preloc(void *v)
Definition: netcvode.cpp:417
static double nc_wcnt(void *v)
Definition: netcvode.cpp:740
static double nc_record(void *v)
Definition: netcvode.cpp:699
static double nc_valid(void *v)
Definition: netcvode.cpp:652
static double nc_srcgid(void *v)
Definition: netcvode.cpp:722
static double nc_postloc(void *v)
Definition: netcvode.cpp:477

Definition at line 745 of file netcvode.cpp.

◆ net_cvode_instance

NetCvode* net_cvode_instance
extern

Definition at line 26 of file cvodestb.cpp.

◆ net_event_cnt_

unsigned long net_event_cnt_
static

Definition at line 238 of file netcvode.cpp.

◆ nrn_allthread_handle

void(* nrn_allthread_handle) () ( )
extern

Definition at line 68 of file fadvance.cpp.

◆ nrn_artcell_qindex_

short* nrn_artcell_qindex_
extern

Definition at line 215 of file init.cpp.

◆ nrn_fornetcon_cnt_

int nrn_fornetcon_cnt_
extern

Definition at line 201 of file init.cpp.

◆ nrn_fornetcon_index_

int* nrn_fornetcon_index_
extern

Definition at line 203 of file init.cpp.

◆ nrn_fornetcon_type_

int* nrn_fornetcon_type_
extern

Definition at line 202 of file init.cpp.

◆ nrn_is_artificial_

short* nrn_is_artificial_
extern

Definition at line 214 of file init.cpp.

◆ nrn_pnt_template_

cTemplate** nrn_pnt_template_
extern

Definition at line 153 of file init.cpp.

◆ nrn_trajectory_request_per_time_step_

bool nrn_trajectory_request_per_time_step_ = false

Definition at line 106 of file netcvode.cpp.

◆ nrn_use_bin_queue_

bool nrn_use_bin_queue_

Definition at line 225 of file netcvode.cpp.

◆ nrn_use_daspk_

int nrn_use_daspk_
extern

Definition at line 59 of file treeset.cpp.

◆ nrn_use_fifo_queue_

bool nrn_use_fifo_queue_

Definition at line 223 of file netcvode.cpp.

◆ nrn_use_selfqueue_

int nrn_use_selfqueue_

Definition at line 77 of file netcvode.cpp.

◆ nrnpy_seg_from_sec_x

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

Definition at line 89 of file netcvode.cpp.

◆ nrnthread_v_transfer_

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

Definition at line 139 of file fadvance.cpp.

◆ null_event_

DiscreteEvent* null_event_
static

Definition at line 413 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},
{nullptr, nullptr}}
static Object ** nc_precelllist(void *v)
Definition: netcvode.cpp:579
static Object ** nc_syn(void *v)
Definition: netcvode.cpp:498
static Object ** nc_prelist(void *v)
Definition: netcvode.cpp:531
static Object ** nc_preseg(void *v)
Definition: netcvode.cpp:445
static Object ** nc_get_recordvec(void *v)
Definition: netcvode.cpp:731
static Object ** nc_postcell(void *v)
Definition: netcvode.cpp:607
static Object ** nc_postseg(void *v)
Definition: netcvode.cpp:487
static Object ** nc_postcelllist(void *v)
Definition: netcvode.cpp:560
static Object ** nc_precell(void *v)
Definition: netcvode.cpp:598
static Object ** nc_synlist(void *v)
Definition: netcvode.cpp:545
static Object ** nc_pre(void *v)
Definition: netcvode.cpp:507

Definition at line 760 of file netcvode.cpp.

◆ pending_selfqueue_deliver_

double pending_selfqueue_deliver_
static

Definition at line 3753 of file netcvode.cpp.

◆ peqvec

IvocVect* peqvec
static

Definition at line 2843 of file netcvode.cpp.

◆ record_init_items_

TQList* record_init_items_
static

Definition at line 411 of file netcvode.cpp.

◆ t

double t
extern

Definition at line 57 of file cvodeobj.cpp.

◆ unused_presyn

PreSyn* unused_presyn
static

Definition at line 415 of file netcvode.cpp.