Usage

To use the STEVMA code, an executable called run-manager is created after installation.

It is accompanied by some command-line options as detailed here:

  • -h, –help - show this help message and exit

  • -d, –debug - enable debug mode (default: False).

  • -C CONFIG_FNAME, –config-file CONFIG_FNAME - name of configuration file (default: None).

  • –show-log-name - display log filename and exit (default: False).

  • –show-database-name - display database filename and exit (default: False).

  • –list-grid - display grid list and exit (default: False).

  • -v, –visualize - enable visualization of grid using matplotlib (default: False). (EXPERIMENTAL: NOT READY TO USE)

Configuration file

The option -C (or –config-file) contains all the options that are needed to produce a grid of MESA models.

An example file with all the available options is listed below.

# Config options for stellar evolution manager

# database options
Database:
  # name of the database file
  filename: "hmxb.db"

# configuration for MESA models
Models:
  # an id for the type of run. Available options are: `mesastar`, `mesabinary` and `mesabin2dco`
  # `mesastar` is used to evolve isolated stars
  # `mesabinary` models binaries using the standard MESAbinary module
  # `mesabin2dco` uses the modified mesabinary which includes common-envelope and core-collapse
  id: "mesabinary"

  # name of the file with the grid to be explored. This file must be in YAML format and valid
  # names of MESA options
  meshgrid_filename: "example/grid.yaml"

  # directory where models will be stored
  output_directory: "example/runs"

  # whether to add the condition to avoid re-doing a model that has already been created in
  # the `output_directory`
  overwrite: false

  # include a call to a natal-kick exploration
  do_kicks: false

  # if `do_kicks` is true, this is the file with the kick information.
  # TODO: better explain how it works
  filename_kick_script:

# Options for the MESA template part of the code. This template contains all the options that
# are common to every model as well as the MESA executable and extra source codes
Template:
  # flag to control the type of MESA model between the isolated or binary cases
  is_binary_evolution: true

  # YAML file with the options that are common to each model. It must contain valid MESA
  # options
  options_filename: "example/mesa_options.yaml"

  # directory where MESA source code will be located
  output_directory: "example/templates"

  # whether to overwrite the creation of a template in a location which already has a template
  overwrite: true

  # extras directories and files to include in the template
  extras:
    extra_dir_in_src:
    extra_files_in_src:
    extra_template_files:
    extra_makefile:

# MESA options
Mesa:
  # location of the MESA installation
  mesa_dir: "/home/asimazbunzel/Developments/mesa-r15140"

  # location of the software development kit of MESA
  mesasdk_root: "/home/asimazbunzel/Developments/mesasdk-20.12.1"

  # location of the caches directory of MESA
  mesa_caches_dir: "/home/asimazbunzel/.cache/mesa-r15140"

  # location of your local copy of the mesabin2dco custom MESA build
  # (only needed if `id: "mesabin2dco"`)
  mesabin2dco_dir: "/home/asimazbunzel/Developments/mesabin2dco"

  # files with the name of the columns to be saved by MESA
  history_columns_filename:
  profile_columns_filename:
  binary_history_columns_filename:

# options for the manager of models
Manager:
  # identifier of the manager. options are: "shell", "slurm"
  manager: "slurm"

  # prefix to prepend to job filename(s)
  job_file_prefix: "example/runs/hmxb_"
  job_filename: "run.sh"

  # hpc options are only used if manager is "slurm"
  hpc:
    name: "example_slurm"
    email: "asimazbunzel@iar.unlp.edu.ar"
    out_fname:
    err_fname:
    queue: "bigmem"
    msg: "all"
    nodes: 1
    ppn: 12
    mem: 8
    walltime: "168:00:00"

  # options to use for the entire mesh of models:
  # number of jobs to divide the mesh
  number_of_jobs: 50
  # how many cpu cores will be using for each model
  number_of_cores: 12
  # how many jobs will be sent to compute in parallel (only used if `manager: "slurm`)
  number_of_parallel_jobs: 10

About the MESA options

  • meshgrid file


The option meshgrid_filename should point to a YAML formated file with the different parameters that will change between models of the grid. The available options are the different controls of the MESA code: star_job, controls, binary_job and binary_controls. Inside each of them, parameters can be set as coming from the defaults directory of the MESA code.

For example, a valid file with a grid model would be:

binary_controls:

  m1: [ 10.        ,  13.89495494,  19.30697729,  26.82695795,
        37.2759372 ,  51.79474679,  71.9685673 , 100.        ]

  m2: 15

  initial_period_in_days: 100

This file will produce 8 different models in the 3D grid (m1, m2, initial_period_in_days) space. One for each possible combination of all these parameters.

  • options file


In the case of the options_filename the situation is similar. Only valid controls from MESA are allowed. In this file the only thing to be careful about comes from the options connected to a custom mesabin2dco type of model. In the case the following lines must be included:

bin2dco_controls:

  star_plus_pm_filename: " #{template}/inlist_project"

  cc2_inlist_filename: "#{template}/inlist_cc"
  ce2_inlist_filename: "#{template}/inlist_ce"

The rest of the file should contain parameters that do not change between models.

For example, assuming a fixed wind prescription would imply adding:

controls:
  cool_wind_full_on_T: 0.8d4
  hot_wind_full_on_T: 1.2d4
  cool_wind_RGB_scheme: "Dutch"
  cool_wind_AGB_scheme: "Dutch"
  hot_wind_scheme: "Dutch"
  Dutch_wind_lowT_scheme: "de Jager"
  Dutch_scaling_factor: 0.4d0