Device class¶
(Shortest import: from brian2.devices import Device)
- class brian2.devices.device.Device[source]¶
Bases:
objectBase Device object.
Attributes
The network schedule that this device supports.
Methods
activate([build_on_run])Called when this device is set as the current device.
add_array(var)Add an array to this device.
build(**kwds)For standalone projects, called when the project is ready to be built.
code_object(owner, name, abstract_code, ...)code_object_class([codeobj_class, fallback_pref])Return
CodeObjectclass according to input/default settingsdelete([data, code, directory, force])Delete code and/or data generated/stored by the device.
fill_with_array(var, arr)Fill an array with the values given in another array.
get_array_name(var[, access_data])Return a globally unique name for
var.get_len(array)Return the length of the array.
Return a (pickable) representation of the current random number generator state.
init_with_arange(var, start, dtype)Initialize an array with an integer range.
init_with_zeros(var, dtype)Initialize an array with zeros.
insert_code(slot, code)Insert code directly into a given slot in the device.
insert_device_code(slot, code)reinit()Reinitialize the device.
resize(var, new_size)Resize a
DynamicArrayVariable.resize_along_first(var, new_size)seed([seed])Set the seed for the random number generator.
set_random_state(state)Reset the random number generator state to a previously stored state (see
Device.get_random_state).spike_queue(source_start, source_end)Create and return a new
SpikeQueuefor thisDevice.Details
- network_schedule¶
The network schedule that this device supports. If the device only supports a specific, fixed schedule, it has to set this attribute to the respective schedule (see
Network.schedulefor details). If it supports arbitrary schedules, it should be set toNone(the default).
- activate(build_on_run=True, **kwargs)[source]¶
Called when this device is set as the current device.
- add_array(var)[source]¶
Add an array to this device.
- Parameters:
var :
ArrayVariableThe array to add.
- build(**kwds)[source]¶
For standalone projects, called when the project is ready to be built. Does nothing for runtime mode.
- code_object(owner, name, abstract_code, variables, template_name, variable_indices, codeobj_class=None, template_kwds=None, override_conditional_write=None, compiler_kwds=None)[source]¶
- code_object_class(codeobj_class=None, fallback_pref='codegen.target')[source]¶
Return
CodeObjectclass according to input/default settings- Parameters:
codeobj_class : a
CodeObjectclass, optionalIf this is keyword is set to None or no arguments are given, this method will return the default.
fallback_pref : str, optional
String describing which attribute of prefs to access to retrieve the ‘default’ target. Usually this is codegen.target, but in some cases we want to use object-specific targets such as codegen.string_expression_target.
- Returns:
codeobj_class : class
The
CodeObjectclass that should be used
- delete(data=True, code=True, directory=True, force=False)[source]¶
Delete code and/or data generated/stored by the device.
- Parameters:
data : bool, optional
Whether to delete the data generated by the simulation (final values of state variables, data stored in monitors, etc.). Defaults to
True.code : bool, optional
Whether to delete the code generated by the simulation. Includes the numerical values used for initialization of state variables in assignments not using strings. Defaults to
True.directory : bool, optional
Whether to delete the project directory generated by the simulation. Will not delete directories that contain files not created by Brian unless the
forceoption is specfied. Defaults toTrue.force : bool, optional
Whether to delete the project directory with all its content, even if it contains files that were not created by Brian. Useful only when the
directoryoption is set toTrueas well. Defaults toFalse.
- fill_with_array(var, arr)[source]¶
Fill an array with the values given in another array.
- Parameters:
var :
ArrayVariableThe array to fill.
arr :
ndarrayThe array values that should be copied to
var.
- get_array_name(var, access_data=True)[source]¶
Return a globally unique name for
var.- Parameters:
access_data : bool, optional
For
DynamicArrayVariableobjects, specifyingTruehere means the name for the underlying data is returned. If specifyingFalse, the name of object itself is returned (e.g. to allow resizing).- Returns:
name : str
The name for
var.
- get_len(array)[source]¶
Return the length of the array.
- Parameters:
array :
ArrayVariableThe array for which the length is requested.
- Returns:
l : int
The length of the array.
- get_random_state()[source]¶
Return a (pickable) representation of the current random number generator state. Providing the returned object (e.g. a dict) to
Device.set_random_stateshould restore the random number generator state.- Returns:
state :
The state of the random number generator in a representation that can be passed as an argument to
Device.set_random_state.
- init_with_arange(var, start, dtype)[source]¶
Initialize an array with an integer range.
- Parameters:
var :
ArrayVariableThe array to fill with the integer range.
start : int
The start value for the integer range
dtype :
dtypeThe data type to use for the array.
- init_with_zeros(var, dtype)[source]¶
Initialize an array with zeros.
- Parameters:
var :
ArrayVariableThe array to initialize with zeros.
dtype :
dtypeThe data type to use for the array.
- insert_code(slot, code)[source]¶
Insert code directly into a given slot in the device. By default does nothing.
- reinit()[source]¶
Reinitialize the device. For standalone devices, clears all the internal state of the device.
- resize(var, new_size)[source]¶
Resize a
DynamicArrayVariable.- Parameters:
var :
DynamicArrayVariableThe variable that should be resized.
new_size : int
The new size of the variable
- seed(seed=None)[source]¶
Set the seed for the random number generator.
- Parameters:
seed : int, optional
The seed value for the random number generator, or
None(the default) to set a random seed.
- set_random_state(state)[source]¶
Reset the random number generator state to a previously stored state (see
Device.get_random_state).- Parameters:
state :
A random number generator state as provided by
Device.get_random_state.