Group class¶
(Shortest import: from brian2 import Group)
- class brian2.groups.group.Group(*args, **kw)[source]¶
Bases:
VariableOwner,BrianObjectMethods
custom_operation(*args, **kwds)resolve_all(identifiers, run_namespace[, ...])Resolve a list of identifiers.
run_regularly(code[, dt, clock, when, ...])Run abstract code in the group's namespace.
runner(*args, **kwds)Details
- resolve_all(identifiers, run_namespace, user_identifiers=None, additional_variables=None)[source]¶
Resolve a list of identifiers. Calls
Group._resolvefor each identifier.- Parameters
identifiers : iterable of str
The names to look up.
run_namespace : dict-like, optional
An additional namespace that is used for variable lookup (if not defined, the implicit namespace of local variables is used).
user_identifiers : iterable of str, optional
The names in
identifiersthat were provided by the user (i.e. are part of user-specified equations, abstract code, etc.). Will be used to determine when to issue namespace conflict warnings. If not specified, will be assumed to be identical toidentifiers.additional_variables : dict-like, optional
An additional mapping of names to
Variableobjects that will be checked beforeGroup.variables.- Returns
variables : dict of
VariableorFunctionA mapping from name to
Variable/Functionobject for each of the names given inidentifiers
Raises
KeyErrorIf one of the names in
identifiercannot be resolved
- run_regularly(code, dt=None, clock=None, when='start', order=0, name=None, codeobj_class=None)[source]¶
Run abstract code in the group’s namespace. The created
CodeRunnerobject will be automatically added to the group, it therefore does not need to be added to the network manually. However, a reference to the object will be returned, which can be used to later remove it from the group or to set it to inactive.- Parameters
code : str
The abstract code to run.
dt :
Quantity, optionalThe time step to use for this custom operation. Cannot be combined with the
clockargument.clock :
Clock, optionalThe update clock to use for this operation. If neither a clock nor the
dtargument is specified, defaults to the clock of the group.when : str, optional
When to run within a time step, defaults to the
'start'slot. See Scheduling for possible values.name : str, optional
A unique name, if non is given the name of the group appended with ‘run_regularly’, ‘run_regularly_1’, etc. will be used. If a name is given explicitly, it will be used as given (i.e. the group name will not be prepended automatically).
codeobj_class : class, optional
The
CodeObjectclass to run code with. If not specified, defaults to thegroup’scodeobj_classattribute.- Returns
obj :
CodeRunnerA reference to the object that will be run.