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)   if (nd->_nt && nd->_nt->_actual_area) { nd->_nt->_actual_area[(nd)->v_node_index] = NODEAREA(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)
 
 ForAllSections (sec) if(!sec -> parentsec)
 
 ClassicalNODEA (nd)
 
 for (j=1;j< sec->nnode;j++)
 
 ClassicalNODEB (nd)
 
 ext_con_coef ()
 
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)
 
 fprintf (stderr, "Don't know the location of params at %p\, 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
 
intnrn_prop_dparam_size_
 
intnrn_dparam_ptr_start_
 
intnrn_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_ = 0
 
int nrn_area_ri_count_
 
 nd = sec->pnode[0]
 
 area = NODEAREA(sec->parentnode)
 
j< sec-> nnode
 
 j
 
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 intold_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 1779 of file treeset.cpp.

◆ PI

#define PI   3.14159265358979323846

Definition at line 768 of file treeset.cpp.

◆ UPDATE_VEC_AREA

#define UPDATE_VEC_AREA (   nd)    if (nd->_nt && nd->_nt->_actual_area) { nd->_nt->_actual_area[(nd)->v_node_index] = NODEAREA(nd);}

Definition at line 59 of file treeset.cpp.

Function Documentation

◆ arc3d()

void arc3d ( void  )

Definition at line 1317 of file treeset.cpp.

◆ area()

void area ( void  )

Definition at line 952 of file treeset.cpp.

◆ can_change_morph()

int can_change_morph ( Section sec)

Definition at line 1245 of file treeset.cpp.

◆ chkarg()

double chkarg ( int  ,
double  low,
double  high 
)

Definition at line 608 of file code2.cpp.

◆ ClassicalNODEA()

ClassicalNODEA ( nd  )

◆ ClassicalNODEB()

ClassicalNODEB ( nd  )

◆ connection_coef()

void connection_coef ( void  )

Definition at line 834 of file treeset.cpp.

◆ define_shape()

void define_shape ( void  )

Definition at line 1378 of file treeset.cpp.

◆ diam3d()

void diam3d ( void  )

Definition at line 1326 of file treeset.cpp.

◆ diam_from_list()

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

Definition at line 1496 of file treeset.cpp.

◆ ext_con_coef()

ext_con_coef ( )

Definition at line 507 of file extcelln.cpp.

◆ for()

for ( j  = 1; j < sec->nnodej++)

Definition at line 897 of file treeset.cpp.

◆ ForAllSections()

ForAllSections ( sec  ) -> parentsec)

Definition at line 874 of file treeset.cpp.

◆ fprintf()

fprintf ( stderr  ,
"Don't know the location of params at %p\  ,
pp   
)

◆ getSpineArea()

void getSpineArea ( void  )

Definition at line 1374 of file treeset.cpp.

◆ n3d()

void n3d ( void  )

Definition at line 1284 of file treeset.cpp.

◆ need_memb()

Prop* need_memb ( Symbol sym)

Definition at line 638 of file treeset.cpp.

◆ node_data()

void node_data ( void  )

Definition at line 1872 of file treeset.cpp.

◆ nrn_area_ri()

void nrn_area_ri ( Section sec)

Definition at line 773 of file treeset.cpp.

◆ nrn_cachevec()

void nrn_cachevec ( int  b)

Definition at line 2108 of file treeset.cpp.

◆ nrn_complain()

void nrn_complain ( double *  pp)

Definition at line 1879 of file treeset.cpp.

◆ nrn_define_shape()

void nrn_define_shape ( void  )

Definition at line 1411 of file treeset.cpp.

◆ nrn_diam_change()

void nrn_diam_change ( Section sec)

Definition at line 1201 of file treeset.cpp.

◆ nrn_length_change()

void nrn_length_change ( Section sec,
double  d 
)

Definition at line 1220 of file treeset.cpp.

◆ nrn_lhs()

void nrn_lhs ( NrnThread _nt)

Definition at line 484 of file treeset.cpp.

◆ nrn_matrix_node_alloc()

static void nrn_matrix_node_alloc ( void  )
static

Definition at line 1999 of file treeset.cpp.

◆ nrn_matrix_node_free()

void nrn_matrix_node_free ( void  )

Definition at line 1901 of file treeset.cpp.

◆ nrn_method_consistent()

int nrn_method_consistent ( void  )

Definition at line 1964 of file treeset.cpp.

◆ nrn_modeltype()

int nrn_modeltype ( void  )

Definition at line 1934 of file treeset.cpp.

◆ nrn_old_thread_save()

void nrn_old_thread_save ( void  )

Definition at line 2140 of file treeset.cpp.

◆ nrn_parent_node()

Node* nrn_parent_node ( Node nd)

Definition at line 830 of file treeset.cpp.

◆ nrn_partrans_update_ptrs()

void nrn_partrans_update_ptrs ( )

Definition at line 345 of file partrans.cpp.

◆ nrn_pt3dbufchk()

static void nrn_pt3dbufchk ( Section sec,
int  n 
)
static

Definition at line 1062 of file treeset.cpp.

◆ nrn_pt3dchange1()

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

Definition at line 1149 of file treeset.cpp.

◆ nrn_pt3dchange2()

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

Definition at line 1156 of file treeset.cpp.

◆ nrn_pt3dclear()

void nrn_pt3dclear ( Section sec,
int  req 
)

Definition at line 1103 of file treeset.cpp.

◆ nrn_pt3dinsert()

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

Definition at line 1120 of file treeset.cpp.

◆ nrn_pt3dmodified()

static void nrn_pt3dmodified ( Section sec,
int  i0 
)
static

Definition at line 1075 of file treeset.cpp.

◆ nrn_pt3dremove()

void nrn_pt3dremove ( Section sec,
int  i0 
)

Definition at line 1177 of file treeset.cpp.

◆ nrn_pt3dstyle0()

void nrn_pt3dstyle0 ( Section sec)

Definition at line 993 of file treeset.cpp.

◆ nrn_pt3dstyle1()

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

Definition at line 1002 of file treeset.cpp.

◆ nrn_ra()

double nrn_ra ( Section )

Definition at line 392 of file cabcode.cpp.

◆ nrn_recalc_node_ptrs()

void nrn_recalc_node_ptrs ( void  )
static

Definition at line 2193 of file treeset.cpp.

◆ nrn_recalc_ptr()

double* nrn_recalc_ptr ( double *  old)

Definition at line 2158 of file treeset.cpp.

◆ nrn_recalc_ptrs()

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

Definition at line 2178 of file treeset.cpp.

◆ nrn_register_recalc_ptr_callback()

void nrn_register_recalc_ptr_callback ( Pfrv  f)

Definition at line 2170 of file treeset.cpp.

◆ nrn_rhs()

void nrn_rhs ( NrnThread _nt)

Definition at line 355 of file treeset.cpp.

◆ nrn_shape_update()

void nrn_shape_update ( void  )

Definition at line 932 of file treeset.cpp.

◆ nrn_shape_update_always()

void nrn_shape_update_always ( void  )

Definition at line 915 of file treeset.cpp.

◆ nrn_translate_shape()

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

Definition at line 1383 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 688 of file treeset.cpp.

◆ prop_alloc_disallow()

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

Definition at line 716 of file treeset.cpp.

◆ prop_free()

void prop_free ( Prop **  pp)

Definition at line 724 of file treeset.cpp.

◆ pt3dadd()

void pt3dadd ( void  )

Definition at line 1268 of file treeset.cpp.

◆ pt3dchange()

void pt3dchange ( void  )

Definition at line 1164 of file treeset.cpp.

◆ pt3dclear()

void pt3dclear ( void  )

Definition at line 1050 of file treeset.cpp.

◆ pt3dconst()

void pt3dconst ( void  )

Definition at line 985 of file treeset.cpp.

◆ pt3dinsert()

void pt3dinsert ( void  )

Definition at line 1139 of file treeset.cpp.

◆ pt3dremove()

void pt3dremove ( void  )

Definition at line 1191 of file treeset.cpp.

◆ pt3dstyle()

void pt3dstyle ( void  )

Definition at line 1014 of file treeset.cpp.

◆ recalc_diam()

void recalc_diam ( void  )

Definition at line 940 of file treeset.cpp.

◆ ri()

void ri ( void  )

Definition at line 968 of file treeset.cpp.

◆ setSpineArea()

void setSpineArea ( void  )

Definition at line 1368 of file treeset.cpp.

◆ setup_tree_matrix()

void* setup_tree_matrix ( NrnThread _nt)

Definition at line 614 of file treeset.cpp.

◆ single_prop_free()

void single_prop_free ( Prop p)

Definition at line 736 of file treeset.cpp.

◆ spGetElement()

spREAL* spGetElement ( char *  ,
int  ,
int   
)

Definition at line 195 of file spbuild.c.

◆ spine3d()

void spine3d ( void  )

Definition at line 1337 of file treeset.cpp.

◆ stor_pt3d()

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

Definition at line 1352 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 1250 of file treeset.cpp.

◆ v_setup_vectors()

void v_setup_vectors ( void  )

Definition at line 1623 of file treeset.cpp.

◆ x3d()

void x3d ( void  )

Definition at line 1290 of file treeset.cpp.

◆ y3d()

void y3d ( void  )

Definition at line 1299 of file treeset.cpp.

◆ z3d()

void z3d ( void  )

Definition at line 1308 of file treeset.cpp.

Variable Documentation

◆ area

area = NODEAREA(sec->parentnode)

Definition at line 894 of file treeset.cpp.

◆ current_prop_list

Prop** current_prop_list
static

Definition at line 628 of file treeset.cpp.

◆ cvode_active_

int cvode_active_

Definition at line 158 of file fadvance.cpp.

◆ diam_change_cnt

int diam_change_cnt

Definition at line 80 of file treeset.cpp.

◆ diam_changed

int diam_changed

Definition at line 23 of file cabcode.cpp.

◆ disallow_needmemb

int disallow_needmemb = 0
static

Definition at line 630 of file treeset.cpp.

◆ hoc_built_in_symlist

Symlist* hoc_built_in_symlist

Definition at line 39 of file symbol.cpp.

◆ j

j
Initial value:
{
nd = sec->pnode[j]
nd
Definition: treeset.cpp:893
j
Definition: treeset.cpp:905
sec
Definition: solve.cpp:885

Definition at line 905 of file treeset.cpp.

◆ n_old_thread_

int n_old_thread_
static

Definition at line 2133 of file treeset.cpp.

◆ n_recalc_ptr_callback

int n_recalc_ptr_callback
static

Definition at line 2129 of file treeset.cpp.

◆ nd

nd = sec->pnode[0]

Definition at line 893 of file treeset.cpp.

◆ nnode

j< sec-> nnode

Definition at line 905 of file treeset.cpp.

◆ nrn_alloc_node_

Node* nrn_alloc_node_

Definition at line 686 of file treeset.cpp.

◆ nrn_area_ri_count_

int nrn_area_ri_count_

Definition at line 772 of file treeset.cpp.

◆ nrn_area_ri_nocount_

nrn_area_ri_nocount_ = 0

Definition at line 772 of file treeset.cpp.

◆ nrn_dparam_ptr_end_

int* nrn_dparam_ptr_end_

Definition at line 181 of file init.cpp.

◆ nrn_dparam_ptr_start_

int* nrn_dparam_ptr_start_

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

Definition at line 68 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 82 of file treeset.cpp.

◆ nrn_pnt_sec_for_need_

Section* nrn_pnt_sec_for_need_

Definition at line 633 of file treeset.cpp.

◆ nrn_pnt_template_

cTemplate** nrn_pnt_template_

Definition at line 169 of file init.cpp.

◆ nrn_prop_dparam_size_

int* nrn_prop_dparam_size_

Definition at line 179 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 70 of file treeset.cpp.

◆ old_actual_area_

double** old_actual_area_
static

Definition at line 2136 of file treeset.cpp.

◆ old_actual_v_

double** old_actual_v_
static

Definition at line 2135 of file treeset.cpp.

◆ old_actual_v_size_

int* old_actual_v_size_
static

Definition at line 2134 of file treeset.cpp.

◆ pt3dconst_

int pt3dconst_
static

Definition at line 983 of file treeset.cpp.

◆ recalc_cnt_

int recalc_cnt_
static

Definition at line 2131 of file treeset.cpp.

◆ recalc_diam_count_

int recalc_diam_count_

Definition at line 772 of file treeset.cpp.

◆ recalc_ptr_

double*(* recalc_ptr_) (double *)
static

Definition at line 2156 of file treeset.cpp.

◆ recalc_ptr_callback

void(* recalc_ptr_callback[20])()
static

Definition at line 2130 of file treeset.cpp.

◆ recalc_ptr_new_vp_

double** recalc_ptr_new_vp_
static

Definition at line 2132 of file treeset.cpp.

◆ recalc_ptr_old_vp_

double ** recalc_ptr_old_vp_
static

Definition at line 2132 of file treeset.cpp.

◆ secorder

Section** secorder

Definition at line 77 of file solve.cpp.

◆ section_count

int section_count

Definition at line 76 of file solve.cpp.

◆ spinearea

double spinearea =0.
static

Definition at line 1366 of file treeset.cpp.

◆ structure_change_cnt

int structure_change_cnt

Definition at line 79 of file treeset.cpp.

◆ tree_changed

int tree_changed

Definition at line 19 of file cabcode.cpp.

◆ use_cachevec

int use_cachevec

Definition at line 61 of file treeset.cpp.

◆ use_sparse13

int use_sparse13 = 0

Definition at line 69 of file treeset.cpp.

◆ v_structure_change

int v_structure_change

Definition at line 78 of file treeset.cpp.