Program Listing for File CInterface.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/Star/CInterface.h)
#include "../StellarEvolution/CInterface.h"
#include "../Core/SharedLibraryExportMacros.h"
#include "EvolvingStar.h"
#include "../Evolve/DissipationQuantities.h"
extern "C" {
LIB_PUBLIC extern const int NO_DERIV;
LIB_PUBLIC extern const int AGE_DERIV;
LIB_PUBLIC extern const int SPIN_FREQUENCY_DERIV;
LIB_PUBLIC extern const int ORBITAL_FREQUENCY_DERIV;
struct LIB_PUBLIC EvolvingStar;
LIB_PUBLIC EvolvingStar *create_star(
double mass,
double feh,
double wind_strength,
double wind_saturation_frequency,
double diff_rot_coupling_timescale,
const MESAInterpolator *interpolator
);
LIB_PUBLIC void destroy_star(
EvolvingStar *star
);
LIB_PUBLIC void set_star_dissipation(
EvolvingStar *star,
unsigned zone_index,
unsigned num_tidal_frequency_breaks,
unsigned num_spin_frequency_breaks,
double *tidal_frequency_breaks,
double *spin_frequency_breaks,
double *tidal_frequency_powers,
double *spin_frequency_powers,
double reference_phase_lag
);
LIB_PUBLIC void detect_stellar_wind_saturation(
EvolvingStar *star
);
LIB_PUBLIC void select_interpolation_region(
const EvolvingStar *star,
double age
);
LIB_PUBLIC double modified_phase_lag(
const EvolvingStar *star,
unsigned zone_index,
int orbital_frequency_multiplier,
int spin_frequency_multiplier,
double forcing_frequency,
int deriv,
double *above_lock_value
);
LIB_PUBLIC double core_formation_age(
const EvolvingStar *star
);
LIB_PUBLIC double lifetime(
const EvolvingStar *star
);
LIB_PUBLIC double luminosity(
EvolvingStar *star,
double age
);
LIB_PUBLIC void luminosity_array(
EvolvingStar *star,
const double *age,
unsigned nvalues,
double *result
);
LIB_PUBLIC double core_inertia(
EvolvingStar *star,
double age
);
LIB_PUBLIC void core_inertia_array(
EvolvingStar *star,
const double *age,
unsigned nvalues,
double *result
);
LIB_PUBLIC double envelope_inertia(
EvolvingStar *star,
double age
);
LIB_PUBLIC void envelope_inertia_array(
EvolvingStar *star,
const double *age,
unsigned nvalues,
double *result
);
LIB_PUBLIC double star_radius(
EvolvingStar *star,
double age
);
LIB_PUBLIC void star_radius_array(
EvolvingStar *star,
const double *age,
unsigned nvalues,
double *result
);
LIB_PUBLIC double lag_from_lgQ(double lgQ);
} //End extern "C"