![]() |
NEURON
|
#include <condition_variable>
#include <mutex>
#include <thread>
#include <vector>
Go to the source code of this file.
Classes | |
struct | ReactSet |
struct | ReactGridData |
struct | CurrentData |
struct | SpeciesIndexList |
struct | ICSReactions |
struct | TaskList |
struct | TaskQueue |
Macros | |
#define | SPECIES_ABSENT -1 |
#define | PREFETCH 4 |
Typedefs | |
using | fptr = void(void) |
Functions | |
void | set_num_threads (const int) |
void | _fadvance (void) |
void | _fadvance_fixed_step_3D (void) |
int | get_num_threads (void) |
void | ecs_set_adi_tort (ECS_Grid_node *) |
void | ecs_set_adi_vol (ECS_Grid_node *) |
void | ecs_set_adi_homogeneous (ECS_Grid_node *) |
void | dg_transfer_data (AdiLineData *const, double *const, int const, int const, int const) |
void | ecs_run_threaded_dg_adi (const int, const int, ECS_Grid_node *, ECSAdiDirection *, const int) |
ReactGridData * | create_threaded_reactions (const int) |
void * | do_reactions (void *) |
void | current_reaction (double *states) |
void | run_threaded_deltas (ICS_Grid_node *g, ICSAdiDirection *ics_adi_dir) |
void | run_threaded_ics_dg_adi (ICS_Grid_node *g, ICSAdiDirection *ics_adi_dir) |
void | ics_dg_adi_x (ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *) |
void | ics_dg_adi_y (ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *) |
void | ics_dg_adi_z (ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *) |
void | ics_dg_adi_x_inhom (ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *) |
void | ics_dg_adi_y_inhom (ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *) |
void | ics_dg_adi_z_inhom (ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *) |
void | _rhs_variable_step (const double *, double *) |
void | _ode_reinit (double *) |
int | ode_count (const int) |
void | scatter_concentrations (void) |
int | find (const int, const int, const int, const int, const int) |
void | _ics_hybrid_helper (ICS_Grid_node *) |
void | _ics_variable_hybrid_helper (ICS_Grid_node *, const double *, double *const, const double *, double *const) |
void | _ics_rhs_variable_step_helper (ICS_Grid_node *, double const *const, double *) |
void | _rhs_variable_step_helper (Grid_node *, double const *const, double *) |
void | ics_ode_solve (double, double *, const double *) |
void | ics_ode_solve_helper (ICS_Grid_node *, double, double *) |
void | _rhs_variable_step_helper_tort (Grid_node *, double const *const, double *) |
void | _rhs_variable_step_helper_vol (Grid_node *, double const *const, double *) |
void | set_num_threads_3D (int n) |
void | _rhs_variable_step_ecs (const double *, double *) |
void | clear_rates_ecs () |
void | do_ics_reactions (double *, double *, double *, double *) |
void | get_all_reaction_rates (double *, double *, double *) |
void | _ecs_ode_reinit (double *) |
void | do_currents (Grid_node *, double *, double, int) |
void | TaskQueue_add_task (TaskQueue *, void *(*task)(void *args), void *, void *) |
void | TaskQueue_exe_tasks (std::size_t, TaskQueue *) |
void | TaskQueue_sync (TaskQueue *) |
void | ecs_atolscale (double *) |
void | apply_node_flux3D (Grid_node *, double, double *) |
void _ecs_ode_reinit | ( | double * | y | ) |
Definition at line 638 of file rxd_extracellular.cpp.
void _fadvance_fixed_step_3D | ( | void | ) |
Definition at line 565 of file rxd_extracellular.cpp.
void _ics_hybrid_helper | ( | ICS_Grid_node * | g | ) |
Definition at line 1628 of file rxd_intracellular.cpp.
void _ics_rhs_variable_step_helper | ( | ICS_Grid_node * | g, |
double const * const | states, | ||
double * | ydot | ||
) |
Definition at line 922 of file rxd_intracellular.cpp.
void _ics_variable_hybrid_helper | ( | ICS_Grid_node * | g, |
const double * | cvode_states_3d, | ||
double * const | ydot_3d, | ||
const double * | cvode_states_1d, | ||
double * const | ydot_1d | ||
) |
Definition at line 1682 of file rxd_intracellular.cpp.
void _rhs_variable_step_ecs | ( | const double * | states, |
double * | ydot | ||
) |
Definition at line 661 of file rxd_extracellular.cpp.
void _rhs_variable_step_helper | ( | Grid_node * | g, |
double const * const | states, | ||
double * | ydot | ||
) |
Definition at line 734 of file rxd_extracellular.cpp.
void _rhs_variable_step_helper_tort | ( | Grid_node * | g, |
double const * const | states, | ||
double * | ydot | ||
) |
Definition at line 785 of file rxd_vol.cpp.
void _rhs_variable_step_helper_vol | ( | Grid_node * | g, |
double const * const | states, | ||
double * | ydot | ||
) |
Definition at line 894 of file rxd_vol.cpp.
void apply_node_flux3D | ( | Grid_node * | , |
double | , | ||
double * | |||
) |
void clear_rates_ecs | ( | ) |
Definition at line 58 of file rxd_extracellular.cpp.
ReactGridData* create_threaded_reactions | ( | const int | n | ) |
Definition at line 225 of file rxd_extracellular.cpp.
void current_reaction | ( | double * | states | ) |
void dg_transfer_data | ( | AdiLineData * const | , |
double * const | , | ||
int const | , | ||
int const | , | ||
int const | |||
) |
void do_currents | ( | Grid_node * | , |
double * | , | ||
double | , | ||
int | |||
) |
void do_ics_reactions | ( | double * | states, |
double * | b, | ||
double * | cvode_states, | ||
double * | cvode_b | ||
) |
void* do_reactions | ( | void * | ) |
void ecs_atolscale | ( | double * | y | ) |
Definition at line 624 of file rxd_extracellular.cpp.
void ecs_run_threaded_dg_adi | ( | const int | i, |
const int | j, | ||
ECS_Grid_node * | g, | ||
ECSAdiDirection * | ecs_adi_dir, | ||
const int | n | ||
) |
Definition at line 1320 of file rxd_extracellular.cpp.
void ecs_set_adi_homogeneous | ( | ECS_Grid_node * | g | ) |
Definition at line 1352 of file rxd_extracellular.cpp.
void ecs_set_adi_tort | ( | ECS_Grid_node * | g | ) |
Definition at line 772 of file rxd_vol.cpp.
void ecs_set_adi_vol | ( | ECS_Grid_node * | g | ) |
Definition at line 410 of file rxd_vol.cpp.
int find | ( | const int | , |
const int | , | ||
const int | , | ||
const int | , | ||
const int | |||
) |
void get_all_reaction_rates | ( | double * | states, |
double * | rates, | ||
double * | ydot | ||
) |
void ics_dg_adi_x | ( | ICS_Grid_node * | g, |
int | line_start, | ||
int | line_stop, | ||
int | node_start, | ||
double | , | ||
double * | states, | ||
double * | RHS, | ||
double * | scratchpad, | ||
double * | u_diag, | ||
double * | diag, | ||
double * | l_diag | ||
) |
Definition at line 524 of file rxd_intracellular.cpp.
void ics_dg_adi_x_inhom | ( | ICS_Grid_node * | g, |
int | line_start, | ||
int | line_stop, | ||
int | node_start, | ||
double | , | ||
double * | states, | ||
double * | RHS, | ||
double * | scratchpad, | ||
double * | u_diag, | ||
double * | diag, | ||
double * | l_diag | ||
) |
Definition at line 297 of file rxd_intracellular.cpp.
void ics_dg_adi_y | ( | ICS_Grid_node * | g, |
int | line_start, | ||
int | line_stop, | ||
int | node_start, | ||
double | , | ||
double * | states, | ||
double * | RHS, | ||
double * | scratchpad, | ||
double * | u_diag, | ||
double * | diag, | ||
double * | l_diag | ||
) |
Definition at line 602 of file rxd_intracellular.cpp.
void ics_dg_adi_y_inhom | ( | ICS_Grid_node * | g, |
int | line_start, | ||
int | line_stop, | ||
int | node_start, | ||
double | , | ||
double * | states, | ||
double * | RHS, | ||
double * | scratchpad, | ||
double * | u_diag, | ||
double * | diag, | ||
double * | l_diag | ||
) |
Definition at line 378 of file rxd_intracellular.cpp.
void ics_dg_adi_z | ( | ICS_Grid_node * | g, |
int | line_start, | ||
int | line_stop, | ||
int | node_start, | ||
double | , | ||
double * | states, | ||
double * | RHS, | ||
double * | scratchpad, | ||
double * | u_diag, | ||
double * | diag, | ||
double * | l_diag | ||
) |
Definition at line 672 of file rxd_intracellular.cpp.
void ics_dg_adi_z_inhom | ( | ICS_Grid_node * | g, |
int | line_start, | ||
int | line_stop, | ||
int | node_start, | ||
double | , | ||
double * | states, | ||
double * | RHS, | ||
double * | scratchpad, | ||
double * | u_diag, | ||
double * | diag, | ||
double * | l_diag | ||
) |
Definition at line 451 of file rxd_intracellular.cpp.
void ics_ode_solve | ( | double | dt, |
double * | RHS, | ||
const double * | states | ||
) |
Definition at line 891 of file rxd_extracellular.cpp.
void ics_ode_solve_helper | ( | ICS_Grid_node * | g, |
double | dt, | ||
double * | CVodeRHS | ||
) |
Definition at line 1471 of file rxd_intracellular.cpp.
int ode_count | ( | const int | offset | ) |
Definition at line 613 of file rxd_extracellular.cpp.
void run_threaded_deltas | ( | ICS_Grid_node * | g, |
ICSAdiDirection * | ics_adi_dir | ||
) |
Definition at line 275 of file rxd_intracellular.cpp.
void run_threaded_ics_dg_adi | ( | ICS_Grid_node * | g, |
ICSAdiDirection * | ics_adi_dir | ||
) |
void scatter_concentrations | ( | void | ) |
Definition at line 596 of file rxd_extracellular.cpp.
void set_num_threads_3D | ( | int | n | ) |
Definition at line 46 of file rxd_extracellular.cpp.
void TaskQueue_add_task | ( | TaskQueue * | , |
void *(*)(void *args) | task, | ||
void * | , | ||
void * | |||
) |
void TaskQueue_exe_tasks | ( | std::size_t | thread_index, |
TaskQueue * | q | ||
) |