Warwick-Plasma / epoch

Particle-in-cell code for plasma physics simulations
https://epochpic.github.io
GNU General Public License v3.0
184 stars 58 forks source link

P-polarized light abnormally penetrates the plasma #744

Open kwang12008 opened 1 week ago

kwang12008 commented 1 week ago

Hi sir, I oblique incident a beam of circularly polarized light onto a plasma target, and the density of the plasma target increases linearly.But strangely enough, The y polarization component of light (p polarization) penetrates the plasma, while the z polarization component (s polarization) does not. We know that light at an oblique incidence will be reflected at n=(cosθ)^2*ncr (ncr is the critical density), so it is not physically possible for the y polarization component to penetrate the plasma. Looking forward to your answer,thanks! The graph below shows the y-component electric field. d8d441f5ad733fbe2036ff5e847f0d8a This is my plasma density distribution.(The plasma density reaches ncr at very short lengths) image

Here is my input deck.

# laser
begin:constant
  input_las_a_0 = 0.01
  I_focus = 1.37e18 * (input_las_a_0)^2 #W/cm^2

  las_lambda = 1.0 * micron
  las_k = 2.0 * pi / las_lambda
  las_omega = 2.0 * pi * c / las_lambda
  las_period = 2.0 * pi / las_omega

  w0 = 5 * micron
  t0 = 10 * las_period
  t0_x = 25 *las_period

  theta = pi/4
  x_spot = 20 * micron
  x_R = pi * w0^2 / las_lambda
  w_bnd = w0 * sqrt(1.0 + (x_spot/x_R)^2)
  gouy = atan(x_spot/x_R)
  phasey = 0
  phasez = pi/2

# plasma
  n_crit = critical(las_omega)
  n_plate = n_crit * (x * cos(-pi/4) + y * sin(-pi/4) )/(0.5 * micron) 

#plasma density profile of plasma plate
  x_left = -15 * micron
  x_right = 15.0 * micron
  y_up_1 = tan(theta) * x
  y_up_2 = -tan(theta) * x + 24 * micron
  y_down_1 = tan(theta) * (x - 4/sin(theta)/2 * micron)
  y_down_2 = -tan(theta) * x - 24 * micron
  z_front = 10.0 * micron
  z_back = -z_front

end:constant

begin:control

   t_end = 100 * las_period

# size of domain
nx = 2 * 20 * 10
ny = 80 * 10
nz = 2 * 15 * 10

 nparticles = 10 * nx * ny * nz

x_min = -20 * micron
x_max = 20 * micron
y_min = -15 * micron
y_max = 65 * micron
z_min = -15 * micron 
z_max = -z_min

stdout_frequency = 50

end:control

begin:boundaries

  bc_x_min = simple_laser
#bc_x_max_field = open
#bc_x_max_particle = thermal
  bc_x_max = open
#bc_x_max = simple_outflow

#bc_y_min_field = open
#bc_y_min_particle = thermal  
  bc_y_min = open
  bc_y_max = open
#bc_y_max = open

#bc_z_min_particle = thermal
#bc_z_min_field = open
#bc_z_max_particle = thermal
#bc_z_max_field = open
  bc_z_min = open
  bc_z_max = open

end:boundaries

# y polarization
begin:laser
    boundary = x_min
    intensity_w_cm2 = I_focus
    omega = las_omega
    phase =-phasey  + las_k * (y^2+z^2)/ (2 * x_spot * (1 + (x_R / x_spot)^2 ) ) - gouy      #sin(wt+phase) 
    profile = gauss(sqrt(y^2+z^2), 0, w_bnd)
    t_profile = gauss(time, t0_x, t0)
end:laser

# z polarization
begin:laser
   boundary = x_min
   intensity_w_cm2 = I_focus
   omega = las_omega

   pol_angle = pi/2
   phase = -phasez + las_k * (y^2+z^2) / (2 * x_spot * (1 + (x_R / x_spot)^2 ) ) - gouy     #sin(wt+phase) 
   profile = gauss(sqrt(y^2+z^2), 0, w_bnd)
   t_profile = gauss(time, t0_x, t0)
end:laser

begin:species

    name = electron
    charge = -1.0
    mass = 1.0
    fraction = 0.5
    number_density = if((x gt x_left) and (x lt x_right) and (y gt y_down_1) and (y gt y_down_2) and (y lt y_up_1) and (y lt y_up_2) and (z gt z_back) and (z lt z_front), n_plate, 0.0)
    temp_ev = 100

end:species

 begin:species

    name = ion
    charge = 1.0
    mass = 1836.0
    fraction = 0.5
    number_density = number_density(electron)
    temp_ev = 100

 end:species

begin:collisions
    use_collisions = T
    use_nanbu = T
    coulomb_log = auto
    collide = all
end:collisions

####output series####

#=============instantaneous fields =============

begin:output
   #disabled = T
   name = reflectedfield
   file_prefix = reflect

   dt_snapshot = 5 * las_period

    ex = always + single 
    ey = always + single
    ez = always + single

   bx = always + single
   by = always + single
   bz = always + single

#number_density = always + species + no_sum + single
end:output

begin:output
   disabled = T
   name = density
   file_prefix = density

   dt_snapshot = 5 * las_period

  number_density = always + species + no_sum + single
end:output
Status-Mirror commented 1 week ago

Hi @kwang12008,

Are you referring to the low-intensity transmitted light near $(x,y)$ position $(5,-5) \mu m$?

My guess is that your target is too thin to fully reflect the laser pulse. Or perhaps this is simulation noise - see if the transmitted light is reduced if you shrink the cell-size or increase the number of particles-per-cell.

I don't have much experience working with low intensity pulses like this (around $3\times 10 ^{14} \text{ Wcm}^{-2}$), but it doesn't look like an EPOCH bug to me.

Hope this helps, Stuart

kwang12008 commented 1 week ago

Hi @Status-Mirror Thank you for your reply! When I made the plasma twice as thick as it is now, this phenomenon still exist. Also strangely, when I set the plasma density to a uniform distribution, the p polarization component did not pass through the plasma.

Status-Mirror commented 1 week ago

This is either the correct physical answer, or the simulation resolution is too low and you're experience self-heating noise. The techniques in our self-heating demo can be used to see what effect numerical heating will have on your simulations.

Cheers, Stuart