Source code for wntr.sim.models.constants

"""Contant values used by WNTRSimulator."""

import logging
from wntr.utils.polynomial_interpolation import cubic_spline

logger = logging.getLogger(__name__)


[docs] def hazen_williams_constants(m): m.hw_k = 10.666829500036352 m.hw_exp = 1.852 m.hw_minor_exp = 2 m.hw_q1 = 0.0002 m.hw_q2 = 0.0004 m.hw_m = 0.001 x1 = m.hw_q1 x2 = m.hw_q2 f1 = m.hw_m * m.hw_q1 f2 = m.hw_q2 ** m.hw_exp df1 = m.hw_m df2 = m.hw_exp * m.hw_q2 ** (m.hw_exp - 1) a, b, c, d = cubic_spline(x1, x2, f1, f2, df1, df2) m.hw_a = a m.hw_b = b m.hw_c = c m.hw_d = d
[docs] def darcy_weisbach_constants(m): m.dw_k = 0.0826
[docs] def pdd_constants(m): m.pdd_smoothing_delta = 0.05 m.pdd_slope = 1e-11
[docs] def head_pump_constants(m): m.pump_q1 = 0.0 m.pump_q2 = 1e-8 m.pump_slope = -1e-11
[docs] def leak_constants(m): m.leak_delta = 1e-4 m.leak_slope = 1e-11