Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compartment Mechanism-Vectorization [WIP] #989

Open
wants to merge 359 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
359 commits
Select commit Hold shift + click to select a range
953fba7
adding test for existence of v_comp
54tygyrrgr Jan 22, 2022
7fdff61
Merge branch 'master-upstream2' into cm_structured
54tygyrrgr Jan 23, 2022
90120ff
adding my own quick notes from what I have seen in the merge
54tygyrrgr Jan 23, 2022
de22517
various fixes after the merge
Feb 1, 2022
144b33f
Merge remote-tracking branch 'upstream/master' into mergeJanuary
Feb 24, 2022
2b0ee9e
clean up after merge
Feb 24, 2022
c532be9
Merge remote-tracking branch 'upstream/master' into mergeJanuary
Mar 9, 2022
e30eacd
fix
Mar 9, 2022
83ea2b3
fix
Mar 9, 2022
783e7cc
fix
Mar 9, 2022
f898c3d
fix
Mar 9, 2022
e9baa44
fix
Mar 9, 2022
493509a
fix
Mar 9, 2022
2a780bf
update test
WillemWybo Mar 23, 2022
ce94405
set dt
WillemWybo Mar 23, 2022
9ebe9d9
add compartmentall target to frontend
Mar 24, 2022
7be5ebf
fix compartmental target
Mar 24, 2022
acd8af8
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Mar 24, 2022
314423a
fix compartmental target
Mar 24, 2022
1a44a92
Merge branch 'cm_fix' into maint/updated-jinja-templates_fix
Mar 24, 2022
50b9118
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Mar 29, 2022
7d39ed7
clean up
Mar 29, 2022
e58289f
clean up
Mar 29, 2022
e7ee0f1
Merge pull request #1 from clinssen/maint/updated-jinja-templates_fix
WillemWybo Apr 5, 2022
641eafc
merge remote
WillemWybo Apr 5, 2022
a8aedd7
clean up
Apr 6, 2022
ea098d9
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Apr 6, 2022
6d6d60f
clean up
Apr 6, 2022
2f16b68
use @NEURON_NAME@ escape sequence in template filenames
Apr 6, 2022
697bb43
use @NEURON_NAME@ escape sequence in template filenames
Apr 7, 2022
9653b74
remove help generator
Apr 7, 2022
dd45904
fix template
Apr 7, 2022
a9d9fe7
fix template
Apr 8, 2022
fc49e01
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Apr 27, 2022
a969e40
removed wrongfully added files
Apr 27, 2022
cd4fddf
replace old code resolving model name
Apr 27, 2022
4d87856
add get_syn_idx to cm_compartmentcurrents template
WillemWybo Apr 27, 2022
3d28553
run NEST builder for compartmental models
Apr 27, 2022
36848e4
Merge remote-tracking branch 'origin/maint/updated-jinja-templates' i…
Apr 27, 2022
4a9620e
fix C++ syntax error in template
Apr 27, 2022
94d1572
fix C++ syntax error in template
Apr 27, 2022
1f42cee
fix cm_main and cm_tree templates, issues in cm_compartmentcurrents()
WillemWybo Apr 29, 2022
5899fba
Merge remote-tracking branch 'origin/maint/updated-jinja-templates' i…
Apr 30, 2022
fc4729a
Merge remote-tracking branch 'pnbabu/rename_calibrate' into maint/upd…
May 3, 2022
14f2d43
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
May 3, 2022
1d56710
fix code generation for compartmental models
May 3, 2022
b7a425d
Merge pull request #2 from clinssen/maint/updated-jinja-templates_fix
WillemWybo May 4, 2022
1c8bfd5
fix code generation for compartmental models
May 4, 2022
c5020c1
merge local_variables_reference_converter_fix and convert recordables…
WillemWybo May 4, 2022
eeb3de9
working compartmental test
WillemWybo May 4, 2022
6695762
remove cm_main prefix from model name
WillemWybo May 4, 2022
e722e5c
set synapse propagators in pre_run_hook, not in f_numstep
WillemWybo May 4, 2022
b4d00ad
change template filename in template generation script
WillemWybo May 4, 2022
32f49fc
cleanup compartmental model test
WillemWybo May 4, 2022
59e15fe
update copyright headers
WillemWybo Jun 16, 2022
c19390e
add copyright headers second try
WillemWybo Jun 16, 2022
1815a0b
codecheck copyright header try 3
WillemWybo Jun 16, 2022
7cb3ad8
codecheck copyright headers try 4
WillemWybo Jun 16, 2022
8c59d9b
correct code style issues
WillemWybo Jun 16, 2022
750d0da
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Jun 23, 2022
b14be96
fix file permissions
Jun 23, 2022
d89e1e2
fix file permissions
Jun 23, 2022
c610f59
move template files to new directory layout
Jun 23, 2022
cdd9ac5
Merge pull request #4 from clinssen/maint/updated-jinja-templates_fix
WillemWybo Jun 29, 2022
2252c27
fix code style issues with autopep8
WillemWybo Jun 29, 2022
8af8201
fix code style issues with autopep8 aggressive
WillemWybo Jun 29, 2022
734f17b
fix codestyle issues with autopep8 aggressive second round
WillemWybo Jun 29, 2022
cf3a744
final code style issue, hopefully
WillemWybo Jun 29, 2022
2226954
fix pycodestyle
Jul 8, 2022
822db5e
Merge branch 'master' of https://github.com/nest/nestml into maint/up…
WillemWybo Jul 12, 2022
98c8253
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Jul 13, 2022
25e39e8
fix incorrect merge with upstream
Jul 13, 2022
c86c851
Merge branch 'maint/updated-jinja-templates_fix' into maint/updated-j…
WillemWybo Jul 13, 2022
a0acc38
print statements in compartmental_model_test.py for debugging workflo…
WillemWybo Jul 14, 2022
ae77058
print statements in compartmental_model_test.py for debugging workflo…
WillemWybo Jul 14, 2022
fa5777d
add automatic NEST version detection and update CI
Jul 27, 2022
023cbd5
fix setup.py not copying compartmental model templates to install dir…
WillemWybo Aug 3, 2022
34b7c03
fix paths in compartmental model test
WillemWybo Aug 3, 2022
4f87f16
add additional template directories to setup.py
WillemWybo Aug 3, 2022
c31cbd0
minor codestyle fixes
WillemWybo Aug 3, 2022
f44eda8
fix compartmental model test style issue
WillemWybo Aug 3, 2022
277c51e
fix compartmental model test style issue
WillemWybo Aug 3, 2022
a45359c
fix compartmental model test style issue
WillemWybo Aug 3, 2022
92ec449
add NEST2 compatibility to nest_logarithmic_function_test
Aug 3, 2022
537493e
fix CI and tests after adding automatic NEST version check
Aug 5, 2022
4936d33
move tests that use the NEST code generator to integration tests subd…
Aug 6, 2022
78c8fb7
move tests that use the NEST code generator to integration tests subd…
Aug 6, 2022
b28f4b3
fix NEST2/NEST3 compatibility in tests
Aug 7, 2022
9cfdaa8
add LD_LIBRARY_PATH for NEST2
Aug 7, 2022
e0f9559
fix NEST2/NEST3 compatibility in tests
Aug 7, 2022
72c3678
Merge remote-tracking branch 'clinssen/nest_versions_compat' into nes…
Aug 7, 2022
f155e86
fix NEST2/NEST3 compatibility in tests
Aug 7, 2022
68c5ce6
fix NEST2/NEST3 compatibility in tests
Aug 7, 2022
3d062f3
fix NEST2/NEST3 compatibility in tests
Aug 8, 2022
56bcca1
fix CI and tests after adding automatic NEST version check
Aug 8, 2022
f104621
fix CI and tests after adding automatic NEST version check
Aug 8, 2022
79bfbe7
run Jupyter notebooks only on master branch
Aug 9, 2022
fab802c
add NEST 3.3 to CI
Aug 9, 2022
24c0d78
improve NEST version detection and compatibility
Aug 9, 2022
5f783aa
improve NEST version detection and compatibility
Aug 9, 2022
8e42a63
Merge remote-tracking branch 'origin/master' into nest_versions_compat
Aug 9, 2022
891e67b
do not use bare except
Aug 9, 2022
5f54d17
run NEST version detection in a separate process
Aug 10, 2022
3550eb4
fix syntax in GitHub actions workflow file
Aug 10, 2022
c00c6f6
fix syntax in GitHub actions workflow file
Aug 10, 2022
4993cf2
remove cron comment from GitHub Actions workflow file
Aug 15, 2022
0db4ef0
Merge remote-tracking branch 'clinssen/nest_versions_compat' into mai…
Aug 16, 2022
a155b33
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Aug 16, 2022
33c5908
update compartmental model templates for NEST 3.3 and NEST-master com…
Aug 16, 2022
9d9a98d
Merge remote-tracking branch 'upstream/master' into maint/updated-jin…
Sep 14, 2022
9f8d76f
Merge pull request #7 from clinssen/maint/updated-jinja-templates_fix
WillemWybo Sep 14, 2022
3f7bae6
compartmental model debugging in progress
WillemWybo Sep 14, 2022
fe3fe3e
merge of upstream
WillemWybo Sep 14, 2022
edb524f
attempted fix for variable-not-found error
WillemWybo Sep 14, 2022
c099d33
fix codecheck style issues
WillemWybo Sep 14, 2022
4fbecf7
fix bug naming clash with nest built-in classess for ion channels and…
WillemWybo Sep 14, 2022
0301084
fix NEST version detection
Sep 15, 2022
a98ace9
remove multiprocessing version of call to _detect_nest_version from c…
WillemWybo Sep 15, 2022
f6d79bf
cleanup of compartmental_model_test
WillemWybo Sep 15, 2022
50ebfd4
code style issues
WillemWybo Sep 15, 2022
a3a606f
Merge remote-tracking branch 'upstream/master' into cm-post-printers
Dec 22, 2022
c7f9449
fix compartmental models code generation after printers refactor
Dec 29, 2022
75bd389
Merge pull request #8 from clinssen/cm-post-printers
WillemWybo Jan 3, 2023
9948547
std
ScipioAI Jan 4, 2023
296b98f
std
ScipioAI Jan 12, 2023
7b420f5
std
ScipioAI Jan 16, 2023
6dbf3a2
std
ScipioAI Jan 16, 2023
9bc3d1a
std
ScipioAI Jan 16, 2023
0cccbb6
Shifted synapse ode processing from nest_code_generator.py to syns_pr…
LeanderEwert Feb 2, 2023
867799b
Added gathering of specifically synapse related odes and functions. n…
LeanderEwert Feb 9, 2023
222e83c
Added performance optimization feature, checking key parameters being…
LeanderEwert Feb 14, 2023
0d5dcee
Decorator syntax added to inline functions and mechanism differentiat…
LeanderEwert Feb 28, 2023
cb3ee7a
Decorator syntax added to inline functions and mechanism differentiat…
LeanderEwert Mar 7, 2023
0624ec2
Merge remote-tracking branch 'nest-upstream/master' into origin/Leand…
LeanderEwert Mar 9, 2023
c45ac08
added decorators to odes in parser
LeanderEwert Mar 9, 2023
f9e5269
changed filepermissions and some fixed post merge problems.
LeanderEwert Mar 15, 2023
08e14ae
some fixes on concentration mechanism info collection.
LeanderEwert Apr 11, 2023
6f8bde8
fixed mechanism processing inheritance concept.
LeanderEwert Apr 12, 2023
0767a5c
First working state of concentration mechanism.
LeanderEwert Apr 18, 2023
b9cc318
All mechanism-types now integrated into the generalized collection sy…
LeanderEwert May 10, 2023
089b28f
Some commenting
LeanderEwert May 10, 2023
99b158a
Issue fixed: No longer multiple identical dependency entries collecte…
LeanderEwert May 12, 2023
cdf6929
-Jinja Templates cleaned up.
LeanderEwert May 19, 2023
9964898
-legacy code removed
LeanderEwert May 20, 2023
941e03c
- added info dictionaries to the logger.
LeanderEwert May 24, 2023
2b8c3d4
-some commenting added
LeanderEwert May 24, 2023
5aaf824
Merge remote-tracking branch 'nest-upstream/master' into origin/Leand…
LeanderEwert May 24, 2023
1bc4109
Merge remote-tracking branch 'nest-upstream/master' into origin/Leand…
LeanderEwert May 24, 2023
c8c5c12
resolved issues after merging
LeanderEwert May 24, 2023
985012e
Merge remote-tracking branch 'origin/origin/LeanderEwert' into origin…
LeanderEwert May 24, 2023
bbe041d
key-zero parameter search for concentrations.
LeanderEwert Jun 13, 2023
5eddd73
copyright-headers added.
LeanderEwert Jun 13, 2023
59a4019
cd_default.nestml fixed and gitignore changes reverted
LeanderEwert Jun 14, 2023
49f9361
reverted check_co_co parameter names in cases of renaming from node t…
LeanderEwert Jun 15, 2023
209d9fd
New neuroncurrent files added that will contain arrays of states, par…
LeanderEwert Jun 21, 2023
d1ad9e7
Deleted an unneccessary outcommented code-line which the check skript…
LeanderEwert Jun 21, 2023
bd0f5a8
Started to implement the vectorisation of the step function inner loo…
LeanderEwert Jul 7, 2023
f2665d6
Implementation of NeuronCurrents ongoing.
LeanderEwert Aug 23, 2023
4405829
Fixed codestyle errors.
LeanderEwert Aug 27, 2023
268c945
Merge remote-tracking branch 'nest-upstream/master' into origin/Leand…
LeanderEwert Aug 28, 2023
d9d23e0
Merge with master.
LeanderEwert Aug 28, 2023
b8eeb8f
Review comment adjustments.
LeanderEwert Aug 30, 2023
d77c8fc
First full vector implementation. ( untested )
LeanderEwert Sep 6, 2023
110fda5
First full vector implementation. (generated code not compiling yet)
LeanderEwert Sep 18, 2023
37ecc78
Style fixes
LeanderEwert Sep 19, 2023
b596b3e
Merge remote-tracking branch 'upstream/master' into origin/LeanderEwert
Sep 19, 2023
c604042
add compartmental models check to separate CI stage
Sep 19, 2023
593ca09
add compartmental models feature
Sep 19, 2023
bc16888
Update pynestml/cocos/co_co_cm_channel_model.py
clinssen Sep 19, 2023
8d40517
Update pynestml/cocos/co_co_cm_synapse_model.py
clinssen Sep 19, 2023
671c81e
Update pynestml/cocos/co_co_cm_concentration_model.py
clinssen Sep 19, 2023
e847153
add compartmental models check to separate CI stage
Sep 19, 2023
6266fa2
Merge remote-tracking branch 'LeanderEwert/origin/LeanderEwert' into …
Sep 19, 2023
df41f88
Fix nest typedefs
pnbabu Sep 19, 2023
84bd195
Merge remote-tracking branch 'LeanderEwert/origin/LeanderEwert' into …
pnbabu Sep 19, 2023
66271bd
Small description for collect_additional_base_infos function
LeanderEwert Sep 19, 2023
317a92a
Merge remote-tracking branch 'origin/origin/LeanderEwert' into origin…
LeanderEwert Sep 19, 2023
a4fe44f
add compartmental models feature
Sep 19, 2023
8f489b2
Merge remote-tracking branch 'LeanderEwert/origin/LeanderEwert' into …
Sep 19, 2023
d79bb40
add compartmental models feature
Sep 19, 2023
a3abd10
add compartmental models feature
Sep 19, 2023
bb2d828
add compartmental models feature
Sep 19, 2023
f4e2e02
add compartmental models feature
Sep 19, 2023
130cbb5
Clean up templates
pnbabu Sep 19, 2023
c2b7611
Fix filename in copyright header
pnbabu Sep 19, 2023
a66fb42
add compartmental models feature
Sep 19, 2023
d6d5a3b
Merge remote-tracking branch 'origin/origin/LeanderEwert' into origin…
Sep 19, 2023
9cc9be6
Completed compartmental doc.
LeanderEwert Sep 20, 2023
b454bfe
Completed compartmental doc. (fix)
LeanderEwert Sep 20, 2023
46e795a
Completed compartmental doc. (fix)
LeanderEwert Sep 20, 2023
edc4310
Completed compartmental doc. (fix)
LeanderEwert Sep 20, 2023
fa813e8
Completed compartmental doc. (fix)
LeanderEwert Sep 20, 2023
546420b
add compartmental models feature
Sep 21, 2023
6a1998d
Merge remote-tracking branch 'origin/origin/LeanderEwert' into origin…
Sep 21, 2023
bb8c343
Merge remote-tracking branch 'upstream/master' into origin/LeanderEwert
Sep 26, 2023
8f93ef1
Merge remote-tracking branch 'LeanderEwert/origin/LeanderEwert' into …
Sep 26, 2023
be660a9
fix templates path
Sep 26, 2023
de0609f
fix templates path
Sep 26, 2023
15d4f10
Merge remote-tracking branch 'upstream/master' into origin/LeanderEwert
Sep 27, 2023
83821b9
update Python version on CI
Sep 27, 2023
45a21e8
add compartmental models feature
Sep 27, 2023
1b8c5c4
fixing compile errors
LeanderEwert Sep 27, 2023
68a310a
add compartmental models feature
Sep 27, 2023
53d27cc
compiling without warnings. error: undefined symbol.
LeanderEwert Oct 4, 2023
6639e5a
corrected compartmental directives path in setup.py.
LeanderEwert Oct 10, 2023
2bf108c
Merge branch 'nest-upstream-master' into origin/LeanderEwert
LeanderEwert Oct 10, 2023
8c0c556
fixed generation issue when no synapses are defined in a model.
LeanderEwert Oct 11, 2023
007dd1a
Merge branch 'origin/LeanderEwert' into origin/LeanderEwert_vectoriza…
LeanderEwert Oct 11, 2023
db842ba
post merge with LeanderEwert
LeanderEwert Oct 11, 2023
b2e34d2
corrected directives path.
LeanderEwert Oct 12, 2023
42fc198
fixed public syntax.
LeanderEwert Oct 17, 2023
4a25ec3
undefined symbol resolved
LeanderEwert Oct 18, 2023
4ac65f8
current fail
LeanderEwert Oct 19, 2023
22b366d
running simulation but no channel activity
LeanderEwert Oct 23, 2023
386d95d
channels working
LeanderEwert Oct 25, 2023
5c0f23e
vectorization working on all mechanisms
LeanderEwert Oct 25, 2023
c210a5d
buffer size bug on spike receive
LeanderEwert Nov 6, 2023
0e39dc0
multiple synapses working.
LeanderEwert Nov 7, 2023
c2d4cdb
First working general vectorization.
LeanderEwert Jan 15, 2024
b4a9f02
First working version of the continuous input mechanism. Old continuo…
LeanderEwert Jan 24, 2024
5810177
Big Performance improvements mostly due to map to vector type-change.
LeanderEwert Feb 7, 2024
032c630
Added vectorized directives_cpp templates.
LeanderEwert Feb 19, 2024
4dc48dd
Some cleanup pre-merge, ability to record non-existing states as perm…
LeanderEwert Mar 5, 2024
59a2adb
Merge remote-tracking branch 'nest-upstream/master' into origin/Leand…
LeanderEwert Mar 5, 2024
0a5f04c
copy-right header fix.
LeanderEwert Mar 5, 2024
74b6dda
codestyle fix.
LeanderEwert Mar 5, 2024
1b85a61
fixed concmech_model_test.
LeanderEwert Mar 5, 2024
b6cb9d8
Syntax changed so that continuous inputs don't have to be provided wi…
LeanderEwert Mar 22, 2024
003fb47
Passive vectorization and unittest implemented.
LeanderEwert Apr 2, 2024
e58556b
fix copyright header
LeanderEwert Apr 3, 2024
2e293e8
codestyle fixes.
LeanderEwert Apr 3, 2024
d65eadd
codestyle fixes.
LeanderEwert Apr 3, 2024
f7ccefa
fixing I_stim continuous input syntax in test models.
LeanderEwert Apr 3, 2024
0c3c9ae
first step towards implicit euler, voltage recording problem
WillemWybo Apr 4, 2024
a9695db
fix bug where compartment voltage readout pointers were not
WillemWybo Apr 4, 2024
e7456bb
remove debug code from test
WillemWybo Apr 4, 2024
369e849
merge readout voltage fix
WillemWybo Apr 4, 2024
fd6feb0
cleanup of no longer used variables
WillemWybo Apr 4, 2024
f8e1766
increase margin in test to make it pass, a more precise version will …
WillemWybo Apr 4, 2024
b897b09
additional vectorisations
WillemWybo Apr 4, 2024
7bedd4a
rename construct_matrix_element() more appropriately and cleanup
WillemWybo Apr 4, 2024
67db6ca
extended concentration test.
LeanderEwert Apr 11, 2024
ce8b900
Revert "Syntax changed so that continuous inputs don't have to be pro…
LeanderEwert Apr 11, 2024
2e4634e
Merge pull request #1 from WillemWybo/implicit_euler
LeanderEwert Apr 11, 2024
8217d1f
common subexpression elimination implemented. Sadly no change in mode…
LeanderEwert Apr 18, 2024
630f329
SIMD loops merged
LeanderEwert Apr 23, 2024
85670d5
disabled common subexpression elimination.
LeanderEwert Apr 29, 2024
8320e07
python initialization extended to ODE vars.
LeanderEwert Apr 30, 2024
ae29f05
Independent v_comp initialization added.
LeanderEwert Apr 30, 2024
06a6d52
new initialization test.
LeanderEwert Apr 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/nestml_language/neurons_in_nestml.rst
Expand Up @@ -29,7 +29,7 @@ A neuron model written in NESTML can be configured to receive two distinct types

input:
AMPA_spikes <- spike
I_stim pA <- continuous
I_stim <- continuous

The general syntax is:

Expand Down Expand Up @@ -108,7 +108,7 @@ The current port symbol (here, `I_stim`) is available as a variable and can be u
V_m' = -V_m/tau_m + ... + I_stim

input:
I_stim pA <- continuous
I_stim <- continuous


Integrating spiking input
Expand Down
Expand Up @@ -87,7 +87,7 @@ neuron iaf_psc_alpha:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
Expand Up @@ -94,7 +94,7 @@ neuron iaf_psc_alpha_adapt_curr:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
Expand Up @@ -94,7 +94,7 @@ neuron iaf_psc_alpha_adapt_thresh:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
Expand Up @@ -101,7 +101,7 @@ neuron iaf_psc_alpha_adapt_thresh_OU:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion extras/convert_cm_default_to_template.py
Expand Up @@ -37,7 +37,7 @@ def get_replacement_patterns():
# file names
'cm_default' : '{{neuronSpecificFileNamesCmSyns[\"main\"]}}',
'cm_tree' : '{{neuronSpecificFileNamesCmSyns[\"tree\"]}}',
'cm_compartmentcurrents': '{{neuronSpecificFileNamesCmSyns[\"compartmentcurrents\"]}}',
'cm_neuroncurrents': '{{neuronSpecificFileNamesCmSyns[\"neuroncurrents\"]}}',
# class names
'CompTree' : 'CompTree{{cm_unique_suffix}}',
'Compartment' : 'Compartment{{cm_unique_suffix}}',
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/aeif_cond_alpha.nestml
Expand Up @@ -98,7 +98,7 @@ neuron aeif_cond_alpha:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/aeif_cond_exp.nestml
Expand Up @@ -93,7 +93,7 @@ neuron aeif_cond_exp:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/hh_cond_exp_destexhe.nestml
Expand Up @@ -127,7 +127,7 @@ neuron hh_cond_exp_destexhe:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/hh_cond_exp_traub.nestml
Expand Up @@ -117,7 +117,7 @@ neuron hh_cond_exp_traub:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/hh_moto_5ht.nestml
Expand Up @@ -111,7 +111,7 @@ neuron hh_moto_5ht:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/hh_psc_alpha.nestml
Expand Up @@ -109,7 +109,7 @@ neuron hh_psc_alpha:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/hill_tononi.nestml
Expand Up @@ -186,7 +186,7 @@ neuron hill_tononi:
NMDA <- spike
GABA_A <- spike
GABA_B <- spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_chxk_2008.nestml
Expand Up @@ -81,7 +81,7 @@ neuron iaf_chxk_2008:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_cond_alpha.nestml
Expand Up @@ -71,7 +71,7 @@ neuron iaf_cond_alpha:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_cond_beta.nestml
Expand Up @@ -101,7 +101,7 @@ neuron iaf_cond_beta:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_cond_exp.nestml
Expand Up @@ -61,7 +61,7 @@ neuron iaf_cond_exp:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_cond_exp_sfa_rr.nestml
Expand Up @@ -84,7 +84,7 @@ neuron iaf_cond_exp_sfa_rr:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_psc_alpha.nestml
Expand Up @@ -87,7 +87,7 @@ neuron iaf_psc_alpha:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_psc_delta.nestml
Expand Up @@ -79,7 +79,7 @@ neuron iaf_psc_delta:

input:
spikes <- spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_psc_exp.nestml
Expand Up @@ -66,7 +66,7 @@ neuron iaf_psc_exp:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_psc_exp_dend.nestml
Expand Up @@ -67,7 +67,7 @@ neuron iaf_psc_exp_dend:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/iaf_psc_exp_htum.nestml
Expand Up @@ -96,7 +96,7 @@ neuron iaf_psc_exp_htum:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/izhikevich.nestml
Expand Up @@ -58,7 +58,7 @@ neuron izhikevich:

input:
spikes <- spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/izhikevich_psc_alpha.nestml
Expand Up @@ -76,7 +76,7 @@ neuron izhikevich_psc_alpha:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/mat2_psc_exp.nestml
Expand Up @@ -83,7 +83,7 @@ neuron mat2_psc_exp:
input:
exc_spikes <- excitatory spike
inh_spikes <- inhibitory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/terub_gpe.nestml
Expand Up @@ -140,7 +140,7 @@ neuron terub_gpe:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/terub_stn.nestml
Expand Up @@ -146,7 +146,7 @@ neuron terub_stn:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/traub_cond_multisyn.nestml
Expand Up @@ -144,7 +144,7 @@ neuron traub_cond_multisyn:
NMDA <- spike
GABA_A <- spike
GABA_B <- spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/traub_psc_alpha.nestml
Expand Up @@ -86,7 +86,7 @@ neuron traub_psc_alpha:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/wb_cond_exp.nestml
Expand Up @@ -80,7 +80,7 @@ neuron wb_cond_exp:
input:
inh_spikes <- inhibitory spike
exc_spikes <- excitatory spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
2 changes: 1 addition & 1 deletion models/neurons/wb_cond_multisyn.nestml
Expand Up @@ -130,7 +130,7 @@ neuron wb_cond_multisyn:
NMDA <- spike
GABA_A <- spike
GABA_B <- spike
I_stim pA <- continuous
I_stim <- continuous

output:
spike
Expand Down
36 changes: 36 additions & 0 deletions pynestml/cocos/co_co_cm_continuous_input_model.py
@@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
#
# co_co_cm_continuous_input_model.py
#
# This file is part of NEST.
#
# Copyright (C) 2004 The NEST Initiative
#
# NEST is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# NEST is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with NEST. If not, see <http://www.gnu.org/licenses/>.

from pynestml.cocos.co_co import CoCo
from pynestml.meta_model.ast_neuron import ASTNeuron
from pynestml.utils.continuous_input_processing import ContinuousInputProcessing


class CoCoCmContinuousInputModel(CoCo):
@classmethod
def check_co_co(cls, neuron: ASTNeuron):
"""
Checks if this compartmental condition applies to the handed over neuron.
If yes, it checks the presence of expected functions and declarations.
:param neuron: a single neuron instance.
:type neuron: ast_neuron
"""
return ContinuousInputProcessing.check_co_co(neuron)
2 changes: 2 additions & 0 deletions pynestml/cocos/co_cos_manager.py
Expand Up @@ -26,6 +26,7 @@
from pynestml.cocos.co_co_inline_expression_not_assigned_to import CoCoInlineExpressionNotAssignedTo
from pynestml.cocos.co_co_input_port_not_assigned_to import CoCoInputPortNotAssignedTo
from pynestml.cocos.co_co_cm_channel_model import CoCoCmChannelModel
from pynestml.cocos.co_co_cm_continuous_input_model import CoCoCmContinuousInputModel
from pynestml.cocos.co_co_convolve_cond_correctly_built import CoCoConvolveCondCorrectlyBuilt
from pynestml.cocos.co_co_correct_numerator_of_unit import CoCoCorrectNumeratorOfUnit
from pynestml.cocos.co_co_correct_order_in_equation import CoCoCorrectOrderInEquation
Expand Down Expand Up @@ -148,6 +149,7 @@ def check_compartmental_model(cls, neuron: ASTNeuron) -> None:
CoCoCmChannelModel.check_co_co(neuron)
CoCoCmConcentrationModel.check_co_co(neuron)
CoCoCmSynapseModel.check_co_co(neuron)
CoCoCmContinuousInputModel.check_co_co(neuron)

@classmethod
def check_inline_expressions_have_rhs(cls, neuron: ASTNeuron):
Expand Down