CodeRunner class

(Shortest import: from brian2 import CodeRunner)

class brian2.groups.group.CodeRunner(*args, **kw)[source]

Bases: BrianObject

A “code runner” that runs a CodeObject every timestep and keeps a reference to the Group. Used in NeuronGroup for Thresholder, Resetter and StateUpdater.

On creation, we try to run the before_run method with an empty additional namespace (see Network.before_run). If the namespace is already complete this might catch unit mismatches.

Methods

before_run(run_namespace)

Optional method to prepare the object before a run.

create_code_objects(run_namespace)

create_default_code_object(run_namespace)

update_abstract_code(run_namespace)

Update the abstract code for the code object.

Details

before_run(run_namespace)[source]

Optional method to prepare the object before a run.

Called by Network.after_run before the main simulation loop starts.

create_code_objects(run_namespace)[source]
create_default_code_object(run_namespace)[source]
update_abstract_code(run_namespace)[source]

Update the abstract code for the code object. Will be called in before_run and should update the CodeRunner.abstract_code attribute.

Does nothing by default.