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/list.h>
#include <OS/math.h>
#include <OS/table.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 "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)   for(i=0; i < nrn_nthread; ++i) for (j=0; j < p[i].nlcv_; ++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)
 

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 *)
 
 declareTable (MaxStateTable, void *, MaxStateItem *) implementTable(MaxStateTable
 
void MaxStateItemdeclarePtrList (PreSynList, PreSyn) implementPtrList(PreSynList
 
void MaxStateItem PreSyn declarePtrList (WatchList, WatchCondition) implementPtrList(WatchList
 
void MaxStateItem PreSyn WatchCondition declareTable (PreSynTable, double *, PreSyn *) implementTable(PreSynTable
 
void MaxStateItem PreSyn WatchCondition double PreSyndeclarePool (SelfEventPool, SelfEvent) implementPool(SelfEventPool
 
void MaxStateItem PreSyn WatchCondition double PreSyn SelfEvent declarePtrList (TQList, TQItem) implementPtrList(TQList
 
void MaxStateItem PreSyn WatchCondition double PreSyn SelfEvent TQItem declarePtrList (HocEventList, HocEvent) implementPtrList(HocEventList
 
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)
 
 declareTable (NetConSaveWeightTable, void *, NetCon *) implementTable(NetConSaveWeightTable
 
 declareTable (NetConSaveIndexTable, long, NetCon *) implementTable(NetConSaveIndexTable
 
 declareTable (PreSynSaveIndexTable, long, PreSyn *) implementTable(PreSynSaveIndexTable
 
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

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_
 
intnrn_fornetcon_index_
 
intnrn_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_
 
void MaxStateItem PreSyn WatchCondition double PreSyn SelfEvent TQItem static HocEvent TQList * record_init_items_
 
static DiscreteEventnull_event_
 
static DiscreteEventtstop_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_
 
 long
 
static Cvodeeval_cv
 
static double lvardt_tout_
 

Macro Definition Documentation

◆ fifo_event

#define fifo_event   event

Definition at line 2596 of file netcvode.cpp.

◆ ITE_SIZE

#define ITE_SIZE   10

Definition at line 1094 of file netcvode.cpp.

◆ LOCK

#define LOCK (   m)

Definition at line 54 of file netcvode.cpp.

◆ lvardtloop

#define lvardtloop (   i,
  j 
)    for(i=0; i < nrn_nthread; ++i) for (j=0; j < p[i].nlcv_; ++j)

Definition at line 49 of file netcvode.cpp.

◆ nt_dt

#define nt_dt   nrn_threads->_dt

Definition at line 78 of file netcvode.cpp.

◆ nt_t

#define nt_t   nrn_threads->_t

Definition at line 79 of file netcvode.cpp.

◆ NVI_SUCCESS

#define NVI_SUCCESS   0

Definition at line 51 of file netcvode.cpp.

◆ POINT_RECEIVE

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

Definition at line 58 of file netcvode.cpp.

◆ PP2NT

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

Definition at line 52 of file netcvode.cpp.

◆ PP2t

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

Definition at line 53 of file netcvode.cpp.

◆ PROFILE

#define PROFILE   0

Definition at line 36 of file netcvode.cpp.

◆ UNLOCK

#define UNLOCK (   m)

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

Function Documentation

◆ _nrn_free_fornetcon()

void _nrn_free_fornetcon ( void **  v)

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

◆ _nrn_netcon_args()

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

Definition at line 4101 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 2431 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 2515 of file netcvode.cpp.

◆ all_pending_selfqueue()

static void all_pending_selfqueue ( double  tt)
static

Definition at line 3827 of file netcvode.cpp.

◆ allthread_handle_callback()

static void allthread_handle_callback ( )
static

Definition at line 199 of file netcvode.cpp.

◆ artcell_net_move()

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

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

◆ chk_deliv()

static void* chk_deliv ( NrnThread nt)
static

Definition at line 5515 of file netcvode.cpp.

◆ cons()

static void* cons ( Object o)
static

Definition at line 853 of file netcvode.cpp.

◆ declarePool()

void MaxStateItem PreSyn WatchCondition double PreSyn* declarePool ( SelfEventPool  ,
SelfEvent   
)

◆ declarePtrList() [1/4]

void MaxStateItem* declarePtrList ( PreSynList  ,
PreSyn   
)

◆ declarePtrList() [2/4]

void MaxStateItem PreSyn declarePtrList ( WatchList  ,
WatchCondition   
)

◆ declarePtrList() [3/4]

void MaxStateItem PreSyn WatchCondition double PreSyn SelfEvent declarePtrList ( TQList  ,
TQItem   
)

◆ declarePtrList() [4/4]

void MaxStateItem PreSyn WatchCondition double PreSyn SelfEvent TQItem declarePtrList ( HocEventList  ,
HocEvent   
)

◆ declareTable() [1/5]

declareTable ( MaxStateTable  ,
void ,
MaxStateItem  
)

◆ declareTable() [2/5]

void MaxStateItem PreSyn WatchCondition declareTable ( PreSynTable  ,
double *  ,
PreSyn  
)

◆ declareTable() [3/5]

declareTable ( NetConSaveWeightTable  ,
void ,
NetCon  
)

◆ declareTable() [4/5]

declareTable ( NetConSaveIndexTable  ,
long  ,
NetCon  
)

◆ declareTable() [5/5]

declareTable ( PreSynSaveIndexTable  ,
long  ,
PreSyn  
)

◆ deliver_for_thread()

static void* deliver_for_thread ( NrnThread nt)
static

Definition at line 6685 of file netcvode.cpp.

◆ destruct()

static void destruct ( void v)
static

Definition at line 890 of file netcvode.cpp.

◆ escape_bracket()

static char* escape_bracket ( const char *  s)
static

Definition at line 918 of file netcvode.cpp.

◆ eval_cond()

static void* eval_cond ( NrnThread nt)
static

Definition at line 5488 of file netcvode.cpp.

◆ event_info_callback()

static void event_info_callback ( const TQItem q,
int   
)
static

Definition at line 3014 of file netcvode.cpp.

◆ hoc_araypt()

int hoc_araypt ( Symbol ,
int   
)

◆ hoc_stacktype()

int hoc_stacktype ( )

Definition at line 720 of file code.cpp.

◆ implementPtrList()

implementPtrList ( PlayRecList  ,
PlayRecord   
)

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

◆ nc_active()

static double nc_active ( void v)
static

Definition at line 709 of file netcvode.cpp.

◆ nc_event()

static double nc_event ( void v)
static

Definition at line 722 of file netcvode.cpp.

◆ nc_get_recordvec()

static Object** nc_get_recordvec ( void v)
static

Definition at line 778 of file netcvode.cpp.

◆ nc_postcell()

static Object** nc_postcell ( void v)
static

Definition at line 654 of file netcvode.cpp.

◆ nc_postcelllist()

static Object** nc_postcelllist ( void v)
static

Definition at line 603 of file netcvode.cpp.

◆ nc_postloc()

static double nc_postloc ( void v)
static

Definition at line 517 of file netcvode.cpp.

◆ nc_postseg()

static Object** nc_postseg ( void v)
static

Definition at line 527 of file netcvode.cpp.

◆ nc_pre()

static Object** nc_pre ( void v)
static

Definition at line 547 of file netcvode.cpp.

◆ nc_precell()

static Object** nc_precell ( void v)
static

Definition at line 645 of file netcvode.cpp.

◆ nc_precelllist()

static Object** nc_precelllist ( void v)
static

Definition at line 625 of file netcvode.cpp.

◆ nc_prelist()

static Object** nc_prelist ( void v)
static

Definition at line 571 of file netcvode.cpp.

◆ nc_preloc()

static double nc_preloc ( void v)
static

Definition at line 458 of file netcvode.cpp.

◆ nc_preseg()

static Object** nc_preseg ( void v)
static

Definition at line 485 of file netcvode.cpp.

◆ nc_record()

static double nc_record ( void v)
static

Definition at line 746 of file netcvode.cpp.

◆ nc_setpost()

static double nc_setpost ( void v)
static

Definition at line 663 of file netcvode.cpp.

◆ nc_srcgid()

static double nc_srcgid ( void v)
static

Definition at line 769 of file netcvode.cpp.

◆ nc_syn()

static Object** nc_syn ( void v)
static

Definition at line 538 of file netcvode.cpp.

◆ nc_synlist()

static Object** nc_synlist ( void v)
static

Definition at line 586 of file netcvode.cpp.

◆ nc_valid()

static double nc_valid ( void v)
static

Definition at line 700 of file netcvode.cpp.

◆ nc_wcnt()

static double nc_wcnt ( void v)
static

Definition at line 787 of file netcvode.cpp.

◆ ncs2nrn_integrate()

void ncs2nrn_integrate ( double  tstop)

Definition at line 3748 of file netcvode.cpp.

◆ net_cvode_instance_event_queue()

TQueue * net_cvode_instance_event_queue ( NrnThread nt)

Definition at line 297 of file netcvode.cpp.

◆ net_cvode_instance_prl()

PlayRecList * net_cvode_instance_prl ( )

Definition at line 305 of file netcvode.cpp.

◆ net_cvode_instance_psl()

hoc_Item * net_cvode_instance_psl ( )

Definition at line 301 of file netcvode.cpp.

◆ net_event()

void net_event ( Point_process pnt,
double  time 
)

Definition at line 2409 of file netcvode.cpp.

◆ net_move()

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

Definition at line 2268 of file netcvode.cpp.

◆ net_send()

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

Definition at line 2340 of file netcvode.cpp.

◆ NetCon_reg()

void NetCon_reg ( )

Definition at line 895 of file netcvode.cpp.

◆ newoclist()

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

Definition at line 556 of file netcvode.cpp.

◆ node()

Node * node ( Object ob)
static

Definition at line 318 of file netcvode.cpp.

◆ nrn2core_transfer_WATCH()

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

Definition at line 5889 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 1041 of file fadvance.cpp.

◆ nrn_cleanup_presyn()

void nrn_cleanup_presyn ( PreSyn ps)

Definition at line 932 of file netpar.cpp.

◆ nrn_cvfun()

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

Definition at line 4225 of file netcvode.cpp.

◆ nrn_errno_check()

int nrn_errno_check ( int  )

Definition at line 784 of file fadvance.cpp.

◆ nrn_event_queue_stats()

double nrn_event_queue_stats ( double *  stats)

Definition at line 141 of file netcvode.cpp.

◆ nrn_fixed_step()

void nrn_fixed_step ( )

Definition at line 338 of file fadvance.cpp.

◆ nrn_fixed_step_group()

void nrn_fixed_step_group ( int  n)

Definition at line 392 of file fadvance.cpp.

◆ nrn_hoc2fixed_step()

double nrn_hoc2fixed_step ( void )

Definition at line 4230 of file netcvode.cpp.

◆ nrn_hoc2fun()

double nrn_hoc2fun ( void v)

Definition at line 4235 of file netcvode.cpp.

◆ nrn_hoc2gather_y()

double nrn_hoc2gather_y ( void v)

Definition at line 4258 of file netcvode.cpp.

◆ nrn_hoc2scatter_y()

double nrn_hoc2scatter_y ( void v)

Definition at line 4248 of file netcvode.cpp.

◆ nrn_interthread_enqueue()

void * nrn_interthread_enqueue ( NrnThread nt)

Definition at line 6730 of file netcvode.cpp.

◆ nrn_modeltype()

int nrn_modeltype ( )

Definition at line 1934 of file treeset.cpp.

◆ nrn_netcon_event()

void nrn_netcon_event ( NetCon nc,
double  td 
)

Definition at line 162 of file netcvode.cpp.

◆ nrn_netcon_get_delay()

double nrn_netcon_get_delay ( NetCon nc)

Definition at line 135 of file netcvode.cpp.

◆ nrn_netcon_get_thresh()

double nrn_netcon_get_thresh ( NetCon nc)

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

◆ nrn_netcon_set_delay()

void nrn_netcon_set_delay ( NetCon nc,
double  d 
)

Definition at line 136 of file netcvode.cpp.

◆ nrn_netcon_set_thresh()

void nrn_netcon_set_thresh ( NetCon nc,
double  th 
)

Definition at line 156 of file netcvode.cpp.

◆ nrn_netcon_target()

Point_process* nrn_netcon_target ( NetCon nc)

Definition at line 167 of file netcvode.cpp.

◆ nrn_netcon_weight()

int nrn_netcon_weight ( NetCon nc,
double **  pw 
)

Definition at line 137 of file netcvode.cpp.

◆ nrn_parent_info()

void nrn_parent_info ( Section )

Definition at line 1689 of file cabcode.cpp.

◆ nrn_pending_selfqueue()

void nrn_pending_selfqueue ( double  tt,
NrnThread nt 
)

Definition at line 3802 of file netcvode.cpp.

◆ nrn_presyn_count()

int nrn_presyn_count ( PreSyn ps)

Definition at line 181 of file netcvode.cpp.

◆ nrn_presyn_netcon()

void* nrn_presyn_netcon ( PreSyn ps,
int  i 
)

Definition at line 184 of file netcvode.cpp.

◆ nrn_recalc_ptr()

double* nrn_recalc_ptr ( double *  )

Definition at line 2158 of file treeset.cpp.

◆ nrn_sec2cell()

Object* nrn_sec2cell ( Section )

Definition at line 224 of file cabcode.cpp.

◆ nrn_sec2cell_equals()

int nrn_sec2cell_equals ( Section ,
Object  
)

Definition at line 239 of file cabcode.cpp.

◆ nrn_update_ps2nt()

void nrn_update_ps2nt ( void  )

Definition at line 4850 of file netcvode.cpp.

◆ nrn_use_busywait()

void nrn_use_busywait ( int  )

Definition at line 1224 of file multicore.cpp.

◆ nrn_use_daspk()

void nrn_use_daspk ( int  b)

Definition at line 309 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 2537 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 5621 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 5826 of file netcvode.cpp.

◆ nrnthread_trajectory_values()

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

Definition at line 5785 of file netcvode.cpp.

◆ ob2pntproc()

Point_process* ob2pntproc ( Object )

Definition at line 88 of file hocmech.cpp.

◆ ob2pntproc_0()

Point_process* ob2pntproc_0 ( Object )

Definition at line 78 of file hocmech.cpp.

◆ pending_selfqueue()

static void * pending_selfqueue ( NrnThread nt)
static

Definition at line 3797 of file netcvode.cpp.

◆ peq()

static void peq ( const TQItem q,
int   
)
static

Definition at line 2988 of file netcvode.cpp.

◆ record_init_clear()

void record_init_clear ( const TQItem q,
int   
)

Definition at line 4119 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 824 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 5574 of file netcvode.cpp.

◆ v_setup_vectors()

void v_setup_vectors ( )

Definition at line 1623 of file treeset.cpp.

Variable Documentation

◆ cvode_active_

int cvode_active_

Definition at line 158 of file fadvance.cpp.

◆ deliver_cnt_

unsigned long deliver_cnt_
static

Definition at line 265 of file netcvode.cpp.

◆ diam_changed

int diam_changed

Definition at line 23 of file cabcode.cpp.

◆ dt

double dt

Definition at line 123 of file init.cpp.

◆ eval_cv

Cvode* eval_cv
static

Definition at line 5487 of file netcvode.cpp.

◆ event_info_flagvec_

IvocVect* event_info_flagvec_
static

Definition at line 3010 of file netcvode.cpp.

◆ event_info_list_

OcList* event_info_list_
static

Definition at line 3011 of file netcvode.cpp.

◆ event_info_tvec_

IvocVect* event_info_tvec_
static

Definition at line 3009 of file netcvode.cpp.

◆ event_info_type_

int event_info_type_
static

Definition at line 3008 of file netcvode.cpp.

◆ hoc_built_in_symlist

Symlist* hoc_built_in_symlist

Definition at line 39 of file symbol.cpp.

◆ hoc_return_type_code

int hoc_return_type_code

Definition at line 41 of file code.cpp.

◆ hoc_top_level_symlist

Symlist* hoc_top_level_symlist

Definition at line 41 of file symbol.cpp.

◆ long

long

Definition at line 4792 of file netcvode.cpp.

◆ lvardt_tout_

double lvardt_tout_
static

Definition at line 6584 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_active(void *v)
Definition: netcvode.cpp:709
static double nc_srcgid(void *v)
Definition: netcvode.cpp:769
static double nc_valid(void *v)
Definition: netcvode.cpp:700
static double nc_wcnt(void *v)
Definition: netcvode.cpp:787
static double nc_setpost(void *v)
Definition: netcvode.cpp:663
static double nc_postloc(void *v)
Definition: netcvode.cpp:517
static double nc_event(void *v)
Definition: netcvode.cpp:722
static double nc_record(void *v)
Definition: netcvode.cpp:746
static double nc_preloc(void *v)
Definition: netcvode.cpp:458

Definition at line 792 of file netcvode.cpp.

◆ net_cvode_instance

NetCvode* net_cvode_instance

Definition at line 27 of file cvodestb.cpp.

◆ net_event_cnt_

unsigned long net_event_cnt_
static

Definition at line 265 of file netcvode.cpp.

◆ nrn_allthread_handle

void(* nrn_allthread_handle) ()

Definition at line 69 of file fadvance.cpp.

◆ nrn_artcell_qindex_

short* nrn_artcell_qindex_

Definition at line 232 of file init.cpp.

◆ nrn_fornetcon_cnt_

int nrn_fornetcon_cnt_

Definition at line 218 of file init.cpp.

◆ nrn_fornetcon_index_

int* nrn_fornetcon_index_

Definition at line 220 of file init.cpp.

◆ nrn_fornetcon_type_

int* nrn_fornetcon_type_

Definition at line 219 of file init.cpp.

◆ nrn_is_artificial_

short* nrn_is_artificial_

Definition at line 231 of file init.cpp.

◆ nrn_matrix_cnt_

int nrn_matrix_cnt_

Definition at line 68 of file treeset.cpp.

◆ nrn_pnt_template_

cTemplate** nrn_pnt_template_

Definition at line 169 of file init.cpp.

◆ nrn_trajectory_request_per_time_step_

bool nrn_trajectory_request_per_time_step_ = false

Definition at line 121 of file netcvode.cpp.

◆ nrn_use_bin_queue_

bool nrn_use_bin_queue_

Definition at line 251 of file netcvode.cpp.

◆ nrn_use_daspk_

int nrn_use_daspk_

Definition at line 70 of file treeset.cpp.

◆ nrn_use_fifo_queue_

bool nrn_use_fifo_queue_

Definition at line 248 of file netcvode.cpp.

◆ nrn_use_selfqueue_

int nrn_use_selfqueue_

Definition at line 92 of file netcvode.cpp.

◆ nrnpy_seg_from_sec_x

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

Definition at line 117 of file netcvode.cpp.

◆ nrnthread_v_transfer_

void(* nrnthread_v_transfer_) (NrnThread *)

Definition at line 148 of file fadvance.cpp.

◆ null_event_

DiscreteEvent* null_event_
static

Definition at line 453 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_preseg(void *v)
Definition: netcvode.cpp:485
static Object ** nc_prelist(void *v)
Definition: netcvode.cpp:571
static Object ** nc_get_recordvec(void *v)
Definition: netcvode.cpp:778
static Object ** nc_pre(void *v)
Definition: netcvode.cpp:547
static Object ** nc_syn(void *v)
Definition: netcvode.cpp:538
static Object ** nc_synlist(void *v)
Definition: netcvode.cpp:586
static Object ** nc_postcell(void *v)
Definition: netcvode.cpp:654
static Object ** nc_precelllist(void *v)
Definition: netcvode.cpp:625
static Object ** nc_precell(void *v)
Definition: netcvode.cpp:645
static Object ** nc_postcelllist(void *v)
Definition: netcvode.cpp:603
static Object ** nc_postseg(void *v)
Definition: netcvode.cpp:527

Definition at line 809 of file netcvode.cpp.

◆ pending_selfqueue_deliver_

double pending_selfqueue_deliver_
static

Definition at line 3796 of file netcvode.cpp.

◆ peqvec

IvocVect* peqvec
static

Definition at line 2986 of file netcvode.cpp.

◆ pnt_receive

ReceiveFunc* pnt_receive

Definition at line 171 of file init.cpp.

◆ pnt_receive_init

ReceiveFunc* pnt_receive_init

Definition at line 172 of file init.cpp.

◆ pnt_receive_size

short* pnt_receive_size

Definition at line 173 of file init.cpp.

◆ record_init_items_

void MaxStateItem PreSyn WatchCondition double PreSyn SelfEvent TQItem static HocEvent TQList* record_init_items_
static

Definition at line 451 of file netcvode.cpp.

◆ structure_change_cnt

int structure_change_cnt

Definition at line 66 of file netcvode.cpp.

◆ t

double t

Definition at line 123 of file init.cpp.

◆ tree_changed

int tree_changed

Definition at line 19 of file cabcode.cpp.

◆ tstop_event_

DiscreteEvent* tstop_event_
static

Definition at line 454 of file netcvode.cpp.

◆ unused_presyn

PreSyn* unused_presyn
static

Definition at line 456 of file netcvode.cpp.

◆ v_structure_change

int v_structure_change

Definition at line 99 of file cvodestb.cpp.