All Projects → PyORBIT-Collaboration → py-orbit

PyORBIT-Collaboration / py-orbit

Licence: MIT License
Core of Py-ORBIT code

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to py-orbit

FrisPy
Frisbee flight simulator written in Python.
Stars: ✭ 23 (+53.33%)
Mutual labels:  physics-simulation
PySDM
Pythonic particle-based (super-droplet) warm-rain/aqueous-chemistry cloud microphysics package with box, parcel & 1D/2D prescribed-flow examples in Python, Julia and Matlab
Stars: ✭ 26 (+73.33%)
Mutual labels:  physics-simulation
N-body-numerical-simulation
Script written in Python to integrate the equations of motion of N particles interacting with each other gravitationally. The script computes the equations of motion and use scipy.integrate to integrate them. Then it uses matplotlib to visualize the solution.
Stars: ✭ 40 (+166.67%)
Mutual labels:  physics-simulation
Robotics-Object-Pose-Estimation
A complete end-to-end demonstration in which we collect training data in Unity and use that data to train a deep neural network to predict the pose of a cube. This model is then deployed in a simulated robotic pick-and-place task.
Stars: ✭ 153 (+920%)
Mutual labels:  physics-simulation
mujoco
Python wrapper for MuJoCo physics simulation.
Stars: ✭ 12 (-20%)
Mutual labels:  physics-simulation
opem
OPEM (Open Source PEM Fuel Cell Simulation Tool)
Stars: ✭ 107 (+613.33%)
Mutual labels:  physics-simulation
apic2d
Affine Particle-in-Cell Water Simulation in 2D
Stars: ✭ 79 (+426.67%)
Mutual labels:  physics-simulation
python-algorithms-and-simulations
Different algorithms and simulations from gravity simulations to cellular automata, implemented in python.
Stars: ✭ 21 (+40%)
Mutual labels:  physics-simulation
fdtd
A 3D electromagnetic FDTD simulator written in Python
Stars: ✭ 195 (+1200%)
Mutual labels:  physics-simulation
HamiltonianSolver
Numerically solves equations of motion for a given Hamiltonian function
Stars: ✭ 51 (+240%)
Mutual labels:  physics-simulation
featool-multiphysics
FEATool - "Physics Simulation Made Easy" (Fully Integrated FEA, FEniCS, OpenFOAM, SU2 Solver GUI & Multi-Physics Simulation Platform)
Stars: ✭ 190 (+1166.67%)
Mutual labels:  physics-simulation
Incoherent-Light-Simulation
Simulation of the propagation of incoherent light, aiming to illustrate the concept of spatial coherence.
Stars: ✭ 98 (+553.33%)
Mutual labels:  physics-simulation
metalens
Design, optimize, & simulate metasurface lenses (aka diffractive lenses), beam deflectors, gratings etc
Stars: ✭ 52 (+246.67%)
Mutual labels:  physics-simulation
magpylib
Python package for computation of magnetic fields of magnets, currents and moments.
Stars: ✭ 95 (+533.33%)
Mutual labels:  physics-simulation
lettuce
Computational Fluid Dynamics based on PyTorch and the Lattice Boltzmann Method
Stars: ✭ 74 (+393.33%)
Mutual labels:  physics-simulation
bpp
The Bullet Physics Playground – Bullet Real-Time Physics Simulation.
Stars: ✭ 31 (+106.67%)
Mutual labels:  physics-simulation
mi-gen
Mass-Interaction Sound Synthesis Toolbox for Max/MSP's gen~
Stars: ✭ 50 (+233.33%)
Mutual labels:  physics-simulation
TaichiGAME
GPU Accelerated Motion Engine based on Taichi Lang.
Stars: ✭ 35 (+133.33%)
Mutual labels:  physics-simulation
brax
Massively parallel rigidbody physics simulation on accelerator hardware.
Stars: ✭ 1,208 (+7953.33%)
Mutual labels:  physics-simulation
GAMES103
notes and related materials for GAMES103
Stars: ✭ 21 (+40%)
Mutual labels:  physics-simulation

Build

Py-ORBIT Installation

Installation procedure requires building from source. All installation steps happen in command line (terminal).

1. Installing required libraries

Ubuntu (and other distributions using apt-get: Debian, Mint etc)

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install python-dev libmpich-dev mpich  zlib1g-dev libfftw3-dev

RedHat (and other distributions using yum: Fedora, CentOS etc)

sudo yum update
sudo yum group install "Development Tools"
sudo yum install python-devel mpich mpich-devel zlib-devel fftw-devel

The latest linux distributions are phasing out python 2. Some modifications to package names might be needed. For example: CentOS 8 (RedHat 8) needs you to replace python-devel with python2-devel and add python2 to your package list in above yum command.

Mac

We recommend to use MacPorts.

Sync with package repository

sudo port -v selfupdate

After syncing run:

sudo port install fftw-3 mpich

Select mpich to enable mpicc

sudo port select mpi mpich-mp-fortran

The latest versions of Mac OS (macOS Mojave) don't include python 2 installed by default. In this situation install it from MacPorts as well:

sudo port install python27
sudo port select --set python python27

Building the whole environment from source

If you don't want to use standard libraries supplied by your distribution, you can build the whole environment from scratch. It is also possible to do this without having a root account. The process is described in detail here.

2. Clone the source code

git clone https://github.com/PyORBIT-Collaboration/py-orbit.git

Your source is now in the py-orbit directory.

3. Setup environment variables

setupEnevironment.sh will try to figure out all paths. This should be sufficient for common Linux distributions. If you built the environment from source, use customEnvironment.sh instead.

cd py-orbit
source setupEnvironment.sh

4. Build the code

make clean
make

If make failed, it usually means that some of the libraries aren't set up properly.

Running Examples

Setup the environment variables (needs to be done once per teminal session). If you built the environment from source, use customEnvironment.sh instead. Alternatively you can place source <path-to-pyORBIT-installation>/setupEnvironment.sh in your .bashrc.

source setupEnvironment.sh
cd examples/AccLattice_Tests
./START.sh lattice_test.py 2

This will launch lattice_test example on two MPI nodes. Other examples are availabale in Examples repository.

Structure

./src - source code for the core ORBIT C++ classes, including wrappers, etc.

./py - python modules and wrapper classes for the core ORBIT classes.

./ext - source code for external modules. Compilations of this code should be placed into ./lib.

./lib - .so shared libraries to be used under pyORBIT interpreter.

./examples - pyORBIT examples.

./conf - configuration information.

./bin - pyORBIT executables.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].