![]() |
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 | ||
) |