- 14 Jan, 2013 1 commit
-
-
adelmann authored
-
- 08 Jan, 2013 1 commit
-
-
adelmann authored
-
- 05 Sep, 2012 1 commit
-
-
adelmann authored
Number of impacts are not integrated anymore, now we have impacts per timestep OpalData can be asked if a global Geometry is avaidable
-
- 20 Jun, 2012 1 commit
-
-
Chuan Wang authored
-
- 19 Jun, 2012 1 commit
-
-
Matthias Toggweiler authored
optimization for AMTS: join two neighboring calls to push(0.5 * h). For reduced space charge solve frequency, this reduces push timer to almost 50%. This optimization is not applicable for the default algorithm, as the half pushes there are interleaved with step dumping to stdout (even if there is no stat/ps dump). This optimization could be carried over to MTS method in Cyclotron.
-
- 17 Jun, 2012 1 commit
-
-
Matthias Toggweiler authored
-
- 16 Jun, 2012 1 commit
-
-
Matthias Toggweiler authored
To use AMTS integrator in OPAL-T, add the attribute-value pair TIMEINTEGRATOR="AMTS" to the TRACK element. Another attribute DTSCINIT on the same element controls the initial time step (in seconds) used for space charge. The multiple time stepping scheme uses an outer time step for space charge integration, and inner time steps for basic integration. The inner steps are roughly constant and equal to the value specified with the DT attribute. The outer step can change freely if space charge forces change their magnitude. Example of a TRACK command where a reduced space charge solve frequency is used: track,line=IW2Line, beam=beam1, MAXSTEPS=56000, DTSCINIT=5.0e-10, DT=1.0e-11, ZSTOP=100.0, TIMEINTEGRATOR="AMTS"; AMTS does not (and will probably never) support emission simulation. In such a case, use a short track with the default integrator (MAXSTEPS set such that emission is just finished) and use AMTS in the follow-up track. AMTS does not yet support boundary geometry, wake fields, surface physics. This should be possible to add without problems, and the only reason it is not supported yet is that it made the initial implementation shorter. As the (outer) time step size is no more constant, some question arises how this is handled. AMTS makes a statistics (.stat) and phase space (.h5) dump at the same times when the default integrator would have done it. Therefore, AMTS dumps at multiple of times DT * STATDUMPFREQ and DT * PSDUMPFREQ. To reach these times exactly, the variable step size is shortened if necessary. Be careful to not set the *DUMPFREQ-numbers too low, as this limits the freedom of AMTS' step size choice. AMTS stops exactly at time DT * MAXSTEPS, or after ZSTOP has been crossed. Repartitioning happens if the last repartitioning is at least DT * REPARTFREQ in the past (here no extra stop is made to reach the old repartitioning times exactly). As said earlier, AMTS can save time in many simulations where a reduced space charge solve frequency is still enough precise. For gun simulations, an initial high space charge solve frequency can be used, as it is lowered automatically when space charge forces decrease in magnitude. Later, we can put AMTS into user guide.
-
- 13 Jun, 2012 1 commit
-
-
Matthias Toggweiler authored
- The adaptive multiple time stepping integrator introduces separate time steps for space charge and "basic" external field integration. - Two kind of simulations will profit from it: 1) Space charge dominated scenarios, where the space charge forces vary greatly, e.g. gun simulations ("A aspect") 2) Scenarios where space charge is not dominant, but has a visible effect. Lowering of solver frequency can save considerable amaount of time while staying close to solution with full solve frequency ("MTS aspect") - First basic version, not yet tested well - Currently works only for single node and single bin - Details how to use it will follow
-
- 21 Apr, 2012 1 commit
-
-
adelmann authored
-
- 18 Apr, 2012 1 commit
-
-
kraus authored
-
- 17 Apr, 2012 1 commit
-
-
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.
-
- 29 Mar, 2012 1 commit
-
-
kraus authored
Merge branch 'develop' into svn: new ParallelTTracker, refactored from the old. Now default is to have units. Still lot of places that need to be cleaned up and/or fixed.
-
- 15 Mar, 2012 1 commit
-
-
gsell authored
-