Skip to content

Implement kinetic simulations #365

Open

Description

@lemmatum

Kinetic simulations (solving for Vlasov or Fokker-Planck equations) are extremely useful for investigating plasma instabilities, for example laser-plasma instabilities.

I believe 1D and 2D code should be manageable, and I may have some notes kicking around from the high energy density physics summer school in San Diego on how to implement these. Though it should be noted that a "full" kinetics solver would involve 3 dimensions in space and 3 in velocity, which is incredibly expensive and I don't think anyone has managed to implement one of these even on a supercomputer.

I'd be personally very interested in using this for LPI simulations.

Activity

  1. tulasinandan commented on Apr 20, 2018

    @tulasinandan

    Well Gekyll is fully kinetic discontinuous gelarkin finite element code:
    https://www.sciencedirect.com/science/article/pii/S0021999117307477

    It's in C++ and uses Lua to interface with the code. It's still not open source but they will do it soon (hopefully).

    There is also the HVM code, that solves Vlasov equation in the hybrid kinetic relam, from Italy that is also not open source.

    As far as other methods of solving Vlasov-Maxwell system are concerned, we have a plethora of PIC codes available, unlike a few years back when there were none. VPIC, PICCANTE, PIConGPU, UCLA codes (UPIC, QUICKPIC, skeleton codes), are all on github.

    I will help with the PIC version implementation if I can get a tag buddy as I don't know cython at all.

    EDIT:
    On a related note, no high performance Hybrid Kinetic code is available in open source still, and I guess Fokker Planck is also in the same boat as hybrid codes.

  2. lemmatum commented on Apr 20, 2018

    @lemmatum
    ContributorAuthor

    @tulasinandan so we already have a number of issues for creating a PIC code #69 , so I was thinking of focusing on Vlasov (and the like) for this issue.

    Thanks for the update on all those codes - seems like a lot of closed source, so this issue may be of high impact.

  3. tulasinandan commented on Apr 20, 2018

    @tulasinandan

    I see. I think of any code that has kinetic capability when someone says kinetic simulation.

    I like to call the kind you are referring to as Eulerian Vlasov codes, as the distribution function is treated in an Eulerian fashion instead of a Lagrangian fashion like in PIC. I remembered that we had an open PIC issue but wasn't sure if it was stalled or not. I'm coming back after a long hiauts. I'll take up the conversation there.

  4. lemmatum commented on Apr 20, 2018

    @lemmatum
    ContributorAuthor

    If it's not fluids then it's all kinetics in the end 😆

    I'm not sure about the jargon for what to call these kinds of code - I just remember seeing them at the HED summer school and thinking they were pretty neat. (though digging through the files I do find some PIC stuff associated with those codes as well). When we start building stuff I might link some of that summer school code as gists.

    Do you know if these Eulerian Vlasov codes are suitable for modeling laser-plasma instabilities?

    And welcome back 😃

  5. tulasinandan commented on Apr 21, 2018

    @tulasinandan

    Any kinetic code is suitable for modeling laser plasma interactions from the physics point of view. By definition they have the desired physics. The main point that decides the usability is really the numerical stability in that parameter regime, the availability of appropriate tools and boundary conditions, and numerical expense. And finally, the acual avaiability of the code.

    Eulerian vlasov codes are primarily exist in the turf of numerical mathematicians or a couple that came up in the last few years. I have high hopes from Gkeyll [1,2] but we don't know hwne when it will be open sourced. Also, it has a significant number of dendencies and is written in C++ template style (which is Greek to me). However, it is the most generic framework that I know of.

    [1] https://theory.pppl.gov/news/rrseminars/2015XXXXRRHakim.pdf
    [2] https://www.sciencedirect.com/science/article/pii/S0021999117307477

  6. added this to the Future milestone on Apr 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort: very highRequiring ≳2 weeks. Can this be split up into multiple smaller/focused issues?plasmapy.simulationRelated to the plasmapy.simulation subpackagesimulations.kinetics

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions