Program Listing for File HiblerConcentration.hpp¶
↰ Return to documentation for file (src/include/HiblerConcentration.hpp)
#ifndef SRC_INCLUDE_HIBLERCONCENTRATION_HPP
#define SRC_INCLUDE_HIBLERCONCENTRATION_HPP
#include "Configured.hpp"
#include "IConcentrationModel.hpp"
namespace Nextsim {
class HiblerConcentration : public IConcentrationModel, public Configured<HiblerConcentration> {
public:
HiblerConcentration() = default;
virtual ~HiblerConcentration() = default;
void configure() override;
enum {
H0_KEY,
PHIM_KEY,
};
double freeze(const PrognosticData&, PhysicsData&, NextsimPhysics&) const override;
double melt(const PrognosticData&, PhysicsData&, NextsimPhysics&) const override;
inline static void setH0(double h0_in) { h0 = h0_in; };
private:
static double h0;
static double phiM;
};
} /* namespace Nextsim */
#endif /* SRC_INCLUDE_HIBLERCONCENTRATION_HPP */