ComputationalRadiationPhysics / picongpu

Performance-Portable Particle-in-Cell Simulations for the Exascale Era :sparkles:
https://picongpu.readthedocs.io
Other
710 stars 218 forks source link

Phase space for photons #2551

Open n01r opened 6 years ago

n01r commented 6 years ago

Since the phase space plugin scales with the particle mass, photons currently cannot have a reasonable phase space plugin output.

The photon momentum is a well-defined quantity however, being p_{ph} = \hbar * k. One could therefore change the phase space plugin in such a way that if the plugin is called for a species which has a mass of zero, an alternate equation for calculation could be used.

That might require a different input for the minimum and maximum momentum, though.

ax3l commented 6 years ago

This is a great issue.

I think photons should already work in the phase space kernels if their momentum is well defined. It should be, since we have plugins evaluating it, e.g. energy calorimeter.

To enable phase space dumping of photons, we probably just need to fix the normalization in https://github.com/ComputationalRadiationPhysics/picongpu/blob/44fe4bf1c60188de008c1e0a11a0f8c6e3cb0c67/include/picongpu/plugins/PhaseSpace/PhaseSpace.tpp

We currently scale the momentum axis of particles to m_species c and probably a good unit for photons is m_e c.

ax3l commented 6 years ago

@Banjafar @berceanu if you are looking for good issues to start developing, this is one.

We mark them with label "good first issue" in our issue tracker: https://github.com/ComputationalRadiationPhysics/picongpu/labels/good%20first%20issue Just comment on those to indicate you are working on it, so we are not doing it twice :)