Source code for wntr.epanet.msx.enums

# coding: utf-8
"""
The wntr.epanet.msx.enums module contains EPANET-MSX enum types, for use in
toolkit API calls.
"""

from enum import IntEnum
from wntr.utils.enumtools import add_get

[docs] @add_get(prefix='MSX_') class TkObjectType(IntEnum): r"""Enumeration for object type used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: NODE LINK PIPE TANK SPECIES TERM PARAMETER CONSTANT PATTERN """ NODE = 0 """EPANET node""" LINK = 1 """EPANET link""" PIPE = 1 """EPANET pipe""" TANK = 2 """EPANET tank""" SPECIES = 3 """MSX species""" TERM = 4 """MSX term""" PARAMETER = 5 """MSX parameter""" CONSTANT = 6 """MSX constant""" PATTERN = 7 """**MSX** pattern""" MAX_OBJECTS = 8
[docs] @add_get(prefix='MSX_') class TkSourceType(IntEnum): r"""Enumeration for source type used in EPANET-MSX. .. warning:: These enum values start with -1. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: NOSOURCE CONCEN MASS SETPOINT FLOWPACED """ NOSOURCE = -1 """No source""" CONCEN = 0 """Concentration based source""" MASS = 1 """Constant mass source""" SETPOINT = 2 """Setpoint source""" FLOWPACED = 3 """Flow-paced source"""
[docs] @add_get(prefix='MSX_') class TkUnitSystem(IntEnum): r"""Enumeration for the units system used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: US SI """ US = 0 """US units (ft, ft2, gal)""" SI = 1 """SI units (m, m2, m3)"""
[docs] @add_get(prefix='MSX_') class TkFlowUnits(IntEnum): r"""Enumeration for the flow units used in EPANET-MSX (determined from EPANET INP file read in with the toolkit). .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: CFS GPM MGD IMGD AFD LPS LPM MLD CMH CMD """ CFS = 0 """cubic feet per second""" GPM = 1 """gallons (US) per minute""" MGD = 2 """million gallons (US) per day""" IMGD = 3 """million Imperial gallons per day""" AFD = 4 """acre-feet (US) per day""" LPS = 5 """liters per second""" LPM = 6 """liters per minute""" MLD = 7 """million liters per day""" CMH = 8 """cubic meters per hour""" CMD = 9 """cubic meters per day"""
[docs] @add_get(prefix='MSX_') class TkMixType(IntEnum): r"""Enumeration for the mixing model used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: MIX1 MIX2 FIFO LIFO """ MIX1 = 0 """full mixing, 1 compartment""" MIX2 = 1 """full mixing, 2 comparments""" FIFO = 2 """first in, first out""" LIFO = 3 """last in, first out"""
[docs] @add_get(prefix='MSX_') class TkSpeciesType(IntEnum): r"""Enumeration for species type used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: BULK WALL """ BULK = 0 """bulk species""" WALL = 1 """wall species"""
[docs] @add_get(prefix='MSX_') class TkExpressionType(IntEnum): r"""Enumeration for the expression type used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: NO_EXPR RATE FORMULA EQUIL """ NO_EXPR = 0 """no expression defined""" RATE = 1 """expression is a rate expression""" FORMULA = 2 """expression is a formula expression""" EQUIL = 3 """expression is an equilibrium expression"""
[docs] @add_get(prefix='MSX_') class TkSolverType(IntEnum): r"""Enumeration for the solver type used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: EUL RK5 ROS2 """ EUL = 0 """Euler solver""" RK5 = 1 """Runga-Kutta 5th order solver""" ROS2 = 2 """Ros 2nd order solver"""
[docs] @add_get(prefix='MSX_') class TkCouplingType(IntEnum): r"""Enumeration for the coupling type option used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: NO_COUPLING FULL_COUPLING """ NO_COUPLING = 0 """no coupling""" FULL_COUPLING = 1 """full coupling"""
[docs] @add_get(prefix='MSX_') class TkMassUnits(IntEnum): r"""Enumeration for mass units used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: MG UG MOLE MMOLE """ MG = 0 """milligrams""" UG = 1 """micrograms""" MOLE = 2 """mole""" MMOLE = 3 """millimole"""
[docs] @add_get(prefix='MSX_') class TkAreaUnits(IntEnum): r"""Enumeration for area units used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: FT2 M2 CM2 """ FT2 = 0 """square feet""" M2 = 1 """square meters""" CM2 = 2 """square centimeters"""
[docs] @add_get(prefix='MSX_') class TkRateUnits(IntEnum): r"""Enumeration for rate units used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: SECONDS MINUTES HOURS DAYS """ SECONDS = 0 """per second""" MINUTES = 1 """per minute""" HOURS = 2 """per hour""" DAYS = 3 """per day"""
[docs] @add_get(prefix='MSX_') class TkUnits(IntEnum): r"""Position for units used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: LENGTH_UNITS DIAM_UNITS AREA_UNITS VOL_UNITS FLOW_UNITS CONC_UNITS RATE_UNITS """ LENGTH_UNITS = 0 """the length unit index""" DIAM_UNITS = 1 """the diameter unit index""" AREA_UNITS = 2 """the area unit index""" VOL_UNITS = 3 """the volume unit index""" FLOW_UNITS = 4 """the flow unit index""" CONC_UNITS = 5 """the concentration unit index""" RATE_UNITS = 6 """the rate unit index""" MAX_UNIT_TYPES = 7
[docs] @add_get(prefix='MSX_') class TkHydVar(IntEnum): r"""Enumeration for hydraulic variable used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: DIAMETER FLOW VELOCITY REYNOLDS SHEAR FRICTION AREAVOL ROUGHNESS LENGTH """ DIAMETER = 1 """pipe diameter""" FLOW = 2 """pipe flow rate""" VELOCITY = 3 """segment velocity""" REYNOLDS = 4 """Reynolds number""" SHEAR = 5 """shear velocity""" FRICTION = 6 """friction factor""" AREAVOL = 7 """area / volume ratio""" ROUGHNESS = 8 """roughness number""" LENGTH = 9 """pipe or segment length""" MAX_HYD_VARS = 10
[docs] @add_get(prefix='MSX_') class TkTstat(IntEnum): r"""Enumeration used for time statistic in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: SERIES AVERAGE MINIMUM MAXIMUM RANGE """ SERIES = 0 """output a time series""" AVERAGE = 1 """output the average""" MINIMUM = 2 """output the minimum""" MAXIMUM = 3 """output the maximum""" RANGE = 4 """output the range (max - min)"""
[docs] @add_get(prefix='MSX_') class TkOption(IntEnum): r"""Enumeration used for choosing an option in EPANET-MSX toolkit. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: AREA_UNITS_OPTION RATE_UNITS_OPTION SOLVER_OPTION COUPLING_OPTION TIMESTEP_OPTION RTOL_OPTION ATOL_OPTION COMPILER_OPTION MAXSEGMENT_OPTION PECLETNUMBER_OPTION """ AREA_UNITS_OPTION = 0 """area units""" RATE_UNITS_OPTION = 1 """rate units""" SOLVER_OPTION = 2 """solver""" COUPLING_OPTION = 3 """coupling""" TIMESTEP_OPTION = 4 """timestep size""" RTOL_OPTION = 5 """relative tolerance (global)""" ATOL_OPTION = 6 """absolute tolerance (global)""" COMPILER_OPTION =7 """compiler option""" MAXSEGMENT_OPTION = 8 """max segments""" PECLETNUMBER_OPTION = 9 """peclet number"""
[docs] @add_get(prefix='MSX_') class TkCompiler(IntEnum): r"""Enumeration used for specifying compiler options in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: NO_COMPILER VC GC """ NO_COMPILER = 0 """do not compile reaction dynamics""" VC = 1 """use Visual C to compile reaction dynamics""" GC = 2 """use Gnu C to compile reaction dynamics"""
[docs] @add_get(prefix='MSX_') class TkFileMode(IntEnum): r"""Enumeration for file model used in EPANET-MSX. .. warning:: These enum values start with 0. .. rubric:: Enum Members The following enum names are defined, and, if using the :meth:`get` method, then they are case insensitive and can be optionally prefixed with "MSX\_". .. autosummary:: SCRATCH_FILE SAVED_FILE USED_FILE """ SCRATCH_FILE = 0 """use a scratch file""" SAVED_FILE = 1 """save the file""" USED_FILE = 2 """use a saved file"""