Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPT input file for external electron beam in PIConGPU #4

Open
BeyondEspresso opened this issue Sep 3, 2018 · 0 comments
Open

GPT input file for external electron beam in PIConGPU #4

BeyondEspresso opened this issue Sep 3, 2018 · 0 comments

Comments

@BeyondEspresso
Copy link
Member

This is the modified GPT-input file for generating a suitable electron beam that fits into the checkpoint in #3 .

# Global Performance Parameters
# accuracy(12) ;

# Define beam parameters
FWHMtoRMS = 1.0/(2*sqrt(2*log(2))) ;		# factor for conversion from FWHM to Gaussian "tau" values

charge = -0.100e-09;					# total electron beam charge within distibution
length= 10.0e-15 * c * FWHMtoRMS;				# electron bunch length
bunchRadius = 5.0e-6; # 5 micrometer
gamma = 100./0.511+1; # 100.0 MeV
deltaG = 0.01 * gamma;

startz= 0;

nps = 100000;							# simulated number of electrons
emittance = 0.3e-6;						# transverse normalized emittance

# Start initial beam

# Real space distribution
setparticles("beam",nps,me,qe,charge) ;
setzdist( "beam", "*g", 0, length  , 3, 3 ) ;
setxdist( "beam", "*g", 0, bunchRadius, 3, 3 ) ;
setydist( "beam", "*g", 0, bunchRadius, 3, 3 ) ;
#setzdist( "beam", "*u", 0, length   ) ;
#setxdist( "beam", "*u", 0, diameter ) ;
#setydist( "beam", "*u", 0, diameter ) ;
#setrxydist( "beam" , "*u", diameter/2 , diameter ) ;
#setphidist( "beam", "*u", 0, 2*pi ) ;

# Phase space distribution
setGBxdist( "beam", "*g", 0, 1, 2,2 ) ;
setGBydist( "beam", "*g", 0, 1, 2,2 ) ;

# Energy distribution
setGdist("beam","*g",gamma,deltaG,2,2) ;

# set emittances
setGBxemittance( "beam", emittance ) ;
setGByemittance( "beam", emittance ) ;

# Spacecharge model
# spacecharge3Dmesh() ;					# full 3D point-to-point relativistic self-fields

#distance=1.0; # 1 meter propagation distance
#tout(0,distance/c,distance/c/200);
tout(0.0)                # Immediate output, without any tracing calculations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant