Warwick-Plasma / epoch

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

reduce the group velocity of laser #392

Closed HLQzZ closed 2 years ago

HLQzZ commented 2 years ago

Dear developers,

I want to reduce the group velocity of laser to make it interact with the electron beam.Is there any way to reduce the group velocity of laser? Any help or suggestion will be helpful.

Thanks.

Status-Mirror commented 2 years ago

Hi HLQzZ,

The laser block won't be able to adjust the laser group velocity - laser propagation is determined using the Maxwell field solver, and will always be the speed of light (in a vacuum).

If the laser travels through a plasma, the laser group velocity can be reduced by changing the plasma density. See equation (1) in Yoffe (2021) "Controlling the group velocity of an intense laser pulse using a pre-pulse" for more physics insight.

Hope this helps, Stuart

HLQzZ commented 2 years ago

Hi Stuart,

Thanks for your help. The plasma can only reduce the laser group velocity to 0.9992c, which is not enough for our simulation. We are considering using the Field block to simulate a laser with the group velocity of about 0.5c. Can the Field block complete the simulation?

HLQ

------------------ Original ------------------ From:  "Stuart @.>; Send time: Tuesday, Sep 20, 2022 6:39 PM @.>; @.>; @.>; Subject:  Re: [Warwick-Plasma/epoch] reduce the group velocity of laser (Issue #392)

Hi HLQzZ,

The laser block won't be able to adjust the laser group velocity - laser propagation is determined using the Maxwell field solver, and will always be the speed of light (in a vacuum).

If the laser travels through a plasma, the laser group velocity can be reduced by changing the plasma density. See equation (1) in Yoffe (2021) "Controlling the group velocity of an intense laser pulse using a pre-pulse" for more physics insight.

Hope this helps, Stuart

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Status-Mirror commented 2 years ago

Hi HLQ,

The field block can only set fields at the start of the simulation. These fields would then evolve according to Maxwell's equations, and I don't know if they would travel at the speed you'd want them to.

If you want to manually specify the fields in each cell, at each time-step, then I think you would need to edit the source code. I would advise you only attempt this if you're comfortable coding in FORTRAN.

In the epoch1d.F90, epoch2d.F90 or epoch3d.F90 files, you'll find the core PIC loop. This calls the commands which update the fields - there are two.

To overwrite the field solve, you need to comment these out, and (for epoch2d) replace them with something like: do iy = 1, ny do ix = 1, nx ex(ix,iy) = something end do end do

If you're doing this, it may be helpful to know:

Hope this helps, Stuart