All Projects → jamiefarnes → negative-mass-simulator

jamiefarnes / negative-mass-simulator

Licence: Apache-2.0 license
Negative Mass N-body Simulation Codes

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to negative-mass-simulator

nBody
GPU-accelerated N-Body particle simulator with visualizer.
Stars: ✭ 28 (-50.88%)
Mutual labels:  simulations, nbody-simulation, nbody-gravity-simulation
Pylians3
Libraries to analyze numerical simulations (python3)
Stars: ✭ 35 (-38.6%)
Mutual labels:  simulations, n-body
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 (-29.82%)
Mutual labels:  nbody-simulation, nbody-gravity-simulation
Barnes-Hut-Simulator
A C++ implementation of the Barnes-Hut-Algorithm.
Stars: ✭ 51 (-10.53%)
Mutual labels:  nbody-simulation, nbody-gravity-simulation
Nbody6ppGPU
Nbody6++GPU
Stars: ✭ 30 (-47.37%)
Mutual labels:  n-body-simulator
Haskell-abinitio
contains a package in Haskell to calculate the electronic structure properties of molecules using the Hartree-Fock method
Stars: ✭ 14 (-75.44%)
Mutual labels:  simulations
amuse
Astrophysical Multipurpose Software Environment. This is the main repository for AMUSE
Stars: ✭ 115 (+101.75%)
Mutual labels:  simulations
algobot
Cryptocurrency trading bot with a graphical user interface with support for simulations, backtests, optimizations, and running live bots.
Stars: ✭ 776 (+1261.4%)
Mutual labels:  simulations
neutronics-workshop
A workshop covering a range of fusion relevant analysis and simulations with OpenMC, DAGMC, Paramak and other open source fusion neutronics tools
Stars: ✭ 29 (-49.12%)
Mutual labels:  simulations
rsimsum
Analysis of simulation studies including Monte Carlo error
Stars: ✭ 19 (-66.67%)
Mutual labels:  simulations
pade
Python Agent DEvelopment framework
Stars: ✭ 81 (+42.11%)
Mutual labels:  simulations
cluster toolkit
Tools for analyzing galaxy clusters.
Stars: ✭ 16 (-71.93%)
Mutual labels:  simulations
DeclareDesign
DeclareDesign: Declare and Diagnose Research Designs
Stars: ✭ 92 (+61.4%)
Mutual labels:  simulations
sims
simulations for the Computational Cognitive Neuroscience textbook
Stars: ✭ 70 (+22.81%)
Mutual labels:  simulations
EmptyDrops2017
Code for the empty droplet and cell detection project from the HCA Hackathon.
Stars: ✭ 16 (-71.93%)
Mutual labels:  simulations
python-algorithms-and-simulations
Different algorithms and simulations from gravity simulations to cellular automata, implemented in python.
Stars: ✭ 21 (-63.16%)
Mutual labels:  simulations
SolarSystemSimulator
Solar System Simulator written in Java. Positions and velocities of 30 solar system bodies and 3 spacecraft are continuously updated using either Newton mechanics or General Relativity. Initial positions and velocities are obtained from Nasa JPL's ephemerides. While simulating, both simulated positions and ephemeris data are visualised for compa…
Stars: ✭ 26 (-54.39%)
Mutual labels:  gravitational-simulations
nlexperiment
🐟 R package for NetLogo experiments http://bergant.github.io/nlexperiment/
Stars: ✭ 16 (-71.93%)
Mutual labels:  simulations
PowerSimulations.jl
Julia for optimization simulation and modeling of PowerSystems. Part of the Scalable Integrated Infrastructure Planning Initiative at the National Renewable Energy Lab.
Stars: ✭ 202 (+254.39%)
Mutual labels:  simulations
concept
COsmological N-body CodE in PyThon
Stars: ✭ 62 (+8.77%)
Mutual labels:  nbody-simulation

Negative Mass N-body Simulation Codes

This software allows one to perform three-dimensional (3D) gravitational N-body simulations in python, using both positive and negative masses.

These are corresponding codes for the paper "A unifying theory of dark energy and dark matter: Negative masses and matter creation within a modified LambdaCDM framework", available at:

http://adsabs.harvard.edu/cgi-bin/bib_query?arXiv:1712.07962

https://arxiv.org/abs/1712.07962

The paper has been accepted for publication in Astronomy and Astrophysics (A&A).

Notes

Most modern N-body software packages do not support exotic and rarely-studied phenomena such as negative masses. The code has therefore been deliberately written in order to achieve this goal. I have therefore written new software to perform three-dimensional (3D) gravitational N-body simulations using python, numpy, and matplotlib. The code is parallelised using Dask in order to make use of the multiple processing cores available in most modern machines.

The primary motivation for this computational perspective is not focussed on performance, but rather on providing easily-understandable, open-source software. This enables the presented results to be easily replicated and verified on any scientist's own machine, rather than requiring any specialised hardware or software setup. The simulations presented here are therefore necessarily primitive in comparison with the state-of-the-art, but provide examples that demonstrate what can be expected from such a toy model.

Negative masses are a creative explanation that require substantial scrutiny. The code therefore deliberately uses direct methods to evaluate the position and velocity of every particle at each timestep. This avoids the introduction of any approximations and maintains the highest accuracy. Nevertheless, this has a substantial cost in terms of computing time.

Using a 2015 MacBook Pro, 3.1 GHz Intel Core i7, with 16 GB RAM, a single iteration with 50,000 particles takes ~3 minutes. A full run of ~1000 iterations requires ~50 hours of run time. If the code should need to be stopped for any reason, the N-body simulation code, run_nbody(), can simply be re-run, and it will automatically pick up from where it left off - beginning its calculation from the latest .hdf5 file saved to disk.

Dependencies

numpy

matplotlib

h5py

Dask

ImageMagick

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].