Program Listing for File ExternalStoppingConditions.cpp¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/Evolve/ExternalStoppingConditions.cpp)
#define BUILDING_LIBRARY
#include "ExternalStoppingConditions.h"
namespace Evolve {
std::valarray<double> RotFastCondition::operator()(
Core::EvolModeType,
const std::valarray<double> &,
const std::valarray<double> &,
std::valarray<double> &stop_deriv
) const
{
if(!std::isfinite(__spin_thres)) return std::valarray<double>(-1, 1);
double spin_freq = __zone.spin_frequency();
stop_deriv.resize(1, Core::NaN);
return std::valarray<double>(
(spin_freq - __spin_thres) / __spin_thres,
1
);
}
std::string RotFastCondition::describe(int ) const
{
std::ostringstream description;
description << "Critical spin of " << __spin_thres << " rad/day";
return description.str();
}
} //End Evolve namespace.