1#ifndef HYDROBRICKS_UNIT_HYDROGRAPH_GR_H
2#define HYDROBRICKS_UNIT_HYDROGRAPH_GR_H
18inline double SH1(
double t,
double x4) {
25 return std::pow(t / x4, 2.5);
31inline double SH2(
double t,
double x4) {
39 return 0.5 * std::pow(t / x4, 2.5);
41 return 1.0 - 0.5 * std::pow(2.0 - t / x4, 2.5);
53inline void ComputeOrdinates(
double x4, std::vector<double>& uh1Ord, std::vector<double>& uh2Ord) {
57 int n1 =
static_cast<int>(std::ceil(x4));
58 int n2 =
static_cast<int>(std::ceil(2.0 * x4));
61 for (
int j = 1; j <= n1; ++j) {
62 uh1Ord[j - 1] =
SH1(
static_cast<double>(j), x4) -
SH1(
static_cast<double>(j - 1), x4);
66 for (
int j = 1; j <= n2; ++j) {
67 uh2Ord[j - 1] =
SH2(
static_cast<double>(j), x4) -
SH2(
static_cast<double>(j - 1), x4);
Definition GRUnitHydrograph.h:13
double SH2(double t, double x4)
Definition GRUnitHydrograph.h:31
void ComputeOrdinates(double x4, std::vector< double > &uh1Ord, std::vector< double > &uh2Ord)
Definition GRUnitHydrograph.h:53
double SH1(double t, double x4)
Definition GRUnitHydrograph.h:18