Program Listing for File CInterface.cpp¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/Planet/CInterface.cpp)
#define BUILDING_LIBRARY
#include "CInterface.h"
#include "../Evolve/CInterface.h"
CPlanet *create_planet(double mass, double radius)
{
return reinterpret_cast<CPlanet*>(
new Planet::Planet(mass, radius)
);
}
void destroy_planet(CPlanet *planet)
{
delete reinterpret_cast<Planet::Planet*>(planet);
}
LIB_PUBLIC void set_planet_dissipation(CPlanet *planet,
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)
{
Evolve::BrokenPowerlawPhaseLagZone *zone = &(
reinterpret_cast<Planet::Planet*>(planet)->zone()
);
set_zone_dissipation(
reinterpret_cast<BrokenPowerlawPhaseLagZone*>(zone),
num_tidal_frequency_breaks,
num_spin_frequency_breaks,
tidal_frequency_breaks,
spin_frequency_breaks,
tidal_frequency_powers,
spin_frequency_powers,
reference_phase_lag
);
}