Device class
(Shortest import: from brian2.devices import Device)
- class brian2.devices.device.Device[source]
Bases:
object
Base 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
CodeObject
class 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
SpikeQueue
for 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.schedule
for 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 :
ArrayVariable
The 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
CodeObject
class according to input/default settings- Parameters:
codeobj_class : a
CodeObject
class, 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
CodeObject
class 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
force
option 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
directory
option is set toTrue
as well. Defaults toFalse
.
- get_array_name(var, access_data=True)[source]
Return a globally unique name for
var
.- Parameters:
access_data : bool, optional
- Returns:
name : str
The name for
var
.
- get_len(array)[source]
Return the length of the array.
- Parameters:
array :
ArrayVariable
The 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_state
should 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 :
ArrayVariable
The array to fill with the integer range.
start : int
The start value for the integer range
dtype :
dtype
The data type to use for the array.
- init_with_zeros(var, dtype)[source]
Initialize an array with zeros.
- Parameters:
var :
ArrayVariable
The array to initialize with zeros.
dtype :
dtype
The 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 :
DynamicArrayVariable
The 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
.