bmad-sim / bmad-ecosystem

Bmad simulation ecosystem for simulating high energy storage rings.

Home Page:https://www.classe.cornell.edu/bmad/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bmad-Ecosystem repository

Bmad toolkit (library) for the simulation of charged particles and X-rays in accelerators and storage rings. This is the primary repository for the various libraries and programs that comprise the Bmad ecosystem. For details, see the Bmad website at https://www.classe.cornell.edu/bmad/.

Manuals

Bmad Installation

Bmad can be installed pre-compiled or from source. Detailed unstructions at https://wiki.classe.cornell.edu/ACC/ACL/OffsiteDoc.

Pre-compiled from conda-forge

The simplest way to install Bmad is from conda-forge. For the regular Bmad (OpenMP enabled), install the latest version using:

conda install -c conda-forge bmad

For the MPI-enabled code, install the latest version using:

conda install -c conda-forge bmad="*=mpi_openmpi*"

This will add all of the appropriate executables to the environment's PATH.

Compile from source

If you want to compile Bmad directly, download a Release (or click on link on right hand side of this page and download the bmad_dist.tar.gz file (ignore the source code files) and follow the setup instructions at https://wiki.classe.cornell.edu/ACC/ACL/OffsiteDoc.

Developer Setup

Developers should clone this repository, as well as its external dependencies:

git clone https://github.com/bmad-sim/bmad-ecosystem.git
git clone https://github.com/bmad-sim/bmad-external-deps.git

The external dependencies repository is simply a set of compressed files. A simple bash script is provided to extract these into the bmad-ecosystem:

cd bmad-ecosystem
bash util/extract_external_deps

To build everything:

cd bmad-ecosystem
source util/dist_source_me
util/dist_build_production

Contributing to Bmad: Pull Requests

What is a Pull Request? A Pull Request (PR) is a mechanism for requesting that changes that you have made to a copy of this repository (bmad-sim/bmad-ecosystem) are integrated (merged) into this repository.

The main branch of bmad-ecosystem is the central branch where all changes are merged into.

Pull Requests start with changes you have made to a branch that is not main. The PR is then a request for the changes you have made to be merged with main.

Your copy of the bmad-ecosystem repository can be a fork or simply a clone. Note: The procedure for creating a PR when using a fork is somewhat different than when using a clone.

About

Bmad simulation ecosystem for simulating high energy storage rings.

https://www.classe.cornell.edu/bmad/


Languages

Language:Fortran 65.4%Language:TeX 15.0%Language:Mathematica 12.8%Language:C++ 3.9%Language:Python 1.8%Language:Shell 0.3%Language:PHP 0.2%Language:CMake 0.2%Language:HTML 0.1%Language:Perl 0.1%Language:Jupyter Notebook 0.1%Language:C 0.0%Language:Gnuplot 0.0%Language:Ruby 0.0%Language:SourcePawn 0.0%