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

Enhance: Laser, Species Orbit Integration, Defaults #40

Open
tsung1029 opened this issue Jun 8, 2021 · 3 comments
Open

Enhance: Laser, Species Orbit Integration, Defaults #40

tsung1029 opened this issue Jun 8, 2021 · 3 comments
Assignees

Comments

@tsung1029
Copy link
Contributor

Hi:

I made some PICMI files in the past week and I noticed the following things about the PICMI specifications, I am wondering if these can be implemented.

(1) for the laser make it possible to use I0 as a way to specify the amplitude

(2) for the Gaussian laser “duration” is not well defined. How is it related to FWHM of the laser? I understand that in the time domain the laser needs to be completely off at some point in z (or time) so maybe we need both a variable called duration to specify the cutoff in time, and another variable for the FWHM of the laser?

(3) it would be useful to add a “method” attribute for the species as well, to specify the orbit integration method, similar to the fields.

(4) for some attributes we can have defaults, for example
method = "Yee" for fields
"Boris" for particles

cfl=.99 for the CFL condition

and so forth. Please let me know and I am happy to contribute to this effort.

@ax3l
Copy link
Member

ax3l commented Jun 9, 2021

Discussed today in CAMPA meeting:

@RemiLehe
Copy link
Member

RemiLehe commented Jul 7, 2021

Sorry for the late reply. Here are a few answers:

  1. Agreed. Could you go ahead a create corresponding PR? I would suggest that the different picmi laser classes take I0 as an optional argument, and then convert it internally as self.E0 and self.a0, as is done here: https://github.com/picmi-standard/picmi/blob/master/PICMI_Python/lasers.py#L53 I think that we should probably not add a new attribute self.I0, otherwise this would require each of the codes that support PICMI to update their interface to the picmistandard.

  2. Agreed. @tsung1029 Could you have a look at this PR: Add more documentation for the laser parameters #43 and let me know whether this now makes the definition of these parameters clear.

3./4. Sounds good. Should we actually pass this as an overall argument of the picmi.Simulation object? To my knowledge many codes do not currently have the flexibility to specify a different particle pusher for each species. Note that, in this case, the name of this new argument could be particle_pusher instead of method.

@ax3l ax3l changed the title suggestions Enhance: Laser, Species Orbit Integration, Defaults Mar 14, 2022
@ax3l
Copy link
Member

ax3l commented Mar 14, 2022

Note: we use a default of cfl=0.999 now in WarpX, which I find quite reasonable to use for PICMI as well:
ECP-WarpX/WarpX#2940 (comment)

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

4 participants