SiReNe Simulation Software
1.0
|
Main functions of the SiReNe Software. More...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include "SireneComponents.h"
Functions | |
void | Iter (Simul *Simulation, double *TmpVar, double *TmpDer) |
Computation of one time-step from (t) to (t + dt) More... | |
void | Advance (Simul *Simulation) |
Simulation process over time-steps. More... | |
void | InitSimu (Simul *Simulation) |
Initialization of the simulation structure. More... | |
void | PrepareSimu (Simul *Simulation, ushort VerboseMask, ushort SaveMask, int ResultsInterval) |
Preparation of simulation data according to the neural network description. More... | |
Variables | |
unsigned long | MEMORY =0 |
Total amount of requested memory. More... | |
unsigned long | ALLOCATED =0 |
Total amount of actually allocated memory. More... | |
unsigned long | FREED =0 |
Total amount of de-allocated memory. More... | |
Main functions of the iterative process to simulate biological neuronal networks with adjustable properties (normal state, Parkinson's disease,...).
void Advance | ( | Simul * | Simulation | ) |
Iterative process over the time-steps:
Possibility to save data like VARIABLES, POTENTIALS, INPUT_CURRENTS, SYNAPTIC_CURRENTS, LFP, SPIKES and NBSPIKES.
All files are saved in binary mode.
Simulation | Structure where all simulation information is stored |
References Simul::BufferSpikes, Simul::Chrono_Advance, Simul::CrtNum, Neuron::GlobalNumNeuron, INPUT_CALL, Neuron::InputCurrent, Simul::InputCurrentsFileName, Iter(), Simul::LFPFileName, MYFREE(), MYMALLOC(), Simul::NbSpikesFileName, Simul::NbSpInBuf, Simul::NeuralModels, NeuralModel::Neurons, NO_RECORD, Simul::NumberNeuralModels, NeuralModel::NumberOfNeurons, Neuron::NumberOfSpikes, Simul::NumberOfVariables, Neuron::PotentialIndex, Simul::PotentialsFileName, PrintTimes(), Simul::PrvNum, Simul::ResultsInterval, RETURN_CALL, SAVE_INPUT_CURRENTS, SAVE_LFP, SAVE_NBSPIKES, SAVE_POTENTIALS, SAVE_SPIKES, SAVE_SYNAPTIC_CURRENTS, SAVE_VARIABLES, Simul::SaveMask, Simul::sLFP, Simul::SpikesFile, Simul::SpikesFileName, Simul::Start, Neuron::SynapticCurrent, Simul::SynapticCurrentsFileName, Simul::t, Simul::Time_Advance, Simul::TimeStep, Simul::TotalNumberOfNeurons, Simul::TotalTimeSim, Simul::Variables, and Simul::VariablesFileName.
Referenced by main().
void InitSimu | ( | Simul * | Simulation | ) |
Simulation | Structure where all simulation information is stored |
References Simul::BufferSpikes, Simul::CrtNum, Simul::DVar, Euler(), Simul::InterpolationType, NBMEMSTEP, Simul::NbSpInBuf, Simul::NbThreads, Simul::NeuralModels, NO_INTERP, Simul::NumberNeuralModels, Simul::NumberOfVariables, Simul::NumberSynapseModels, Simul::NumericalMethod, Simul::PrvNum, Simul::RandGenerConnect, RandomConnections(), Simul::ResultsInterval, Simul::SaveMask, Simul::sLFP, Simul::SpikesFile, Simul::Start, Simul::SynapseModels, Simul::t, Simul::TimeStep, Simul::TotalNumberOfNeurons, Simul::TotalTimeSim, Simul::Variables, and Simul::VerboseMask.
Referenced by main().
void Iter | ( | Simul * | Simulation, |
double * | TmpVar, | ||
double * | TmpDer | ||
) |
Network state is computed at (t + dt) using a numerical method (Euler or Runge-Kutta 2).
Detection of spikes using the SpikeDetection() function.
Simulation | Structure where all simulation information is stored |
TmpVar | Variables array for intermediate time-steps computed in the numerical method |
TmpDer | Derivatives array for intermediate time-steps computed in the numerical method |
References Simul::Chrono_Iter, Simul::CrtNum, INPUT_CALL, Simul::NumericalMethod, Simul::PrvNum, RETURN_CALL, SpikeDetection(), Simul::t, Simul::Time_Iter, Simul::TimeStep, and UpdateModels().
Referenced by Advance().
void PrepareSimu | ( | Simul * | Simulation, |
ushort | VerboseMask, | ||
ushort | SaveMask, | ||
int | ResultsInterval | ||
) |
Initialization of:
Simulation | Structure where all simulation information is stored |
VerboseMask | Mask of information to display |
SaveMask | Mask of variables to save to file |
ResultsInterval | Number of iterations between results display / save |
References BUFFER_SIZE, Simul::BufferSpikes, Simul::Chrono_Init, Simul::ChronoStart, Simul::CrtNum, Simul::DVar, Neuron::dVMidStep, NeuralModel::FirstNeuronNumber, Neuron::GlobalNumNeuron, Neuron::InitialValues, INPUT_CALL, Neuron::InputCurrent, Neuron::LastSpikeTime, MAXTHREADS, MYMALLOC(), NBMEMSTEP, Simul::NbSpInBuf, Simul::NbThreads, NeuralModelPrint(), Simul::NeuralModels, NeuronPrint(), NeuralModel::Neurons, Simul::NumberNeuralModels, SynapseModel::NumberOfConnections, NeuralModel::NumberOfNeurons, Neuron::NumberOfParameters, NeuralModel::NumberOfParameters, Neuron::NumberOfSpikes, NeuralModel::NumberOfVariables, Simul::NumberOfVariables, Neuron::Parameters, NeuralModel::Parameters, Neuron::PotentialIndex, Simul::PrvNum, Simul::ResultsInterval, RETURN_CALL, Simul::SaveMask, Simul::sLFP, Neuron::SpikeTreshold, NeuralModel::SpikeTreshold, Simul::Start, SynapseModelPrint(), Simul::SynapseModels, Neuron::SynapticCurrent, Neuron::SynCurrentFactor, Simul::t, Simul::Time_Advance, Simul::Time_Detection, Simul::Time_Init, Simul::Time_Iter, Simul::Time_NumericalMethod, Simul::Time_RandGenConn, Simul::Time_SpikeProcessing, Simul::Time_UpdateModels, Simul::Time_UpdateNeuron, Simul::TimeStep, Simul::TotalNumberOfNeurons, Simul::TotalTimeSim, Simul::Variables, VERBOSE_CONFIG, VERBOSE_DETAILS, Simul::VerboseMask, and Neuron::VMidStep.
Referenced by main().
unsigned long ALLOCATED =0 |
Referenced by DISPLAYMEM(), and MYMALLOC().
unsigned long FREED =0 |
Referenced by DISPLAYMEM(), and MYFREE().
unsigned long MEMORY =0 |
Referenced by DISPLAYMEM(), and MYMALLOC().