2 #include <condition_variable>
7 #define SPECIES_ABSENT -1
193 int find(
const int,
const int,
const int,
const int,
const int);
void(double **, double **, double **, double *, double *, double *, double *, double **, double) ReactionRate
int const size_t const size_t n
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_ecs(const double *, double *)
void ecs_atolscale(double *)
void _rhs_variable_step(const double *, double *)
void dg_transfer_data(AdiLineData *const, double *const, int const, int const, int const)
void _ecs_ode_reinit(double *)
void set_num_threads(const int)
void set_num_threads_3D(int n)
void ecs_run_threaded_dg_adi(const int, const int, ECS_Grid_node *, ECSAdiDirection *, const int)
ReactGridData * create_threaded_reactions(const int)
void ecs_set_adi_tort(ECS_Grid_node *)
void ics_dg_adi_z(ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *)
void ecs_set_adi_vol(ECS_Grid_node *)
void run_threaded_deltas(ICS_Grid_node *g, ICSAdiDirection *ics_adi_dir)
void ics_ode_solve(double, double *, const double *)
void ics_ode_solve_helper(ICS_Grid_node *, double, double *)
void scatter_concentrations(void)
void do_currents(Grid_node *, double *, double, int)
void _rhs_variable_step_helper(Grid_node *, double const *const, double *)
void * do_reactions(void *)
void ics_dg_adi_x_inhom(ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *)
void TaskQueue_sync(TaskQueue *)
int find(const int, const int, const int, const int, const int)
void TaskQueue_exe_tasks(std::size_t, TaskQueue *)
void ics_dg_adi_z_inhom(ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *)
void TaskQueue_add_task(TaskQueue *, void *(*task)(void *args), void *, void *)
void run_threaded_ics_dg_adi(ICS_Grid_node *g, ICSAdiDirection *ics_adi_dir)
void ecs_set_adi_homogeneous(ECS_Grid_node *)
void _rhs_variable_step_helper_tort(Grid_node *, double const *const, double *)
void _ode_reinit(double *)
void do_ics_reactions(double *, double *, double *, double *)
int get_num_threads(void)
void _fadvance_fixed_step_3D(void)
void ics_dg_adi_y(ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *)
void _ics_hybrid_helper(ICS_Grid_node *)
void get_all_reaction_rates(double *, double *, double *)
void apply_node_flux3D(Grid_node *, double, double *)
void _rhs_variable_step_helper_vol(Grid_node *, double const *const, double *)
void ics_dg_adi_x(ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *)
void current_reaction(double *states)
void ics_dg_adi_y_inhom(ICS_Grid_node *g, int, int, int, double, double *, double *, double *, double *, double *, double *)
double ** result_array_dx
struct ICSReactions * next
double * ecs_states_for_reaction
double ** states_for_reaction_dx
double ** params_for_reaction
ECS_Grid_node ** ecs_grid
double ** states_for_reaction
double * ecs_states_for_reaction_dx
double * ecs_params_for_reaction
struct SpeciesIndexList * next
std::condition_variable task_cond
std::condition_variable waiting_cond