NEURON
ICS_Grid_node Class Reference

#include <grids.h>

Inheritance diagram for ICS_Grid_node:
Grid_node

Public Member Functions

 ICS_Grid_node ()
 
 ~ICS_Grid_node ()
 
 ICS_Grid_node (PyHocObject *, long, long *, long *, long, long *, long, long *, long, double *, double *, double, bool, double, double *)
 
void divide_x_work (const int nthreads)
 
void divide_y_work (const int nthreads)
 
void divide_z_work (const int nthreads)
 
void set_num_threads (const int n)
 
void do_grid_currents (double *, double, int)
 
void apply_node_flux3D (double dt, double *states)
 
void volume_setup ()
 
int dg_adi ()
 
void variable_step_diffusion (const double *states, double *ydot)
 
void variable_step_ode_solve (double *RHS, double dt)
 
void hybrid_connections ()
 
void variable_step_hybrid_connections (const double *cvode_states_3d, double *const ydot_3d, const double *cvode_states_1d, double *const ydot_1d)
 
void scatter_grid_concentrations ()
 
void run_threaded_ics_dg_adi (struct ICSAdiDirection *)
 
void set_diffusion (double *, int)
 
void do_multicompartment_reactions (double *)
 
void initialize_multicompartment_reaction ()
 
void clear_multicompartment_reaction ()
 
int add_multicompartment_reaction (int, int *, int)
 
double * set_rxd_currents (int, int *, PyHocObject **)
 
- Public Member Functions inherited from Grid_node
int insert (int grid_list_index)
 
virtual ~Grid_node ()
 

Public Attributes

double * _ics_alphas
 
long * _neighbors
 
long * _sorted_x_lines
 
long * _sorted_y_lines
 
long * _sorted_z_lines
 
long _x_lines_length
 
long _y_lines_length
 
long _z_lines_length
 
long _line_length_max
 
long _num_nodes
 
long * _nodes_per_thread
 
struct ICSAdiGridDataics_tasks
 
struct ICSAdiDirectionics_adi_dir_x
 
struct ICSAdiDirectionics_adi_dir_y
 
struct ICSAdiDirectionics_adi_dir_z
 
- Public Attributes inherited from Grid_node
Grid_nodenext
 
double * states
 
double * states_x
 
double * states_y
 
double * states_z
 
double * states_cur
 
int size_x
 
int size_y
 
int size_z
 
double dc_x
 
double dc_y
 
double dc_z
 
double dx
 
double dy
 
double dz
 
bool diffusable
 
bool hybrid
 
BoundaryConditionsbc
 
Hybrid_datahybrid_data
 
Concentration_Pairconcentration_list
 
Current_Triplecurrent_list
 
ssize_t num_concentrations
 
ssize_t num_currents
 
int num_all_currents
 
int * proc_offsets
 
int * proc_num_currents
 
int * proc_flux_offsets
 
int * proc_num_fluxes
 
long * current_dest
 
double * all_currents
 
unsigned char VARIABLE_ECS_VOLUME
 
double * permeability
 
double * alpha
 
double(* get_alpha )(double *, int)
 
double(* get_permeability )(double *, int)
 
double atolscale
 
int64_t * ics_surface_nodes_per_seg
 
int64_t * ics_surface_nodes_per_seg_start_indices
 
std::vector< neuron::container::data_handle< double > > ics_concentration_seg_handles
 
double ** ics_current_seg_ptrs
 
double * ics_scale_factors
 
int node_flux_count
 
long * node_flux_idx
 
double * node_flux_scale
 
PyObject ** node_flux_src
 

Detailed Description

Definition at line 250 of file grids.h.

Constructor & Destructor Documentation

◆ ICS_Grid_node() [1/2]

ICS_Grid_node::ICS_Grid_node ( )

Definition at line 233 of file grids.cpp.

◆ ~ICS_Grid_node()

ICS_Grid_node::~ICS_Grid_node ( )

Definition at line 1744 of file grids.cpp.

◆ ICS_Grid_node() [2/2]

ICS_Grid_node::ICS_Grid_node ( PyHocObject my_states,
long  num_nodes,
long *  neighbors,
long *  x_line_defs,
long  x_lines_length,
long *  y_line_defs,
long  y_lines_length,
long *  z_line_defs,
long  z_lines_length,
double *  dc,
double *  dcgrid,
double  dx,
bool  is_diffusable,
double  atolscale,
double *  ics_alphas 
)

Definition at line 234 of file grids.cpp.

Member Function Documentation

◆ add_multicompartment_reaction()

int ICS_Grid_node::add_multicompartment_reaction ( int  ,
int *  ,
int   
)

◆ apply_node_flux3D()

void ICS_Grid_node::apply_node_flux3D ( double  dt,
double *  states 
)
virtual

Implements Grid_node.

Definition at line 1638 of file grids.cpp.

◆ clear_multicompartment_reaction()

void ICS_Grid_node::clear_multicompartment_reaction ( )

◆ dg_adi()

int ICS_Grid_node::dg_adi ( )
virtual

Implements Grid_node.

Definition at line 1679 of file grids.cpp.

◆ divide_x_work()

void ICS_Grid_node::divide_x_work ( const int  nthreads)

Definition at line 1302 of file grids.cpp.

◆ divide_y_work()

void ICS_Grid_node::divide_y_work ( const int  nthreads)

Definition at line 1399 of file grids.cpp.

◆ divide_z_work()

void ICS_Grid_node::divide_z_work ( const int  nthreads)

Definition at line 1496 of file grids.cpp.

◆ do_grid_currents()

void ICS_Grid_node::do_grid_currents ( double *  output,
double  dt,
int   
)
virtual

Implements Grid_node.

Definition at line 1647 of file grids.cpp.

◆ do_multicompartment_reactions()

void ICS_Grid_node::do_multicompartment_reactions ( double *  )

◆ hybrid_connections()

void ICS_Grid_node::hybrid_connections ( )
virtual

Implements Grid_node.

Definition at line 1717 of file grids.cpp.

◆ initialize_multicompartment_reaction()

void ICS_Grid_node::initialize_multicompartment_reaction ( )

◆ run_threaded_ics_dg_adi()

void ICS_Grid_node::run_threaded_ics_dg_adi ( struct ICSAdiDirection ics_adi_dir)

Definition at line 775 of file rxd_intracellular.cpp.

◆ scatter_grid_concentrations()

void ICS_Grid_node::scatter_grid_concentrations ( )
virtual

Implements Grid_node.

Definition at line 1728 of file grids.cpp.

◆ set_diffusion()

void ICS_Grid_node::set_diffusion ( double *  dc,
int  length 
)
virtual

Implements Grid_node.

Definition at line 556 of file grids.cpp.

◆ set_num_threads()

void ICS_Grid_node::set_num_threads ( const int  n)
virtual

Implements Grid_node.

Definition at line 1595 of file grids.cpp.

◆ set_rxd_currents()

double* ICS_Grid_node::set_rxd_currents ( int  ,
int *  ,
PyHocObject **   
)

◆ variable_step_diffusion()

void ICS_Grid_node::variable_step_diffusion ( const double *  states,
double *  ydot 
)
virtual

Implements Grid_node.

Definition at line 1692 of file grids.cpp.

◆ variable_step_hybrid_connections()

void ICS_Grid_node::variable_step_hybrid_connections ( const double *  cvode_states_3d,
double *const  ydot_3d,
const double *  cvode_states_1d,
double *const  ydot_1d 
)
virtual

Implements Grid_node.

Definition at line 1721 of file grids.cpp.

◆ variable_step_ode_solve()

void ICS_Grid_node::variable_step_ode_solve ( double *  RHS,
double  dt 
)
virtual

Implements Grid_node.

Definition at line 1711 of file grids.cpp.

◆ volume_setup()

void ICS_Grid_node::volume_setup ( )
virtual

Implements Grid_node.

Definition at line 1667 of file grids.cpp.

Member Data Documentation

◆ _ics_alphas

double* ICS_Grid_node::_ics_alphas

Definition at line 255 of file grids.h.

◆ _line_length_max

long ICS_Grid_node::_line_length_max

Definition at line 272 of file grids.h.

◆ _neighbors

long* ICS_Grid_node::_neighbors

Definition at line 258 of file grids.h.

◆ _nodes_per_thread

long* ICS_Grid_node::_nodes_per_thread

Definition at line 278 of file grids.h.

◆ _num_nodes

long ICS_Grid_node::_num_nodes

Definition at line 275 of file grids.h.

◆ _sorted_x_lines

long* ICS_Grid_node::_sorted_x_lines

Definition at line 262 of file grids.h.

◆ _sorted_y_lines

long* ICS_Grid_node::_sorted_y_lines

Definition at line 263 of file grids.h.

◆ _sorted_z_lines

long* ICS_Grid_node::_sorted_z_lines

Definition at line 264 of file grids.h.

◆ _x_lines_length

long ICS_Grid_node::_x_lines_length

Definition at line 267 of file grids.h.

◆ _y_lines_length

long ICS_Grid_node::_y_lines_length

Definition at line 268 of file grids.h.

◆ _z_lines_length

long ICS_Grid_node::_z_lines_length

Definition at line 269 of file grids.h.

◆ ics_adi_dir_x

struct ICSAdiDirection* ICS_Grid_node::ics_adi_dir_x

Definition at line 282 of file grids.h.

◆ ics_adi_dir_y

struct ICSAdiDirection* ICS_Grid_node::ics_adi_dir_y

Definition at line 283 of file grids.h.

◆ ics_adi_dir_z

struct ICSAdiDirection* ICS_Grid_node::ics_adi_dir_z

Definition at line 284 of file grids.h.

◆ ics_tasks

struct ICSAdiGridData* ICS_Grid_node::ics_tasks

Definition at line 281 of file grids.h.


The documentation for this class was generated from the following files: