Program Listing for File TwoPhaseLagZone.h

Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/BinarySystem/TwoPhaseLagZone.h)

#ifndef __TWO_PHASE_LAG_ZONE_H
#define __TWO_PHASE_LAG_ZONE_H

#include "DissipatingZone.h"

class TwoPhaseLagZone : virtual public DissipatingZone {
private:
    double __equilibrium_modified_lag,

           __inertial_modified_lag;
public:
    TwoPhaseLagZone(
        double equilibrium_modified_lag=0,

        double inertial_modified_lag=0
    ) :
        __equilibrium_modified_lag(equilibrium_modified_lag),
        __inertial_modified_lag(inertial_modified_lag)
    {}

    void set_equilibrium_modified_lag(double lag)
    {__equilibrium_modified_lag=lag;}

    void set_inertial_modified_lag(double lag)
    {__inertial_modified_lag=lag;}

    virtual double modified_phase_lag(
        int orbital_frequency_multiplier,

        int spin_frequency_multiplier,

        double forcing_frequency,

        Dissipation::QuantityEntry entry,

        double &above_lock_value
    ) const;

    virtual double love_coefficient(
        int,

        int,

        Dissipation::QuantityEntry
    ) const
    {return 0;}
};

#endif