Network dynamics related structures and functions.
More...
#include "ne_std.h"
Go to the source code of this file.
Data Structures |
struct | ne_dyn_node_t |
| Node dynamics structure. More...
|
struct | ne_dyn_edge_t |
| Edge dynamics structure. More...
|
struct | ne_dyn_node_lib_el |
| Node dynamics list structure (linked list). More...
|
struct | ne_dyn_edge_lib_el |
| Edge dynamics list structure (linked list). More...
|
Typedefs |
typedef ne_err_code_t | ne_dyn_n_fn_t (int i, void *sys, double t, const double *y, double *dydt, double *params) |
| Node dynamics function type.
|
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) |
| Edge dynamics function type.
|
typedef struct ne_dyn_node_lib_el | ne_dyn_node_lib_t |
| Node dynamics list structure (linked list).
|
typedef struct ne_dyn_edge_lib_el | ne_dyn_edge_lib_t |
| Edge dynamics list structure (linked list).
|
Functions |
void | ne_dyn_finalise (void) |
| Clean up memory used by the dynamics library.
|
ne_err_code_t | ne_dyn_add_node_dyn (ne_dyn_node_t *nodeDyn) |
| Add a new node dynamic to the library.
|
ne_err_code_t | ne_dyn_add_edge_dyn (ne_dyn_edge_t *edgeDyn) |
| Add a new edge dynamic to the library.
|
ne_err_code_t | ne_dyn_remove_node_dyn (const char *name) |
| Remove a node dynamic from the library.
|
ne_err_code_t | ne_dyn_remove_edge_dyn (const char *name) |
| Remove a edge dynamic from the library.
|
ne_dyn_node_t * | ne_dyn_find_node_dyn (const char *name) |
| Find a given node dynamic from its name.
|
ne_dyn_edge_t * | ne_dyn_find_edge_dyn (const char *name) |
| Find a given node dynamic from its name.
|
Detailed Description
Network dynamics related structures and functions.
Dynamics for nodes and edges are held within a global library which can be queried when loading dynamical networks from file. Each form of node and edge dynamic has a name which is used when loading an ne_system from file. Ensure that any required dynamics have been loaded to the library before loading an ne_system using them; otherwise default (null) dynamics will be used. For a list of built in node and edge dynamics that can be used see the libraries in ne_dyn_node_ode_lib/ne_dyn_edge_ode_lib (ODE dynamics) and ne_dyn_node_map_lib/ne_dyn_edge_map_lib (Discrete time mappings).
- Author:
- T.E. Gorochowski
Definition in file ne_dyn.h.
Typedef Documentation
Edge dynamics function type.
This is used for both continuous differential equations and discrete time dynamics. The variable *y is an array with node states held in the first n*STATES_PER_NODE, followed by m*STATES_PER_EDGE edge states where n and m are the number of nodes and edges respectively. For discrete time mappings *dydt should be set to the next point in the mapping.
Definition at line 54 of file ne_dyn.h.
Edge dynamics list structure (linked list).
Node dynamics function type.
This is used for both continuous differential equations and discrete time dynamics. The variable *y is an array with node states held in the first n*STATES_PER_NODE, followed by m*STATES_PER_EDGE edge states where n and m are the number of nodes and edges respectively. For discrete time mappings *dydt should be set to the next point in the mapping.
Definition at line 46 of file ne_dyn.h.
Node dynamics list structure (linked list).
Function Documentation
Add a new edge dynamic to the library.
Definition at line 85 of file ne_dyn.c.
Add a new node dynamic to the library.
Definition at line 64 of file ne_dyn.c.
void ne_dyn_finalise |
( |
void |
|
) |
|
Clean up memory used by the dynamics library.
This is automatically called by ne_finalise and should not need to be called manually.
Definition at line 40 of file ne_dyn.c.
Find a given node dynamic from its name.
Definition at line 219 of file ne_dyn.c.
Find a given node dynamic from its name.
Definition at line 194 of file ne_dyn.c.
Remove a edge dynamic from the library.
Definition at line 150 of file ne_dyn.c.
Remove a node dynamic from the library.
Definition at line 106 of file ne_dyn.c.