def run(self, studyname = None, studygroup = 'ripple', nturns = 50000, nbatches = 500, nparperbatch = 200, seed = 0, pycollimate = False, elements = ['AP.UP.ZS21633','AP.DO.ZS21676','AP.UP.TPST21760'], ffile = 500, savetracks = False, **mySettings): # Create settings instance if studyname is None: studyname = self.folder self.settings = Settings(self.folder, studygroup = studygroup, disk = 'afsproject') # Set folder name for the study in the studyGroup directory self.settings.name = self.folder # Set tracker to custom self.settings.trackerrep = lambda k, data, settings: self.tracker(k, data, settings) # Set random seed self.settings.seed = seed # Use pyCollimate scattering routine self.settings.pycollimate = pycollimate # Observe losses at these elements self.settings.elements = elements # Simulation length in number of turns self.settings.nturns = nturns # Save tracks every ffile turns self.settings.ffile = ffile # Number of batches self.settings.nbatches = nbatches # number of batches # Number of particles per batch self.settings.nparperbatch = nparperbatch # particles per batch # Save track files - takes up a lot of space self.settings.savetracks = savetracks # Other settings for mySetting in mySettings: setattr(self.settings, mySetting, mySettings[mySetting]) submit_job(self.settings)
k) + "/" + temp + "');\n" line += "\n" if (settings.saveloss): line += "WRITE, TABLE = trackloss, FILE = 'losses.tfs';\n\n" line += "SYSTEM, 'tar -czf tracks.tar.gz " + str(k) + "';" return line settings = Settings('pc_tracks', studygroup='test', disk='afsproject') settings.trackerrep = track_test settings.saveout = False settings.seed = 0 settings.elements = ['AP.UP.ZS21633_M', 'AP.DO.ZS21676_M', 'TPST.21760'] settings.nturns = 50000 settings.nbatches = 100 settings.nparperbatch = 1000 settings.ffile = 1 settings.dynamicbump = False settings.pycollimate = True settings.flavour = "tomorrow" submit_job(settings)