From a729cf3a0cae979b58b9d44737cfb7a42f51d14d Mon Sep 17 00:00:00 2001
From: Pooja Babu
Date: Tue, 26 Mar 2024 13:17:44 +0100
Subject: [PATCH] Modify jupyter notebooks
---
.../nestml_active_dendrite_tutorial.ipynb | 222 +-
.../nestml_izhikevich_tutorial.ipynb | 112 +-
.../nestml_ou_noise_tutorial.ipynb | 1197 +---
..._spike_frequency_adaptation_tutorial.ipynb | 945 ++--
.../stdp_dopa_synapse/stdp_dopa_synapse.ipynb | 1097 +++-
doc/tutorials/stdp_windows/stdp_windows.ipynb | 4835 ++---------------
.../triplet_stdp_synapse.ipynb | 817 ++-
pynestml/codegeneration/nest_builder.py | 4 +-
.../nest_code_generator_utils.py | 7 +-
9 files changed, 2797 insertions(+), 6439 deletions(-)
diff --git a/doc/tutorials/active_dendrite/nestml_active_dendrite_tutorial.ipynb b/doc/tutorials/active_dendrite/nestml_active_dendrite_tutorial.ipynb
index d27f1ea35..b82c4cc12 100644
--- a/doc/tutorials/active_dendrite/nestml_active_dendrite_tutorial.ipynb
+++ b/doc/tutorials/active_dendrite/nestml_active_dendrite_tutorial.ipynb
@@ -18,31 +18,9 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 14,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib as mpl\n",
@@ -51,7 +29,10 @@
"import numpy as np\n",
"import os\n",
"\n",
- "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils"
+ "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils\n",
+ "\n",
+ "# Set the verbosity in NEST to ERROR\n",
+ "nest.set_verbosity(\"M_ERROR\")"
]
},
{
@@ -110,7 +91,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
@@ -179,38 +160,9 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 16,
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "WARNING:root:PyGSL is not available. The stiffness test will be skipped.\n",
- "WARNING:root:Error when importing: No module named 'pygsl'\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
@@ -236,7 +188,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml__module Configuration Summary\u001b[0m\n",
+ "\u001b[0mactive_dend_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -248,15 +200,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml__module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'active_dend_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml__module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_vsu363gm\u001b[0m\n",
+ "\u001b[0mThe library file libactive_dend_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_fq3h0jb8\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml__module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml__module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (active_dend_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(active_dend_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -268,12 +220,12 @@
" information run \"cmake --help-policy CMP0000\".\n",
"This warning is for project developers. Use -Wno-dev to suppress it.\n",
"\u001b[0m\n",
- "-- Configuring done (0.8s)\n",
+ "-- Configuring done (0.7s)\n",
"-- Generating done (0.0s)\n",
"-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/active_dendrite/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/nestml__module.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/iaf_psc_exp_active_dendrite_nestml.o\u001b[0m\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/active_dendrite/target/nestml__module.cpp:31:\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/active_dend_module_module.dir/active_dend_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/active_dend_module_module.dir/iaf_psc_exp_active_dendrite_nestml.o\u001b[0m\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/active_dendrite/target/active_dend_module.cpp:31:\n",
"/Users/pooja/nestml/master/doc/tutorials/active_dendrite/target/iaf_psc_exp_active_dendrite_nestml.h:230:17: warning: 'iaf_psc_exp_active_dendrite_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
@@ -295,18 +247,19 @@
" ^\n",
"1 warning generated.\n",
"3 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml__module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module active_dend_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml__module_module\n",
- "[100%] Built target nestml__module_module\n",
+ "[100%] Built target active_dend_module_module\n",
+ "[100%] Built target active_dend_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_vsu363gm/nestml__module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_fq3h0jb8/active_dend_module.so\n"
]
}
],
"source": [
"module_name, neuron_name = NESTCodeGeneratorUtils.generate_code_for(nestml_active_dend_model,\n",
+ " module_name=\"active_dend_module\",\n",
" logging_level=\"ERROR\") # try \"INFO\" or \"DEBUG\" for more debug information"
]
},
@@ -321,7 +274,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
@@ -415,35 +368,14 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 18,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 22 12:36:44 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 22 12:36:44 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 5 nodes for simulation.\n",
- "\n",
- "Mar 22 12:36:44 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 5\n",
- " Simulation time (ms): 100\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 22 12:36:44 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_87886/1260340709.py:84: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
+ "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_65032/1260340709.py:84: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
]
},
{
@@ -474,35 +406,14 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 19,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 22 12:36:50 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 22 12:36:50 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 5 nodes for simulation.\n",
- "\n",
- "Mar 22 12:36:50 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 5\n",
- " Simulation time (ms): 100\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 22 12:36:50 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_87886/1260340709.py:84: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
+ "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_65032/1260340709.py:84: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
]
},
{
@@ -585,7 +496,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
@@ -661,30 +572,9 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 21,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
@@ -710,7 +600,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml__module Configuration Summary\u001b[0m\n",
+ "\u001b[0mactive_dend_reset_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -722,15 +612,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml__module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'active_dend_reset_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml__module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_zr3r7uem\u001b[0m\n",
+ "\u001b[0mThe library file libactive_dend_reset_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_qj4h6poj\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml__module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml__module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (active_dend_reset_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(active_dend_reset_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -745,9 +635,9 @@
"-- Configuring done (0.6s)\n",
"-- Generating done (0.0s)\n",
"-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/active_dendrite/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/iaf_psc_exp_active_dendrite_resetting_nestml.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/nestml__module.o\u001b[0m\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/active_dendrite/target/nestml__module.cpp:31:\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/active_dend_reset_module_module.dir/active_dend_reset_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/active_dend_reset_module_module.dir/iaf_psc_exp_active_dendrite_resetting_nestml.o\u001b[0m\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/active_dendrite/target/active_dend_reset_module.cpp:31:\n",
"/Users/pooja/nestml/master/doc/tutorials/active_dendrite/target/iaf_psc_exp_active_dendrite_resetting_nestml.h:242:17: warning: 'iaf_psc_exp_active_dendrite_resetting_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
@@ -769,18 +659,19 @@
" ^\n",
"1 warning generated.\n",
"3 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml__module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module active_dend_reset_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml__module_module\n",
- "[100%] Built target nestml__module_module\n",
+ "[100%] Built target active_dend_reset_module_module\n",
+ "[100%] Built target active_dend_reset_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_zr3r7uem/nestml__module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_qj4h6poj/active_dend_reset_module.so\n"
]
}
],
"source": [
"module_name, neuron_name = NESTCodeGeneratorUtils.generate_code_for(nestml_active_dend_reset_model,\n",
+ " module_name=\"active_dend_reset_module\",\n",
" logging_level=\"ERROR\") # try \"INFO\" or \"DEBUG\" for more debug information"
]
},
@@ -793,35 +684,14 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 22,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 22 12:37:13 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 22 12:37:13 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 5 nodes for simulation.\n",
- "\n",
- "Mar 22 12:37:13 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 5\n",
- " Simulation time (ms): 100\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 22 12:37:13 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_87886/1260340709.py:84: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
+ "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_65032/1260340709.py:84: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
]
},
{
diff --git a/doc/tutorials/izhikevich/nestml_izhikevich_tutorial.ipynb b/doc/tutorials/izhikevich/nestml_izhikevich_tutorial.ipynb
index 01e229ca0..6db636d2b 100644
--- a/doc/tutorials/izhikevich/nestml_izhikevich_tutorial.ipynb
+++ b/doc/tutorials/izhikevich/nestml_izhikevich_tutorial.ipynb
@@ -34,7 +34,7 @@
" Copyright (C) 2004 The NEST Initiative\n",
"\n",
" Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
+ " Built: Mar 26 2024 10:08:21\n",
"\n",
" This program is provided AS IS and comes with\n",
" NO WARRANTY. See the file LICENSE for details.\n",
@@ -48,7 +48,7 @@
}
],
"source": [
- "%matplotlib inline\n",
+ "# %matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import nest\n",
"import numpy as np\n",
@@ -117,17 +117,9 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 4,
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "WARNING:root:PyGSL is not available. The stiffness test will be skipped.\n",
- "WARNING:root:Error when importing: No module named 'pygsl'\n"
- ]
- },
{
"name": "stdout",
"output_type": "stream",
@@ -137,7 +129,7 @@
" Copyright (C) 2004 The NEST Initiative\n",
"\n",
" Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
+ " Built: Mar 26 2024 10:08:21\n",
"\n",
" This program is provided AS IS and comes with\n",
" NO WARRANTY. See the file LICENSE for details.\n",
@@ -167,7 +159,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml__module Configuration Summary\u001b[0m\n",
+ "\u001b[0mizhikevich_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -179,15 +171,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml__module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'izhikevich_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml__module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_vy0vybop\u001b[0m\n",
+ "\u001b[0mThe library file libizhikevich_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_c_3ls96l\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml__module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml__module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (izhikevich_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(izhikevich_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -199,11 +191,11 @@
" information run \"cmake --help-policy CMP0000\".\n",
"This warning is for project developers. Use -Wno-dev to suppress it.\n",
"\u001b[0m\n",
- "-- Configuring done (1.2s)\n",
+ "-- Configuring done (0.7s)\n",
"-- Generating done (0.0s)\n",
"-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/izhikevich/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/izhikevich_tutorial_nestml.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/nestml__module.o\u001b[0m\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/izhikevich_module_module.dir/izhikevich_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/izhikevich_module_module.dir/izhikevich_tutorial_nestml.o\u001b[0m\n",
"/Users/pooja/nestml/master/doc/tutorials/izhikevich/target/izhikevich_tutorial_nestml.cpp:179:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
@@ -214,20 +206,21 @@
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
"3 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml__module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module izhikevich_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml__module_module\n",
- "[100%] Built target nestml__module_module\n",
+ "[100%] Built target izhikevich_module_module\n",
+ "[100%] Built target izhikevich_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_vy0vybop/nestml__module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_c_3ls96l/izhikevich_module.so\n"
]
}
],
"source": [
"# generate and build code\n",
"module_name, neuron_model_name = \\\n",
- " NESTCodeGeneratorUtils.generate_code_for(\"izhikevich_solution.nestml\")"
+ " NESTCodeGeneratorUtils.generate_code_for(\"izhikevich_solution.nestml\",\n",
+ " module_name=\"izhikevich_module\")"
]
},
{
@@ -249,14 +242,35 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 5,
"metadata": {},
"outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Mar 26 14:32:10 Install [Info]: \n",
+ " loaded module izhikevich_module\n",
+ "\n",
+ "Mar 26 14:32:10 NodeManager::prepare_nodes [Info]: \n",
+ " Preparing 4 nodes for simulation.\n",
+ "\n",
+ "Mar 26 14:32:10 SimulationManager::start_updating_ [Info]: \n",
+ " Number of local nodes: 4\n",
+ " Simulation time (ms): 250\n",
+ " Number of OpenMP threads: 1\n",
+ " Not using MPI\n",
+ "\n",
+ "Mar 26 14:32:10 SimulationManager::run [Info]: \n",
+ " Simulation finished.\n"
+ ]
+ },
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_86106/1353168583.py:33: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
+ "/var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/ipykernel_60089/1245292433.py:33: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n"
]
},
{
@@ -271,7 +285,7 @@
}
],
"source": [
- "nest.set_verbosity(\"M_WARNING\")\n",
+ "nest.set_verbosity(\"M_ALL\")\n",
"nest.ResetKernel()\n",
"\n",
"# load dynamic library (NEST extension module) into NEST kernel\n",
@@ -306,6 +320,39 @@
"fig.show()"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Mar 26 14:32:18 Install [Info]: \n",
+ " loaded module izhikevich_module\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "('izhikevich_module',)"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nest.ResetKernel()\n",
+ "nest.Install(module_name)\n",
+ "# nest.Models()\n",
+ "os.environ[\"DYLD_LIBRARY_PATH\"]\n",
+ "nest.get(\"modules\")"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -336,6 +383,13 @@
"\n",
"You should have received a copy of the GNU General Public License along with NEST. If not, see .\n"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
diff --git a/doc/tutorials/ornstein_uhlenbeck_noise/nestml_ou_noise_tutorial.ipynb b/doc/tutorials/ornstein_uhlenbeck_noise/nestml_ou_noise_tutorial.ipynb
index 41d4f7854..6eb7155fa 100644
--- a/doc/tutorials/ornstein_uhlenbeck_noise/nestml_ou_noise_tutorial.ipynb
+++ b/doc/tutorials/ornstein_uhlenbeck_noise/nestml_ou_noise_tutorial.ipynb
@@ -11,31 +11,9 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 18,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
@@ -43,7 +21,10 @@
"import numpy as np\n",
"import os\n",
"\n",
- "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils"
+ "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils\n",
+ "\n",
+ "# Set the verbosity in NEST to ERROR\n",
+ "nest.set_verbosity(\"M_ERROR\")"
]
},
{
@@ -82,7 +63,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
@@ -116,36 +97,13 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 20,
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "WARNING:root:PyGSL is not available. The stiffness test will be skipped.\n",
- "WARNING:root:Error when importing: No module named 'pygsl'\n"
- ]
- },
{
"name": "stdout",
"output_type": "stream",
"text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n",
"[12,ornstein_uhlenbeck_noise_nestml, WARNING, [2:0;16:0]]: Input block not defined!\n",
"[13,ornstein_uhlenbeck_noise_nestml, WARNING, [2:0;16:0]]: Output block not defined!\n",
"[17,ornstein_uhlenbeck_noise_nestml, WARNING, [2:0;16:0]]: Input block not defined!\n",
@@ -164,7 +122,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml__module Configuration Summary\u001b[0m\n",
+ "\u001b[0mnestml_ou_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -176,15 +134,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml__module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'nestml_ou_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml__module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_oncyf8_r\u001b[0m\n",
+ "\u001b[0mThe library file libnestml_ou_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_kc4zffnq\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml__module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml__module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (nestml_ou_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(nestml_ou_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -196,11 +154,11 @@
" information run \"cmake --help-policy CMP0000\".\n",
"This warning is for project developers. Use -Wno-dev to suppress it.\n",
"\u001b[0m\n",
- "-- Configuring done (4.6s)\n",
+ "-- Configuring done (0.7s)\n",
"-- Generating done (0.0s)\n",
"-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/ornstein_uhlenbeck_noise/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/nestml__module.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/ornstein_uhlenbeck_noise_nestml.o\u001b[0m\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml_ou_module_module.dir/nestml_ou_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml_ou_module_module.dir/ornstein_uhlenbeck_noise_nestml.o\u001b[0m\n",
"/Users/pooja/nestml/master/doc/tutorials/ornstein_uhlenbeck_noise/target/ornstein_uhlenbeck_noise_nestml.cpp:154:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
@@ -208,20 +166,21 @@
" auto get_t = [origin, lag](){ return nest::Time( nest::Time::step( origin.get_steps() + lag + 1) ).get_ms(); };\n",
" ^\n",
"2 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml__module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml_ou_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml__module_module\n",
- "[100%] Built target nestml__module_module\n",
+ "[100%] Built target nestml_ou_module_module\n",
+ "[100%] Built target nestml_ou_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_oncyf8_r/nestml__module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_kc4zffnq/nestml_ou_module.so\n"
]
}
],
"source": [
"# generate and build code\n",
"module_name, neuron_model_name_adapt_curr = \\\n",
- " NESTCodeGeneratorUtils.generate_code_for(nestml_ou_model)"
+ " NESTCodeGeneratorUtils.generate_code_for(nestml_ou_model,\n",
+ " module_name=\"nestml_ou_module\")"
]
},
{
@@ -235,11 +194,11 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
- "def evaluate_ou_process(neuron_model_name: str, h: float=.1, t_sim:float=100., neuron_parms=None, title=None, plot=True):\n",
+ "def evaluate_ou_process(neuron_model_name: str, module_name: str, h: float=.1, t_sim:float=100., neuron_parms=None, title=None, plot=True):\n",
" \"\"\"\n",
" h : float\n",
" timestep in ms\n",
@@ -291,46 +250,9 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 22,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 25 14:53:59 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:53:59 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:53:59 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:53:59 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:53:59 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:53:59 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:53:59 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:53:59 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 1000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:53:59 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABBMAAAHyCAYAAAC55obdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD10UlEQVR4nOzdd3gb9f0H8LckS/Leju0kTuLsQUIGkMFKICEpo6RlFFpWGmaBsgoFStltfqyyN4RVaAm7QAiEDCAQQiYZxImdHTvee2rd74/T93R3Gpa8JNnv1/PwEMuyfJJPp7vP9zMMkiRJICIiIiIiIiIKkjHcG0BERERERERE0YXBBCIiIiIiIiIKCYMJRERERERERBQSBhOIiIiIiIiIKCQMJhARERERERFRSBhMICIiIiIiIqKQMJhARERERERERCFhMIGIiIiIiIiIQsJgAhERERERERGFhMEEIiKiHjBz5kzMnDkzrNtw2WWXITExMaj7GgwG3Hvvvd26PTNnzsRRRx3Vrb/DlyFDhuDMM8/s8d9LRETUmzCYQEREEWXHjh246KKLMGDAAFitVvTv3x9/+MMfsGPHjrBt09KlS7v9wrojAl0Ub9iwAQaDAa+//nrPbhQRERH1CQwmEBFRxPjwww8xefJkrFixAgsWLMBzzz2HhQsXYtWqVZg8eTI++uijsGzX0qVLcd9993XqMb766it89dVXXbRFREREROEVE+4NICIiAoA9e/bg4osvxtChQ/Htt98iKytL+d4NN9yAE088ERdffDG2bt2KoUOH+n2cpqYmJCQk9MQmh8RisYR7EyjMInXfJCIi6ghmJhARUUR45JFH0NzcjJdeekkTSACAzMxMvPjii2hqasLDDz+s3H7vvffCYDDgl19+we9//3ukpaXhhBNOAOApAVizZg2OO+44xMbGYujQoXjzzTc1j22323HfffdhxIgRiI2NRUZGBk444QQsX74cgNxn4NlnnwUg9xEQ/wkulwtPPPEExo0bh9jYWGRnZ+Oqq65CTU2N5vfoeyasXr0aBoMBS5YswT/+8Q8MHDgQsbGxOPXUU1FUVNT5FzSA4uJizJ8/H4mJicjKysJf/vIXOJ3OoH7uj3/8I7Kzs2G1WjFu3DgsXrxYc5+OPK+NGzdixowZiIuLQ35+Pl544QWv+7S1teGee+7B8OHDYbVakZeXh9tuuw1tbW1e9/33v/+N4447DvHx8UhLS8NJJ53UblbIG2+8gZiYGNx6660B7yf2q6+++goTJ05EbGwsxo4diw8//FBzv9dffx0GgwHffPMN/vSnP6Ffv34YOHCg8v3nnnsO48aNU0p5rr32WtTW1nr9vnXr1uH0009HWloaEhISMGHCBDz55JOa+xQUFODcc89Feno6YmNjccwxx+B///uf5j7t7ecAUFpaigULFmDgwIGwWq3Izc3F2Wefjf379wd8TYiIqG9iZgIREUWETz/9FEOGDMGJJ57o8/snnXQShgwZgs8//9zre+eddx5GjBiBf/7zn5AkSbm9qKgI5557LhYuXIhLL70UixcvxmWXXYYpU6Zg3LhxAOSAxKJFi3D55ZfjuOOOQ319PTZs2IBNmzZhzpw5uOqqq1BSUoLly5fjrbfe8vrdV111FV5//XUsWLAAf/7zn7Fv3z4888wz2Lx5M77//nuYzeaAz/v//u//YDQa8Ze//AV1dXV4+OGH8Yc//AHr1q0L5eULmtPpxNy5czF16lQ8+uij+Prrr/HYY49h2LBhuOaaa/z+XFlZGaZNmwaDwYDrrrsOWVlZ+OKLL7Bw4ULU19fjxhtv7NDzqqmpwemnn47zzz8fF154IZYsWYJrrrkGFosFf/zjHwHIAZtf//rXWLNmDa688kqMGTMG27Ztw+OPP47du3fj448/Vh7vvvvuw7333osZM2bg/vvvh8Viwbp167By5UqcdtppPp/bSy+9hKuvvhp33nknHnzwwXZfw8LCQvzud7/D1VdfjUsvvRSvvfYazjvvPCxbtgxz5szR3PdPf/oTsrKycPfdd6OpqQmAvM/dd999mD17Nq655hrs2rULzz//PNavX6/ZZ5YvX44zzzwTubm5uOGGG5CTk4OdO3fis88+ww033ABA7jFy/PHHY8CAAbj99tuRkJCAJUuWYP78+fjggw/wm9/8RvmdgfZzADjnnHOwY8cOXH/99RgyZAjKy8uxfPlyHDx4EEOGDGn3dSEioj5GIiIiCrPa2loJgHT22WcHvN+vf/1rCYBUX18vSZIk3XPPPRIA6cILL/S67+DBgyUA0rfffqvcVl5eLlmtVumWW25Rbjv66KOlM844I+DvvfbaayVfH5nfffedBEB6++23NbcvW7bM6/aTTz5ZOvnkk5WvV61aJQGQxowZI7W1tSm3P/nkkxIAadu2bQG3STxHf9u+fv16CYD02muvKbddeumlEgDp/vvv19x30qRJ0pQpUzS3AZDuuece5euFCxdKubm5UmVlpeZ+F1xwgZSSkiI1NzeH/LxOPvlkCYD02GOPKbe1tbVJEydOlPr16yfZbDZJkiTprbfekoxGo/Tdd99pfvcLL7wgAZC+//57SZIkqbCwUDIajdJvfvMbyel0au7rcrl8vm5PPvmkZDAYpAceeMDHq+hN7FcffPCBcltdXZ2Um5srTZo0SbnttddekwBIJ5xwguRwOJTby8vLJYvFIp122mmabXzmmWckANLixYslSZIkh8Mh5efnS4MHD5Zqamr8PpdTTz1VGj9+vNTa2qr5/owZM6QRI0Yot7W3n9fU1EgApEceeSSo14GIiIhlDkREFHYNDQ0AgKSkpID3E9+vr6/X3H711Vf7vP/YsWM1mQ5ZWVkYNWoU9u7dq9yWmpqKHTt2oLCwMOTtfu+995CSkoI5c+agsrJS+W/KlClITEzEqlWr2n2MBQsWaPopiO1Vb2NX079eJ554YsDfJ0kSPvjgA5x11lmQJEnzXOfOnYu6ujps2rRJ8zPBPq+YmBhcddVVytcWiwVXXXUVysvLsXHjRgDy6zxmzBiMHj1a87tPOeUUAFBe548//hgulwt33303jEbtKY66NEV4+OGHccMNN+Chhx7CXXfd5ff56/Xv319Z8QeA5ORkXHLJJdi8eTNKS0s1973iiitgMpmUr7/++mvYbDbceOONmm284oorkJycrGTebN68Gfv27cONN96I1NRUn8+luroaK1euxPnnn4+GhgbldamqqsLcuXNRWFiI4uJiAO3v53FxcbBYLFi9erVXiQ4REZEvLHMgIqKwE0ECEVTwx1/QIT8/3+f9Bw0a5HVbWlqa5mLp/vvvx9lnn42RI0fiqKOOwrx583DxxRdjwoQJ7W53YWEh6urq0K9fP5/fLy8vb/cx9NuYlpYGAMo2NjY2orGxUfm+yWTy6ikRiP4iOjY21uvn9a+JXkVFBWpra/HSSy/hpZde8nkf/XNt73kJ/fv392pKOHLkSADA/v37MW3aNBQWFmLnzp1+n7f43Xv27IHRaMTYsWP9Phfhm2++weeff46//vWv7fZJ0Bs+fLjX66re5pycHOV2/b554MABAMCoUaM0t1ssFgwdOlT5/p49ewAARx11lN/tKCoqgiRJ+Pvf/46///3vPu9TXl6OAQMGtLufW61WPPTQQ7jllluQnZ2NadOm4cwzz8Qll1yieT5EREQCgwlERBR2KSkpyM3NxdatWwPeb+vWrRgwYACSk5M1t8fFxfm8v3pFWE1S9VU46aSTsGfPHnzyySf46quv8Morr+Dxxx/HCy+8gMsvvzzg9rhcLvTr1w9vv/22z+8Hc9Hf3jY++uijmrGUgwcPVhrixcbGoqWlxefPNzc3K/cJ5vcF4nK5AAAXXXQRLr30Up/30QdfgnntQ/n948ePx7/+9S+f38/Lywv5MceNG4fa2lq89dZbuOqqq/wGpDrL377ZFcTf5S9/+Qvmzp3r8z7Dhw8HENx+fuONN+Kss87Cxx9/jC+//BJ///vfsWjRIqxcuRKTJk3qtudBRETRicEEIiKKCGeeeSZefvllrFmzRpnIoPbdd99h//79mpT4rpKeno4FCxZgwYIFaGxsxEknnYR7771XucjylSIPAMOGDcPXX3+N448/vtsuGi+55BLN66H+PYMHD8Yvv/zi8+d27dql3KezsrKykJSUBKfTidmzZ3f68dRKSkq8Ribu3r0bAJSmf8OGDcPPP/+MU0891e/fQtzP5XLhl19+wcSJEwP+3szMTLz//vs44YQTcOqpp2LNmjXo379/UNssMgLU26LfZn/E32PXrl2aEac2mw379u1TXt9hw4YBALZv3+73NRc/bzabg/q7tLefi997yy234JZbbkFhYSEmTpyIxx57DP/+97/bfXwiIupb2DOBiIgiwq233oq4uDhcddVVqKqq0nyvuroaV199NeLj40NOSW+P/nclJiZi+PDhmpGD4kJXP7rv/PPPh9PpxAMPPOD1uA6Hw+eov1ANHToUs2fPVv47/vjjle+dfvrpOHz4sGaaASCPUXzllVfQr18/TJ48udPbYDKZcM455+CDDz7A9u3bvb5fUVHR4cd2OBx48cUXla9tNhtefPFFZGVlYcqUKQDk17m4uBgvv/yy18+3tLQoUxLmz58Po9GI+++/X1m1F3xlRAwcOBBff/01WlpaMGfOHK99wZ+SkhJ89NFHytf19fV48803MXHixHZLAmbPng2LxYKnnnpKs02vvvoq6urqcMYZZwAAJk+ejPz8fDzxxBNe+5H4uX79+mHmzJl48cUXceTIEa/fpf67tLefNzc3o7W1VXOfYcOGISkpyef4TSIiImYmEBFRRBgxYgTeeOMN/OEPf8D48eOxcOFC5OfnY//+/Xj11VdRWVmJ//znP8qKbVcZO3YsZs6ciSlTpiA9PR0bNmzA+++/j+uuu065j7io/fOf/4y5c+fCZDLhggsuwMknn4yrrroKixYtwpYtW3DaaafBbDajsLAQ7733Hp588kmce+65Xbq9aldeeSUWL16M8847D3/84x8xadIkVFVV4d1338X27dvx5ptvapogdsb//d//YdWqVZg6dSquuOIKjB07FtXV1di0aRO+/vprVFdXd+hx+/fvj4ceegj79+/HyJEj8e6772LLli146aWXlBGJF198MZYsWYKrr74aq1atwvHHHw+n04mCggIsWbIEX375JY455hgMHz4cf/vb3/DAAw/gxBNPxG9/+1tYrVasX78e/fv3x6JFi7x+//Dhw/HVV19h5syZmDt3LlauXOlVRqM3cuRILFy4EOvXr0d2djYWL16MsrIyvPbaa+0+36ysLNxxxx247777MG/ePPz617/Grl278Nxzz+HYY4/FRRddBAAwGo14/vnncdZZZ2HixIlYsGABcnNzUVBQgB07duDLL78EADz77LM44YQTMH78eFxxxRUYOnQoysrKsHbtWhw+fBg///wzgPb38927d+PUU0/F+eefj7FjxyImJgYfffQRysrKcMEFFwT/ByUior4jXGMkiIiIfNm6dat04YUXSrm5uZLZbJZycnKkCy+80OeoRDEasqKiwut7/sYm6kc0Pvjgg9Jxxx0npaamSnFxcdLo0aOlf/zjH8pYQkmSx/Rdf/31UlZWlmQwGLzGRL700kvSlClTpLi4OCkpKUkaP368dNttt0klJSV+f68Yofjee+9pHmvfvn1eIx0DqampkW666SYpPz9fMpvNUnJysjRr1izpiy++8LrvpZdeKiUkJHjdLl5HNehGQ0qSJJWVlUnXXnutlJeXp/xtTj31VOmll17q0PM6+eSTpXHjxkkbNmyQpk+fLsXGxkqDBw+WnnnmGa9ttNls0kMPPSSNGzdOslqtUlpamjRlyhTpvvvuk+rq6jT3Xbx4sTRp0iTlfieffLK0fPly5fu+9o1169ZJSUlJ0kknnaSMufRF/OyXX34pTZgwQbJardLo0aO9nq8YDbl+/Xqfj/PMM89Io0ePlsxms5SdnS1dc801XiMgJUmS1qxZI82ZM0dKSkqSEhISpAkTJkhPP/205j579uyRLrnkEiknJ0cym83SgAEDpDPPPFN6//33lfu0t59XVlZK1157rTR69GgpISFBSklJkaZOnSotWbLE72tBRER9m0GSOtAJiYiIiKgPGjJkCI466ih89tln4d4UIiKisGLPBCIiIiIiIiIKCYMJRERERERERBQSBhOIiIiIiIiIKCTsmUBEREREREREIWFmAhERERERERGFhMEEIiIiIiIiIgoJgwlEREREREREFBIGE4iIiIiIiIgoJAwmEBEREREREVFIGEwgIiIiIiIiopAwmEBEREREREREIWEwgYiIiIiIiIhCwmACEREREREREYWEwQQiIiIiIiIiCgmDCUREREREREQUEgYTiIiIiIiIiCgkDCYQERERERERUUgYTCAiIiIiIiKikDCYQEREREREREQhYTCBiIiIiIiIiELCYAIRERERERERhYTBBCIiIiIiIiIKCYMJRERERERERBQSBhOIiIiIiIiIKCQMJhARERERERFRSBhMICIiIiIiIqKQMJhARERERERERCFhMIGIiIiIiIiIQsJgAhERERERERGFhMEEIiIiIiIiIgoJgwlEREREREREFBIGE4iIiIiIiIgoJAwmEBEREREREVFIGEwgIiIiIiIiopDEhHsDeiOXy4WSkhIkJSXBYDCEe3OIiIiIiIiol5MkCQ0NDejfvz+Mxu7PG2AwoRuUlJQgLy8v3JtBREREREREfcyhQ4cwcODAbv89DCZ0g6SkJADAvn37kJ6eHuatIeoedrsdX331FU477TSYzeZwbw5Rt+B+Tn0B93PqC7ifU19QXV2N/Px85Xq0uzGY0A1EaUNSUhKSk5PDvDVE3cNutyM+Ph7Jycn8UKZei/s59QXcz6kv4H5OfYHdbgeAHiu1ZwNGIiIiIiIiIgoJgwlEREREREREFBIGE4iIiIiIiIgoJAwmEBEREREREVFIGEwgIiIiIiIiopAwmEBEREREREREIWEwgYiIiIiIiIhCwmACEREREREREYWEwQQiIiIiIiIiCgmDCUREREREREQUEgYTiIiIiIiIiCgkDCYQERERERERUUgYTCAiIiIiIiKikDCY0I3Oe3FduDeBiIiIiIiIqMsxmNCNiiqa0GJzhnsziIiIiIiIiLoUgwndrKSuJdybQERERERERNSlGEzoZiW1DCYQERERERFR78JgQjc7Utsa7k0gIiIiIiIi6lIMJnQzljkQERERERFRb8NgQjdjmQMRERERERH1NgwmdLMjdSxzICIiIiIiot6FwYRuVszMBCIiIiIiIuplGEzoZqXMTCAiIiIiIqJehsGEbtZsc6KxzRHuzSAiIiIiIiLqMgwmdKN4q/zyltczO4GIiIiIiIh6DwYTulFWghUAUFbfFuYtISIiIiIiIuo6DCZ0o8xEOZhQ3sDMBCIiIiIiIuo9GEzoRlmJFgDADf/dgudX7wnz1hARERERERF1DQYTulFmklX590PLCsK4JURERERERERdh8GEbiTKHIiIiIiIiIh6EwYTulFGgjncm0BERERERETU5RhM6EYJlhjl30ZDGDeEiIiIiIiIqAsxmNCNThqZibOO7g8AcElAm8MZ5i0iIiIiIiIi6jwGE7qRyWjAE7+bqHzd1MZgAhEREREREUU/BhO6mcloQJzZBABobHWEeWuIiIiIiIiIOo/BhB6QGCv3Tmhos4d5S4iIiIiIiIg6j8GEHpBklYMJLHMgIiIiIiKi3oDBhB6Q4A4mNDIzgYiIiIiIiHoBBhN6QKI7mNDAnglERERERETUCzCY0ANEzwSWORAREREREVFvwGBCD0hkmQMRERERERH1Igwm9AAlmMAyByIiIiIiIuoFGEzoAaLMoZFlDkRERERERNQLMJjQA1jmQERERERERL0Jgwk9wBNMYJkDERERERERRT8GE3pAkrvMob6FwQQiIiIiIiKKfgwm9ICMRCsAoLKxLcxbQkRERERERNR5URFM2L9/PxYuXIj8/HzExcVh2LBhuOeee2Cz2TT3kyQJjz76KEaOHAmr1YoBAwbgH//4h+Y+q1evxuTJk2G1WjF8+HC8/vrrXr/v2WefxZAhQxAbG4upU6fip59+6tT290uSgwkVDQwmEBERERERUfSLCfcGBKOgoAAulwsvvvgihg8fju3bt+OKK65AU1MTHn30UeV+N9xwA7766is8+uijGD9+PKqrq1FdXa18f9++fTjjjDNw9dVX4+2338aKFStw+eWXIzc3F3PnzgUAvPvuu7j55pvxwgsvYOrUqXjiiScwd+5c7Nq1C/369evQ9me5gwnVzTbYnS6YTVERwyEiIiIiIiLyKSqCCfPmzcO8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mUBERERERETRgcGEMIszMzOBiIiIiIiIoguDCWEWa5b/BK0MJhAREREREVGUYDAhzOIsosyBwQQiIiIiIiKKDgwmhFlsDIMJREREREREFF0YTAizWDHNwcYGjERERERERBQdGEwIM9GAsdXBzAQiIiIiIiKKDgwmhJlowNhiYzCBiIiIiIiIogODCWEmMhPamJlAREREREREUYLBhDCLNYueCQwmEBERERERUXRgMCHMRDCh1c4GjERERERERBQdGEwIMyUzgaMhiYiIiIiIKEowmBBmyjQHBhOIiIiIiIgoSjCYEGZimgODCURERERERBQtGEwIszj2TCAiIiIiIqIow2BCmFnZM4GIiIiIiIiiDIMJYcaeCURERERERBRtGEwIM9EzgZkJREREREREFC0YTAizOIucmdDGnglEREREREQUJRhMCLPYGDmYYHO64HRJYd4aIiIiIiIiovYxmBBmIjMBYN8EIiIiIiIiig5REUzYv38/Fi5ciPz8fMTFxWHYsGG45557YLPZNPf78ssvMW3aNCQlJSErKwvnnHMO9u/fr7nP6tWrMXnyZFitVgwfPhyvv/661+979tlnMWTIEMTGxmLq1Kn46aefuu25WWM8fwL2TSAiIiIiIqJoEBXBhIKCArhcLrz44ovYsWMHHn/8cbzwwgu48847lfvs27cPZ599Nk455RRs2bIFX375JSorK/Hb3/5Wc58zzjgDs2bNwpYtW3DjjTfi8ssvx5dffqnc591338XNN9+Me+65B5s2bcLRRx+NuXPnory8vFuem8FgUJowMjOBiIiIiIiIokFMuDcgGPPmzcO8efOUr4cOHYpdu3bh+eefx6OPPgoA2LhxI5xOJx588EEYjfLF+V/+8hecffbZsNvtMJvNeOGFF5Cfn4/HHnsMADBmzBisWbMGjz/+OObOnQsA+Ne//oUrrrgCCxYsAAC88MIL+Pzzz7F48WLcfvvt3fL8UuMsKLW3YtvhOgxMi++W30FERERERETUVaIiM8GXuro6pKenK19PmTIFRqMRr732GpxOJ+rq6vDWW29h9uzZMJvNAIC1a9di9uzZmseZO3cu1q5dCwCw2WzYuHGj5j5GoxGzZ89W7tMdzjtmIADgyRWFcLEJIxEREREREUW4qMhM0CsqKsLTTz+tZCUAQH5+Pr766iucf/75uOqqq+B0OjF9+nQsXbpUuU9paSmys7M1j5WdnY36+nq0tLSgpqYGTqfT530KCgr8bk9bWxva2tqUr+vr6wEAdrsddru93edz6bQ8LF6zDwWlDVi/rxKTB6W2+zNE4Sb27WD2caJoxf2c+gLu59QXcD+nvqCn9++wBhNuv/12PPTQQwHvs3PnTowePVr5uri4GPPmzcN5552HK664Qrm9tLQUV1xxBS699FJceOGFaGhowN13341zzz0Xy5cvh8Fg6LbnsWjRItx3331et69atQrx8cGVLYxONmJjpRHPfvojzsl3dfUmEnWb5cuXh3sTiLod93PqC7ifU1/A/Zx6s+bm5h79fWENJtxyyy247LLLAt5n6NChyr9LSkowa9YszJgxAy+99JLmfs8++yxSUlLw8MMPK7f9+9//Rl5eHtatW4dp06YhJycHZWVlmp8rKytDcnIy4uLiYDKZYDKZfN4nJyfH7zbecccduPnmm5Wv6+vrkZeXh1mzZiEjIyPg8xOsBeXY+PYWFDTF4Ve/Oqlbgx9EXcFut2P58uWYM2eOUkpE1NtwP6e+gPs59QXcz6kvqKqq6tHfF9ZgQlZWFrKysoK6b3FxMWbNmoUpU6bgtddeU5osCs3NzV63mUwmAIDLJa/068seADk6OX36dACAxWLBlClTsGLFCsyfP1/52RUrVuC6667zu21WqxVWq9XrdrPZHPTB6sSRcmlFeUMbbJIRiZaorEChPiiU/ZwoWnE/p76A+zn1BdzPqTfr6X07KhowFhcXY+bMmRg0aBAeffRRVFRUoLS0FKWlpcp9zjjjDKxfvx73338/CgsLsWnTJixYsACDBw/GpEmTAABXX3019u7di9tuuw0FBQV47rnnsGTJEtx0003K49x88814+eWX8cYbb2Dnzp245ppr0NTUpEx36C7xFhNMRjkboaGVtVxEREREREQUuaJi+Xv58uUoKipCUVERBg4cqPmeJMnTD0455RS88847ePjhh/Hwww8jPj4e06dPx7JlyxAXFwdAbtL4+eef46abbsKTTz6JgQMH4pVXXlHGQgLA7373O1RUVODuu+9GaWkpJk6ciGXLlnk1ZexqBoMBSbExqG22o7HVAaR0668jIiIiIiIi6rCoCCZcdtll7fZWAIALLrgAF1xwQcD7zJw5E5s3bw54n+uuuy5gWUN3EcGE+lZHj/9uIiIiIiIi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",
@@ -344,6 +266,7 @@
],
"source": [
"timevec, U = evaluate_ou_process(neuron_model_name_adapt_curr,\n",
+ " module_name,\n",
" h=1.,\n",
" t_sim=1000.,\n",
" neuron_parms={\"U\" : -2500.,\n",
@@ -370,7 +293,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 23,
"metadata": {},
"outputs": [
{
@@ -378,1011 +301,111 @@
"output_type": "stream",
"text": [
"For h = 0.01, tau_noise = 10.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:53:59 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:53:59 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:53:59 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:53:59 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:53:59 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:53:59 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 0.01, tau_noise = 10.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:00 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:00 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:00 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 102.21030336065829\n",
"Expected variance: 100.0\n",
"For h = 0.01, tau_noise = 10.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:00 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:00 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:00 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 10221.030336065825\n",
"Expected variance: 10000.0\n",
"For h = 0.01, tau_noise = 10.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:00 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:00 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:00 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:00 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:01 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 1022103.0336065828\n",
"Expected variance: 1000000.0\n",
"For h = 0.01, tau_noise = 100.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:01 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:01 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:01 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:01 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:01 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:01 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 0.01, tau_noise = 100.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:01 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:01 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:01 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:01 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:01 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 114.93624532212093\n",
"Expected variance: 100.0\n",
"For h = 0.01, tau_noise = 100.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:02 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:02 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:02 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 11493.62453221208\n",
"Expected variance: 10000.0\n",
"For h = 0.01, tau_noise = 100.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:02 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:02 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:02 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:02 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 1149362.453221211\n",
"Expected variance: 1000000.0\n",
"For h = 0.01, tau_noise = 1000.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:03 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:03 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:03 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 0.01, tau_noise = 1000.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:03 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:03 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:03 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 94.22834590929104\n",
"Expected variance: 100.0\n",
"For h = 0.01, tau_noise = 1000.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:03 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:03 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:03 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:03 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 9422.834590928938\n",
"Expected variance: 10000.0\n",
"For h = 0.01, tau_noise = 1000.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:04 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:04 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.01 ms.\n",
- "\n",
- "Mar 25 14:54:04 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 942283.4590929038\n",
"Expected variance: 1000000.0\n",
"For h = 0.1, tau_noise = 10.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:04 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:04 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:04 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 0.1, tau_noise = 10.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:04 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:04 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:04 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 99.44588939205474\n",
"Expected variance: 100.0\n",
"For h = 0.1, tau_noise = 10.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:04 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:04 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:04 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 9944.588939205476\n",
"Expected variance: 10000.0\n",
"For h = 0.1, tau_noise = 10.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:04 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:04 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:04 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:04 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 994458.8939205472\n",
"Expected variance: 1000000.0\n",
"For h = 0.1, tau_noise = 100.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 0.1, tau_noise = 100.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 96.98034018669549\n",
"Expected variance: 100.0\n",
"For h = 0.1, tau_noise = 100.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 9698.034018669543\n",
"Expected variance: 10000.0\n",
"For h = 0.1, tau_noise = 100.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 969803.4018669543\n",
"Expected variance: 1000000.0\n",
"For h = 0.1, tau_noise = 1000.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 0.1, tau_noise = 1000.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 137.92623396537726\n",
"Expected variance: 100.0\n",
"For h = 0.1, tau_noise = 1000.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 13792.623396537845\n",
"Expected variance: 10000.0\n",
"For h = 0.1, tau_noise = 1000.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 0.1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 1379262.33965378\n",
"Expected variance: 1000000.0\n",
"For h = 1.0, tau_noise = 10.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 1.0, tau_noise = 10.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
"Actual variance: 102.32554029453819\n",
"Expected variance: 100.0\n",
"For h = 1.0, tau_noise = 10.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 10232.554029453817\n",
"Expected variance: 10000.0\n",
"For h = 1.0, tau_noise = 10.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 1023255.4029453819\n",
"Expected variance: 1000000.0\n",
"For h = 1.0, tau_noise = 100.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 1.0, tau_noise = 100.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 102.5676581333639\n",
"Expected variance: 100.0\n",
"For h = 1.0, tau_noise = 100.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 10256.76581333639\n",
"Expected variance: 10000.0\n",
"For h = 1.0, tau_noise = 100.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 1025676.581333639\n",
"Expected variance: 1000000.0\n",
"For h = 1.0, tau_noise = 1000.0, sigma_noise = 0.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 0.0\n",
"Expected variance: 0.0\n",
"For h = 1.0, tau_noise = 1000.0, sigma_noise = 10.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 65.70587968208686\n",
"Expected variance: 100.0\n",
"For h = 1.0, tau_noise = 1000.0, sigma_noise = 100.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 6570.587968208678\n",
"Expected variance: 10000.0\n",
"For h = 1.0, tau_noise = 1000.0, sigma_noise = 1000.0\n",
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"Actual variance: 657058.7968208689\n",
"Expected variance: 1000000.0\n"
]
@@ -1403,6 +426,7 @@
" print(\"For h = \" + str(_h) + \", tau_noise = \" + str(_tau_noise) + \", sigma_noise = \" + str(_sigma_noise))\n",
" c = (_sigma_noise * np.sqrt(2 / _tau_noise))**2\n",
" timevec, U = evaluate_ou_process(neuron_model_name_adapt_curr,\n",
+ " module_name,\n",
" h=_h,\n",
" t_sim=25000.,\n",
" neuron_parms={\"U\" : 0.,\n",
@@ -1434,46 +458,9 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 24,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 25 14:54:05 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:54:05 correlation_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlomatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.5 to 5 ms\n",
- "\n",
- "Mar 25 14:54:05 correlospinmatrix_detector [Info]: \n",
- " Default for delta_tau changed from 0.1 to 1 ms\n",
- "\n",
- "Mar 25 14:54:05 ornstein_uhlenbeck_noise_nestml [Warning]: \n",
- " Simulation resolution has changed. Internal state and parameters of the \n",
- " model have been reset!\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::set_status [Info]: \n",
- " Temporal resolution changed from 0.1 to 1 ms.\n",
- "\n",
- "Mar 25 14:54:05 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 2 nodes for simulation.\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 2\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:54:05 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABBcAAAHyCAYAAACwDSanAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD8c0lEQVR4nOzddXQbZ9YG8EeSOTGE7DAzM7RJmrbhNm267ZY5ZfgKu2WG3dIWt4wpt1umNA020DAzO5w4ThzHdmzLsjTfH/JIwxoxPb9zciKNRtJIHkkz973vvRZBEAQQEREREREREQXIGu0NICIiIiIiIqL4xuACEREREREREQWFwQUiIiIiIiIiCgqDC0REREREREQUFAYXiIiIiIiIiCgoDC4QERERERERUVAYXCAiIiIiIiKioDC4QERERERERERBYXCBiIiIiIiIiILC4AIRERERERERBYXBBSIiIiIiIiIKCoMLRETk09SpU2GxWLB79+6obsfjjz8Oi8WCo0ePGq4Xqe01uz2J8ryJ7vnnn0fXrl3hcrmivSmUAN5++220bt0adrs92ptCRBQRDC4QEYXYxo0bcfnll6NFixZIT09H8+bNcdlll2Hjxo1R26ZFixbh8ccfR2lpadS2QYuvk+SePXti1KhRkd0oSkplZWV47rnncN9998FqjczhUUVFBR577DGMHz8eDRs2hMViwdSpU3XXt9vtuO+++9C8eXNkZmZiyJAhmDlzZlDr+vOYscKf9y2a79nVV1+NmpoavPPOO0G9XiKieMHgAhFRCH3//ffo378/Zs+ejWuuuQZvvvkmpkyZgrlz56J///744YcforJdixYtwhNPPBFwcOGKK65AVVUV2rRpE9oNI4oRH374IWpra3HJJZdE7DmPHj2KJ598Eps3b0afPn18rn/11VfjpZdewmWXXYZXX30VNpsNEydOxMKFCwNe15/HjBX+vG/RfM8yMjJw1VVX4aWXXoIgCMG/cCKiWCcQEVFI7NixQ8jKyhK6du0qHDlyRHZbcXGx0LVrV6FevXrCzp07DR+noqIi5Nv2wgsvCACEwsLCkD92MB577DEBgFBcXKx5e48ePYTTTjvN9Pqijz76KCKv1+z2JMrzhmPfjBW9e/cWLr/88og+Z3V1tXDo0CFBEARh+fLlAgDho48+0lx36dKlAgDhhRde8CyrqqoSOnTo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H3xg/g0xyez7Fs33TBAE4b777hNat24tayVLRJSoLIIQQAUpIiIiijuPP/44nnjiCRQXF6Nx48bR3pyYcuLECbRv3x7PP/88pkyZEu3NiTnTpk3D2WefjbVr16JXr17R3py4YLfb0bZtW9x///244447or05RERhx5oLRERElPRyc3Nx77334oUXXlDV/yBg7ty5uPjiixlY8MNHH32E1NRU3HTTTdHeFCKiiGDmAhERUZJg5gIRERGFCzMXiIiIiIiIiCgozFwgIiIiIiIioqAwc4GIiIiIiIiIgsLgAhEREREREREFhcEFIiIiIiIiIgoKgwtEREREREREFBQGF4iIiIiIiIgoKAwuEBEREREREVFQGFwgIiIiIiIioqAwuEBEREREREREQWFwgYiIiIiIiIiCwuACEREREREREQWFwQUiIiIiIiIiCgqDC0REREREREQUFAYXiIiIiIiIiCgoDC4QERERERERUVAYXCAiIiIiIiKioDC4QERERERERERBYXCBiIiIiIiIiILC4AIRERERERERBYXBBSIiIiIiIiIKCoMLRERERERERBQUBheIiIiIiIiIKCgMLhARERERERFRUBhcICIiIiIiIqKgMLhAREREREREREFhcIGIiIiIiIiIgsLgAhEREREREREFhcEFIiIiIiIiIgoKgwtEREREREREFJSUaG9AInK5XDh48CCys7NhsViivTlERERERESU4ARBQHl5OZo3bw6rNfJ5BAwuhMHBgwfRqlWraG8GERERERERJZl9+/ahZcuWEX9eBhfCIDs7GwBQWFiIhg0bRnlriMLD4XBgxowZGDt2LFJTU6O9OURhwf2ckgH3c0oG3M8pGZSUlKBdu3ae89FIY3AhDMSpENnZ2cjJyYny1hCFh8PhQFZWFnJycvgjTQmL+zklA+7nlAy4n1MycDgcABC1qfks6EhEREREREREQWFwgYiIiIiIiIiCwuACEREREREREQWFwQUiIiIiIiIiCgqDC0REREREREQUFAYXiIiIiIiIiCgoDC4QERERERERUVAYXCAiIiIiIiKioDC4QERERERERERBYXCBiIiIiIiIiILC4AIRERERERERBYXBBSIiIiIiIiIKCoMLRERERERERBQUBhco6R0+UY2rPlyGOVuKor0pREREREREcYnBBUp6/5q2GfO2FePaqSuivSlERERERERxicEFSnq/rD0Y7U0gIiIiIiKKawwuUFKrqnFGexOIiIiIiIjiHoMLlNTOe/OvaG8CERERERFR3GNwgZLalsPl0d4EIiIiIiKiuMfgAhEREREREREFhcEF0uRwurBq73HUOl3R3pSIyctKjfYmEBERERERxSUGF0jT079uwt/eXISnf9uMorLqaG9ORNTUJk8ghYiIiIiIKJRSor0BFF2VNbX4ZPEetMjLRHZGCprmZsACCz5evAcAMHXRbkxdtBurHxmDBvXSory14WVncIGIiIiIiCggDC4kuf/8sQ0f/lXoc73Nh8twSofGEdiiyEpPsXqCCk6XAIfThVQbE3qIiIiIiIj8wbOoJLdiT4mp9VwJOqg/rkdT2fVqhzNKW0JERERERBS/GFxIQsdP1uDlmduw91glbFaLqfs4BSHMWxUdTpf8ddU6E/N1EhERERERhROnRSShB39Yj983HMars7ebvk9VTWKO6NcoumHUuhhcICIiIiIi8hczF5LQskJzUyGkbvpsZRi2JHru+WYt2t7/G+ZvK5Yt33PspOb6ywpLcOqzc7Bk17FIbB4REREREVFciZvgwjPPPINBgwYhOzsb+fn5mDx5MrZu3Spbp7q6GrfeeisaNWqE+vXr4/zzz0dRUZFsnb179+Kss85CVlYW8vPzcc8996C2tla2zp9//on+/fsjPT0dHTt2xNSpU8P98iIqxWZuKkQi2lVcgYmvLsA3K/cDUHeIeP6PrVp3w4XvLMaB0ipc/O6SsG8jERERERFRvImb4MK8efNw6623YsmSJZg5cyYcDgfGjh2Lkye9I8133XUXfvnlF3zzzTeYN28eDh48iL/97W+e251OJ8466yzU1NRg0aJF+PjjjzF16lQ8+uijnnUKCwtx1lln4fTTT8eaNWtw55134rrrrsMff/wR0dcbTsncDeG+79Zh06Ey3dtrnQlauZKIiIiIiCiM4qbmwvTp02XXp06divz8fKxcuRIjR47EiRMn8MEHH+CLL77AGWecAQD46KOP0K1bNyxZsgRDhw7FjBkzsGnTJsyaNQsFBQXo27cvnnrqKdx33314/PHHkZaWhrfffhvt2rXDiy++CADo1q0bFi5ciJdffhnjxo2L+OsOh2QOLhyvdBjenpLE7w0REREREVGg4ia4oHTixAkAQMOGDQEAK1euhMPh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1iUjSVlticEFIiKi0MbgAhEREYWcGwd2VDzXM7hAREQU0hhcICIiopATodfh7mFZ0vOkGPuqTERERBQ6GFwgIiKikJQQbZQeJ8UYnbQkIiKiYGNwgYiIiEKSUcfTFCIiopaCv9pEREQUkgw65lkgIiJqKRhcICIiopA0okcKAE6JICIiagn0wT4AIiIiIjWZyTH48cGRSGRwgYiIKOQxuEBEREQhKz0pOtiHQERERG7gtAgiIiIiIiIi8gqDC0RERERERETkFQYXiIiIiIiIiMgrDC4QERERERERkVcYXCAiIiIiIiIirzC4QEREREREREReYXCBiIiIiIiIiLzC4AIREREREREReYXBBSIiIiIiIiLyCoMLREREREREROQVBheIiIiIiIiIyCsMLhARERERERGRVxhcICIiIiIiIiKvMLhARERERERERF7RB/sAwpEgCACA6upqGAyGIB8NkX+YTCbU1NSgqqqK/ZzCFvs5tQbs59QasJ9Ta1BdXQ3Aej0aaAwu+EFFRQUAICsrK8hHQkRERERERK1JRUUF4uPjA75fBhf8ICkpCQBQUlISlD8qUSBUVVUhPT0dR48eRVxcXLAPh8gv2M+pNWA/p9aA/Zxag3PnziEjI0O6Hg00Bhf8QKttTGURHx/PLy8Ke3FxceznFPbYz6k1YD+n1oD9nFoD8Xo04PsNyl6JiIiIiIiIKGwwuEBEREREREREXmFwwQ8iIiIwb948REREBPtQiPyG/ZxaA/Zzag3Yz6k1YD+n1iDY/VwjBKtOBRERERERERGFBY5cICIiIiIiIiKvMLhARERERERERF5hcIGIiIiIiIiIvMLgAhERERERERF5hcEFP3j99deRmZmJyMhIDB48GOvXrw/2IRGpeu6553DJJZegTZs2SElJwfjx47Fnzx5Fm9raWsyYMQNt27ZFbGwsbrzxRpSVlSnalJSUYNy4cYiOjkZKSgpmz56NhoYGRZvVq1djwIABiIiIQNeuXbFo0SJ/vz0iO88//zw0Gg0KCwulZezjFA6OHz+O22+/HW3btkVUVBRyc3OxYcMGab0gCJg7dy7at2+PqKgojBo1Cvv27VNs48yZM5g4cSLi4uKQkJCAO++8E+fPn1e02bp1K4YNG4bIyEikp6dj/vz5AXl/RGazGX/961+RlZWFqKgodOnSBU899RTkuenZz6kl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mzZh9OjRmDRpEmpqagAAlZWVuPLKK5GXl4cNGzZg2bJlKCsrw80339ys/b/88ssYOnQoNm/ejHHjxmHSpEmYPHkybr/9dmzatAldunTB5MmTpekcM2bMQF1dHdasWYNt27bhhRde4EgFIiIiH2BwgYiIiJqtX79+mDNnDrp164ZHHnkEkZGRSE5Oxt13341u3bph7ty5qKiowNatWwEA//jHP5CXl4dnn30WOTk5yMvLw7vvvotVq1Zh7969Hu9/7NixuPfee6V9VVVV4ZJLLsGECRPQvXt3PPTQQ9i1axfKysoAACUlJRg6dChyc3ORnZ2N3/3udxg+fLhP/02IiIhaIwYXiIiIqNn69u0rPdbpdGjbti1yc3OlZampqQCA8vJyAMCWLVuwatUqKYdDbGwscnJyAAAHDhzwav/ivpzt/y9/+QuefvppDB06FPPmzZOCHkREROQdBheIiIio2QwGg+K5RqNRLBOrUFgsFgDA+fPnce2116K4uFjx3759+5o1gkBtX872f9ddd+HgwYOYNGkStm3bhkGDBuG1117zeL9ERESkxOACERERBcyAAQOwY8cOZGZmomvXror//FlmUi49PR3Tpk3D559/jgceeABvv/12QPZLREQUzhhcICIiooCZMWMGzpw5g9tuuw2//fYbDhw4gOXLl2Pq1Kkwm81+339hYSGWL1+OQ4cOYdOmTVi1ahV69uzp9/0SERGFOwYXiIiIKGA6dOiAn3/+GWazGaNHj0Zubi4KCwuRkJAArdb/pyVmsxkzZsxAz549MWbMGHTv3h1vvPGG3/dLREQU7jSCWJuJiIiIKAQtWrQIhYWFqKysDMj+Hn/8cSxZsgTFxcUB2R8REVE44MgFIiIiCnnnzp1DbGwsHnroIb/to6SkBLGxsXj22Wf9tg8iIqJwxZELREREFNKqq6tRVlYGAEhISEBycrJf9tPQ0IDDhw8DACIiIpCenu6X/RAREYUjBheIiIiIiIiIyCucFkFEREREREREXmFwgYiIiIiIiIi8wuACEREREREREXmFwQUiIiIiIiIi8gqDC0RERERERETkFQYXiIiIiIiIiMgrDC4QERERERERkVcYXCAiIiIiIiIirzC4QERERERERERe+X/4OL7BH1Bl3QAAAABJRU5ErkJggg==",
@@ -1487,6 +474,7 @@
],
"source": [
"timevec, U = evaluate_ou_process(neuron_model_name_adapt_curr,\n",
+ " module_name,\n",
" h=_h,\n",
" t_sim=10000.,\n",
" neuron_parms={\"U\" : 0.,\n",
@@ -1498,7 +486,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 25,
"metadata": {},
"outputs": [
{
@@ -1538,7 +526,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
@@ -1588,28 +576,13 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 21 2024 13:58:01\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n",
"[14,iaf_psc_exp_nestml, WARNING, [33:18;33:103]]: Implicit casting from (compatible) type 'pA' to 'real'.\n"
]
},
@@ -1640,7 +613,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml__module Configuration Summary\u001b[0m\n",
+ "\u001b[0miaf_psc_exp_ou_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -1652,15 +625,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml__module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'iaf_psc_exp_ou_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml__module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_k2k3kpkn\u001b[0m\n",
+ "\u001b[0mThe library file libiaf_psc_exp_ou_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_csdcfkxn\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml__module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml__module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (iaf_psc_exp_ou_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(iaf_psc_exp_ou_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -1675,9 +648,9 @@
"-- Configuring done (0.7s)\n",
"-- Generating done (0.0s)\n",
"-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/ornstein_uhlenbeck_noise/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/nestml__module.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml__module_module.dir/iaf_psc_exp_nestml.o\u001b[0m\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/ornstein_uhlenbeck_noise/target/nestml__module.cpp:31:\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/iaf_psc_exp_ou_module_module.dir/iaf_psc_exp_ou_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/iaf_psc_exp_ou_module_module.dir/iaf_psc_exp_nestml.o\u001b[0m\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/ornstein_uhlenbeck_noise/target/iaf_psc_exp_ou_module.cpp:31:\n",
"/Users/pooja/nestml/master/doc/tutorials/ornstein_uhlenbeck_noise/target/iaf_psc_exp_nestml.h:244:17: warning: 'iaf_psc_exp_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
@@ -1699,20 +672,21 @@
" ^\n",
"1 warning generated.\n",
"3 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml__module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module iaf_psc_exp_ou_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml__module_module\n",
- "[100%] Built target nestml__module_module\n",
+ "[100%] Built target iaf_psc_exp_ou_module_module\n",
+ "[100%] Built target iaf_psc_exp_ou_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_k2k3kpkn/nestml__module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_csdcfkxn/iaf_psc_exp_ou_module.so\n"
]
}
],
"source": [
"# generate and build code\n",
- "module_name, neuron_model_name = \\\n",
- " NESTCodeGeneratorUtils.generate_code_for(nestml_iaf_psc_exp_model)"
+ "module_name_ou, neuron_model_name = \\\n",
+ " NESTCodeGeneratorUtils.generate_code_for(nestml_iaf_psc_exp_model,\n",
+ " module_name=\"iaf_psc_exp_ou_module\")"
]
},
{
@@ -1724,7 +698,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
@@ -1786,30 +760,9 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 29,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 25 14:55:20 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:55:20 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 25 14:55:20 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 300\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:55:20 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"image/png": "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z2ndunVau3atrr32Wt10003aunWrpAD6XBnwu8svv9yYNGmS+3FdXZ3Rvn1749lnnzWxKvNNnz7d6Nu3b7PrTp06ZdhsNuNvf/ube9n27dsNSUZhYWErVRgYJBlvv/22+7HL5TIyMjKMOXPmuJedOnXKsNvtxl//+lfDMAxj27ZthiTjs88+c2+zePFiw2KxGAcPHmy12s3wzX4ZhmGMGzfOuOmmm875nHDu15EjRwxJxooVKwzD8Oxn7/333zesVqtRWlrq3ub3v/+9kZCQYDgcjtZ9A63om70yDMO45pprjJ/97GfnfE649qpBcnKy8corrwTU54o9Pn5WU1OjdevW6frrr3cvs1qtuv7661VYWGhiZYFh165dat++vXJzc3XHHXdo//79kqR169bJ6XQ26lu3bt2UnZ0d9n3bu3evSktLG/UmMTFR+fn57t4UFhYqKSlJgwYNcm9z/fXXy2q1as2aNa1ecyD48MMP1a5dO3Xt2lX333+/jh8/7l4Xzv0qKyuTJKWkpEjy7GevsLBQvXv3Vnp6unubESNGqLy83P2/+1D0zV41eO2115SamqpevXpp2rRpqqqqcq8L117V1dXpjTfeUGVlpQYPHhxQnytuUupnx44dU11dXaO/SElKT0/X559/blJVgSE/P1/z589X165dVVJSopkzZ+rqq6/Wli1bVFpaqqioKCUlJTV6Tnp6ukpLS80pOEA0vP/mPlMN60pLS9WuXbtG6yMjI5WSkhKW/Rs5cqRuueUWderUSXv27NEvfvEL3XDDDSosLFRERETY9svlcumhhx7SkCFD1KtXL0ny6GevtLS02c9fw7pQ1FyvJGn06NHKyclR+/bttWnTJj322GPasWOH3nrrLUnh16vNmzdr8ODBqq6uVlxcnN5++2316NFDRUVFAfO5IvjANDfccIP7+z59+ig/P185OTl688031aZNGxMrQ6j50Y9+5P6+d+/e6tOnjzp37qwPP/xQ1113nYmVmWvSpEnasmVLo7l1aN65evX1eWC9e/dWZmamrrvuOu3Zs0edO3du7TJN17VrVxUVFamsrEx///vfNW7cOK1YscLsshrhUJefpaamKiIiosnM9cOHDysjI8OkqgJTUlKS8vLytHv3bmVkZKimpkanTp1qtA19k/v9t/SZysjIaDJ5vra2VidOnAj7/klSbm6uUlNTtXv3bknh2a+f/vSneu+997R8+XJ16NDBvdyTn72MjIxmP38N60LNuXrVnPz8fElq9NkKp15FRUWpS5cuGjhwoJ599ln17dtXL7zwQkB9rgg+fhYVFaWBAwfqP//5j3uZy+XSf/7zHw0ePNjEygLP6dOntWfPHmVmZmrgwIGy2WyN+rZjxw7t378/7PvWqVMnZWRkNOpNeXm51qxZ4+7N4MGDderUKa1bt869zbJly+Ryudz/MIezL7/8UsePH1dmZqak8OqXYRj66U9/qrffflvLli1Tp06dGq335Gdv8ODB2rx5c6OwWFBQoISEBPXo0aN13kgrOF+vmlNUVCRJjT5b4dCrc3G5XHI4HIH1ufLZNGmc0xtvvGHY7XZj/vz5xrZt24x77rnHSEpKajRzPRxNmTLF+PDDD429e/can3zyiXH99dcbqampxpEjRwzDMIz77rvPyM7ONpYtW2asXbvWGDx4sDF48GCTq24dFRUVxoYNG4wNGzYYkoy5c+caGzZsMPbt22cYhmE899xzRlJSkvGPf/zD2LRpk3HTTTcZnTp1Ms6cOeMeY+TIkUb//v2NNWvWGB9//LFx6aWXGrfffrtZb8mvWupXRUWF8cgjjxiFhYXG3r17jaVLlxoDBgwwLr30UqO6uto9Rrj06/777zcSExONDz/80CgpKXF/VVVVubc5389ebW2t0atXL2P48OFGUVGR8e9//9tIS0szpk2bZsZb8pvz9Wr37t3Gk08+aaxdu9bYu3ev8Y9//MPIzc01hg4d6h4jXHplGIYxdepUY8WKFcbevXuNTZs2GVOnTjUsFouxZMkSwzAC53NF8GklL730kpGdnW1ERUUZl19+ubF69WqzSzLdD3/4QyMzM9OIiooyLrnkEuOHP/yhsXv3bvf6M2fOGD/5yU+M5ORkIyYmxviv//ovo6SkxMSKW8/y5csNSU2+xo0bZxhG/Sntv/rVr4z09HTDbrcb1113nbFjx45GYxw/fty4/fbbjbi4OCMhIcG46667jIqKChPejf+11K+qqipj+PDhRlpammGz2YycnBxj4sSJTf7jES79aq5PkoxXX33VvY0nP3vFxcXGDTfcYLRp08ZITU01pkyZYjidzlZ+N/51vl7t37/fGDp0qJGSkmLY7XajS5cuxs9//nOjrKys0Tjh0CvDMIy7777byMnJMaKiooy0tDTjuuuuc4cewwicz5XFMAzDd/uPAAAAAhdzfAAAQNgg+AAAgLBB8AEAAGGD4AMAAMIGwQcAAIQNgg8AAAgbBB8AABA2CD4AACBsEHwABITx48fr5ptvbvXXnT9/viwWiywWix566CG/vU5xcbH7dfr16+e31wHQskizCwAQ+iwWS4vrp0+frhdeeEFmXUg+ISFBO3bsUGxsrN9eIysrSyUlJXr++ee1dOlSv70OgJYRfAD4XUlJifv7hQsX6oknntCOHTvcy+Li4hQXF2dGaZLqg1lGRoZfXyMiIkIZGRmmvk8AHOoC0AoyMjLcX4mJie6g0fAVFxfX5FDXt771LT3wwAN66KGHlJycrPT0dP3pT39SZWWl7rrrLsXHx6tLly5avHhxo9fasmWLbrjhBsXFxSk9PV1jxozRsWPHvK65Y8eOevrppzV27FjFxcUpJydH7777ro4ePaqbbrpJcXFx6tOnj9auXet+zr59+/S9731PycnJio2NVc+ePfX+++9fcN8A+B7BB0DAWrBggVJTU/Xpp5/qgQce0P3336/bbrtNV155pdavX6/hw4drzJgxqqqqkiSdOnVK1157rfr376+1a9fq3//+tw4fPqwf/OAHF/T6v/nNbzRkyBBt2LBBN954o8aMGaOxY8fqzjvv1Pr169W5c2eNHTvWfYhu0qRJcjgc+uijj7R582bNmjWLPTxAgCH4AAhYffv21eOPP65LL71U06ZNU3R0tFJTUzVx4kRdeumleuKJJ3T8+HFt2rRJkvS73/1O/fv31zPPPKNu3bqpf//+mjdvnpYvX66dO3d6/frf+c53dO+997pfq7y8XJdddpluu+025eXl6bHHHtP27dt1+PBhSdL+/fs1ZMgQ9e7dW7m5ufrud7+roUOH+rQnAC4OwQdAwOrTp4/7+4iICLVt21a9e/d2L0tPT5ckHTlyRJK0ceNGLV++3D1nKC4uTt26dZMk7dmz56Jev+G1Wnr9Bx98UE8//bSGDBmi6dOnuwMZgMBB8AEQsGw2W6PHFoul0bKGs8VcLpck6fTp0/re976noqKiRl+7du26oD0vzb1WS6//4x//WF988YXGjBmjzZs3a9CgQXrppZe8fl0A/kPwARAyBgwYoK1bt6pjx47q0qVLoy9/nqr+dVlZWbrvvvv01ltvacqUKfrTn/7UKq8LwDMEHwAhY9KkSTpx4oRuv/12ffbZZ9qzZ48++OAD3XXXXaqrq/P76z/00EP64IMPtHfvXq1fv17Lly9X9+7d/f66ADxH8AEQMtq3b69PPvlEdXV1Gj58uHr37q2HHnpISUlJslr9/89dXV2dJk2apO7du2vkyJHKy8vT//zP//j9dQF4zmKYdalUAAgA8+fP10MPPaRTp061yuvNmDFD77zzjoqKilrl9QA0xh4fAGGvrKxMcXFxeuyxx/z2Gvv371dcXJyeeeYZv70GgPNjjw+AsFZRUeG+Dk9SUpJSU1P98jq1tbUqLi6WJNntdmVlZfnldQC0jOADAADCBoe6AABA2CD4AACAsEHwAQAAYYPgAwAAwgbBBwAAhA2CDwAACBsEHwAAEDYIPgAAIGz8f09Z9vP7t2TOAAAAAElFTkSuQmCC",
@@ -1822,7 +775,7 @@
}
],
"source": [
- "spike_times = evaluate_neuron(neuron_model_name, module_name, mu=300, sigma=0.)"
+ "spike_times = evaluate_neuron(neuron_model_name, module_name_ou, mu=300, sigma=0.)"
]
},
{
@@ -1834,30 +787,9 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 30,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 25 14:55:28 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:55:28 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 25 14:55:28 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 300\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:55:28 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"image/png": "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",
@@ -1870,7 +802,7 @@
}
],
"source": [
- "spike_times = evaluate_neuron(neuron_model_name, module_name, mu=300, sigma=200)\n",
+ "spike_times = evaluate_neuron(neuron_model_name, module_name_ou, mu=300, sigma=200)\n",
"assert spike_times.size > 0"
]
},
@@ -1883,28 +815,13 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "\n",
- "Mar 25 14:55:49 Install [Info]: \n",
- " loaded module nestml__module\n",
- "\n",
- "Mar 25 14:55:49 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 25 14:55:49 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 25000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 25 14:55:49 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
"265 spikes recorded\n",
"Mean ISI: 94.38219696969698\n",
"ISI std. dev.: 88.8518443884758\n"
@@ -1923,7 +840,7 @@
],
"source": [
"spike_times = evaluate_neuron(neuron_model_name,\n",
- " module_name,\n",
+ " module_name_ou,\n",
" mu=300,\n",
" sigma=200,\n",
" t_sim=25000.,\n",
diff --git a/doc/tutorials/spike_frequency_adaptation/nestml_spike_frequency_adaptation_tutorial.ipynb b/doc/tutorials/spike_frequency_adaptation/nestml_spike_frequency_adaptation_tutorial.ipynb
index e4fd4b76c..dc8b15020 100644
--- a/doc/tutorials/spike_frequency_adaptation/nestml_spike_frequency_adaptation_tutorial.ipynb
+++ b/doc/tutorials/spike_frequency_adaptation/nestml_spike_frequency_adaptation_tutorial.ipynb
@@ -45,29 +45,7 @@
"cell_type": "code",
"execution_count": 1,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 26 2024 10:08:21\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"# %matplotlib inline\n",
"\n",
@@ -91,7 +69,10 @@
"import re\n",
"import uuid\n",
"\n",
- "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils"
+ "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils\n",
+ "\n",
+ "# Set NEST verbosity to ERROR\n",
+ "nest.set_verbosity(\"M_ERROR\")"
]
},
{
@@ -139,34 +120,7 @@
"output_type": "stream",
"text": [
"WARNING:root:PyGSL is not available. The stiffness test will be skipped.\n",
- "WARNING:root:Error when importing: No module named 'pygsl'\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 26 2024 10:08:21\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
+ "WARNING:root:Error when importing: No module named 'pygsl'\n",
"WARNING:root:Under certain conditions, the propagator matrix is singular (contains infinities).\n",
"WARNING:root:List of all conditions that result in a singular propagator:\n",
"WARNING:root:\ttau_m = tau_syn_exc\n",
@@ -193,7 +147,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml_iaf_no_sfa_module Configuration Summary\u001b[0m\n",
+ "\u001b[0miaf_no_sfa_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -205,15 +159,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml_iaf_no_sfa_module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'iaf_no_sfa_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml_iaf_no_sfa_module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_0481rk8n\u001b[0m\n",
+ "\u001b[0mThe library file libiaf_no_sfa_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_72q0gk1i\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml_iaf_no_sfa_module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml_iaf_no_sfa_module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (iaf_no_sfa_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(iaf_no_sfa_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -225,43 +179,43 @@
" information run \"cmake --help-policy CMP0000\".\n",
"This warning is for project developers. Use -Wno-dev to suppress it.\n",
"\u001b[0m\n",
- "-- Configuring done (0.8s)\n",
+ "-- Configuring done (1.1s)\n",
"-- Generating done (0.0s)\n",
- "-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml_iaf_no_sfa_module_module.dir/iaf_psc_alpha_nestml.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml_iaf_no_sfa_module_module.dir/nestml_iaf_no_sfa_module.o\u001b[0m\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/nestml_iaf_no_sfa_module.cpp:31:\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_nestml.h:295:17: warning: 'iaf_psc_alpha_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
+ "-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/iaf_no_sfa_module_module.dir/iaf_no_sfa_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/iaf_no_sfa_module_module.dir/iaf_psc_alpha_nestml.o\u001b[0m\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_no_sfa_module.cpp:31:\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_psc_alpha_nestml.h:295:17: warning: 'iaf_psc_alpha_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
"/Users/pooja/conda/nestml_dev/include/nest/node.h:797:18: note: hidden overloaded virtual function 'nest::Node::get_C_m' declared here: different number of parameters (1 vs 0)\n",
" virtual double get_C_m( int comp );\n",
" ^\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_nestml.cpp:44:\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_nestml.h:295:17: warning: 'iaf_psc_alpha_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_psc_alpha_nestml.cpp:44:\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_psc_alpha_nestml.h:295:17: warning: 'iaf_psc_alpha_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
"/Users/pooja/conda/nestml_dev/include/nest/node.h:797:18: note: hidden overloaded virtual function 'nest::Node::get_C_m' declared here: different number of parameters (1 vs 0)\n",
" virtual double get_C_m( int comp );\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_nestml.cpp:192:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_psc_alpha_nestml.cpp:192:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_nestml.cpp:382:10: warning: unused variable 'get_t' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_psc_alpha_nestml.cpp:382:10: warning: unused variable 'get_t' [-Wunused-variable]\n",
" auto get_t = [origin, lag](){ return nest::Time( nest::Time::step( origin.get_steps() + lag + 1) ).get_ms(); };\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_nestml.cpp:376:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_no_sfa/iaf_psc_alpha_nestml.cpp:376:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
"1 warning generated.\n",
"4 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml_iaf_no_sfa_module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module iaf_no_sfa_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml_iaf_no_sfa_module_module\n",
- "[100%] Built target nestml_iaf_no_sfa_module_module\n",
+ "[100%] Built target iaf_no_sfa_module_module\n",
+ "[100%] Built target iaf_no_sfa_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_0481rk8n/nestml_iaf_no_sfa_module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_72q0gk1i/iaf_no_sfa_module.so\n"
]
}
],
@@ -269,12 +223,13 @@
"# generate and build code\n",
"module_name_no_sfa, neuron_model_name_no_sfa = \\\n",
" NESTCodeGeneratorUtils.generate_code_for(nestml_neuron_model=\"models/iaf_psc_alpha.nestml\",\n",
- " module_name=\"iaf_no_sfa\")"
+ " module_name=\"iaf_no_sfa_module\",\n",
+ " target_path=\"target_no_sfa\")"
]
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
@@ -337,32 +292,11 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 26 10:46:36 Install [Info]: \n",
- " loaded module nestml_iaf_no_sfa_module\n",
- "\n",
- "Mar 26 10:46:36 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:46:36 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 300\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:46:36 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"text/plain": [
@@ -370,7 +304,7 @@
" 157. , 172.9, 188.8, 204.7, 220.6, 236.5, 252.4, 268.3, 284.2])"
]
},
- "execution_count": 4,
+ "execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
@@ -467,32 +401,11 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 6,
"metadata": {
"scrolled": true
},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 26 2024 10:08:21\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
@@ -500,8 +413,8 @@
"WARNING:root:Under certain conditions, the propagator matrix is singular (contains infinities).\n",
"WARNING:root:List of all conditions that result in a singular propagator:\n",
"WARNING:root:\ttau_m = tau_sfa\n",
- "WARNING:root:\ttau_m = tau_syn_inh\n",
"WARNING:root:\ttau_m = tau_syn_exc\n",
+ "WARNING:root:\ttau_m = tau_syn_inh\n",
"line 1:31 extraneous input '*' expecting {'integer', 'real', 'string', 'boolean', 'void', '(', ',', NAME, UNSIGNED_INTEGER}\n",
"line 1:31 extraneous input '*' expecting {'integer', 'real', 'string', 'boolean', 'void', '(', ',', NAME, UNSIGNED_INTEGER}\n"
]
@@ -524,7 +437,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml_iaf_adapt_curr_module Configuration Summary\u001b[0m\n",
+ "\u001b[0miaf_adapt_curr_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -536,15 +449,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml_iaf_adapt_curr_module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'iaf_adapt_curr_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml_iaf_adapt_curr_module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_8rfw6ptq\u001b[0m\n",
+ "\u001b[0mThe library file libiaf_adapt_curr_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_r4il_31y\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml_iaf_adapt_curr_module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml_iaf_adapt_curr_module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (iaf_adapt_curr_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(iaf_adapt_curr_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -556,43 +469,43 @@
" information run \"cmake --help-policy CMP0000\".\n",
"This warning is for project developers. Use -Wno-dev to suppress it.\n",
"\u001b[0m\n",
- "-- Configuring done (0.6s)\n",
+ "-- Configuring done (0.7s)\n",
"-- Generating done (0.0s)\n",
- "-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml_iaf_adapt_curr_module_module.dir/nestml_iaf_adapt_curr_module.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml_iaf_adapt_curr_module_module.dir/iaf_psc_alpha_adapt_curr_nestml.o\u001b[0m\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/nestml_iaf_adapt_curr_module.cpp:31:\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_curr_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_curr_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
+ "-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/iaf_adapt_curr_module_module.dir/iaf_adapt_curr_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/iaf_adapt_curr_module_module.dir/iaf_psc_alpha_adapt_curr_nestml.o\u001b[0m\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_adapt_curr_module.cpp:31:\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_psc_alpha_adapt_curr_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_curr_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
"/Users/pooja/conda/nestml_dev/include/nest/node.h:797:18: note: hidden overloaded virtual function 'nest::Node::get_C_m' declared here: different number of parameters (1 vs 0)\n",
" virtual double get_C_m( int comp );\n",
" ^\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_curr_nestml.cpp:44:\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_curr_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_curr_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_psc_alpha_adapt_curr_nestml.cpp:44:\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_psc_alpha_adapt_curr_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_curr_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
"/Users/pooja/conda/nestml_dev/include/nest/node.h:797:18: note: hidden overloaded virtual function 'nest::Node::get_C_m' declared here: different number of parameters (1 vs 0)\n",
" virtual double get_C_m( int comp );\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_curr_nestml.cpp:198:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_psc_alpha_adapt_curr_nestml.cpp:198:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_curr_nestml.cpp:409:10: warning: unused variable 'get_t' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_psc_alpha_adapt_curr_nestml.cpp:409:10: warning: unused variable 'get_t' [-Wunused-variable]\n",
" auto get_t = [origin, lag](){ return nest::Time( nest::Time::step( origin.get_steps() + lag + 1) ).get_ms(); };\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_curr_nestml.cpp:403:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_curr/iaf_psc_alpha_adapt_curr_nestml.cpp:403:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
"1 warning generated.\n",
"4 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml_iaf_adapt_curr_module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module iaf_adapt_curr_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml_iaf_adapt_curr_module_module\n",
- "[100%] Built target nestml_iaf_adapt_curr_module_module\n",
+ "[100%] Built target iaf_adapt_curr_module_module\n",
+ "[100%] Built target iaf_adapt_curr_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_8rfw6ptq/nestml_iaf_adapt_curr_module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_r4il_31y/iaf_adapt_curr_module.so\n"
]
}
],
@@ -600,42 +513,22 @@
"# generate and build code\n",
"module_name_adapt_curr, neuron_model_name_adapt_curr = \\\n",
" NESTCodeGeneratorUtils.generate_code_for(nestml_neuron_model=\"models/iaf_psc_alpha_adapt_curr.nestml\",\n",
- " module_name=\"iaf_adapt_curr\")"
+ " module_name=\"iaf_adapt_curr_module\",\n",
+ " target_path=\"target_adapt_curr\")"
]
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 7,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 26 10:47:11 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:11 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:11 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 300\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:11 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"text/plain": [
"array([ 13.9, 39.4, 89.8, 154.8, 220.6, 286.4])"
]
},
- "execution_count": 6,
+ "execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
@@ -683,32 +576,11 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 8,
"metadata": {
"scrolled": true
},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- " -- N E S T --\n",
- " Copyright (C) 2004 The NEST Initiative\n",
- "\n",
- " Version: 3.6.0-post0.dev0\n",
- " Built: Mar 26 2024 10:08:21\n",
- "\n",
- " This program is provided AS IS and comes with\n",
- " NO WARRANTY. See the file LICENSE for details.\n",
- "\n",
- " Problems or suggestions?\n",
- " Visit https://www.nest-simulator.org\n",
- "\n",
- " Type 'nest.help()' to find out more about NEST.\n",
- "\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
@@ -739,7 +611,7 @@
"-- Detecting CXX compile features - done\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
- "\u001b[0mnestml_iaf_adapt_thresh_module Configuration Summary\u001b[0m\n",
+ "\u001b[0miaf_adapt_thresh_module Configuration Summary\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[0mC++ compiler : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++\u001b[0m\n",
@@ -751,15 +623,15 @@
"\u001b[0m\u001b[0m\n",
"\u001b[0m-------------------------------------------------------\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mYou can now build and install 'nestml_iaf_adapt_thresh_module' using\u001b[0m\n",
+ "\u001b[0mYou can now build and install 'iaf_adapt_thresh_module' using\u001b[0m\n",
"\u001b[0m make\u001b[0m\n",
"\u001b[0m make install\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
- "\u001b[0mThe library file libnestml_iaf_adapt_thresh_module.so will be installed to\u001b[0m\n",
- "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_w7flhqq6\u001b[0m\n",
+ "\u001b[0mThe library file libiaf_adapt_thresh_module.so will be installed to\u001b[0m\n",
+ "\u001b[0m /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target__ct3q5va\u001b[0m\n",
"\u001b[0mThe module can be loaded into NEST using\u001b[0m\n",
- "\u001b[0m (nestml_iaf_adapt_thresh_module) Install (in SLI)\u001b[0m\n",
- "\u001b[0m nest.Install(nestml_iaf_adapt_thresh_module) (in PyNEST)\u001b[0m\n",
+ "\u001b[0m (iaf_adapt_thresh_module) Install (in SLI)\u001b[0m\n",
+ "\u001b[0m nest.Install(iaf_adapt_thresh_module) (in PyNEST)\u001b[0m\n",
"\u001b[0m\u001b[0m\n",
"\u001b[33mCMake Warning (dev) in CMakeLists.txt:\n",
" No cmake_minimum_required command is present. A line of code such as\n",
@@ -771,43 +643,43 @@
" information run \"cmake --help-policy CMP0000\".\n",
"This warning is for project developers. Use -Wno-dev to suppress it.\n",
"\u001b[0m\n",
- "-- Configuring done (0.7s)\n",
+ "-- Configuring done (0.9s)\n",
"-- Generating done (0.0s)\n",
- "-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target\n",
- "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/nestml_iaf_adapt_thresh_module_module.dir/nestml_iaf_adapt_thresh_module.o\u001b[0m\n",
- "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/nestml_iaf_adapt_thresh_module_module.dir/iaf_psc_alpha_adapt_thresh_nestml.o\u001b[0m\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/nestml_iaf_adapt_thresh_module.cpp:31:\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_thresh_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_thresh_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
+ "-- Build files have been written to: /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh\n",
+ "[ 33%] \u001b[32mBuilding CXX object CMakeFiles/iaf_adapt_thresh_module_module.dir/iaf_adapt_thresh_module.o\u001b[0m\n",
+ "[ 66%] \u001b[32mBuilding CXX object CMakeFiles/iaf_adapt_thresh_module_module.dir/iaf_psc_alpha_adapt_thresh_nestml.o\u001b[0m\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_adapt_thresh_module.cpp:31:\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_psc_alpha_adapt_thresh_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_thresh_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
"/Users/pooja/conda/nestml_dev/include/nest/node.h:797:18: note: hidden overloaded virtual function 'nest::Node::get_C_m' declared here: different number of parameters (1 vs 0)\n",
" virtual double get_C_m( int comp );\n",
" ^\n",
- "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_thresh_nestml.cpp:44:\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_thresh_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_thresh_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
+ "In file included from /Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_psc_alpha_adapt_thresh_nestml.cpp:44:\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_psc_alpha_adapt_thresh_nestml.h:313:17: warning: 'iaf_psc_alpha_adapt_thresh_nestml::get_C_m' hides overloaded virtual function [-Woverloaded-virtual]\n",
" inline double get_C_m() const\n",
" ^\n",
"/Users/pooja/conda/nestml_dev/include/nest/node.h:797:18: note: hidden overloaded virtual function 'nest::Node::get_C_m' declared here: different number of parameters (1 vs 0)\n",
" virtual double get_C_m( int comp );\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_thresh_nestml.cpp:197:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_psc_alpha_adapt_thresh_nestml.cpp:197:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_thresh_nestml.cpp:402:10: warning: unused variable 'get_t' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_psc_alpha_adapt_thresh_nestml.cpp:402:10: warning: unused variable 'get_t' [-Wunused-variable]\n",
" auto get_t = [origin, lag](){ return nest::Time( nest::Time::step( origin.get_steps() + lag + 1) ).get_ms(); };\n",
" ^\n",
- "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target/iaf_psc_alpha_adapt_thresh_nestml.cpp:396:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
+ "/Users/pooja/nestml/master/doc/tutorials/spike_frequency_adaptation/target_adapt_thresh/iaf_psc_alpha_adapt_thresh_nestml.cpp:396:16: warning: unused variable '__resolution' [-Wunused-variable]\n",
" const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n",
" ^\n",
"1 warning generated.\n",
"4 warnings generated.\n",
- "[100%] \u001b[32m\u001b[1mLinking CXX shared module nestml_iaf_adapt_thresh_module.so\u001b[0m\n",
+ "[100%] \u001b[32m\u001b[1mLinking CXX shared module iaf_adapt_thresh_module.so\u001b[0m\n",
"ld: warning: install name of a reexported library '@rpath/libtinfo.6.dylib' found at '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' is different from install name '/Users/pooja/conda/nestml_dev/lib/libtinfo.6.dylib' found in its parent library '/Users/pooja/conda/nestml_dev/lib/libncurses.6.dylib'\n",
- "[100%] Built target nestml_iaf_adapt_thresh_module_module\n",
- "[100%] Built target nestml_iaf_adapt_thresh_module_module\n",
+ "[100%] Built target iaf_adapt_thresh_module_module\n",
+ "[100%] Built target iaf_adapt_thresh_module_module\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"\"\n",
- "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target_w7flhqq6/nestml_iaf_adapt_thresh_module.so\n"
+ "-- Installing: /var/folders/2j/fb047q1177v9f56f_jktrb4c0000gn/T/nestml_target__ct3q5va/iaf_adapt_thresh_module.so\n"
]
}
],
@@ -815,42 +687,22 @@
"# generate and build code\n",
"module_name_adapt_thresh, neuron_model_name_adapt_thresh = \\\n",
" NESTCodeGeneratorUtils.generate_code_for(nestml_neuron_model=\"models/iaf_psc_alpha_adapt_thresh.nestml\",\n",
- " module_name=\"iaf_adapt_thresh\")"
+ " module_name=\"iaf_adapt_thresh_module\",\n",
+ " target_path=\"target_adapt_thresh\")"
]
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 9,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 26 10:47:37 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_thresh_module\n",
- "\n",
- "Mar 26 10:47:37 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:37 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 300\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:37 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
{
"data": {
"text/plain": [
"array([ 13.9, 33.9, 58.6, 88.3, 122.2, 158.8, 196.7, 235.2, 273.9])"
]
},
- "execution_count": 8,
+ "execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
@@ -894,7 +746,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
@@ -929,7 +781,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
@@ -952,329 +804,18 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 12,
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n",
- "\n",
- "Mar 26 10:47:38 Install [Info]: \n",
- " loaded module nestml_iaf_adapt_curr_module\n",
- "\n",
- "Mar 26 10:47:38 NodeManager::prepare_nodes [Info]: \n",
- " Preparing 3 nodes for simulation.\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::start_updating_ [Info]: \n",
- " Number of local nodes: 3\n",
- " Simulation time (ms): 10000\n",
- " Number of OpenMP threads: 1\n",
- " Not using MPI\n",
- "\n",
- "Mar 26 10:47:38 SimulationManager::run [Info]: \n",
- " Simulation finished.\n"
- ]
- },
- {
- "ename": "NESTErrors.DynamicModuleManagementError",
- "evalue": "DynamicModuleManagementError in SLI function Install: Module 'nestml_iaf_no_sfa_module' could not be opened.\nThe dynamic loader returned the following error: 'file not found'.\n\nPlease check LD_LIBRARY_PATH (OSX: DYLD_LIBRARY_PATH)!",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mNESTErrors.DynamicModuleManagementError\u001b[0m Traceback (most recent call last)",
- "Cell \u001b[0;32mIn[11], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m I_stim_vec \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mlinspace(\u001b[38;5;241m10E-12\u001b[39m, \u001b[38;5;241m1E-9\u001b[39m, \u001b[38;5;241m20\u001b[39m) \u001b[38;5;66;03m# [A]\u001b[39;00m\n\u001b[1;32m 2\u001b[0m rate_vec_adapt \u001b[38;5;241m=\u001b[39m measure_fI_curve(I_stim_vec, neuron_model_name_adapt_curr, module_name_adapt_curr)\n\u001b[0;32m----> 3\u001b[0m rate_vec \u001b[38;5;241m=\u001b[39m \u001b[43mmeasure_fI_curve\u001b[49m\u001b[43m(\u001b[49m\u001b[43mI_stim_vec\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mneuron_model_name_no_sfa\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodule_name_no_sfa\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m rate_vec_thresh_adapt \u001b[38;5;241m=\u001b[39m measure_fI_curve(I_stim_vec, neuron_model_name_adapt_thresh, module_name_adapt_thresh)\n\u001b[1;32m 5\u001b[0m plot_fI_curve(I_stim_vec, {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo adap\u001b[39m\u001b[38;5;124m\"\u001b[39m: rate_vec,\n\u001b[1;32m 6\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCurr adap\u001b[39m\u001b[38;5;124m\"\u001b[39m : rate_vec_adapt,\n\u001b[1;32m 7\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThr adap\u001b[39m\u001b[38;5;124m\"\u001b[39m : rate_vec_thresh_adapt})\n",
- "Cell \u001b[0;32mIn[9], line 11\u001b[0m, in \u001b[0;36mmeasure_fI_curve\u001b[0;34m(I_stim_vec, neuron_model_name, module_name)\u001b[0m\n\u001b[1;32m 9\u001b[0m nest\u001b[38;5;241m.\u001b[39mResetKernel()\n\u001b[1;32m 10\u001b[0m \u001b[38;5;66;03m# try:\u001b[39;00m\n\u001b[0;32m---> 11\u001b[0m \u001b[43mnest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mInstall\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodule_name\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[38;5;66;03m# except Exception:\u001b[39;00m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;66;03m# pass\u001b[39;00m\n\u001b[1;32m 15\u001b[0m neuron \u001b[38;5;241m=\u001b[39m nest\u001b[38;5;241m.\u001b[39mCreate(neuron_model_name)\n",
- "File \u001b[0;32m~/conda/nestml_dev/lib/python3.11/site-packages/nest/ll_api.py:216\u001b[0m, in \u001b[0;36mstack_checker..stack_checker_func\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 213\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(f)\n\u001b[1;32m 214\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstack_checker_func\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m get_debug():\n\u001b[0;32m--> 216\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 218\u001b[0m sr(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcount\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
- "File \u001b[0;32m~/conda/nestml_dev/lib/python3.11/site-packages/nest/lib/hl_api_simulation.py:332\u001b[0m, in \u001b[0;36mInstall\u001b[0;34m(module_name)\u001b[0m\n\u001b[1;32m 305\u001b[0m \u001b[38;5;129m@check_stack\u001b[39m\n\u001b[1;32m 306\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mInstall\u001b[39m(module_name):\n\u001b[1;32m 307\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Load a dynamically linked NEST module.\u001b[39;00m\n\u001b[1;32m 308\u001b[0m \n\u001b[1;32m 309\u001b[0m \u001b[38;5;124;03m Parameters\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 329\u001b[0m \n\u001b[1;32m 330\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 332\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msr\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m(\u001b[39;49m\u001b[38;5;132;43;01m%s\u001b[39;49;00m\u001b[38;5;124;43m) Install\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m%\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mmodule_name\u001b[49m\u001b[43m)\u001b[49m\n",
- "File \u001b[0;32m~/conda/nestml_dev/lib/python3.11/site-packages/nest/ll_api.py:103\u001b[0m, in \u001b[0;36mcatching_sli_run\u001b[0;34m(cmd)\u001b[0m\n\u001b[1;32m 100\u001b[0m engine\u001b[38;5;241m.\u001b[39mrun(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mclear\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 102\u001b[0m exceptionCls \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(kernel\u001b[38;5;241m.\u001b[39mNESTErrors, errorname)\n\u001b[0;32m--> 103\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exceptionCls(commandname, message)\n",
- "\u001b[0;31mNESTErrors.DynamicModuleManagementError\u001b[0m: DynamicModuleManagementError in SLI function Install: Module 'nestml_iaf_no_sfa_module' could not be opened.\nThe dynamic loader returned the following error: 'file not found'.\n\nPlease check LD_LIBRARY_PATH (OSX: DYLD_LIBRARY_PATH)!"
- ]
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7MAAAFbCAYAAAAHltmpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAABJ0AAASdAHeZh94AACN4ElEQVR4nOzdd3xT5f4H8E+Stmm696KTFgq0QJlSZIkCRRRQLgoIiKBM0cvvijhBHIDiRb2yHSwHKiqIAwSlCFoZYmVTWmjppHu3acb5/RGaNqQjIUnblM/79eqL5pznnHzjPRf66XPO9xEJgiCAiIiIiIiIyIqIW7sAIiIiIiIiImMxzBIREREREZHVYZglIiIiIiIiq8MwS0RERERERFaHYZaIiIiIiIisDsMsERERERERWR2GWSIiIiIiIrI6DLNERERERERkdRhmiYiIiIiIyOrYtHYB1qy4uBiHDx9GUFAQpFJpa5dDRERERERkteRyOdLT0zF06FC4ubk1O55h1gSHDx/G+PHjW7sMIiIiIiKidmP37t0YN25cs+MYZk0QFBQEQPMfOyIiopWrISIiIiIisl7JyckYP368Nmc1p02H2fLycqxevRrHjh3D8ePHUVRUhC1btmDGjBk642bMmIFt27bpHR8ZGYmLFy/qbFOr1Xj77bexYcMGZGdno3Pnznj++ecxefJko+urvbU4IiICUVFRRh9PREREREREugx9hLNNh9n8/Hy8+uqrCA4ORs+ePREfH9/oWKlUig8//FBnm6urq964F198EatWrcITTzyBfv36Yc+ePZgyZQpEIhEmTZpk7o9AREREREREFtCmw6y/vz+ys7Ph5+eHkydPol+/fo2OtbGxwdSpU5s8X2ZmJv773/9iwYIFWLt2LQDg8ccfx9ChQ7F48WJMnDgREonErJ+BiIiIiIiIzK9NL80jlUrh5+dn8HiVSoXS0tJG9+/ZswcKhQLz58/XbhOJRJg3bx4yMjKQkJBgUr1ERERERETUMtr0zKwxKisr4eLigsrKSri7u2Py5Ml488034eTkpB3z999/w9HREV27dtU5tn///tr9gwYNavD8ubm5yMvL09mWnJxs5k9BRERERERkGQqVGidTi1BSVQNXmR36hrrDVtKm5zeb1C7CrL+/P5599ln07t0barUa+/btw/r16/HPP/8gPj4eNjaaj5md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V5sOs/7+/sjOzoafnx9OnjyJfv366Y2xs7PD77//joEDB2q3PfHEEwgNDdUG2nvuuUfnmM6dO2Pq1KkWr5+IiIiIqK0prJAbNf7tiT1xf88AC1Vzg0oBHH0HOL4ZqMir2+7kA/R7Ahi0qMVC7dWrVzFp0iSEhITg119/hb+/v3bfggULkJycjB9++MEs71VRUQFHR0e97YIgoLq6GjKZzCzv01616duMpVIp/Pz8mhxjZ2enE2RrPfDAAwCACxcuNHhcVVVVg7chExERERG1N4Ig4O9rRXjlu3N4/puzRh3r5WThdVxVCmDnFODQG0BFvu6+8jzN9p2PaMa1gLfeegvl5eX46KOPdIJsrYiICDz99NMAgNTU1AYfhQQ0jze+8sor2tevvPIKRCIRzp8/jylTpsDd3R2DBg0CAISGhuK+++7D/v370bdvX8hkMmzatKnRGo8cOYKJEyciODgYUqkUQUFBWLRoUYO3P+/evRvR0dGwt7dHdHQ0vv322wbP+fbbb2PgwIHw9PSETCZDnz59sGvXrgY/15NPPolPP/0UkZGRsLe3R58+ffDbb781Wq+ltOmZWVPk5OQAALy8vPT2bd26FevXr4cgCOjatSteeuklTJkypcnz5ebmIi8vT2dbcnKy+QomIiIiIjKzlLxy7EnMwneJmUgtqDTqWBE0QbZvqLtliqt19B3g8s83XjTSjuryfuDou8DQxZatBcDevXvRsWPHBifMzGHixIno1KkTVqxYAUGo+7yXLl3C5MmTMWfOHDzxxBOIjIxs9BxfffUVKisrMW/ePHh6euL48eN4//33kZGRga+++ko77ueff8aECRPQrVs3rFy5EgUFBXjssccQGBiod8733nsPY8eOxSOPPIKamhrs3LkTEydOxPfff48xY8bojD18+DC++OILPPXUU5BKpVi/fj3i4uJw/PhxREdHm+G/kmHabZh966234OLigtGjR+tsHzhwIB566CGEhYUhKysL69atwyOPPIKSkhLMmzev0fOtX78ey5cvt3TZREREREQmuV5ajb3/ZGFPYhbOZJbo7BOLgIHhXnCwk+Dn89ebPI8AYHpsiPmfi61PpdDcWgwR9INsfSLgxGZg0L8tertxaWkpMjMzMW7cOIu9R8+ePfHZZ5/pbU9OTsa+ffswatSoZs/x5ptv6tyCPHv2bEREROCFF17A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iZm4mFOms08iFmFIJy+Mi+mAEd184Sg17kdTW4kYseGezQ+kNstWbItJXSZhXeK6JscJEDApclKbC7KWUFRUhF9++QXLly/H0qVLtdsvX76sM87b2xsymUxvOwBcunRJ5/XevXshl8vx3Xff6cwkHzp0qMEakpOTIQiCzuxsUpJmBj00NNToz2QpJoXZrVu3QiQSYd++ffj222/1PlhKSgq2bdvGMEtERER0GymqqMEPZ7LxXWIWjqcW6u3vE+KOcTEBGNPdH55O0laokNqSWd1n4Uz+GfyW8ZteV+Pa10MCh2Bm95mtWGXLqZ3pvXlm9+ZlfCQSCUaNGoXdu3fj2rVr2pB64cIF7N+/v9lzlpSUYMuWLQ3WkJWVhW+//VbbAKq0tBTbt29HTExMm7nFGDAxzALA008/jW+++QZ9+/bF559/3qa6WxERERHRrVGo1EbdwltVo8KBC9fxXWImDiflQaHS/UE8wscJ4280cgrycLB0+WRFbMW2ePeud/HxmY+x89JO5FfVdav2lHliUuSkNrkkj6W4uLhgyJAheOutt6BQKNChQwf8/PPPuHr1qt7Y5cuXY9++fRg8eDDmz58PpVKJ999/H1FRUTh9+rR23MiRI2FnZ4f7778fc+bMQXl5OT744AP4+PggOztb77ydO3fGrFmzcOLECfj6+uLjjz/G9evXGw2/rcXkMNu3b1+8+OKLmDRpEu6991689tpreO6558xRGxERERG1MIVKjQ3xKdiekIr88hrtdm8nKabFhmBeveZKSpUaR5Pz8V1iFvafy0FFjUrnXH4u9hgbE4BxMQHo5u+i11CGqJat2BZzes7BzO4zkZibiBJ5CVylrojxibltQmx9n332GRYuXIh169ZBEASMHDkSP/30EwICAnTG9ejRA/v378f//d//YenSpQgMDMTy5cuRnZ2tE2YjIyOxa9cuvPTSS3jmmWfg5+eHefPmwdvbGzNn6s94d+rUCe+//z4WL16MS5cuISwsDF988QVGjRpl8c9uDJFw8/y1EcRiMT755BNMmTIFarUaL774It566y08+OCD2Lp1K3bv3o3p06dDpVI1fzIrdO7cOURHR+Ps2bOIiopq7XKIiIiITKJQqTF7+0kcupTX+LI3kd6YOywcP57Jwfens3QCLwC42Nvg3u7+GBfTAXeEeeh0Iqb248qVKwCAjh07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",
+ "text/plain": [
+ "