GithubHelp home page GithubHelp logo

jwgcarlson / copter Goto Github PK

View Code? Open in Web Editor NEW
8.0 5.0 3.0 1.08 MB

A software package for cosmological perturbation theory

Home Page: http://mwhite.berkeley.edu/Copter/

License: GNU General Public License v3.0

C 4.70% C++ 19.82% Shell 75.44% Python 0.04%

copter's Introduction

Welcome to Copter!

Introduction
------------
Copter is a software package for doing calculations in cosmological
perturbation theory.  Specifically, Copter includes code for computing
statistical observables in the large-scale structure of matter using various
forms of perturbation theory, including linear theory, standard perturbation
theory, renormalized perturbation theory, and many others.  For a fuller
description of the various theories, see arXiv:0905.0479 and references
therein.


Requirements
------------
Copter is written in C++, so you'll need a relatively modern C++ compiler (e.g.
g++).  Copter makes use of the Boost C++ library headers, so you will need to
have these installed somewhere on your system.  (Note that Copter only uses
boost::bind and boost::cref, both of which are defined purely in header files,
so there is no need to link against boost.  Also, these particular functions
have now been included in the standardize TR1 library, so the dependence on
Boost will go away in the future.)

To build the optional Python bindings, you'll need
  1) a recent version of SWIG (usually located at /usr/bin/swig).
  2) Python development headers (usually found in /usr/include/pythonM.N),
  3) Numpy development headers (usually found in /usr/include/numpy)
The configure script (described below) should find the relevant files
automagically.


Building and Installing
-----------------------
Copter should compile on any standard Unix-like system (including Linux and OS
X).  It makes use of GNU Autotools, which is the standard build system for most
open source software today.  For you, the user, installation is as simple as
entering the three commands
  $ ./configure [OPTION]... [VAR=VALUE]...
  $ make
  $ make install

The installation directory is determined by the options you pass to the
'configure' script.  The most important options are:
  --prefix=PREFIX   top-level installation directory (defaults to /usr/local,
                      so you probably want to specify this option)
  --enable-openmp   use OpenMP to parallelize expensive loops (default yes)
  --enable-python   build Python bindings (default no)
By default 'make' will use the standard system compiler.  To use a different
compiler, append 'CXX=<preferred C++ compiler>' to your configure command.
Try `./configure --help' to see a full list of options.

Running 'make install' will install the library 'libcopter.so' to 'PREFIX/lib',
the corresponding C++ header files to 'PREFIX/include/Copter', and some
standard data files to 'PREFIX/share/Copter'.  If Python bindings are enabled,
they will be installed to 'PREFIX/lib/pythonM.N/site-packages'.

For example, to install Copter to your home directory (~/lib, ~/include, etc.)
using the Intel compiler, you would run
  $ ./configure --prefix=$HOME --enable-openmp CXX=icpc
  $ make
  $ make install

copter's People

Contributors

jwgcarlson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

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.