Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
poet.h File Reference

Defines the command line options class for the main executable. More...

#include "Core/Common.h"
#include "Core/AstronomicalConstants.h"
#include "StellarEvoltion/MESAIO.h"
#include "StellarEvolution/CustomStellarEvolution.h"
#include "BinarySystem/OrbitSolver.h"
#include "BinarySystem/EvolvingStar.h"
#include "BinarySystem/LockedPlanet.h"
#include "BinarySystem/DiskPlanetSystem.h"
#include "BinarySystem/ConstSolutionIterator.h"
#include "IO/IOColumns.h"
#include <argtable2.h>
#include <iostream>
#include <fstream>
#include <sstream>
+ Include dependency graph for poet.h:

Go to the source code of this file.

Classes

class  CommandLineOptions
 All command line options can be accessed through members. More...
 

Functions

std::vector< std::string > TRACK_COLUMN_NAMES (CustomStellarEvolution::NUM_TRACK_QUANTITIES)
 
std::string data_directory ()
 
void parse_real_list (const char *values_str, std::list< double > &values)
 Parses a comma separated list of real values. More...
 
void output_solution (const OrbitSolver &solver, const BinarySystem &system, const std::string &filename, const std::vector< OutCol::OutputColumns > &output_file_format, double start_age, double end_age, double timestep, const std::list< double > &required_ages=std::list< double >())
 Outputs the solution calculated by the given solver. More...
 
void calculate_evolution (const std::vector< double > &real_parameters, bool start_locked, const std::list< double > &required_ages, const StellarEvolution &stellar_evolution, const std::string &outfname, const std::vector< OutCol::OutputColumns > &output_file_format, bool need_orbit)
 Calculates the evolution for a set of parameters. More...
 
std::string update_run_parameters (std::vector< double > &real_parameters, bool &start_locked, std::list< double > &required_ages, const std::vector< InCol::InputColumns > &input_format, std::istringstream &line, size_t input_lineno)
 Updates the evolution parameters as indicated on the next line of the input stream and returns filename to output the evolution to. More...
 
void run (const CommandLineOptions &options, const StellarEvolution &stellar_evolution)
 Actually calculates the orbital evolutions. More...
 

Detailed Description

Defines the command line options class for the main executable.

Todo:
Add command line option to chose between YREC and MESA

Definition in file poet.h.

Function Documentation

◆ calculate_evolution()

void calculate_evolution ( const std::vector< double > &  real_parameters,
bool  start_locked,
const std::list< double > &  required_ages,
const StellarEvolution &  stellar_evolution,
const std::string &  outfname,
const std::vector< OutCol::OutputColumns > &  output_file_format,
bool  need_orbit 
)

Calculates the evolution for a set of parameters.

Parameters
real_parametersThe real-valued parameters describing the system indexed by InCol::InputColumns.
start_lockedWhether to start the system with the stellar surface rotation synchronized to the orbit.
required_agesThe ages required to be included in the evolution (sorted).
stellar_evolutionThe stellar evolution interpolator.
outfnameThe filename to write the evolution to.
output_file_formatThe columns to include in the output file in the desired order.
need_orbitIs calculating the orbit requried by the output.

◆ output_solution()

void output_solution ( const OrbitSolver solver,
const BinarySystem &  system,
const std::string &  filename,
const std::vector< OutCol::OutputColumns > &  output_file_format,
double  start_age,
double  end_age,
double  timestep,
const std::list< double > &  required_ages = std::list< double >() 
)

Outputs the solution calculated by the given solver.

Parameters
solverThe solver that contains the solution. sover.operator() should already have been called.
systemThe planet-star system for which solution was derived.
filenameThe name of the file to output the solution to.
output_file_formatThe columns to include in the output file in the desired order.
start_ageThe starting age if no orbit was calculated. Ignored if solver contains an orbit.
end_ageThe starting age if no orbit was calculated. Ignored if solver contains an orbit.
timestepThe time step if no orbit was calculated. Ignored if solver contains an orbit.
required_agesA list of ages for which an output line must be written. Ignored if solver contains an orbit

◆ parse_real_list()

void parse_real_list ( const char *  values_str,
std::list< double > &  values 
)

Parses a comma separated list of real values.

If the list starts with a comma, the values are appended to the output list, otherwise the output list is overwritten with the new values.

Parameters
values_strThe comma separated list of values.
valuesThe values to append to or overwrite.

◆ run()

void run ( const CommandLineOptions options,
const StellarEvolution &  stellar_evolution 
)

Actually calculates the orbital evolutions.

Parameters
optionsAll the configuration from the command line.
stellar_evolutionA fully functional stellar evolution interpolator.

◆ update_run_parameters()

std::string update_run_parameters ( std::vector< double > &  real_parameters,
bool &  start_locked,
std::list< double > &  required_ages,
const std::vector< InCol::InputColumns > &  input_format,
std::istringstream &  line,
size_t  input_lineno 
)

Updates the evolution parameters as indicated on the next line of the input stream and returns filename to output the evolution to.

Parameters
real_parametersThe array of real valued parameters to update, indexed by InCol::InputColumns.
start_lockedWhether to start the system with the stellar surface spin synchronous with the orbit.
required_agesThe ages required to be included in the evolution (sorted).
input_formatList of the columns to read from the input stream.
lineThe line from the input stream to read parameters from.
input_linenoThe line number being processed (used only for error messages).