Exemplo n.º 1
0
def opt_func3(args):

    em = []
    for i in range(len(args)):
        H13.__dict__[name_args[i]] = args[i]
        em.append("")

    sum_ioniz = 0
    sum_pop2 = 0
    for i in range(ne - 1):
        H13.power = energies[i] / (math.sqrt(2 * math.pi) * H13.env_sigma)
        #        H13.power = 3e6
        pop, sigma_pop, p_ioniz, sigma_p_ioniz = H13.population()
        sum_ioniz += p_ioniz
        sum_pop2 += pop

        pf.fdata(["", "", H13.power / 1.0e+6] + em +
                 [pop, sigma_pop, p_ioniz, sigma_p_ioniz])

    H13.count += 1

    pr_args = []
    for i in range(len(args)):
        pr_args.append(print_factor[i] * H13.__dict__[name_args[i]])
    pf.fdata(
        [H13.count, orbit_mpi.MPI_Wtime() - time_start, "aver"] + pr_args +
        [sum_pop2 / (ne - 1), sigma_pop, sum_ioniz / (ne - 1), sigma_p_ioniz])
    pf.fdata([""])

    return -sum_ioniz / (ne - 1)
Exemplo n.º 2
0
def opt_func1(args):

    for i in range(len(args)):  
        H13.__dict__[name_args[i]] = args[i]

        
    
    pop, sigma_pop = H13.population()
    pf.fdata(H13.count,orbit_mpi.MPI_Wtime() - time_start,H13.power/1.0e+6,1.0e+3*H13.rx,1.0e+3*H13.ry,1.0e+3*H13.ax,1.0e+3*H13.ay,pop,sigma_pop)
    H13.count += 1

    return -pop
Exemplo n.º 3
0
def opt_func2(args):

    for i in range(len(args)):
        H13.__dict__[name_args[i]] = args[i]

    sum = 0
    for i in range(200 - 1):
        H13.power = energies[i] / (math.sqrt(2 * math.pi) * H13.env_sigma)
        pop, sigma_pop = H13.population()
        sum += pop
        pf.fdata(H13.count,
                 orbit_mpi.MPI_Wtime() - time_start, H13.env_sigma * 1e12,
                 H13.power / 1.0e+6, 1.0e+6 * H13.wx, 1.0e+6 * H13.wy,
                 H13.fx * 100, H13.fy * 100, pop, sigma_pop)
#        pf.fdata("","",H13.power/1.0e+6,"","","","",pop,sigma_pop)
    H13.count += 1
    #    pf.fdata(H13.count,orbit_mpi.MPI_Wtime() - time_start,"aver_0.1-1.0",1.0e+6*H13.wx,1.0e+6*H13.wy,H13.fx*100,H13.fy*100,sum/len(powers))
    pf.fdata(H13.count,
             orbit_mpi.MPI_Wtime() - time_start, H13.env_sigma * 1e12, "aver",
             1.0e+6 * H13.wx, 1.0e+6 * H13.wy, H13.fx * 100, H13.fy * 100,
             sum / 200, sigma_pop)
    pf.fdata("")

    return -sum / (200 - 1)
Exemplo n.º 4
0
def opt_func1(args):

    for i in range(len(args)):
        H13.__dict__[name_args[i]] = args[i]

    H13.power = pulse_energy / (math.sqrt(2 * math.pi) * H13.env_sigma)

    pop, sigma_pop = H13.population()
    pf.fdata(H13.count,
             orbit_mpi.MPI_Wtime() - time_start, H13.env_sigma * 1e12,
             H13.power / 1.0e+6, 1.0e+6 * H13.wx, 1.0e+6 * H13.wy,
             H13.fx * 100, H13.fy * 100, pop, sigma_pop)
    H13.count += 1

    return -pop
Exemplo n.º 5
0
def opt_func(args):

    for i in range(len(args)):
        H13.__dict__[name_args[i]] = args[i]

    H13.ay = 0
        
    
    sum = 0
    for N_p in range(len(powers)):
        H13.power = powers[N_p]
        pop, sigma_pop = H13.population()
        sum += pop
#        pf.fdata("","",H13.power/1.0e+6,"","","","",pop,sigma_pop)
    H13.count += 1
#    pf.fdata(H13.count,orbit_mpi.MPI_Wtime() - time_start,"aver_0.1-1.0",1.0e+6*H13.wx,1.0e+6*H13.wy,H13.fx*100,H13.fy*100,sum/len(powers))
    pf.fdata(H13.count,orbit_mpi.MPI_Wtime() - time_start,"aver_0.1-2.0",1.0e+3*H13.rx,1.0e+3*H13.ry,1.0e+3*H13.ax,1.0e+3*H13.ay,sum/len(powers))

    return -sum/len(powers)
Exemplo n.º 6
0
def opt_func(args):

    em = []
    for i in range(len(args)):
        H13.__dict__[name_args[i]] = args[i]
        em.append("")

    H13.ay = H13.ax
    H13.ry = H13.rx

    sum_ioniz = 0
    sum_pop2 = 0
    for power in powers:
        H13.power = power
        #        H13.power = 3e6
        pop, sigma_pop, p_ioniz, sigma_p_ioniz = H13.population()
        sum_ioniz += p_ioniz
        sum_pop2 += pop

        pf.fdata(["", "", H13.power / 1.0e+6] + em +
                 [pop, sigma_pop, p_ioniz, sigma_p_ioniz])

    H13.count += 1

    pr_args = []
    for i in range(len(args)):
        pr_args.append(print_factor[i] * H13.__dict__[name_args[i]])
    pf.fdata([H13.count, orbit_mpi.MPI_Wtime() - time_start, "aver"] +
             pr_args + [
                 sum_pop2 / len(powers), sigma_pop, sum_ioniz /
                 len(powers), sigma_p_ioniz
             ])
    pf.fdata([""])

    #print -sum_ioniz/(ne-1)
    return -sum_pop2 / len(powers)
Exemplo n.º 7
0
bunch = Bunch()
bunch.charge(0)
bunch.mass(0.938256 + 0.000511)
for i in range(N_part):
	(x,px,y,py,z,pz) = partGen.getCoords()
	#bunch.addParticle(x,px,y,py,-z0,pz)
	bunch.addParticle(0.,0.,0.,0.,-z0,pGen.getP0())

bunch.dumpBunch("bunch_init.dat")

bunch.addPartAttr("Amplitudes",{"size":500})	
for i in range(N_part):
	bunch.partAttrValue("Amplitudes",i,1,1.0)
	
time_start = orbit_mpi.MPI_Wtime()

count = 0

for power,wx,fxy in [(power,wx,fxy) 
                    for power in range_power 
                    for wx in range_wx 
                    for fxy in range_fxy]:

	count = count + 1
	bunch_target.deleteAllParticles()
	bunch.copyBunchTo(bunch_target)
	
	la0= 2*math.pi*5.291772108e-11/7.297352570e-3/(Stark.getStarkEnergy(bunch_target.mass(),   0,2,0,  0.,0.,0.,  Bx,0.,0.,   0.,0.,P) 
												   -Stark.getStarkEnergy(bunch_target.mass(),   0,0,0,  0.,0.,0.,  Bx,0.,0.,   0.,0.,P))
Exemplo n.º 8
0
import sys, math, os, orbit_mpi

from laserstripping import *
from bunch import *
from orbit_mpi import *
from orbit_utils import *
from ext.las_str.TwoLevelFuncMod import TwoLevelFunc
from ext.las_str.SchredingerFuncMod import SchredingerFunc
from ext.las_str.SimplexMod import Simplex
from ext.las_str.part_generator import BunchGen
from ext.las_str.print_mod import printf
#from ext.las_str.plot_mod import *
from ext.las_str.emittance import Freq_spread

time_start = orbit_mpi.MPI_Wtime()
rank = orbit_mpi.MPI_Comm_rank(mpi_comm.MPI_COMM_WORLD)
size = orbit_mpi.MPI_Comm_size(mpi_comm.MPI_COMM_WORLD)
orbit_path = os.environ["ORBIT_ROOT"]

#----------------------Beginning of the beam parameters----------------------#

b = BunchGen()

b.N_part = 100

b.TK = 8.0  # [GeV]

b.mass = 0.938256 + 0.000511  # [GeV]
b.charge = 0  # [e]
Exemplo n.º 9
0
# MPI_CONGRUENT
# MPI_SIMILAR
# MPI_UNEQUAL
# MPI_UNDEFINED
# MPI_UNDEFINED_RANK
# MPI_SUCCESS
# MPI_ANY_SOURCE
# MPI_ANY_TAG
#------------------------------------------------------

mpi_init = orbit_mpi.MPI_Initialized()

cpu = orbit_mpi.MPI_Get_processor_name()
rank = orbit_mpi.MPI_Comm_rank(orbit_mpi.mpi_comm.MPI_COMM_WORLD)
size = orbit_mpi.MPI_Comm_size(orbit_mpi.mpi_comm.MPI_COMM_WORLD)
t = orbit_mpi.MPI_Wtime()
tick = orbit_mpi.MPI_Wtick()

#---------MPI Constant -----------------------
if (rank == 0):
    print "init=", mpi_init, " rank=", rank, " size=", size, " name=", cpu, " time=", t, " tick=", tick
    print "MPI_IDENT=", orbit_mpi.MPI_IDENT
    print "MPI_CONGRUENT=", orbit_mpi.MPI_CONGRUENT
    print "MPI_SIMILAR=", orbit_mpi.MPI_SIMILAR
    print "MPI_UNEQUAL=", orbit_mpi.MPI_UNEQUAL
    print "MPI_UNDEFINED=", orbit_mpi.MPI_UNDEFINED
    print "MPI_UNDEFINED_RANK=", orbit_mpi.MPI_UNDEFINED_RANK
    print "MPI_SUCCESS=", orbit_mpi.MPI_SUCCESS
    print "MPI_ANY_SOURCE=", orbit_mpi.MPI_ANY_SOURCE
    print "MPI_ANY_TAG=", orbit_mpi.MPI_ANY_TAG
else: