def test_defaultclock_dt_changes(): BrianLogger.suppress_name('resolution_conflict') for dt in [0.1*ms, 0.01*ms, 0.5*ms, 1*ms, 3.3*ms]: defaultclock.dt = dt G = NeuronGroup(1, 'v:1') mon = StateMonitor(G, 'v', record=True) net = Network(G, mon) net.run(2*dt) assert_equal(mon.t[:], [0, dt/ms]*ms)
@attr('standalone-compatible') @with_setup(teardown=reinit_devices) def test_runtime_rounding(): # Test that runtime and standalone round in the same way, see github issue # #695 for details defaultclock.dt = 20.000000000020002 * us G = NeuronGroup(1, 'v:1') mon = StateMonitor(G, 'v', record=True) run(defaultclock.dt * 250) assert len(mon.t) == 250 if __name__ == '__main__': BrianLogger.log_level_warn() for t in [ test_incorrect_network_use, test_network_contains, test_empty_network, test_network_single_object, test_network_two_objects, test_network_from_dict, test_network_different_clocks, test_network_different_when, test_network_default_schedule, test_network_schedule_change, test_network_before_after_schedule, test_network_custom_slots, test_network_incorrect_schedule, test_schedule_warning, test_magic_network, test_network_stop, test_network_operations, test_incorrect_network_operations, test_network_active_flag, test_network_t, test_incorrect_dt_defaultclock, test_incorrect_dt_custom_clock, test_network_remove, test_magic_weak_reference, test_magic_unused_object, test_invalid_magic_network, test_multiple_networks_invalid, test_network_access, test_loop, test_magic_collect,
assert_equal(mon_1.v_[:], mon_2.v_[:]) @attr('codegen-independent') @with_setup(teardown=reinit_devices) def test_long_run_dt_change(): # Check that the dt check is not too restrictive, see issue #730 for details group = NeuronGroup(1, '') # does nothing... defaultclock.dt = 0.1*ms run(100*second) defaultclock.dt = 0.01*ms run(1*second) if __name__ == '__main__': BrianLogger.log_level_warn() for t in [ test_incorrect_network_use, test_network_contains, test_empty_network, test_network_single_object, test_network_two_objects, test_network_from_dict, test_network_different_clocks, test_network_different_when, test_network_default_schedule, test_network_schedule_change, test_network_before_after_schedule, test_network_custom_slots, test_network_incorrect_schedule, test_schedule_warning,
from brian2.units import * from meanfield import plots, modelling from core.MFSystem import MFSystem from meanfield.inputs.MFLinearInput import MFLinearInput from meanfield.inputs.MFNonLinearNMDAInput import MFNonLinearNMDAInput from meanfield.inputs.MFStaticInput import MFStaticInput from meanfield.parameters import Connection from meanfield.parameters import IP from meanfield.parameters import PP from meanfield.parameters.MFParameters import MFParameters from meanfield.populations.MFLinearPopulation import MFLinearPopulation from meanfield.solvers.MFSolver import MFSolver from meanfield.utils import reset_brian2 BrianLogger.log_level_debug() reset_brian2() # populations N = 1000 N_E = int(N * 0.8) # pyramidal neurons N_I = int(N * 0.2) # interneurons # voltage V_L = -70. * mV V_thr = -50. * mV V_reset = -55. * mV V_E = 0. * mV V_I = -70. * mV # membrane capacitance