Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Modules Pages
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).