Giter VIP home page Giter VIP logo

noname's Introduction

NoName

A code for Computational Cosmology Algorithm Exploration

(2/2016-)

Introduction

NoName is the beginnings of a Computational Cosmology code of so far primarily pedagogical value. Tom Abel has been writing this as part of graduate course at Stanford. It is a flexible enough framework that numerous algorithms may be implemented. Some choices made here are influenced by the enzo and Gadget codes.

Current Features

  • Particle Mesh dynamics of collisionless particles
  • Comoving Coordinates
  • Restart files

Getting Started

The code is intended to be run in the run directory as in: julia --color=yes -i -e "using NoName; gp, gd, p = run_noname();" particle_mesh.conf Here the -i makes julia enter interactive mode after the run is finished and the code prints some instructions which variables hold the results.

This assumes that the LOAD_PATH contains the directory in which to find NoName.jl. You can make sure it is always found by adding push!(LOAD_PATH, "/Users/tabel/Research/codes/noname/src") (make sure to change this to your path!) in your $HOME/.juliarc.jl file.

Dependencies

Add the following packages with Pkg.add("Logging") etc... Currently for AppConf we should use Pkg.checkout("AppConf") to get the latest version that has not been tagged as a release yet.

Caveats

  • No kind of parallelism so far
  • Hydro not fully implemented
  • My first larger julia code framework so very likely full of idiosyncracies

Configuration files

Basic code behaviour is influenced by the ___.conf files. There is one in the src/default.conf directory which sets up defaults. The user may chose to create directory in their home directory $HOME/.noname/ and store a default.conf there to match their preferences. This user defined file will be read just before the one specified on the command line at invocation julia ../../src/noname.jl particle_mesh.conf. The one on the command line has the last word.

Submodules and functionality

Parameters

# This file specifies all the default parameters for our code
# Check the Source or some of parameter.info outputfiles for a full list
HydroMethod = MUSCL
dims        = (30, 1, 1) # main grid dimensions (active zones)
Nghosts     = ( 3, 3, 3) # ghost zones on each side in each dimension
γ           = 1.66667    # equation of state adiabatic index
DualEnergyFormalism=true # 
DomainLeftEdge  = [0. ,0., 0.]  # Size of Domain: Only tested 0..1 so far
DomainRightEdge = [1., 1., 1.]  # 
CourantFactor = 0.3

cosm_Ωm = .3 # Omega Matter
cosm_h = 0.7 # Hubble constant in units of 100 km/s/Mpc

CurrentOutputNumber=0             # Count Outputs 
OutputDirectory = "/tmp/noname"   # Where to store the output
OutputSeparateDirectories=true    # Create directories for each output
LastOutputCycle = -1
LastOutputTime  = 0.
OutputEveryNCycle = 0
OutputDtDataDump = 0.

verbose = false
RestartFileName = /tmp/restart.jld  #
ProfilingResultsFile = profiling_results.bin 
InitialDt = 0.0000001
MaximumDt = 1e30
StartTime = 0
CurrentTime = 0
StopTime = 0
StartCycle = 0
CurrentCycle = 0
StopCycle = 1000000

ParticleDimensions = [1, 1, 1] # number of particles along each dimension
ParticleDepositInterpolation = cic # none and cic implemented so far
ParticleBackInterpolation    = cic # none and cic implemented so far

noname's People

Contributors

jongminyoon avatar yipihey avatar

Watchers

 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.