NEURON
treeset.cpp File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <errno.h>
#include <math.h>
#include <string>
#include "section.h"
#include "membfunc.h"
#include "neuron.h"
#include "parse.hpp"
#include "nrnmpi.h"
#include "multisplit.h"
#include "spmatrix.h"
#include "nonvintblock.h"
#include "nrndae_c.h"
#include "utils/profile/profiler_interface.h"
#include "multicore.cpp"

Go to the source code of this file.

Macros

#define UPDATE_VEC_AREA(nd)
 
#define PI   3.14159265358979323846
 
#define NODE_DATA   0
 

Functions

spREALspGetElement (char *, int, int)
 
double chkarg (int, double low, double high)
 
double nrn_ra (Section *)
 
double nrnmpi_wtime ()
 
void nrn_define_shape ()
 
void nrn_partrans_update_ptrs ()
 
static void nrn_recalc_node_ptrs ()
 
void nrn_rhs (NrnThread *_nt)
 
void nrn_lhs (NrnThread *_nt)
 
voidsetup_tree_matrix (NrnThread *_nt)
 
Propprop_alloc (Prop **, int, Node *)
 
Propneed_memb (Symbol *sym)
 
Propprop_alloc_disallow (Prop **pp, short type, Node *nd)
 
void prop_free (Prop **pp)
 
void single_prop_free (Prop *p)
 
static double diam_from_list (Section *sec, int inode, Prop *p, double rparent)
 
void nrn_area_ri (Section *sec)
 
Nodenrn_parent_node (Node *nd)
 
void connection_coef (void)
 
void nrn_shape_update_always (void)
 
void nrn_shape_update (void)
 
static void nrn_matrix_node_alloc (void)
 
void recalc_diam (void)
 
void area (void)
 
void ri (void)
 
void pt3dconst (void)
 
void nrn_pt3dstyle0 (Section *sec)
 
void nrn_pt3dstyle1 (Section *sec, double x, double y, double z)
 
void pt3dstyle (void)
 
void pt3dclear (void)
 
static void nrn_pt3dbufchk (Section *sec, int n)
 
static void nrn_pt3dmodified (Section *sec, int i0)
 
void nrn_pt3dclear (Section *sec, int req)
 
void nrn_pt3dinsert (Section *sec, int i0, double x, double y, double z, double d)
 
void pt3dinsert (void)
 
void nrn_pt3dchange1 (Section *sec, int i, double d)
 
void nrn_pt3dchange2 (Section *sec, int i, double x, double y, double z, double diam)
 
void pt3dchange (void)
 
void nrn_pt3dremove (Section *sec, int i0)
 
void pt3dremove (void)
 
void nrn_diam_change (Section *sec)
 
void nrn_length_change (Section *sec, double d)
 
int can_change_morph (Section *sec)
 
static void stor_pt3d_vec (Section *sec, IvocVect *xv, IvocVect *yv, IvocVect *zv, IvocVect *dv)
 
void pt3dadd (void)
 
void n3d (void)
 
void x3d (void)
 
void y3d (void)
 
void z3d (void)
 
void arc3d (void)
 
void diam3d (void)
 
void spine3d (void)
 
void stor_pt3d (Section *sec, double x, double y, double z, double d)
 
void setSpineArea (void)
 
void getSpineArea (void)
 
void define_shape (void)
 
static void nrn_translate_shape (Section *sec, float x, float y, float z)
 
void v_setup_vectors (void)
 
void node_data (void)
 
void nrn_complain (double *pp)
 
void nrn_matrix_node_free (void)
 
int nrn_modeltype (void)
 
int nrn_method_consistent (void)
 
void nrn_cachevec (int b)
 
void nrn_old_thread_save (void)
 
double * nrn_recalc_ptr (double *old)
 
void nrn_register_recalc_ptr_callback (Pfrv f)
 
void nrn_recalc_ptrs (double *(*r)(double *))
 

Variables

int cvode_active_
 
int nrn_shape_changed_
 
double * nrn_mech_wtime_
 
int diam_changed
 
int tree_changed
 
Symlisthoc_built_in_symlist
 
int * nrn_prop_dparam_size_
 
int * nrn_dparam_ptr_start_
 
int * nrn_dparam_ptr_end_
 
void(* nrn_multisplit_setup_ )()
 
int use_cachevec
 
int nrn_matrix_cnt_ = 0
 
int use_sparse13 = 0
 
int nrn_use_daspk_ = 0
 
int v_structure_change
 
int structure_change_cnt
 
int diam_change_cnt
 
int nrn_node_ptr_change_cnt_
 
int section_count
 
Section ** secorder
 
short * nrn_is_artificial_
 
cTemplate ** nrn_pnt_template_
 
static Prop ** current_prop_list
 
static int disallow_needmemb = 0
 
Sectionnrn_pnt_sec_for_need_
 
Nodenrn_alloc_node_
 
int recalc_diam_count_
 
int nrn_area_ri_nocount_
 
int nrn_area_ri_count_
 
static int pt3dconst_
 
static double spinearea = 0.
 
static int n_recalc_ptr_callback
 
static void(* recalc_ptr_callback [20])()
 
static int recalc_cnt_
 
static double ** recalc_ptr_new_vp_
 
static double ** recalc_ptr_old_vp_
 
static int n_old_thread_
 
static int * old_actual_v_size_
 
static double ** old_actual_v_
 
static double ** old_actual_area_
 
static double *(* recalc_ptr_ )(double *)
 

Macro Definition Documentation

◆ NODE_DATA

#define NODE_DATA   0

Definition at line 1790 of file treeset.cpp.

◆ PI

#define PI   3.14159265358979323846

Definition at line 774 of file treeset.cpp.

◆ UPDATE_VEC_AREA

#define UPDATE_VEC_AREA (   nd)
Value:
if (nd->_nt && nd->_nt->_actual_area) { \
nd->_nt->_actual_area[(nd)->v_node_index] = NODEAREA(nd); \
}
#define NODEAREA(n)
Definition: section.h:116

Definition at line 58 of file treeset.cpp.

Function Documentation

◆ arc3d()

void arc3d ( void  )

Definition at line 1327 of file treeset.cpp.

◆ area()

void area ( void  )

Definition at line 965 of file treeset.cpp.

◆ can_change_morph()

int can_change_morph ( Section sec)

Definition at line 1258 of file treeset.cpp.

◆ chkarg()

double chkarg ( int  arg,
double  low,
double  high 
)

Definition at line 638 of file code2.cpp.

◆ connection_coef()

void connection_coef ( void  )

Definition at line 842 of file treeset.cpp.

◆ define_shape()

void define_shape ( void  )

Definition at line 1387 of file treeset.cpp.

◆ diam3d()

void diam3d ( void  )

Definition at line 1336 of file treeset.cpp.

◆ diam_from_list()

static double diam_from_list ( Section sec,
int  inode,
Prop p,
double  rparent 
)
static

Definition at line 1504 of file treeset.cpp.

◆ getSpineArea()

void getSpineArea ( void  )

Definition at line 1383 of file treeset.cpp.

◆ n3d()

void n3d ( void  )

Definition at line 1294 of file treeset.cpp.

◆ need_memb()

Prop* need_memb ( Symbol sym)

Definition at line 645 of file treeset.cpp.

◆ node_data()

void node_data ( void  )

Definition at line 1884 of file treeset.cpp.

◆ nrn_area_ri()

void nrn_area_ri ( Section sec)

Definition at line 779 of file treeset.cpp.

◆ nrn_cachevec()

void nrn_cachevec ( int  b)

Definition at line 2127 of file treeset.cpp.

◆ nrn_complain()

void nrn_complain ( double *  pp)

Definition at line 1891 of file treeset.cpp.

◆ nrn_define_shape()

void nrn_define_shape ( void  )

Definition at line 1419 of file treeset.cpp.

◆ nrn_diam_change()

void nrn_diam_change ( Section sec)

Definition at line 1215 of file treeset.cpp.

◆ nrn_length_change()

void nrn_length_change ( Section sec,
double  d 
)

Definition at line 1235 of file treeset.cpp.

◆ nrn_lhs()

void nrn_lhs ( NrnThread _nt)

Definition at line 491 of file treeset.cpp.

◆ nrn_matrix_node_alloc()

static void nrn_matrix_node_alloc ( void  )
static

Definition at line 2016 of file treeset.cpp.

◆ nrn_matrix_node_free()

void nrn_matrix_node_free ( void  )

Definition at line 1916 of file treeset.cpp.

◆ nrn_method_consistent()

int nrn_method_consistent ( void  )

Definition at line 1981 of file treeset.cpp.

◆ nrn_modeltype()

int nrn_modeltype ( void  )

Definition at line 1949 of file treeset.cpp.

◆ nrn_old_thread_save()

void nrn_old_thread_save ( void  )

Definition at line 2159 of file treeset.cpp.

◆ nrn_parent_node()

Node* nrn_parent_node ( Node nd)

Definition at line 838 of file treeset.cpp.

◆ nrn_partrans_update_ptrs()

void nrn_partrans_update_ptrs ( )

Definition at line 350 of file partrans.cpp.

◆ nrn_pt3dbufchk()

static void nrn_pt3dbufchk ( Section sec,
int  n 
)
static

Definition at line 1078 of file treeset.cpp.

◆ nrn_pt3dchange1()

void nrn_pt3dchange1 ( Section sec,
int  i,
double  d 
)

Definition at line 1163 of file treeset.cpp.

◆ nrn_pt3dchange2()

void nrn_pt3dchange2 ( Section sec,
int  i,
double  x,
double  y,
double  z,
double  diam 
)

Definition at line 1170 of file treeset.cpp.

◆ nrn_pt3dclear()

void nrn_pt3dclear ( Section sec,
int  req 
)

Definition at line 1117 of file treeset.cpp.

◆ nrn_pt3dinsert()

void nrn_pt3dinsert ( Section sec,
int  i0,
double  x,
double  y,
double  z,
double  d 
)

Definition at line 1134 of file treeset.cpp.

◆ nrn_pt3dmodified()

static void nrn_pt3dmodified ( Section sec,
int  i0 
)
static

Definition at line 1089 of file treeset.cpp.

◆ nrn_pt3dremove()

void nrn_pt3dremove ( Section sec,
int  i0 
)

Definition at line 1191 of file treeset.cpp.

◆ nrn_pt3dstyle0()

void nrn_pt3dstyle0 ( Section sec)

Definition at line 1006 of file treeset.cpp.

◆ nrn_pt3dstyle1()

void nrn_pt3dstyle1 ( Section sec,
double  x,
double  y,
double  z 
)

Definition at line 1015 of file treeset.cpp.

◆ nrn_ra()

double nrn_ra ( Section sec)

Definition at line 403 of file cabcode.cpp.

◆ nrn_recalc_node_ptrs()

void nrn_recalc_node_ptrs ( void  )
static

Definition at line 2218 of file treeset.cpp.

◆ nrn_recalc_ptrs()

void nrn_recalc_ptrs ( double *(*)(double *)  r)

Definition at line 2203 of file treeset.cpp.

◆ nrn_rhs()

void nrn_rhs ( NrnThread _nt)

Definition at line 357 of file treeset.cpp.

◆ nrn_shape_update()

void nrn_shape_update ( void  )

Definition at line 945 of file treeset.cpp.

◆ nrn_shape_update_always()

void nrn_shape_update_always ( void  )

Definition at line 928 of file treeset.cpp.

◆ nrn_translate_shape()

static void nrn_translate_shape ( Section sec,
float  x,
float  y,
float  z 
)
static

Definition at line 1392 of file treeset.cpp.

◆ nrnmpi_wtime()

double nrnmpi_wtime ( )

Definition at line 171 of file nrnmpi.cpp.

◆ prop_alloc()

Prop* prop_alloc ( Prop **  pp,
int  type,
Node nd 
)

Definition at line 694 of file treeset.cpp.

◆ prop_alloc_disallow()

Prop* prop_alloc_disallow ( Prop **  pp,
short  type,
Node nd 
)

Definition at line 722 of file treeset.cpp.

◆ prop_free()

void prop_free ( Prop **  pp)

Definition at line 730 of file treeset.cpp.

◆ pt3dadd()

void pt3dadd ( void  )

Definition at line 1280 of file treeset.cpp.

◆ pt3dchange()

void pt3dchange ( void  )

Definition at line 1178 of file treeset.cpp.

◆ pt3dclear()

void pt3dclear ( void  )

Definition at line 1066 of file treeset.cpp.

◆ pt3dconst()

void pt3dconst ( void  )

Definition at line 998 of file treeset.cpp.

◆ pt3dinsert()

void pt3dinsert ( void  )

Definition at line 1153 of file treeset.cpp.

◆ pt3dremove()

void pt3dremove ( void  )

Definition at line 1205 of file treeset.cpp.

◆ pt3dstyle()

void pt3dstyle ( void  )

Definition at line 1027 of file treeset.cpp.

◆ recalc_diam()

void recalc_diam ( void  )

Definition at line 953 of file treeset.cpp.

◆ ri()

void ri ( void  )

Definition at line 981 of file treeset.cpp.

◆ setSpineArea()

void setSpineArea ( void  )

Definition at line 1377 of file treeset.cpp.

◆ setup_tree_matrix()

void* setup_tree_matrix ( NrnThread _nt)

Definition at line 621 of file treeset.cpp.

◆ single_prop_free()

void single_prop_free ( Prop p)

Definition at line 742 of file treeset.cpp.

◆ spGetElement()

spREAL* spGetElement ( char *  eMatrix,
int  Row,
int  Col 
)

Definition at line 195 of file spbuild.c.

◆ spine3d()

void spine3d ( void  )

Definition at line 1347 of file treeset.cpp.

◆ stor_pt3d()

void stor_pt3d ( Section sec,
double  x,
double  y,
double  z,
double  d 
)

Definition at line 1362 of file treeset.cpp.

◆ stor_pt3d_vec()

static void stor_pt3d_vec ( Section sec,
IvocVect xv,
IvocVect yv,
IvocVect zv,
IvocVect dv 
)
static

Definition at line 1262 of file treeset.cpp.

◆ v_setup_vectors()

void v_setup_vectors ( void  )

Definition at line 1631 of file treeset.cpp.

◆ x3d()

void x3d ( void  )

Definition at line 1300 of file treeset.cpp.

◆ y3d()

void y3d ( void  )

Definition at line 1309 of file treeset.cpp.

◆ z3d()

void z3d ( void  )

Definition at line 1318 of file treeset.cpp.

Variable Documentation

◆ current_prop_list

Prop** current_prop_list
static

Definition at line 635 of file treeset.cpp.

◆ cvode_active_

int cvode_active_
extern

Definition at line 163 of file fadvance.cpp.

◆ diam_change_cnt

int diam_change_cnt

Definition at line 82 of file treeset.cpp.

◆ diam_changed

int diam_changed
extern

Definition at line 23 of file cabcode.cpp.

◆ disallow_needmemb

int disallow_needmemb = 0
static

Definition at line 637 of file treeset.cpp.

◆ hoc_built_in_symlist

Symlist* hoc_built_in_symlist
extern

Definition at line 76 of file ivocmac.cpp.

◆ n_old_thread_

int n_old_thread_
static

Definition at line 2152 of file treeset.cpp.

◆ n_recalc_ptr_callback

int n_recalc_ptr_callback
static

Definition at line 2148 of file treeset.cpp.

◆ nrn_alloc_node_

Node* nrn_alloc_node_

Definition at line 692 of file treeset.cpp.

◆ nrn_area_ri_count_

int nrn_area_ri_count_

Definition at line 778 of file treeset.cpp.

◆ nrn_area_ri_nocount_

int nrn_area_ri_nocount_

Definition at line 778 of file treeset.cpp.

◆ nrn_dparam_ptr_end_

int* nrn_dparam_ptr_end_
extern

Definition at line 143 of file init.cpp.

◆ nrn_dparam_ptr_start_

int* nrn_dparam_ptr_start_
extern

Definition at line 142 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_ = 0

Definition at line 70 of file treeset.cpp.

◆ nrn_mech_wtime_

double* nrn_mech_wtime_

Definition at line 29 of file treeset.cpp.

◆ nrn_multisplit_setup_

void(* nrn_multisplit_setup_) () ( )

Definition at line 46 of file treeset.cpp.

◆ nrn_node_ptr_change_cnt_

int nrn_node_ptr_change_cnt_

Definition at line 84 of file treeset.cpp.

◆ nrn_pnt_sec_for_need_

Section* nrn_pnt_sec_for_need_

Definition at line 640 of file treeset.cpp.

◆ nrn_pnt_template_

cTemplate** nrn_pnt_template_
extern

Definition at line 131 of file init.cpp.

◆ nrn_prop_dparam_size_

int* nrn_prop_dparam_size_
extern

Definition at line 141 of file init.cpp.

◆ nrn_shape_changed_

int nrn_shape_changed_

Definition at line 28 of file treeset.cpp.

◆ nrn_use_daspk_

int nrn_use_daspk_ = 0

Definition at line 72 of file treeset.cpp.

◆ old_actual_area_

double** old_actual_area_
static

Definition at line 2155 of file treeset.cpp.

◆ old_actual_v_

double** old_actual_v_
static

Definition at line 2154 of file treeset.cpp.

◆ old_actual_v_size_

int* old_actual_v_size_
static

Definition at line 2153 of file treeset.cpp.

◆ pt3dconst_

int pt3dconst_
static

Definition at line 996 of file treeset.cpp.

◆ recalc_cnt_

int recalc_cnt_
static

Definition at line 2150 of file treeset.cpp.

◆ recalc_diam_count_

int recalc_diam_count_

Definition at line 778 of file treeset.cpp.

◆ recalc_ptr_

double*(* recalc_ptr_) (double *) ( double *  )
static

Definition at line 2177 of file treeset.cpp.

◆ recalc_ptr_callback

void(* recalc_ptr_callback[20])() ( )
static

Definition at line 2149 of file treeset.cpp.

◆ recalc_ptr_new_vp_

double** recalc_ptr_new_vp_
static

Definition at line 2151 of file treeset.cpp.

◆ recalc_ptr_old_vp_

double ** recalc_ptr_old_vp_
static

Definition at line 2151 of file treeset.cpp.

◆ secorder

Section** secorder
extern

Definition at line 77 of file solve.cpp.

◆ section_count

int section_count
extern

Definition at line 76 of file solve.cpp.

◆ spinearea

double spinearea = 0.
static

Definition at line 1375 of file treeset.cpp.

◆ structure_change_cnt

int structure_change_cnt

Definition at line 81 of file treeset.cpp.

◆ tree_changed

int tree_changed
extern

Definition at line 26 of file nrncore_utils.cpp.

◆ use_cachevec

int use_cachevec

Definition at line 63 of file treeset.cpp.

◆ use_sparse13

int use_sparse13 = 0

Definition at line 71 of file treeset.cpp.

◆ v_structure_change

int v_structure_change

Definition at line 80 of file treeset.cpp.