Exemple #1
0
        tracker.rf_voltage = worker.broadcast(tracker.rf_voltage)
    # else just do the normal task-parallelism
    elif withtp:
        if worker.isFirst:
            if (turn < 8 * int(FBtime)):
                longCavityImpedanceReduction.track()
                shortCavityImpedanceReduction.track()
            if (approx == 0) or (approx == 2):
                inducedVoltage.induced_voltage_sum()
            elif (approx == 1) and (turn % n_turns_reduce == 0):
                inducedVoltage.induced_voltage_sum()
        if worker.isLast:
            tracker.pre_track()

        worker.intraSync()
        worker.sendrecv(inducedVoltage.induced_voltage, tracker.rf_voltage)
    else:
        if (turn < 8 * int(FBtime)):
            longCavityImpedanceReduction.track()
            shortCavityImpedanceReduction.track()
        if (approx == 0) or (approx == 2):
            inducedVoltage.induced_voltage_sum()
        elif (approx == 1) and (turn % n_turns_reduce == 0):
            inducedVoltage.induced_voltage_sum()
        tracker.pre_track()

    tracker.track_only()

    if SPS_PHASELOOP is True:
        if turn % PL_save_turns == 0 and turn > 0:
            with timing.timed_region('serial:binShift') as tr:
Exemple #2
0
        # Here I need to broadcast the calculated stuff
        PS_longitudinal_intensity.induced_voltage = worker.broadcast(
            PS_longitudinal_intensity.induced_voltage)
        tracker.rf_voltage = worker.broadcast(tracker.rf_voltage)
    # else just do the normal task-parallelism
    elif withtp:
        if worker.isFirst:
            if (approx == 0) or (approx == 2):
                PS_longitudinal_intensity.induced_voltage_sum()
            elif (approx == 1) and (turn % n_turns_reduce == 0):
                PS_longitudinal_intensity.induced_voltage_sum()
        if worker.isLast:
            tracker.pre_track()

        worker.intraSync()
        worker.sendrecv(PS_longitudinal_intensity.induced_voltage,
                        tracker.rf_voltage)
    else:
        if (approx == 0) or (approx == 2):
            PS_longitudinal_intensity.induced_voltage_sum()
        elif (approx == 1) and (turn % n_turns_reduce == 0):
            PS_longitudinal_intensity.induced_voltage_sum()
        # PS_longitudinal_intensity.induced_voltage_sum()
        tracker.pre_track()

    tracker.track_only()

    if (args['monitor'] > 0) and (turn % args['monitor'] == 0):
        beam.statistics()
        beam.gather_statistics()
        profile.fwhm_multibunch(n_bunches,
                                bunch_spacing_buckets,