1. 17 Apr, 2012 2 commits
    • adelmann's avatar
      In OPAL several different TRACK's can performed within one simulation (does... · 06df9215
      adelmann authored
      In OPAL several different TRACK's can performed within one simulation (does not hold for OPAL-cycl yet) this together with 
      the restart capabilities calls for a delicate logic.
      
      Different tracks, looks like: 
      
      .....
      
      TRACK, LINE= Injector, BEAM=beam1, MAXSTEPS=100, DT=1.0e-12, ZSTOP=0.14;  
       RUN, METHOD = "PARALLEL-T", BEAM = beam1, FIELDSOLVER = Fs1, DISTRIBUTION = Dist1;
      ENDTRACK;
      
      TRACK,LINE= Injector, BEAM=beam1, MAXSTEPS=50, DT=1.0e-11, ZSTOP=0.20;
       RUN, METHOD = "PARALLEL-T", BEAM=beam1, FIELDSOLVER=Fs1;
      ENDTRACK;
      STOP;
      
      A run with the arguments -restart -1 will continue a track from the last dump in the h5 file. Other the from the last track will
      at the moment certainly fail in the general case. 
      
      Changes: 
      
      - The h5 attribute TrackStep is not longer available anymore. Two new attributes: LocalTrackStep and GlobalTrackStep are introduced instead.
      
      - LocalTrackStep refers to the track step in a track command (0 ... 99 and 0... 49 in teh above example), where the GlobalTrackStep is the 
      accumulated number of steps i.e. 0 ... 149, shown in OPAL's screen output. Both local and global track steps are also written into the h5 file 
      in order to properly restart the simulation.
      
      - The PartBunch object has get/set and increment functions:
      
          inline void setGlobalTrackStep(long long n) {globalTrackStep_m = n;}
          inline long long getGlobalTrackStep() const {return globalTrackStep_m;}
      
          inline void setLocalTrackStep(long long n) {localTrackStep_m = n;}
          inline long long getLocalTrackStep() const {return localTrackStep_m;}
          inline void incLocalTrackStep() {localTrackStep_m++; globalTrackStep_m++;)
      
              
      - In OPAL-cyc getTrackStep is replace by getLocalTrackStep assuming we only have one TRACK in the simulation.
      
      - In the ParallelTTracker at the end of the main loop (in execute()) obsolet code is removed (cleanup monitors etc.)
        
      For details see the diff :-)
      
      Still some work todo: 
      
      a) Need to remove: setLastStep in ParallelTTracker.cpp and in general
      
          getInstance()->getLastStep()
          getInstance()->getRestartStep() maybe not!
      
      b) The get/set and increment functions could very well be in an other class!
      
      c) ParallelPlate tests are broken but maybe also because of other changes need to fix this 
         together with Chuang and Achim
      
      d) Make sure the restart works in OPAL-cycl we do not have yet a regression test for that.
      
      06df9215
    • kraus's avatar
      Merge branch 'develop' into svn: more pretty printing; change variable names... · 3cd7067d
      kraus authored
      Merge branch 'develop' into svn: more pretty printing; change variable names to comply with (unfortunately missing) coding style (Use descriptive names)
      3cd7067d
  2. 16 Apr, 2012 1 commit
  3. 31 Mar, 2012 1 commit
  4. 15 Mar, 2012 1 commit