![]() |
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 1322 of file rxd_extracellular.cpp.
| void ecs_set_adi_homogeneous | ( | ECS_Grid_node * | g | ) |
Definition at line 1354 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 | ||
| ) |