Giter VIP home page Giter VIP logo

redpic's Introduction

Relativistic Difference Scheme Particles-In-Cell (REDPIC)

PyPI - Version PyPI - Python Version

Check Test Release

This PIC code has been developed since 2022 as an alternative to ASTRA, WARP, XTRACK and other codes.

For particle dynamics simulation using finite difference scheme relativistic.

Table of content

Getting Started

Local build and launch

To build our application and create a Docker image, it will be enough to run the following command:

docker build -t redpic .

To launch the application, use the command:

docker run -it redpic

Documentation

The documentation contains all the Latex files needed to generate documentation. The main source files are located in the manual.

  • main.tex is documentation source file. The final PDF can be found here.

main.tex is the source file that Latex compiler will use to generate the paper. However, in order to keep the code cleaner, the main sections of the paper are all located in the sections. In this way you will experience less merging issues when two or more people are working on the same doc.

Just edit the text in the relative Latex file (e.g., introduction, methodology, etc.) and you should be ready to go. No need to change any other file.

Adding a new section

Just copy a section file (e.g., introduction.tex) paste it in the same directory. Rename the pasted file (e.g. first_chapter.tex) and add this file to main.tex.

Additional Resources

Alternatively you can find great resources on the Overleaf Tutorial website or on Latex wikibooks.

CUDA installation

For CUDA implementation we use Numba library. For more information about CUDA installation see Numba CUDA installation guide.

Prerequisites

Latex

Latex IDE and compiler installed locally on your machine. We recommend using a PyCharm plugin called TeXiFy IDEA as IDE and miktex as Latex compiler

Alternatively you can push your code to Overleaf using git and only use Overleaf. We would discourage you from doing this! Overleaf should only be used for the review.

Useful Resources

IDE

You may want to take advantage of the power of IDEs. For Python We would recommend using PyCharm.

Alternatives are:

Git

You should install git on your computer. And have GitHub account.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Contributing

Dependencies

Use make deps command to install library, its production and development dependencies.

Formatting

Use make format to autoformat code with black tool.

Linter

Use make lint to run only linters for current python version

Test

Use make test to run test for current python version

Maintaining

If pull request consists of several meaningful commits, that should be preserved, then use "Rebase and merge" option. Otherwise use "Squash and merge".

New release (changelog, tag and pypi upload) will be automatically created on each push to master via Github Actions workflow.

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.