Code Monkey home page Code Monkey logo

vm15d's Introduction

VM15D : Hamiltonian fluid reduction of the 1.5D Vlasov-Maxwell equations

  • VM15D.nb: [Mathematica notebook] checks the Jacobi identity and the Casimir invariants for the bracket Bracket[F,G] given by Eq. (6) of the article Hamiltonian fluid reduction of the 1.5D Vlasov-Maxwell equations by C. Chandre and B.A. Shadwick

  • GrowthRates.mlx: [Matlab livescript] computes the growth rates for the linearized equations of motion near a homogeneous equilibrium. It reproduces the figures of the article Hamiltonian fluid reduction of the 1.5D Vlasov-Maxwell equations by C. Chandre and B.A. Shadwick

  • VM15D python code

    • VM15D_dict.py: to be edited to change the parameters of the VM15D computation (see below for a dictionary of parameters)

    • VM15D.py: contains the VM15D class and main functions (not to be edited)

    • VM15D_modules.py: contains the methods to run VM15D (not to be edited)

    • Once VM15D_dict.py has been edited with the relevant parameters, run the file as

    python3 VM15D.py
    • NB: in case of error, check your version of the python modules used in the code (see modules_version.txt)

Parameter dictionary for VM15D

  • Tf: double; duration of the integration (in units of ωp-1)

  • alpha: double; value of the parameter α of the closure

  • lam: double; value of the parameter λ of the closure

  • integrator_kinetic: string ('position-Verlet'); choice of solver for the integration of the Vlasov equation

  • nsteps: integer; number of steps in one period of plasma oscillations (1/ωp) for the integration of the Vlasov equation

  • integrator_fluid: string ('RK45', ‘RK23’, ‘DOP853’, ‘BDF’, ‘LSODA’); choice of solver for the integration of the fluid equation

  • precision: double; numerical precision of the integrator for the fluid equations; threshold for the Fourier transforms

  • n_casimirs: integer; number of Casimir invariants to be monitored

  • Lz: double; the z-axis is (-Lz, Lz)

  • Lvx: double; the vx-axis is (-Lvx, Lvx)

  • Lvz: double; the vz-axis is (-Lvz, Lvz)

  • Nz: integer; number of points in z to represent the field variables

  • Nvx: integer; number of points in vx to represent the field variables

  • Nvz: integer; number of points in vz to represent the field variables

  • f_init: lambda function; initial distribution f(z,vx,vz,t=0)

  • Kinetic: list of strings in ['Compute', 'Plot']; list of instructions for the 1.5D Vlasov-Maxwell simulation

  • Fluid: list of strings in ['Compute', 'Plot']; list of instructions for the fluid simulation; if contains 'Save', the results are saved in a .mat file

  • darkmode: boolean; if True, plots are done in dark mode

  • tqdm_display: boolean; if True, displays a progress bar in the terminal


Reference: C. Chandre, B.A. Shadwick, Hamiltonian fluid reduction of the 1.5D Vlasov–Maxwell equationsn, Physics of Plasmas 28, 092114 (2021); arXiv:2105.03194

@article{chandre2021,
         title = {Hamiltonian fluid reduction of the 1.5D Vlasov–Maxwell equations},
         author = {Chandre, C. and Shadwick, B.A.},
         journal = {Physics of Plasmas},
         volume = {28},
         number = {9},
         pages = {092114},
         year = {2021},
         doi = {10.1063/5.0056155},
         URL = {https://doi.org/10.1063/5.0056155}
}

For more information: [email protected]

vm15d's People

Contributors

cchandre avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.