Wiki
Clone wikiDICE / Running DICE
DICE uses ascii files as inputs. There is three kind of files to consider:
- DICE configuration files, which are the only argument you should give to DICE.
- Galaxy parameters files, which list all the physical parameters of each galaxy you want to build.
- Stream parameters files, which list all the physical parameters of each stream you want to build.
Calling DICE should look like this:
$ dice dice.config
Configuration file
The DICE configuration file list the galaxy parameters file which should be used as inputs. Additionally, DICE is able to compute a keplerian orbit when two galaxies are involved in the initial conditions. The following parameters can be specified in the configuration file:
Variable name | Default value | Type | Description | Unit |
---|---|---|---|---|
Galaxy |
string , 8*double |
Name of a galaxy parameters file, x, y, z, vx, vy, vz, spin incl | kpc, kpc, kpc, km/s, km/s, km/s, deg, deg | |
Stream |
string , 6*double |
Name of a stream parameters file, x, y, z, spin, incl | kpc, kpc, kpc, deg, deg | |
Kepler |
5*double , 3*int |
Keplerian trajectories parameter: initial distance, pericenter, eccentricity, phi, theta, galaxy 1 index, galaxy 2 index, galaxy center index | kpc, kpc, -, deg, deg, -, -, - | |
Circular |
3*double , 3*int |
Circular orbits trajectories parameter: initial distance, phi, theta, galaxy 1 index, galaxy 2 index, galaxy center index | kpc, deg, deg, -, -, - | |
Nthreads |
4 |
int |
Number of OpenMP threads to create | |
MeanPartDist |
0 |
int |
Trigger for computing the mean distance between particles | |
MaxCompNumber |
10 |
int |
Maximum number of components per galaxy or stream | |
OutputRz |
0 |
int |
Generate an ascii file for each galaxy with various quantities in the r-z plane (velocities,potential,density,etc.) | |
Filename |
string |
Trigger for computing the Keplerian trajectory of two galaxies | ||
ICformat |
string |
File format of the IC file [Gadget1 or Gadget2 ] |
||
H0 |
67.77 |
double |
Hubble constant | km/s/Mpc |
OmegaL |
0.691391 |
double |
Dark energy density parameter | |
OmegaM |
0.30712 |
double |
Matter density parameter | |
OmegaK |
0.0 |
double |
Spatial curvature density parameter | |
GaussianRejectIter |
10000 |
int |
Gaussian rejection maximum iterations | |
NormMassFact |
1 |
int |
Normalise the sum of component mass fractions | |
GslWorkspaceSize |
1000000 |
int |
Size of the GSL integration workspace | |
GslIntegrationScheme |
3 |
int |
GSL integration scheme [1=gsl_qag][2=gsl_qagiu][3=gsl_qng] | |
UnitMass |
1.989e43 |
double |
Mass unit | g |
UnitLength |
3.085678e21 |
double |
Length unit | cm |
UnitVelocity |
1e5 |
double |
Velocity unit | cm/s |
Galaxy parameters
There is two distinct parts in a galaxy parameter file: global parameters and component parameters.
Global parameters
The parameters that does not require to be defined for each component of the galaxy are the following:
Variable name | Default value | Type | Description | Unit |
---|---|---|---|---|
v200 |
double |
Virial velocity of the galaxy | km/s | |
m200 |
double |
Virial mass of the galaxy [overrides v200 if defined] |
1e10 Msol | |
redshift |
double |
Redshift of the galaxy | ||
lambda |
double |
Dark matter halo spin parameter | ||
level_coarse |
int |
Refinement level of the coarse gravitational potential grid | ||
level_grid_mid_dens |
7 |
int |
Refinement level of the mid-plane density grid | |
level_grid_turb |
7 |
int |
Refinement level of the velocity turbulence grid | |
level_grid_dens_fluct |
7 |
int |
Refinement level of the gaussian fluctuations grid | |
level_grid_jeans_mixed |
7 |
int |
Refinement level of the Jeans dispersions grid (sigma[rz]_model=-2 only) | |
boxsize1 |
double |
Physical size of the coarse gravitational potential grid | kpc | |
boxsizeN |
double |
For N>1: physical size of the nested gravitational potential grids centered on (0,0,0). Requires (boxsizeN+1)<(boxsizeN) . The nested grid with a size boxsizeN will be refined at the level level_coarse+(N-1) |
kpc | |
dens_fluct_sigma |
0.0 |
double |
Gaussian fluctuations dispersion | |
dens_fluct_scale_inj |
0.5 |
double |
Fluctuations physical injection scale | kpc |
dens_fluct_scale_diss |
0.5 |
double |
Fluctuations physical dissipation scale | kpc |
dens_fluct_seed |
111111 |
long |
Seed for the random number generator producing the gaussian density fluctuations | |
seed |
int |
Seed for the random number generator | ||
mcmc_ntry |
int |
Number of proposal per chain element in the MCMC algorimth | ||
hydro_eq_niter |
6 |
int |
Number of iterations to reach hydrostatic equilibrium (0 to deactivate) |
Components parameters
In DICE, you can define as many components in your galactic model as you need. Here are listed all the available parameters of a component. To distinguish between two components, it is required to specify the numer of the component at the end of the keyword. For example, to define the number of particles npart
present in the component 1, the actual keyword to use is npart1
. Here is the list of available keywords:
Variable name | Default value | Type | Description | Unit |
---|---|---|---|---|
mass_frac |
double |
Fraction of the virial mass in the component | ||
npart |
int |
Number of particles for the component | ||
part_mass |
0.0 |
double |
Targeted final particle mass | Msol |
npart_pot |
int |
Number of particles for the potential computation | ||
part_mass_pot |
0.0 |
double |
Targeted initial particle mass (higher resolution for Poisson solver) | Msol |
type |
int |
Particle type [0=Gas][1=Halo][2=Disk][3=Bulge][4=Stars] | ||
model |
int |
Density model for the component [1=Exponential disk+sech-z][2=Myamoto-Nagai][3=Exponential disk+exponential-z][4=Hernquist][5=Plummer][6=Jaffe][7=Isothermal][8=NFW][9=Burkert][10=Einasto][11=Mestel][12=Kalnajs][13=Sersic][14=Toomre-Kuzmin][15=Uniform][16=Pseudo-isothermal] | ||
scale_length |
double |
Scale length of the density profile [computed from spin conservation if equal to zero] | kpc | |
concentration |
0.0 |
double |
Concentration parameter of an NFW halo with a mass m200*mass_frac [overrides scale_length if defined positive] |
|
cut |
r200 |
double |
Component radial density cut | kpc |
cut_hydro_eq |
cut |
double |
Component radial density cut in the hydrostatic equilibrium loop | kpc |
cut_in |
0.0 |
double |
Component inner radial density cut | kpc |
sigma_cut |
0.05 |
double |
Typical width of the cut function | scale_length |
sigma_cut_in |
0.05 |
double |
Typical width of the inner cut function | scale_length |
flatx |
double |
Flattening along x axis in the center | ||
flaty |
double |
Flattening along y axis in the center | ||
flatz |
double |
Flattening along z axis in the center | ||
flatx_cut |
double |
Flattening along x axis of the cut ellipsoid | ||
flaty_cut |
double |
Flattening along y axis of the cut ellipsoid | ||
flatz_cut |
double |
Flattening along z axis of the cut ellipsoid | ||
flatx_out |
double |
Flattening along x axis at the cut radius | ||
flaty_out |
double |
Flattening along y axis at the cut radius | ||
flatz_out |
double |
Flattening along z axis at the cut radius | ||
flatx_rt |
double |
Turnover radius of the x-flattening | ||
flaty_rt |
double |
Turnover radius of the y-flattening | ||
flatz_rt |
double |
Turnover radius of the z-flattening | ||
flatx_st |
double |
Turnover sigma of the x-flattening | ||
flaty_st |
double |
Turnover sigma of the y-flattening | ||
flatz_st |
double |
Turnover sigma of the z-flattening | ||
mcmc_step |
double |
Gaussian step for the MCMC Metropolis-Hasting particle positioning algorithm | scale_length |
|
vmax_esc |
double |
Maximum velocity for the component particles in expressed in units of escape velocity | v_esc |
|
vmax_circ |
double |
Maximum velocity for the component particles in expressed in units of maximal circular velocity | max(v_c) |
|
stream_fraction |
0.0 |
double |
Azimuthal streaming fraction of the component | |
radius_nfw |
-1.0 |
double |
Radius at which the density profile should have the exact same density value as the NFW profile defined by concentration and v200 |
kpc |
Q_lim |
0.0 |
double |
Minimum value for the the Toomre parameter of the component | |
Q_boost |
0.0 |
double |
Shift the Toomre parameter with a constant value in the component | |
Q_fixed |
0.0 |
double |
Fix the Toomre parameter to a constant value in the component | |
epicycle |
0 |
int |
Use the epicycle approximation | |
jeans_mass_cut |
1 |
int |
Truncate density function in the Jeans equations | |
SFR |
0.0 |
double |
Mean Star Formation Rate of the stellar component | Msol/yr |
min_age |
100.0 |
double |
Minimum age of the particles | Myr |
metal |
0.0 |
double |
Mean metallicity of the particles | Zsol |
metal_gradient |
1 |
int |
Metallicity follows density gradient | |
dens_fluct |
0 |
int |
Trigger for gaussian density fluctuations | |
t_init |
1e4 |
double |
Initial temperature of the particles at the density dens_init |
K |
dens_init |
1. |
double |
Density of the particles at the temperature t_init |
H/cc |
gamma_poly |
1. |
double |
Polytropic index for the gas component (P=K*dens^gamma) | |
turb_gradient |
0 |
int |
Turbulent velocity field intensity following density | km/s |
turb_sigma |
0.0 |
double |
Initial turbulent velocity dispersion | km/s |
turb_scale_inj |
0.0 |
double |
Physical injection scale of the initial turbulence field | kpc |
turb_scale_diss |
0.0 |
double |
Physical dissipation scale of the initial turbulence field | kpc |
turb_seed |
111111 |
long |
Seed for the random number generator producing the initial turbulent velocity field | |
turb_frac |
0.0 |
double |
Fraction of the initial thermal energy to put in turbulent velocities | |
age_sigma |
0.0 |
double |
Stellar age gaussian dispersion | Myr |
age_scale |
0.0 |
double |
Physical scale of the stellar age gaussian fluctuations | kpc |
age_seed |
111111 |
long |
Seed for the random number generator producing the stellar age gaussian fluctuations | |
hydro_eq |
0 |
int |
Enable hydrostatic equilibrium iterative computation | |
hydro_eq_mode |
0 |
int |
Recompute midplane gas density to have the surface density peaking at the center | |
spherical_hydro_eq |
0 |
int |
Compute hydrostatic equilibrium for a spherical component | |
mcmc_step_hydro |
1.0 |
double |
Gaussian step for the MCMC algorithm to compute the vertical hydrostatic equilibrium | |
thermal_eq |
0 |
int |
Trigger for computing the thermal equilibrium of the component | |
alpha_struct |
1.0 |
double |
Structural parameter specific to the Einasto density profile | |
beta_struct |
1.0 |
double |
Structural parameter specific to the Sersic density profile | |
theta_sph |
0.0 |
double |
Spherical coordinates polar angle | degrees |
phi_sph |
0.0 |
double |
Spherical coordinates azimuthal angle | degrees |
compute_vel |
1 |
int |
Enable velocities computation | |
excavate |
0 |
int |
Subtract density from the specified component | |
spiral_theta_out |
0. |
double |
Spiral winding angle | deg |
spiral_r_in |
0. |
double |
Start of the spiral structure | kpc |
spiral_r_out |
0. |
double |
End of the spiral structure | kpc |
spiral_alpha |
0. |
double |
Spiral power parameter | |
warp_scale |
0. |
double |
Warp scale height at r=rcut | scale_height |
warp_mode |
2 |
int |
Warp harmonic mode | |
jeans_dim |
2 |
int |
Number of integral of motion for the Jeans equations | |
jeans_anisotropy_model |
2 |
int |
Model for the anisotropy parameter in the spherically symmetric Jeans equations (jeans_dim=1 ) [0->beta=0][1->beta=1][2->beta=-0.15-0.2dln(rho)/dln(r)] |
|
sigmar_model |
0 |
int |
r-dispersion profile model (0=isothermal sheet, >0 is similar to model ) |
|
sigmaz_model |
0 |
int |
z-dispersion profile model (0=isothermal sheet, >0 is similar to model ) |
|
sigmar_radius |
0. |
double |
r-dispersion radius | kpc |
sigmaz_radius |
0. |
double |
z-dispersion radius | kpc |
sigmar |
0. |
double |
r-dispersion value at sigmar_radius (sigmar_model>0 only) |
km/s |
sigmaz |
0. |
double |
z-dispersion value at sigmaz_radius (sigmaz_model>0 only) |
km/s |
jeans_f_sigma |
0. |
double |
sigmar=f_sigma*sigmaz (jeans_dim=3 only) |
|
k_stream |
0. |
double |
vstream=k_stream*sqrt(<v^2theta>-sigmar) | |
delete |
0 |
int |
delete the component before writing the output file | |
softening |
0.05*scale_length |
double |
Gravitational softening for the Poisson solver | kpc |
ggd_beta |
2.0 |
double |
Generalized Gaussian Distribution beta shape parameter (2.0=Gaussian) | |
rcore |
0.0 |
double |
Core radius in the density profile rho(r<rcore)=rho(rcore) |
kpc |
accept_min |
0.80 |
double |
Minimum acceptance for the N-try MCMC algorithm | |
accept_max |
0.95 |
double |
Minimum acceptance for the N-try MCMC algorithm | |
stream_method |
1 |
int |
Method for the computation of the streaming velocity [1=Following the cumulative mass profile (Bullock 2001)][2=Following the rotation curve of the considered component (Springel 1999)][3=Solid body rotation][4=Following the circular velocity] the streaming velocities are scaled with the stream_fraction paramter |
|
rc_entropy |
0.0 |
double |
Size of the entropy core | |
alpha_entropy |
0.0 |
double |
Index of the entropy power law | |
imf_model |
0 |
int |
Initial Mass Function model [0= no IMF][1=Salpeter][2=Miller-Scalo][3=Chabrier][4=Kroupa] | |
mstar_min |
1.0 |
double |
Minimum stellar mass when modelling the IMF | Msol |
mstar_max |
120.0 |
double |
Maximum stellar mass when modelling the IMF | Msol |
mcmc_step_mass |
0.01 |
double |
Gaussian step for the MCMC Metropolis-Hasting IMF computation | mstar_max-mstar_min |
Updated