Skip to content

Instantly share code, notes, and snippets.

@pordyna
Created September 24, 2025 13:47
Show Gist options
  • Select an option

  • Save pordyna/48e326009fe551c13d20752602ddb938 to your computer and use it in GitHub Desktop.

Select an option

Save pordyna/48e326009fe551c13d20752602ddb938 to your computer and use it in GitHub Desktop.

ExpRampWithPrepulse Temporal Envelope for PIConGPU in new interface

This example shows how one can implement the old ExpRampWithPrepulse Temporal Envelope Profile for GaussianPulse for the new Free Functor interface using sympy. The interface change was introduced in #5437.

Steps:

  1. Setup parameters in generate_laser_profile.py and run the script.
  2. Verify the profile by looking at the plot in laserTemporalProfile.png.
  3. Copy the laserTemporalProfileExpresion.txt into the functor in incidentField.param. For reference have a look at the FreeEnvelopeFunctor in the attached example param file.

Notice

  1. Once the free functor is added to picmi/pypicongpu it will be possible to directly pass the sympy expression to picmi.
  2. The way ExpRampWithPrepulse was implemented is not ideal.If the relative ramp intensity is is to high the preceding part of the main gaussian pulse will disappear in the ramp.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment