Exemple #1
0
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)
Exemple #2
0

@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,
Exemple #3
0
    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,
Exemple #4
0
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