Program Listing for File DissipationQuantities.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/Evolve/DissipationQuantities.h)
#ifndef __DISSIPATION_QUANTITIES_H
#define __DISSIPATION_QUANTITIES_H
#include "../Core/SharedLibraryExportMacros.h"
#include <ostream>
#include <cassert>
namespace Evolve {
namespace Dissipation {
enum LIB_LOCAL Quantity {
POWER,
TORQUEX,
TORQUEY,
TORQUEZ,
SEMIMAJOR_DECAY,
ORBIT_SPINUP,
INCLINATION_DECAY,
ECCENTRICITY_DECAY,
NUM_QUANTITIES
}; //End Quantity enumeration.
enum LIB_LOCAL QuantityEntry {
NO_DERIV,
AGE,
SPIN_FREQUENCY,
ORBITAL_FREQUENCY,
END_PHASE_LAG_DERIV,
INCLINATION = END_PHASE_LAG_DERIV,
ECCENTRICITY,
END_DIMENSIONLESS_DERIV,
PERIAPSIS = END_DIMENSIONLESS_DERIV,
RADIUS,
MOMENT_OF_INERTIA,
SPIN_ANGMOM,
SEMIMAJOR,
NUM_DERIVATIVES,
EXPANSION_ERROR = NUM_DERIVATIVES,
NUM_ENTRIES
}; //End QuantityEntries enumeration.
} //End Dissipation namespace.
LIB_LOCAL inline bool zone_specific(Dissipation::QuantityEntry entry)
{
return (entry == Dissipation::SPIN_FREQUENCY
||
entry == Dissipation::INCLINATION
||
entry == Dissipation::PERIAPSIS
||
entry == Dissipation::MOMENT_OF_INERTIA
||
entry == Dissipation::SPIN_ANGMOM);
}
LIB_LOCAL std::ostream &operator<<(std::ostream &os,
const Dissipation::Quantity &quantity);
LIB_LOCAL std::ostream &operator<<(std::ostream &os,
Dissipation::QuantityEntry entry);
} //End Evolve namespace.
#endif