Program Listing for File SingleTidalTermBody.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/unit_tests/testEvolve/SingleTidalTermBody.h)
#ifndef __SINGLE_TIDAL_TERM_BODY_H
#define __SINGLE_TIDAL_TERM_BODY_H
#include "../../Star/SaturatingSkumanichWindBody.h"
#include "SingleTidalTermZone.h"
namespace Evolve {
class SingleTidalTermBody : public Star::SaturatingSkumanichWindBody {
private:
SingleTidalTermZone __zone;
public:
SingleTidalTermBody(
double wind_strength,
double saturation_frequency,
int orbital_frequency_multiplier,
int spin_frequency_multiplier,
double phase_lag,
const std::valarray<double> &mass_coefficients,
const std::valarray<double> &radius_coefficients,
const std::valarray<double> &inertia_coefficients
) :
SaturatingSkumanichWindBody(wind_strength,
saturation_frequency),
__zone(orbital_frequency_multiplier,
spin_frequency_multiplier,
phase_lag,
mass_coefficients,
radius_coefficients,
inertia_coefficients)
{}
unsigned number_zones() const {return 1;}
const DissipatingZone &zone(
unsigned
#ifndef NDEBUG
zone_index
#endif
) const
{
assert(zone_index == 0);
return __zone;
}
DissipatingZone &zone(
unsigned
#ifndef NDEBUG
zone_index
#endif
)
{
assert(zone_index == 0);
return __zone;
}
Eigen::Vector3d angular_momentum_coupling(
unsigned,
Dissipation::QuantityEntry =Dissipation::NO_DERIV,
bool =false
) const
{assert(false);}
};//End SingleTidalTermBody class.
}//End Evolve namespace.
#endif