-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
35 lines (29 loc) · 1.18 KB
/
main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "definitions.h"
#include "includes.h"
#include "math_includes.h"
#include "general.h"
#include "neuron.h"
#include "stimulate.h"
#include "ode.h"
int main(int argc, char** argv)
{
char * input_filename = get_input_filename(argc, argv);
struct network * network = create_network(input_filename);
struct neuron_params * params = init_neuron_params(input_filename);
struct init_compartment_states * init_compartment_states = init_init_compartment_states(network, input_filename);
network->runtime = get_runtime(input_filename);
init_stimuli(network, input_filename);
init_network_states(network, init_compartment_states);
init_nondefault_states(network, input_filename);
assoc_network_params(network, params);
link_neurons(network, input_filename);
prepare_link_states(network, input_filename);
prepare_tetanus(network, input_filename);
identify_discontinuities(network);
ode_run(network, network->runtime[0], network->runtime[1], 1.0e-6, 1.0e-6);
//print_network(network);
if(argc > 2) output_state(network, init_compartment_states, params, argv[2]);
else if(argc < 2) free(input_filename);
cleanup(network, init_compartment_states, params);
return 0;
}