Warwick-Plasma/epoch

How to set the spectral width of the laser in the laser block of epoch.

Closed this issue · 6 comments

Dear teacher
In the actual experiments,the laser always has its frequency bandwidth.Whether can the EPOCH set the frequency bandwidth of laser.If it is,how to set it in the laser block.For instance, the frequency of laser is 800 nm,its bandwidth is 50 nm.
I'm really sorry to trouble you.It is urgent question. I'm very sincere to acknowledge for you, if it can be work out.

Hey @ouyangchen666,

Bandwidth can mean a few different things. In a short-pulse laser, the bandwidth is coherent, and we get a Gaussian envelope around a fixed wavelength. Given the wavelength and bandwidth you provide, I would imagine this is what you mean. You cannot set the bandwidth directly, but you can copy its effect by adding a gaussian temporal profile - see our laser pulse example.

A relationship between bandwidth and the resulting temporal profile seems to be covered on this external page.

Hope this helps,
Stuart

Dear teacher
I have a question that has been bothering me for a long time. From the laser pulse settings, I clearly understand that the t_profile describes the electric field. Based on my laser wavelength of 800±25 nm, I have transformed it into the time domain using a Fourier transform. Below are the laser parameter settings in my EPOCH:

begin:constant
  las_lambda       = 0.8 * micron
  las_omega        = 2.0 * pi * c / las_lambda
  laser_period     = las_lambda/c
  x_m              = 2*micron
  laser_k          = 2*pi/las_lambda 
  deta_lambda =50*nano
  deta_omega=2*pi*c*deta_lambda/las_lambda^2
  w_t=1/deta_omega
  w0               = 20* micron   # spot size 2.5 *micron
  rayleigh_length  = pi*w0^2/las_lambda
  wz               = w0*sqrt(1+(x_m/rayleigh_length)^2)
  radius_curv      = x_m*(1.0+(rayleigh_length/x_m)^2)
  a0               = 2.0    
  Intensity        = (1.37*10^18)*a0^2/((las_lambda^2)*10^12)   #8.56e20[W/cm^2]
  n_crit           =    ###1.1*10^27/((las_lambda^2)*10^12)
  las_t_fwhm       = 8 * laser_period   
end:constant

begin:laser
   boundary          = x_max
   intensity_w_cm2   = Intensity * (w0/wz)^2 
   lambda            = las_lambda
   pol_angle         = 0.5*pi     #0.5*pi
   phase             = 0.0
   t_profile         = gauss(time,0,w_t) * sin(0.5*pi*time/las_t_fwhm)
   t_start           = 0.0
   t_end             = 2*las_t_fwhm
   profile           = gauss(r,0, w0)
end:laser

However, based on the results of my simulation of Compton scattering, this laser parameter is incorrect and does not yield the expected results.

However, another laser parameter setting can acquire a correct results :

begin:laser
   boundary          = x_max
   intensity_w_cm2   = Intensity * w0/wz
   lambda            = las_lambda
   pol_angle         = 0.5*pi     #0.5*pi
   phase             = 0.0
   t_profile         = sin(0.5*pi*time/las_t_fwhm) * sin(0.5*pi*time/las_t_fwhm)
   t_start           = 0.0
   t_end             = 2*las_t_fwhm
   profile           = gauss(r,0, w0)
end:laser

The electron parameter settings for both cases are the same. In the first case, no photons are produced, and the photon angular spectrum is just noise.I apologize for bothering you, but I would be really grateful if you could help me to solve the problem.

The complete EPOCH simulation settings are as follows:

begin:constant
  las_lambda       = 0.8 * micron
  las_omega        = 2.0 * pi * c / las_lambda
  laser_period     = las_lambda/c
  x_m              = 2*micron
  laser_k          = 2*pi/las_lambda 
  deta_lambda =50*nano
  deta_omega=2*pi*c*deta_lambda/las_lambda^2
  w_t=1/deta_omega

  w0               = 20* micron   # spot size 2.5 *micron
  rayleigh_length  = pi*w0^2/las_lambda
  wz               = w0*sqrt(1+(x_m/rayleigh_length)^2)
  radius_curv      = x_m*(1.0+(rayleigh_length/x_m)^2)


  a0               = 2.0    
  Intensity        = (1.37*10^18)*a0^2/((las_lambda^2)*10^12)   #8.56e20[W/cm^2]
  n_crit           = 1.1*10^27/((las_lambda^2)*10^12)

  las_t_fwhm       = 8 * laser_period    # 12 periods
  

  r = sqrt(y^2 + z^2)
  E = 100 * mev  # 350MeV
  p = E/c   # E^2>>me^2*c^4
 E0=50*mev
  p0 = E0/c
  ps=0.001*p0
  w_ps=ps/sqrt(2*loge(2))
   q0=50*pico
  sigma_r=2*micron
  sigma_x=4*micron
  nb=q0/(qe*pi*(sigma_r/2)^2*sigma_x)
end:constant


begin:control
  nx = 1000
  ny = 500
  nz = 500

  # final time of simulation
  t_end            = 167.0 * femto

  # size of domain
  y_min            = -25 * micron
  y_max            =  25 * micron

  z_min            = -25 * micron
  z_max            =  25 * micron

  x_min            =  0.0 * micron
  x_max            = 50.0 * micron

  stdout_frequency =10

end:control


begin:boundaries
  bc_x_min_field     = simple_laser
  bc_x_max_field     = simple_laser
  bc_y_min_field     = simple_laser
  bc_y_max_field     = simple_outflow
  bc_z_min_field     = simple_laser
  bc_z_max_field     = simple_outflow
  bc_x_min_particle  = open
  bc_x_max_particle  = open
  bc_y_min_particle  = open
  bc_y_max_particle  = open
  bc_z_min_particle  = open
  bc_z_max_particle  = open
end:boundaries


begin:species
  name = electron
  charge = -1.0
  mass = 1.0
  npart_per_cell =27
  tracer = F
  dist_fn= gauss(px,p0,w_ps)
  dist_fn_px_range = (p0 - 3*ps, p0 + 3*ps)
  density = if((abs(r) lt sigma_r/2) and (x gt 0 * micron) and (x lt sigma_x),  nb, 0.0) 
  temp_ev = 10
  identify:electron
end:species


begin:species
  name             = Photon  
  charge           = 0.0
  npart            = 0 
  mass             = 0.0
  dumpmask         = always
  identify:photon
end:species



begin:collisions
  use_collisions   =	F
  coulomb_log      = auto
  collide          = all
end:collisions



begin:qed
   use_qed                = T 
   qed_start_time         = 1.0 * femto       #0.1 * pico
   produce_photons        = T
   use_radiation_reaction = T
   photon_energy_min      = 10.0 * kev
   produce_pairs          = F 
   photon_dynamics        = T  
end:qed




begin:laser
   boundary          = x_max
   intensity_w_cm2   = Intensity * (w0/wz)^2 
   lambda            = las_lambda
   pol_angle         = 0.5*pi     #0.5*pi
   phase             = 0.0
   t_profile         = gauss(time,0,w_t) * sin(0.5*pi*time/las_t_fwhm)
   t_start           = 0.0
   t_end             = 2*las_t_fwhm
   profile           = gauss(r,0, w0)
end:laser


begin:window   
   move_window = F
   window_v_x = c  
   window_start_time =  (x_max - x_min) / c 
   bc_x_min_after_move = simple_outflow  
   bc_x_max_after_move = simple_outflow
end:window


begin:subset
   name             = selected
   random_fraction  = 0.1
   include_species  = Photon
end:subset


begin:subset
   name             = selected1
   random_fraction  = 1.0
   include_species  = electron
end:subset




begin:output
  # number of timesteps between output dumps
   dt_snapshot         = 10.0 * femto
   dt_average          = 1.0*laser_period

  # Properties at particle positions
    particles          =  selected+selected1 
	vx                 =  never
	vy                 =  never
	vz                 =  never
	gamma              =  never
	ek                 =  selected +selected1
                px                 =  selected +selected1
	py                 =  selected +selected1
	pz                 =  selected 
	charge             =  never
	mass               =  never
    particle_weight    =  selected +selected1
    id                 =  always 
  # Properties on grid
    grid               = always
    ex                 = never
    ey                 = never
    ez                 = always
    bx                 = never
    by                 = never
    bz                 = never
    jx                 = never
    jy                 = never
    jz                 = never
    ekbar              = never + species + no_sum
    charge_density     = never
    number_density     =  always + species + no_sum
    temperature        = never + species
    total_energy_sum   = never
    distribution_functions =  never
end:output

Hi @ouyangchen666,

This simulation is too large for me to run myself, but I think I understand why your two input decks are giving different results.

The key difference is in your laser profile. You have a gauss*sin function, and a sin^2 function for your t_profile. The rate of photon production in the nonlinear Compton scatter process is related to the laser intensity. Let's consider both of your profiles with this in mind:

  • t_profile = sin(0.5*pi*time/las_t_fwhm) * sin(0.5*pi*time/las_t_fwhm). These sine functions are identical, and you have a maximum t_profile value of 1 at time = las_t_fwhm. These profiles apply to the electric field $E$, and intensity is proportional to $E^2$, so a high $E$ yields a high intensity.

  • t_profile = gauss(time,0,w_t) * sin(0.5*pi*time/las_t_fwhm). Here, the gauss function has a maximum value when time=0, but here we also have sin=0. Similarly, at the peak of the sin function, gauss is low. Your t_profile is low at all times, which produces a lower intensity at all times, and fewer photons. Remember from the maths parser that the second argument of the gauss function in EPOCH refers to the maximum of the function. I think you would have more success with t_profile = gauss(time,las_t_fwhm,w_t) * sin(0.5*pi*time/las_t_fwhm).

If this is correct, you should be able to see this if you output the electric field values. I believe your peak fields will be lower in the simulation without photon production.

Hope this helps,
Stuart

I'm going to mark this issue as closed for now, but feel free to re-open if there are still problems.

ouyangchen666),

How to interpret your laser boundary conditions? Wat was tried to accomplish?

bc_x_min_field = simple_laser
bc_x_max_field = simple_laser
bc_y_min_field = simple_laser
bc_y_max_field = simple_outflow
bc_z_min_field = simple_laser
bc_z_max_field = simple_outflow