![]() |
NEURON
|
#include <../../nrnconf.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "grids.h"
#include <cfloat>
#include "rxd.h"
#include <../nrnoc/section.h>
#include <../nrnoc/nrn_ansi.h>
#include <../nrnoc/multicore.h>
#include "nrnwrap_Python.h"
#include "nrnpython.h"
#include <thread>
#include <vector>
#include "ocmatrix.h"
#include "ivocvect.h"
#include <nanobind/nanobind.h>
Go to the source code of this file.
Namespaces | |
nrn | |
nrn::rxd | |
Functions | |
static void | ode_solve (double, double *, double *) |
static void | free_zvi_child () |
static void | transfer_to_legacy () |
static void * | allocopy (void *src, size_t size) |
NRN_EXPORT void | rxd_set_no_diffusion () |
NRN_EXPORT void | free_curr_ptrs () |
NRN_EXPORT void | free_conc_ptrs () |
NRN_EXPORT void | rxd_setup_curr_ptrs (int num_currents, int *curr_index, double *curr_scale, PyHocObject **curr_ptrs) |
NRN_EXPORT void | rxd_setup_conc_ptrs (int conc_count, int *conc_index, PyHocObject **conc_ptrs) |
NRN_EXPORT void | rxd_include_node_flux3D (int grid_count, int *grid_counts, int *grids, long *index, double *scales, PyObject **sources) |
NRN_EXPORT void | rxd_include_node_flux1D (int n, long *index, double *scales, PyObject **sources) |
void | apply_node_flux (int n, long *index, double *scale, PyObject **source, double dt, double *states) |
static void | apply_node_flux1D (double dt, double *states) |
NRN_EXPORT void | rxd_set_euler_matrix (int nrow, int nnonzero, long *nonzero_i, long *nonzero_j, double *nonzero_values, double *c_diagonal) |
static void | add_currents (double *result) |
static void | mul (int nnonzero, long *nonzero_i, long *nonzero_j, const double *nonzero_values, const double *v, double *result) |
NRN_EXPORT void | set_setup (fptr *setup_fn) |
NRN_EXPORT void | set_initialize (fptr *initialize_fn) |
NRN_EXPORT void | set_setup_matrices (fptr *setup_matrices) |
NRN_EXPORT void | set_setup_units (fptr *setup_units) |
static void | nrn_tree_solve (double *a, double *b, double *c, double *dbase, double *rhs, long *pindex, long n, double dt) |
static void | ode_abs_tol (double *p1) |
static void | free_currents () |
NRN_EXPORT void | setup_currents (int num_currents, int num_fluxes, int *num_species, int *node_idxs, double *scales, PyHocObject **ptrs, int *mapped, int *mapped_ecs) |
static void | _currents (double *rhs) |
NRN_EXPORT int | rxd_nonvint_block (int method, int size, double *p1, double *p2, int) |
NRN_EXPORT void | register_rate (int nspecies, int nparam, int nregions, int nseg, int *sidx, int necs, int necsparam, int *ecs_ids, int *ecsidx, int nmult, double *mult, PyHocObject **vptrs, ReactionRate *f) |
NRN_EXPORT void | clear_rates () |
NRN_EXPORT void | species_atolscale (int id, double scale, int len, int *idx) |
NRN_EXPORT void | remove_species_atolscale (int id) |
NRN_EXPORT void | setup_solver (double *my_states, int my_num_states, long *zvi, int num_zvi) |
void | TaskQueue_add_task (TaskQueue *q, void *(*task)(void *), void *args, void *result) |
void | TaskQueue_exe_tasks (std::size_t thread_index, TaskQueue *q) |
NRN_EXPORT void | set_num_threads (const int n) |
void | TaskQueue_sync (TaskQueue *q) |
NRN_EXPORT int | get_num_threads (void) |
void | _fadvance (void) |
void | _ode_reinit (double *y) |
void | _rhs_variable_step (const double *p1, double *p2) |
void | get_reaction_rates (ICSReactions *react, double *states, double *rates, double *ydot) |
void | solve_reaction (ICSReactions *react, double *states, double *bval, double *cvode_states, double *cvode_b) |
void | do_ics_reactions (double *states, double *b, double *cvode_states, double *cvode_b) |
void | get_all_reaction_rates (double *states, double *rates, double *ydot) |
|
inlinestatic |
void apply_node_flux | ( | int | n, |
long * | index, | ||
double * | scale, | ||
PyObject ** | source, | ||
double | dt, | ||
double * | states | ||
) |
|
static |
NRN_EXPORT void clear_rates | ( | ) |
void do_ics_reactions | ( | double * | states, |
double * | b, | ||
double * | cvode_states, | ||
double * | cvode_b | ||
) |
NRN_EXPORT void free_conc_ptrs | ( | ) |
NRN_EXPORT void free_curr_ptrs | ( | ) |
void get_all_reaction_rates | ( | double * | states, |
double * | rates, | ||
double * | ydot | ||
) |
NRN_EXPORT int get_num_threads | ( | void | ) |
void get_reaction_rates | ( | ICSReactions * | react, |
double * | states, | ||
double * | rates, | ||
double * | ydot | ||
) |
|
static |
|
static |
|
static |
NRN_EXPORT void register_rate | ( | int | nspecies, |
int | nparam, | ||
int | nregions, | ||
int | nseg, | ||
int * | sidx, | ||
int | necs, | ||
int | necsparam, | ||
int * | ecs_ids, | ||
int * | ecsidx, | ||
int | nmult, | ||
double * | mult, | ||
PyHocObject ** | vptrs, | ||
ReactionRate * | f | ||
) |
NRN_EXPORT void remove_species_atolscale | ( | int | id | ) |
NRN_EXPORT void rxd_include_node_flux1D | ( | int | n, |
long * | index, | ||
double * | scales, | ||
PyObject ** | sources | ||
) |
NRN_EXPORT void rxd_include_node_flux3D | ( | int | grid_count, |
int * | grid_counts, | ||
int * | grids, | ||
long * | index, | ||
double * | scales, | ||
PyObject ** | sources | ||
) |
NRN_EXPORT int rxd_nonvint_block | ( | int | method, |
int | size, | ||
double * | p1, | ||
double * | p2, | ||
int | |||
) |
NRN_EXPORT void rxd_set_euler_matrix | ( | int | nrow, |
int | nnonzero, | ||
long * | nonzero_i, | ||
long * | nonzero_j, | ||
double * | nonzero_values, | ||
double * | c_diagonal | ||
) |
NRN_EXPORT void rxd_set_no_diffusion | ( | ) |
NRN_EXPORT void rxd_setup_conc_ptrs | ( | int | conc_count, |
int * | conc_index, | ||
PyHocObject ** | conc_ptrs | ||
) |
NRN_EXPORT void rxd_setup_curr_ptrs | ( | int | num_currents, |
int * | curr_index, | ||
double * | curr_scale, | ||
PyHocObject ** | curr_ptrs | ||
) |
NRN_EXPORT void set_initialize | ( | fptr * | initialize_fn | ) |
NRN_EXPORT void set_num_threads | ( | const int | n | ) |
NRN_EXPORT void set_setup | ( | fptr * | setup_fn | ) |
NRN_EXPORT void set_setup_matrices | ( | fptr * | setup_matrices | ) |
NRN_EXPORT void set_setup_units | ( | fptr * | setup_units | ) |
NRN_EXPORT void setup_currents | ( | int | num_currents, |
int | num_fluxes, | ||
int * | num_species, | ||
int * | node_idxs, | ||
double * | scales, | ||
PyHocObject ** | ptrs, | ||
int * | mapped, | ||
int * | mapped_ecs | ||
) |
NRN_EXPORT void setup_solver | ( | double * | my_states, |
int | my_num_states, | ||
long * | zvi, | ||
int | num_zvi | ||
) |
void solve_reaction | ( | ICSReactions * | react, |
double * | states, | ||
double * | bval, | ||
double * | cvode_states, | ||
double * | cvode_b | ||
) |
NRN_EXPORT void species_atolscale | ( | int | id, |
double | scale, | ||
int | len, | ||
int * | idx | ||
) |
void TaskQueue_add_task | ( | TaskQueue * | q, |
void *(*)(void *) | task, | ||
void * | args, | ||
void * | result | ||
) |
void TaskQueue_exe_tasks | ( | std::size_t | thread_index, |
TaskQueue * | q | ||
) |
std::vector<neuron::container::data_handle<double> > _conc_ptrs |
std::vector<neuron::container::data_handle<double> > _curr_ptrs |
std::vector<std::vector<neuron::container::data_handle<double> > > _memb_cur_ptrs |
ICSReactions* _reactions = NULL |
ECS_Grid_node** _rxd_induced_currents_grid = NULL |
TaskQueue* AllTasks {&nrn::rxd::task_queue} |
|
extern |
Definition at line 130 of file nrnpy_hoc.cpp.
SpeciesIndexList* species_indices = NULL |
|
extern |
Definition at line 29 of file rxd_extracellular.cpp.
|
extern |
Definition at line 66 of file treeset.cpp.