Changeset 432

Show
Ignore:
Timestamp:
08/04/08 19:01:06 (2 weeks ago)
Author:
pierre
Message:

Error in the brian cells.py file, where I've left some units that may rise errors. Implement also a faster way of rset() method for nest2.py, like I did for brian, using a single call to nest.SetStatus?

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/brian/__init__.py

    r428 r432  
    408408            rarr = rand_distr.next(n=self.size) 
    409409            assert len(rarr) == len(self.brian_cells) 
    410             setattr(self.brian_cells, parametername, rarr) 
     410            if parametername in self.celltype.scaled_parameters(): 
     411                translation = self.celltype.translations[parametername] 
     412                rarr = eval(translation['forward_transform'], globals(), {parametername : rarr}) 
     413                setattr(self.brian_cells, translation['translated_name'], rarr) 
     414            elif parametername in self.celltype.simple_parameters(): 
     415                translation = self.celltype.translations[parametername] 
     416                setattr(self.brian_cells, translation['translated_name'], rarr) 
     417            else: 
     418                for cell,val in zip(self.cell.flat, rarr): 
     419                    setattr(cell, parametername, val) 
    411420         
    412421    def _call(self, methodname, arguments): 
     
    545554        random values. 
    546555        """ 
    547         self.rset('v', rand_distr) 
     556        self.rset('v_init', rand_distr) 
    548557 
    549558 
  • trunk/src/brian/cells.py

    r427 r432  
    1414    shaped post-synaptic current.""" 
    1515    translations = common.build_translations( 
    16         ('v_rest',     'v_rest', mV), 
    17         ('v_reset',    'v_reset', mV), 
     16        ('v_rest',     'v_rest', 0.001), 
     17        ('v_reset',    'v_reset', 0.001), 
    1818        ('cm',         'cm'), # C is in pF, cm in nF 
    19         ('tau_m',      'tau_m', ms), 
    20         ('tau_refrac', 'tau_refrac',"max(get_time_step(), tau_refrac*0.001)", "tau_refrac"), 
    21         ('tau_syn_E',  'tau_syn_E', ms), 
    22         ('tau_syn_I',  'tau_syn_I', ms), 
    23         ('v_thresh',   'v_thresh', mV), 
    24         ('i_offset',   'i_offset', pA), # I0 is in pA, i_offset in nA 
    25         ('v_init',     'v', mV), 
     19        ('tau_m',      'tau_m', 0.001), 
     20        ('tau_refrac', 'tau_refrac',"max(get_time_step(), tau_refrac*0.001)", "tau_refrac"), 
     21        ('tau_syn_E',  'tau_syn_E', 0.001), 
     22        ('tau_syn_I',  'tau_syn_I', 0.001), 
     23        ('v_thresh',   'v_thresh', 0.001), 
     24        ('i_offset',   'i_offset'), # I0 is in pA, i_offset in nA 
     25        ('v_init',     'v', 0.001), 
    2626    ) 
    2727    eqs= brian.Equations(''' 
  • trunk/src/nest2/__init__.py

    r430 r432  
    765765            assert len(rarr) >= len(self.cell_local), "The length of rarr (%d) must be greater than that of cell_local (%d)" % (len(rarr), len(self.cell_local)) 
    766766            rarr = rarr[:len(self.cell_local)] 
    767             for cell,val in zip(self.cell_local, rarr): 
    768                 setattr(cell, parametername, val) 
     767            if parametername in self.celltype.scaled_parameters(): 
     768                translation = self.celltype.translations[parametername] 
     769                rarr = eval(translation['forward_transform'], globals(), {parametername : rarr}) 
     770                nest.SetStatus(self.cell_local,translation['translated_name'],rarr) 
     771            elif parametername in self.celltype.simple_parameters(): 
     772                translation = self.celltype.translations[parametername] 
     773                nest.SetStatus(self.cell_local, translation['translated_name'], rarr) 
     774            else: 
     775                for cell,val in zip(self.cell_local, rarr): 
     776                    setattr(cell, parametername, val) 
    769777 
    770778    def _record(self, variable, record_from=None, rng=None,to_file=True): 
     
    10341042        # Set synaptic plasticity parameters 
    10351043        original_synapse_context = nest.GetSynapseContext() 
     1044        #self.plasticity_name = self.label.replace(" ","_to_") 
     1045        #nest.CopySynapseType(self._plasticity_model,"excitatory") 
    10361046        nest.SetSynapseContext(self._plasticity_model) 
    10371047 
     
    10421052                synapse_defaults.pop('num_connectors') 
    10431053            synapse_defaults.update(self._short_term_plasticity_parameters) 
     1054             
    10441055            nest.SetSynapseDefaults(self._plasticity_model, synapse_defaults) 
    10451056