Giter Club home page Giter Club logo

sbte / amuse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from amusecode/amuse

0.0 0.0 0.0 289.71 MB

Astrophysical Multipurpose Software Environment. This is the main repository for AMUSE

Home Page: http://www.amusecode.org

License: Apache License 2.0

Shell 0.35% C++ 10.45% Python 18.46% Perl 1.22% C 43.86% Java 1.00% Fortran 20.83% MATLAB 0.07% Forth 0.02% TeX 0.11% xBase 0.01% IDL 0.04% Gnuplot 0.01% Mathematica 0.45% SourcePawn 0.01% Cuda 1.91% Makefile 0.74% HTML 0.34% QMake 0.04% CMake 0.09%

amuse's Introduction

AMUSE: The Astrophysical Multipurpose Software Environment

DOI PyPI version

This repository contains the AMUSE software. With AMUSE you can write scripts to simulate astrophysical problems in different domains.

The project website is:

and the documentation can be found at:

Getting Started

In short, most probably

pip install amuse

should get you going if you have a linux or Mac were you compile codes on (HDF5 and an MPI libraries must be installed).

Below are some hints for a quick install, if these fail please look for options at the detailed descriptions of the installation procedure in the documents in the 'doc/install' directory.

Compilers

To build AMUSE from source you need to have a working build environment. The AMUSE build system needs C/C++ and fortan 90 compilers, we recommend a recent version of GCC.

In Ubuntu you can setup the environment with (as root):

apt-get install build-essential curl g++ gfortran gettext zlib1g-dev

Other distributions have similar package or package groups available.

In macOS you can use the homebrew or macports package manager (both require the Apple Developer Tools and Xcode to be installed).

For a Windows 10 machine, AMUSE can be installed in the Windows Subsystem for linux (WSL), and installing e.g. Ubuntu from the Microsoft store. Its recommended to use WSL 2. For further installation instructions, see the Linux install instructions.

Python

AMUSE needs Python 3 version >=3.7 installed preferably with pip and virtualenv. It may be necessary to update pip to a recent version. If you cannot use Python 3, legacy support for Python 2 is available in the AMUSE 12 release and the python2 branch.

Installing Prerequisites

The following libraries need to be installed:

  • HDF (version 1.6.5 - 1.12.x)
  • MPI (OpenMPI or MPICH)

The following are needed for some codes:

  • FFTW (version >= 3.0)
  • GSL
  • CMake (version >= 2.4)
  • GMP (version >= 4.2.1)
  • MPFR (version >= 2.3.1)

Installing+building AMUSE

AMUSE can be installed through pip:

pip install [--user] amuse

This will build and install AMUSE with an extensive set of codes. If necessary this will also install some required Python packages:

  • Numpy (version >= 1.3.0)
  • h5py (version >= 1.2.2)
  • mpi4py (version >= 1.1.0)
  • pytest (version >= 5.0)
  • docutils (version >= 0.6)

If you are not using pip these must be installed by hand.

It is possible to install the minimal framework by:

pip install [--user] amuse-framework

This does not include any codes. These can be added

pip install [--user] amuse-<code name>

AMUSE Development

An AMUSE development install can also be handled through pip by executing (in the root of a clone of the repository)

pip install -e .

after this the codes need to be build:

python setup.py develop_build

Running the tests

AMUSE comes with a large set of tests, most can be run automatically. To run these tests start the py.test command from the main amuse directory (directory this README file lives in).

To run these tests do:

  1. install the tests
pip install [--user] amuse-tests

(this will install all tests whether or not you have installed the full amuse package)

  1. Run the automatic tests
pytest --pyargs -v amuse.test.suite

you can also just run the tests for the specific packages you have installed e.g.

pytest --pyargs amuse.test.suite.codes_tests.test_huayno

you may have to prefix mpiexec -n 1 --oversubscribe to the pytest command.

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.