Skip to content

Configuration

Aarik Pokras edited this page Aug 4, 2026 · 17 revisions

A configuration file named conf.py is required in the same directory in which VLATI is run. It must contain a dictionary with the same name.

###### conf.py ######
conf = {
  ... config options
}

List of configuration options

The options available are found in the conf.py file in the root directory of this repository. Every option in the file is required, and no more and no less can be used (as of now). The conf.py file in this repository is ready for use with the simulator. The following will list each of the configuration options, what they affect, and what units they use.

Variable Unit Purpose
frames_to_simulate frames Tells VLATI how many iterations it should simulate.
seconds_timestep seconds What the Δt of the simulation is; generally, the smaller the more accurate; good to keep it ~1.
degrees_moon_start_angle_N degrees Where the Moon's revolution about the Earth starts relative to absolute upwards (increases clockwise).
meters_spacecraft_start_vec meters The starting location vector of the spacecraft.
meters_per_second_spacecraft_start_v_vec meters per second The starting velocity vector of the spacecraft.
burn_array various Read below for information regarding burn_array.
traj_output_file file path Where to save the trajectories of the Sun, Moon, and spacecraft. Should be a file with a .npz extension.

(Yes, all the burn parameters in conf.py are required even when bool_burn is set to False.)

Notes about config options

traj_output_file

Exports an npz file containing trajectories. It's used as an input in VLATI-VIS.

Usage of burn_array

burn_array is actually a burn tuple. Unfortunately, zero or at least two elements are required in the burn tuple. If you want only one burn, use the following entry in the burn tuple (along with, of course, your chosen burn):

[0, 0, 1]

The structure of the burn_array configuration option is as follows:

( [ burn_time_elapsed_seconds, np.array([ dv vector ]), 0 ] )

The zero indicates to VLATI that the burn hasn't been performed yet. During each timestep, when iterating through the burn array, it checks this to see whether it should execute the burn, and changes it to 1 when it has.

An example of the Δv vector:

np.array([1000.0, 0.0])

At least one of the vector components must contain a .0 (or any other decimal, to your preference) to indicate to NumPy that the vector represents a vector of floating-point numbers, not integers.

Clone this wiki locally