Skip to content

Latest commit

 

History

History
60 lines (48 loc) · 2.74 KB

README.md

File metadata and controls

60 lines (48 loc) · 2.74 KB

axionyx is a modification of the the Nyx code for dealing with Fuzzy Dark Matter. The AxioNyx paper https://arxiv.org/abs/2007.08256 was produced using the mixed_dm branch.

Contents

Documentation
Installation
File structure
More file structure
Call graph of Axionyx
Output

Documentation

A detailed documentation is not available yet. But you can find an API reference here:
Available input parameters
Available test problems
Classes
Functions
Files

Installation

clone both the axionyx and the amrex4axionyx repo. axionyx expects amrex to live in ../amrex. You will need FFTW3 for axionyx to compile. Try building e.g. Exec/Test_FDM_lin_growth by running make. Adapt the GNUmakefile as needed

File structure

  • Source/ contains the baseline source files

  • the actually compileable problems (executables) live in sub directories of Exec/

  • each sub dir in Exec/ usually has

    • some default inputs file, defining the input parameters for a simulation run

    • some default probin file, defining the input parameters exclusively used in Fortran code (when for some reason the inputs file's content can be passed down)

    • a GNUMakefile, defining how this problem is to be compiled; most importantly, in this file you can switch on/off OpenMP support, the debug mode, and change the compiler used (with the COMP parameter) to gnu/intel/..

    • a Make.package file, defining which files need to be compiled. You need to add here files only if you are not overriding the ones in Source, e.g. if there is x.cpp in Source/ that you rewrote and put in the problem folder, it will automatically replace the one in Source. However, if you add a 'new' file, you need to add it to the list in Make.package; for example, to add y.f90 to the list, you would add a line

      f90EXE_sources += y.f90

    • a Prob_3d.f90 file; it contains the code to initialize the problem that you want to solve, e.g. sets up the density field etc. The important routine here is called fort_initdata.
    • many problems also have a Tagging_3d.f90 and a Nyx_error.cpp file; the first defines the criteria for refining cells, the latter adds these criteria to the existing list of such criteria.

License

axionyx is released under the LBL's modified BSD license, see the license.txt file for details.