GithubHelp home page GithubHelp logo

franxavier / gdm_class_public Goto Github PK

View Code? Open in Web Editor NEW

This project forked from s-ilic/gdm_class_public

0.0 0.0 0.0 4.43 MB

Public repository of an implementation of the Generalized Dark Matter (GDM) model in the Cosmic Linear Anisotropy Solving System

License: MIT License

JavaScript 4.19% C++ 0.63% Python 6.26% C 61.87% MATLAB 0.14% CSS 1.18% Makefile 0.18% HTML 0.70% Jupyter Notebook 21.62% Less 1.11% SCSS 1.11% Stylus 1.02%

gdm_class_public's Introduction

GDM_CLASS: an implementation of the Generalized Dark Matter model in the Cosmic Linear Anisotropy Solving System

Original CLASS authors: Julien Lesgourgues and Thomas Tram

GDM implementation authors: Stéphane Ilic, Michael Kopp, Daniel B. Thomas, Constantinos Skordis

Compiling GDM_CLASS and getting started

The process of compiling and running GDM_CLASS is strictly identical to the original CLASS code. Please refer to the CLASS code webpage and GitHub repository for detailed instructions.

Generalized Dark Matter model implementation

GDM_CLASS is a modification of the CLASS code which adds the phenomenologically motivated Generalized Dark Matter (GDM) model from Hu (1998). A detailed investigation of the theoretical aspects related to this model can be found in the following article.

The GDM model relaxes the assumptions about the pressureless nature of cold dark matter, and allows for non-zero sound speed and viscosity. The current implementation of the GDM model in GDM_CLASS allows the user to provide any choice for those three additional degree of freedom, in the form of three (smooth) binned functions: the equation of state, the sound speed, and the viscosity of the GDM fluid as a function of scale factor. The binning in time is entirely customizable by the user.

A thorough description of the CLASS code parameters is available in the explanatory.ini file. All additional parameters introduced in GDM_CLASS are described in a separate file, GDM.ini.

Python wrapper

Similarly to the original CLASS code, a Python wrapper is included in GDM_CLASS which is automatically compiled and installed at the same time as the main code (provided you use the make command and not simply the make class one). Since no modification were done to this wrapper, we also refer to the official CLASS documentation for details on the wrapper and its compilation.

Developing the code

Participation to the further development of the code is welcome. Feel free to clone the current repository, develop your own branch, and get it merged to the public distribution. You may as well open issues to discuss what new features you would like to see implemented.

License

The GDM_CLASS project is licensed under the MIT License. See the LICENSE file for more details.

Code of conduct

While CLASS is free to use, its authors request that publications using their code should cite at least the paper "CLASS II: Approximation schemes". Additionally, we have a similar request to the users of our modified code, and ask them to cite the paper "Dark Matter properties through cosmic history" (arXiv:2004.09572).

Support

To get support related to the main CLASS code, please open a new issue on the original CLASS repository. For an issue related to the GDM implementation, please open an issue in the present repository.

gdm_class_public's People

Contributors

s-ilic avatar skordis 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.