Exemple #1
0
 def _ioconditions(self, conditiondirectory, controldirectory,
                   projectdirectory, loadflag):
     if loadflag:
         _conditiondirectory = pub.conditionmanager._loaddirectory
     else:
         _conditiondirectory = pub.conditionmanager._savedirectory
     _controldirectory = pub.controlmanager._controldirectory
     _projectdirectory = pub.conditionmanager._projectdirectory
     try:
         if projectdirectory:
             pub.conditionmanager.projectdirectory = projectdirectory
         if conditiondirectory:
             if loadflag:
                 pub.conditionmanager.loaddirectory = conditiondirectory
             else:
                 pub.conditionmanager.savedirectory = conditiondirectory
         if controldirectory:
             pub.controlmanager.controldirectory = controldirectory
         for (name, element) in magictools.progressbar(self.elements):
             if loadflag:
                 element.model.sequences.loadconditions()
             else:
                 element.model.sequences.saveconditions()
     finally:
         if loadflag:
             pub.conditionmanager._loaddirectory = _conditiondirectory
         else:
             pub.conditionmanager._savedirectory = _conditiondirectory
         pub.controlmanager._controldirectory = _controldirectory
         pub.conditionmanager._projectdirectory = _projectdirectory
Exemple #2
0
 def doit(self):
     idx_start, idx_end = self.simindices
     self.openfiles(idx_start)
     funcorder = self.funcorder
     for idx in magictools.progressbar(range(idx_start, idx_end)):
         for func in funcorder:
             func(idx)
     self.closefiles()
Exemple #3
0
 def _save_nodeseries(self, seqname, overwrite):
     for (name, node) in magictools.progressbar(self.nodes):
         seq = getattr(node.sequences, seqname)
         if seq.memoryflag:
             if overwrite or not os.path.exists(seq.filepath_ext):
                 seq.save_ext()
             else:
                 warnings.warn('Due to the argument `overwrite` beeing '
                               '`False` it is not allowed to overwrite '
                               'the already existing file `%s`.' %
                               seq.filepath_ext)
Exemple #4
0
 def _save_modelseries(self, name_subseqs, overwrite):
     for (name1, element) in magictools.progressbar(self.elements):
         sequences = element.model.sequences
         subseqs = getattr(sequences, name_subseqs, ())
         for (name2, seq) in subseqs:
             if seq.memoryflag:
                 if overwrite or not os.path.exists(seq.filepath_ext):
                     seq.save_ext()
                 else:
                     warnings.warn('Due to the argument `overwrite` beeing '
                                   '`False` it is not allowed to overwrite '
                                   'the already existing file `%s`.' %
                                   seq.filepath_ext)
Exemple #5
0
 def savecontrols(self,
                  controldirectory=None,
                  projectdirectory=None,
                  parameterstep=None,
                  simulationstep=None):
     _controldirectory = pub.controlmanager._controldirectory
     _projectdirectory = pub.controlmanager._projectdirectory
     try:
         if controldirectory:
             pub.controlmanager.controldirectory = controldirectory
         if projectdirectory:
             pub.controlmanager.projectdirectory = projectdirectory
         for (name, element) in magictools.progressbar(self.elements):
             element.model.parameters.savecontrols(parameterstep,
                                                   simulationstep)
     finally:
         pub.controlmanager._controldirectory = _controldirectory
         pub.controlmanager._projectdirectory = _projectdirectory
Exemple #6
0
 def initmodels(self):
     warn = pub.options.warnsimulationstep
     pub.options.warnsimulationstep = False
     try:
         for (name, element) in magictools.progressbar(self.elements):
             try:
                 element.initmodel()
             except IOError as exc:
                 temp = 'While trying to load the control file'
                 if ((temp in str(exc))
                         and pub.options.warnmissingcontrolfile):
                     warnings.warn('No model could be initialized for '
                                   'element `%s`' % name)
                     self.model = None
                 else:
                     objecttools.augmentexcmessage(
                         'While trying to initialize the model of '
                         'element `%s`' % name)
             else:
                 element.model.parameters.update()
                 element.model.connect()
     finally:
         pub.options.warnsimulationstep = warn
Exemple #7
0
 def prepare_obsseries(self, ramflag=True):
     for (name, node) in magictools.progressbar(self.nodes):
         node.prepare_obsseries(ramflag)
Exemple #8
0
 def prepare_stateseries(self, ramflag=True):
     for (name, element) in magictools.progressbar(self.elements):
         element.prepare_stateseries(ramflag)