examples:poissongroup
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
examples:poissongroup [2013/11/01 16:36] – reduce to the max zenke | examples:poissongroup [2013/12/09 14:50] (current) – removed zenke | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== The full script ====== | ||
- | |||
- | |||
- | <code cpp> | ||
- | #include < | ||
- | #include < | ||
- | #include < | ||
- | #include < | ||
- | |||
- | #include < | ||
- | #include < | ||
- | #include < | ||
- | #include < | ||
- | |||
- | #include " | ||
- | #include " | ||
- | #include " | ||
- | #include " | ||
- | #include " | ||
- | #include " | ||
- | #include " | ||
- | #include " | ||
- | |||
- | using namespace std; | ||
- | |||
- | namespace po = boost:: | ||
- | namespace mpi = boost::mpi; | ||
- | |||
- | int main(int ac, char* av[]) | ||
- | { | ||
- | |||
- | string dir = " | ||
- | string file_prefix = " | ||
- | |||
- | char strbuf [255]; | ||
- | string msg; | ||
- | |||
- | NeuronID size = 1000; | ||
- | NeuronID seed = 1; | ||
- | double kappa = 5.; | ||
- | double simtime = 10.; | ||
- | |||
- | int errcode = 0; | ||
- | |||
- | try { | ||
- | |||
- | po:: | ||
- | desc.add_options() | ||
- | (" | ||
- | (" | ||
- | (" | ||
- | (" | ||
- | (" | ||
- | ; | ||
- | |||
- | po:: | ||
- | po:: | ||
- | po:: | ||
- | |||
- | if (vm.count(" | ||
- | cout << desc << " | ||
- | return 1; | ||
- | } | ||
- | |||
- | |||
- | if (vm.count(" | ||
- | cout << "kappa set to " | ||
- | << | ||
- | kappa = vm[" | ||
- | } | ||
- | |||
- | if (vm.count(" | ||
- | cout << " | ||
- | << | ||
- | simtime = vm[" | ||
- | } | ||
- | |||
- | if (vm.count(" | ||
- | cout << "size set to " | ||
- | << | ||
- | size = vm[" | ||
- | } | ||
- | |||
- | if (vm.count(" | ||
- | cout << "seed set to " | ||
- | << | ||
- | seed = vm[" | ||
- | } | ||
- | } | ||
- | catch(exception& | ||
- | cerr << " | ||
- | return 1; | ||
- | } | ||
- | catch(...) { | ||
- | cerr << " | ||
- | } | ||
- | |||
- | // BEGIN Global stuff | ||
- | mpi:: | ||
- | mpi:: | ||
- | communicator = &world; | ||
- | |||
- | sprintf(strbuf, | ||
- | string logfile = strbuf; | ||
- | logger = new Logger(logfile, | ||
- | |||
- | sys = new System(& | ||
- | // END Global stuff | ||
- | |||
- | PoissonGroup * poisson = new PoissonGroup(size, | ||
- | poisson-> | ||
- | |||
- | sprintf(strbuf, | ||
- | SpikeMonitor * smon_e = new SpikeMonitor( poisson, strbuf, size); | ||
- | |||
- | sprintf(strbuf, | ||
- | PopulationRateMonitor * pmon_e = new PopulationRateMonitor( poisson, strbuf, 1.0 ); | ||
- | |||
- | RateChecker * chk = new RateChecker( poisson , -1 , 20.*kappa , 10); | ||
- | if (!sys-> | ||
- | errcode = 1; | ||
- | |||
- | logger-> | ||
- | delete sys; | ||
- | |||
- | if (errcode) | ||
- | env.abort(errcode); | ||
- | return errcode; | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | ====== The important bits ====== | ||
- | |||
- | Since Auryn simulations are executable c programs there is quite some overhead, which is usually the same or at least very similiar. The following buts however are the important ones, which is where the interesting stuff happens. | ||
- | |||
- | <code cpp> | ||
- | PoissonGroup * poisson = new PoissonGroup(size, | ||
- | poisson-> | ||
- | |||
- | sprintf(strbuf, | ||
- | SpikeMonitor * smon_e = new SpikeMonitor( poisson, strbuf, size); | ||
- | |||
- | sprintf(strbuf, | ||
- | PopulationRateMonitor * pmon_e = new PopulationRateMonitor( poisson, strbuf, 1.0 ); | ||
- | |||
- | RateChecker * chk = new RateChecker( poisson , -1 , 20.*kappa , 10); | ||
- | if (!sys-> | ||
- | errcode = 1; | ||
- | </ | ||
- | |||
examples/poissongroup.1383323792.txt.gz · Last modified: 2013/11/01 16:36 (external edit)