# node.setLinacTracker() #----------------------------------------------------- # Set up Space Charge Acc Nodes #----------------------------------------------------- from orbit.space_charge.sc3d import setSC3DAccNodes, setUniformEllipsesSCAccNodes from spacecharge import SpaceChargeCalcUnifEllipse, SpaceChargeCalc3D sc_path_length_min = 0.02 print "Set up Space Charge nodes. " # set of uniformly charged ellipses Space Charge nEllipses = 1 calcUnifEllips = SpaceChargeCalcUnifEllipse(nEllipses) space_charge_nodes = setUniformEllipsesSCAccNodes(accLattice, sc_path_length_min, calcUnifEllips) """ # set FFT 3D Space Charge sizeX = 64 sizeY = 64 sizeZ = 64 calc3d = SpaceChargeCalc3D(sizeX,sizeY,sizeZ) space_charge_nodes = setSC3DAccNodes(accLattice,sc_path_length_min,calc3d) """ max_sc_length = 0. min_sc_length = accLattice.getLength() for sc_node in space_charge_nodes: scL = sc_node.getLengthOfSC() #if(scL > 0.028):
print "Linac lattice is ready. L=",accLattice.getLength() #----------------------------------------------------- # Set up Space Charge Acc Nodes #----------------------------------------------------- from orbit.space_charge.sc3d import setSC3DAccNodes, setUniformEllipsesSCAccNodes from spacecharge import SpaceChargeCalcUnifEllipse, SpaceChargeCalc3D sc_path_length_min = 0.02 print "Set up Space Charge nodes. " # set of uniformly charged ellipses Space Charge nEllipses = 1 calcUnifEllips = SpaceChargeCalcUnifEllipse(nEllipses) space_charge_nodes = setUniformEllipsesSCAccNodes(accLattice,sc_path_length_min,calcUnifEllips) """ # set FFT 3D Space Charge sizeX = 64 sizeY = 64 sizeZ = 64 calc3d = SpaceChargeCalc3D(sizeX,sizeY,sizeZ) space_charge_nodes = setSC3DAccNodes(accLattice,sc_path_length_min,calc3d) """ max_sc_length = 0. min_sc_length = accLattice.getLength() for sc_node in space_charge_nodes: scL = sc_node.getLengthOfSC() if(scL > max_sc_length): max_sc_length = scL