Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00034 #ifndef NE_DYN_H
00035 #define NE_DYN_H
00036
00037
00038 #include "ne_std.h"
00039
00046 typedef ne_err_code_t ne_dyn_n_fn_t (int i, void *sys, double t, const double *y, double *dydt, double *params);
00047
00054 typedef ne_err_code_t ne_dyn_e_fn_t (int eid, int i, int j, void *sys, double t, const double *y, double *dydt, double *params);
00055
00057 typedef struct {
00058 char *name;
00059 ne_int_t states;
00060 ne_dyn_n_fn_t *fn;
00061 } ne_dyn_node_t;
00062
00064 typedef struct {
00065 char *name;
00066 ne_int_t states;
00067 ne_dyn_e_fn_t *fn;
00068 } ne_dyn_edge_t;
00069
00071 typedef struct ne_dyn_node_lib_el {
00072 ne_dyn_node_t *nodeDyn;
00073 struct ne_dyn_node_lib_el *next;
00074 } ne_dyn_node_lib_t;
00075
00077 typedef struct ne_dyn_edge_lib_el {
00078 ne_dyn_edge_t *edgeDyn;
00079 struct ne_dyn_edge_lib_el *next;
00080 } ne_dyn_edge_lib_t;
00081
00082
00087 void ne_dyn_finalise (void);
00088
00090 ne_err_code_t ne_dyn_add_node_dyn (ne_dyn_node_t *nodeDyn);
00091
00093 ne_err_code_t ne_dyn_add_edge_dyn (ne_dyn_edge_t *edgeDyn);
00094
00096 ne_err_code_t ne_dyn_remove_node_dyn (const char *name);
00097
00099 ne_err_code_t ne_dyn_remove_edge_dyn (const char *name);
00100
00102 ne_dyn_node_t * ne_dyn_find_node_dyn (const char *name);
00103
00105 ne_dyn_edge_t * ne_dyn_find_edge_dyn (const char *name);
00106
00107
00108 #endif