18#ifndef SUBLOADINGUTIL_H
19#define SUBLOADINGUTIL_H
28 [[nodiscard]] std::pair<double, double>
operator()(
const double q,
const bool check_positive)
const {
31 return y < 0. && check_positive ? std::make_pair(0., 0.) : std::make_pair(y,
linear +
rate * exp_term);
36 const double rate, bound;
43 [[nodiscard]]
double r()
const {
return rate; }
44 [[nodiscard]]
double b()
const {
return bound; }
45 [[nodiscard]]
double rb()
const {
return r() *
b(); }
49 static constexpr double z_bound = 1
E-15;
50 inline static const double rate_bound = -std::log(z_bound);
54 if(z < z_bound)
return {rate_bound, 0.};
56 return {-log(z), -1. / z};
Definition SubloadingUtil.h:48
static std::array< double, 2 > yield_ratio(const double z)
Definition SubloadingUtil.h:53
Definition SubloadingUtil.h:35
double r() const
Definition SubloadingUtil.h:43
double b() const
Definition SubloadingUtil.h:44
SubloadingSaturation(const double R, const double B)
Definition SubloadingUtil.h:39
double rb() const
Definition SubloadingUtil.h:45
Definition SubloadingUtil.h:25
const double initial
Definition SubloadingUtil.h:26
const double linear
Definition SubloadingUtil.h:26
const double rate
Definition SubloadingUtil.h:26
std::pair< double, double > operator()(const double q, const bool check_positive) const
Definition SubloadingUtil.h:28
const double saturation
Definition SubloadingUtil.h:26