Skip to content
forked from PHAREHUB/PHARE

C++17 Parallel Hybrid particle in cell code with Adaptive mesh REfinement

License

Notifications You must be signed in to change notification settings

rochSmets/PHARE

 
 

Repository files navigation

License: GPL v3 CPP17 LGTM Total alerts

Documentation Status

image

Parallel Hybrid PIC code with Adaptive mesh REfinement

PHARE is a Hybrid Particle-In-Cell (PIC) code. It solves the evolution of the Vlasov equation of an arbitrary number of ion populations in a Lagrangian way. Electrons are modeled as a single fluid. Their momentum equation is used to compute the electric field, assuming quasineutrality.

Using Adaptive Mesh Refinement, provided by the library SAMRAI, PHARE aims at filling the gap between sub-ion scales and large "MHD" scales by increasing the mesh resolution wherever the solution needs it.

WARNING - PHARE is under development ;-)

Software Licence

PHARE is an open-source projet licenced under the GPLv3. Please refer to LICENCE.TXT

Building the code

Basic tools and library requirements:

- git
- cmake
- make/ninja
- C++ and Fortran compiler
- MPI
- Parallel HDF5
- Python 3.x devel package

PHARE input and post-processing scripts are in python. Install dependencies with:

  python3 -m pip install -r requirements.txt

PHARE depends on SAMRAI to manager the adaptive mesh refinement. You can either

  • build PHARE with the latest version of SAMRAI:
  mkdir build; cd build; cmake ..; make
  • build PHARE with a pre-installed version of SAMRAI:
  mkdir build; cd build; cmake .. -DSAMRAI_ROOT=/path/to/SAMRAI/install; make

Documentation

Developers

Contributing

All contributions are welcome. If you are interested in participating to the project for an internship, PhD, PostDoc, contact us.

Development environnment

For system library requirements see the following Docker File

Active core team

Former collaborators

Publications

  • Smets R., Aunai, N., Ciardi, A., Drouin M., Campos-Pinto M., Deegan P., A new method to dispatch split particles in Particle-In-Cell codes, Computer Physics Communications, https://doi.org/10.1016/j.cpc.2020.107666

Acknowledgments

We acknowledge support from:

About

C++17 Parallel Hybrid particle in cell code with Adaptive mesh REfinement

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.2%
  • Python 26.8%
  • CMake 3.1%
  • Jupyter Notebook 0.9%