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

3D simulation of a Gaussian laser entering a spherical plasma #761

Open
wuwhan186 opened this issue Dec 23, 2024 · 3 comments
Open

3D simulation of a Gaussian laser entering a spherical plasma #761

wuwhan186 opened this issue Dec 23, 2024 · 3 comments

Comments

@wuwhan186
Copy link

Hello Blogger, I am currently working on a 3D simulation of a circularly polarized Gaussian laser entering a uniform spherical plasma. However, after building the model and running the simulation, I found that the laser does not appear. I would like to consult with you about how to set various parameters for circularly polarized lasers in 3D. How does it differ from 2D simulations?

@wuwhan186
Copy link
Author

@Status-Mirror

@Status-Mirror
Copy link
Collaborator

Hi @wuwhan186,

We provide a 2D linearly-polarised Gaussian beam demo in our documentation. To convert this to 3D, you can add a new radial co-ordinate radial_yz = sqrt(y^2 + z^2) to a constant block, and then you should be able to replace any reference to y with the radial_yz variable.

For circular polarisation, you can try injecting two linearly polarised lasers on top of each other, with perpendicular polarisations and a pi/2 phase-shift.

I'm not currently able to test this, but maybe something like this would work:

begin:control
    nx = 2400
    ny = 1200
    nz = 1200
    t_end = 100e-15
    x_min = 0
    x_max = 20e-6
    y_min = -5e-6
    y_max = 5e-6
    z_min = -5e-6
    z_max = 5e-6
    stdout_frequency = 100
end:control

begin:boundaries
    bc_x_min = simple_laser
    bc_x_max = open
    bc_y_min = open
    bc_y_max = open
    bc_z_min = open
    bc_z_max = open
end:boundaries

begin:constant
    I_fwhm = 2.0e-6          # FWHM of laser intensity
    I_peak_Wcm2 = 1.0e15     # 0.5 * eps0 * c * E_peak^2
    las_lambda = 1.0e-6      # Laser wavelength
    foc_dist = 5.0e-6        # Boundary to focal point distance

    radial_yz = sqrt(y^2 + z^2)
end:constant

begin:constant
    las_k = 2.0 * pi / las_lambda    
    w0 = I_fwhm / sqrt(2.0 * loge(2.0))                  # Beam Waist
    ray_rang = pi * w0^2 / las_lambda                    # Rayleigh range
    w_boundary = w0 * sqrt(1.0 + (foc_dist/ray_rang)^2)  # Waist on boundary
    I_boundary = I_peak_Wcm2 * (w0 / w_boundary)^2       # Intens. on boundary
    rad_curve = foc_dist * (1.0 + (ray_rang/foc_dist)^2) # Boundary curv. rad.
    gouy = atan(-foc_dist/rad_curve)                     # Boundary Gouy shift
end:constant

begin:laser
    boundary = x_min
    intensity_w_cm2 = I_boundary
    lambda = las_lambda
    phase = las_k * radial_yz^2 / (2.0 * rad_curve) - gouy
    profile = gauss(radial_yz, 0, w_boundary)
end:laser

begin:laser
    boundary = x_min
    intensity_w_cm2 = I_boundary
    lambda = las_lambda
    pol = 90
    phase = las_k * radial_yz^2 / (2.0 * rad_curve) - gouy + 0.5*pi
    profile = gauss(radial_yz, 0, w_boundary)
end:laser

begin:output
    name = o1
    dt_snapshot = 10 * femto
    poynt_flux = always
end:output

Hope this helps,
Stuart

@wuwhan186
Copy link
Author

@Status-Mirror Thank you very much for your help, . I will try to simulate it based on the ideas you provided. I really appreciate it.

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

2 participants