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:
# 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,