![]() |
NEURON
|
#include <stdio.h>#include <assert.h>#include <nrnmpi.h>#include "nrn_pyhocobject.h"#include "nrnwrap_Python.h"Go to the source code of this file.
Classes | |
| struct | Hybrid_data |
| struct | Concentration_Pair |
| struct | Current_Triple |
| struct | Reaction |
| struct | AdiLineData |
| struct | BoundaryConditions |
| class | Grid_node |
| class | ECS_Grid_node |
| struct | ECSAdiDirection |
| struct | ECSAdiGridData |
| class | ICS_Grid_node |
| struct | ICSAdiDirection |
| struct | ICSAdiGridData |
Macros | |
| #define | IDX(x, y, z) ((z) + (y) *g->size_z + (x) *g->size_z * g->size_y) |
| #define | INDEX(x, y, z) ((z) + (y) *grid->size_z + (x) *grid->size_z * grid->size_y) |
| #define | ALPHA(x, y, z) (g->get_alpha(g->alpha, IDX(x, y, z))) |
| #define | VOLFRAC(idx) (g->get_alpha(g->alpha, idx)) |
| #define | TORT(idx) (g->get_permeability(g->permeability, idx)) |
| #define | PERM(x, y, z) (g->get_permeability(g->permeability, IDX(x, y, z))) |
| #define | SQ(x) ((x) * (x)) |
| #define | CU(x) ((x) * (x) * (x)) |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | TORTUOSITY 2 |
| #define | VOLUME_FRACTION 3 |
| #define | ICS_ALPHA 4 |
| #define | NEUMANN 0 |
| #define | DIRICHLET 1 |
| #define | MAX(a, b) ((a) > (b) ? (a) : (b)) |
| #define | MIN(a, b) ((a) < (b) ? (a) : (b)) |
Typedefs | |
| using | ReactionRate = void(double **, double **, double **, double *, double *, double *, double *, double **, double) |
| using | ECSReactionRate = void(double *, double *, double *, double *) |
Functions | |
| void | make_dt_ptr (PyHocObject *my_dt_ptr) |
| int | ECS_insert (int grid_list_index, PyHocObject *my_states, int my_num_states_x, int my_num_states_y, int my_num_states_z, double my_dc_x, double my_dc_y, double my_dc_z, double my_dx, double my_dy, double my_dz, PyHocObject *my_alpha, PyHocObject *my_permeability, int, double, double) |
| Grid_node * | ICS_make_Grid (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 *dcs, double dx, bool is_diffusable, double atolscale, double *ics_alphas) |
| int | ICS_insert (int grid_list_index, 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 *dcs, double dx, bool is_diffusable, double atolscale, double *ics_alphas) |
| int | ICS_insert_inhom (int grid_list_index, 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 *dcs, double dx, bool is_diffusable, double atolscale, double *ics_alphas) |
| int | set_diffusion (int, int, double *, int) |
| int | remove (Grid_node **head, Grid_node *find) |
| void | empty_list (int list_index) |
| void | apply_node_flux (int, long *, double *, PyObject **, double, double *) |
Variables | |
| double * | dt_ptr |
| double * | t_ptr |
| Grid_node * | Parallel_grids [100] |
| #define IDX | ( | x, | |
| y, | |||
| z | |||
| ) | ((z) + (y) *g->size_z + (x) *g->size_z * g->size_y) |
| #define INDEX | ( | x, | |
| y, | |||
| z | |||
| ) | ((z) + (y) *grid->size_z + (x) *grid->size_z * grid->size_y) |
| #define PERM | ( | x, | |
| y, | |||
| z | |||
| ) | (g->get_permeability(g->permeability, IDX(x, y, z))) |
| #define TORT | ( | idx | ) | (g->get_permeability(g->permeability, idx)) |
| using ECSReactionRate = void(double*, double*, double*, double*) |
| using ReactionRate = void(double**, double**, double**, double*, double*, double*, double*, double**, double) |
| void apply_node_flux | ( | int | n, |
| long * | index, | ||
| double * | scale, | ||
| PyObject ** | source, | ||
| double | dt, | ||
| double * | states | ||
| ) |
| int ECS_insert | ( | int | grid_list_index, |
| PyHocObject * | my_states, | ||
| int | my_num_states_x, | ||
| int | my_num_states_y, | ||
| int | my_num_states_z, | ||
| double | my_dc_x, | ||
| double | my_dc_y, | ||
| double | my_dc_z, | ||
| double | my_dx, | ||
| double | my_dy, | ||
| double | my_dz, | ||
| PyHocObject * | my_alpha, | ||
| PyHocObject * | my_permeability, | ||
| int | bc, | ||
| double | bc_value, | ||
| double | atolscale | ||
| ) |
| int ICS_insert | ( | int | grid_list_index, |
| 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 * | dcs, | ||
| double | dx, | ||
| bool | is_diffusable, | ||
| double | atolscale, | ||
| double * | ics_alphas | ||
| ) |
| int ICS_insert_inhom | ( | int | grid_list_index, |
| 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 * | dcs, | ||
| double | dx, | ||
| bool | is_diffusable, | ||
| double | atolscale, | ||
| double * | ics_alphas | ||
| ) |
| Grid_node* ICS_make_Grid | ( | 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 * | dcs, | ||
| double | dx, | ||
| bool | is_diffusable, | ||
| double | atolscale, | ||
| double * | ics_alphas | ||
| ) |
| void make_dt_ptr | ( | PyHocObject * | my_dt_ptr | ) |
| int set_diffusion | ( | int | grid_list_index, |
| int | grid_id, | ||
| double * | dc, | ||
| int | length | ||
| ) |