
# **********************************************************************
# This file has been auto-generated by a code generation tool.
# Version:   "4.1.6"
# Date/time: 25 Jul 2024 12:00:25
# Template:  /python/enums.razor.
# **********************************************************************

# ================================================================================
# Python PWS enums.
# ================================================================================

from enum import IntEnum, unique


@unique
class AtmosphericStabilityClass(IntEnum):
    """
    Atmospheric stability classes.
    
    Attributes
    ----------
        STABILITY_A : int
            (1) A.
        STABILITY_AB : int
            (2) A/B.
        STABILITY_B : int
            (3) B.
        STABILITY_BC : int
            (4) B/C.
        STABILITY_C : int
            (5) C.
        STABILITY_CD : int
            (6) C/D.
        STABILITY_D : int
            (7) D.
        STABILITY_E : int
            (8) E.
        STABILITY_F : int
            (9) F.
        STABILITY_G : int
            (10) G.
    """

    STABILITY_A = 1
    STABILITY_AB = 2
    STABILITY_B = 3
    STABILITY_BC = 4
    STABILITY_C = 5
    STABILITY_CD = 6
    STABILITY_D = 7
    STABILITY_E = 8
    STABILITY_F = 9
    STABILITY_G = 10

@unique
class ContourType(IntEnum):
    """
    Type of contour plot or grid.
    
    Attributes
    ----------
        FOOTPRINT : int
            (1) Footprint (XY plane).
        FOOTPRINT_AT_TIME : int
            (2) Footprint (XY plane) at given time.
        FOOTPRINT_ELLIPSE : int
            (3) Footprint ellipse (XY plane).
        SIDEVIEW : int
            (4) Sideview (XZ plane).
        CROSSWIND : int
            (5) Crosswind (YZ plane).
        FLAME_FOOTPRINT : int
            (6) Flame shape footprint (XY plane).
        FLAME_SIDEVIEW : int
            (7) Flame shape side view (XZ plane).
        FLAME_CROSSWIND : int
            (8) Flame shape crosswind (YZ plane).
    """

    FOOTPRINT = 1
    FOOTPRINT_AT_TIME = 2
    FOOTPRINT_ELLIPSE = 3
    SIDEVIEW = 4
    CROSSWIND = 5
    FLAME_FOOTPRINT = 6
    FLAME_SIDEVIEW = 7
    FLAME_CROSSWIND = 8

@unique
class DayNight(IntEnum):
    """
    Flag to indicate wheather we are in day or nightime.
    
    Attributes
    ----------
        UNSET : int
            (0) Day/night flag not set.
        DAY : int
            (1) Day.
        NIGHT : int
            (2) Night.
    """

    UNSET = 0
    DAY = 1
    NIGHT = 2

@unique
class DesignVariable(IntEnum):
    """
    Choice of input to vary to achieve target design.
    
    Attributes
    ----------
        PIPE_LENGTH : int
            (1) The length of the flare stack.
        PIPE_DIAMETER : int
            (2) The diameter of the flare stack.
        OPERATING_PRESSURE : int
            (3) The driving pressure in the tank feeding the flare stack.
    """

    PIPE_LENGTH = 1
    PIPE_DIAMETER = 2
    OPERATING_PRESSURE = 3

@unique
class DynamicType(IntEnum):
    """
    Type of release or cloud.
    
    Attributes
    ----------
        UNSET : int
            (0) Unset.
        INSTANTANEOUS : int
            (1) Instantaneous.
        CONTINUOUS : int
            (2) Continuous.
        TIME_VARYING : int
            (3) Time-varying.
    """

    UNSET = 0
    INSTANTANEOUS = 1
    CONTINUOUS = 2
    TIME_VARYING = 3

@unique
class FireType(IntEnum):
    """
    Fire type.
    
    Attributes
    ----------
        NO_FIRE : int
            (0) No fire.
        FIRE__BALL : int
            (1) Fireball.
        POOL : int
            (2) Pool fire.
        API_JET : int
            (3) API jet fire.
        CONE_JET : int
            (4) Cone jet fire.
        MULTI_POINT_SOURCE_JET : int
            (10) Multi-point [e.g. Miller] source jet fire model.
    """

    NO_FIRE = 0
    FIRE__BALL = 1
    POOL = 2
    API_JET = 3
    CONE_JET = 4
    MULTI_POINT_SOURCE_JET = 10

@unique
class FlammableToxic(IntEnum):
    """
    Flag to indicate if the material is flammable, toxic, both or inert.
    
    Attributes
    ----------
        UNSET : int
            (-99) Option when this field is unset.
        INERT : int
            (-2) Inert.
        TOXIC : int
            (-1) Toxic.
        BOTH : int
            (0) Both.
        FLAMMABLE : int
            (1) Flammable.
    """

    UNSET = -99
    INERT = -2
    TOXIC = -1
    BOTH = 0
    FLAMMABLE = 1

@unique
class FlashAtOrifice(IntEnum):
    """
    Allow phase change upstream of orifice.
    
    Attributes
    ----------
        NO_FLASH_AT_ORIFICE : int
            (0) No phase change to the orifice.
        FLASH_ALLOWED : int
            (1) Flashing allowed to the orifice.
        DISALLOW_LIQUID_FLASH : int
            (2) No flashing of liquid (metastable liquid).
    """

    NO_FLASH_AT_ORIFICE = 0
    FLASH_ALLOWED = 1
    DISALLOW_LIQUID_FLASH = 2

@unique
class FluidSpec(IntEnum):
    """
    Fluid state specification.
    
    Attributes
    ----------
        PT_LF : int
            (0) Specify all of P,T,LF.
        TP : int
            (1) Specify temperature and pressure.
        T_BUB : int
            (2) Bubble point at fixed temperature.
        P_BUB : int
            (3) Bubble point at fixed pressure.
        T_DEW : int
            (4) Dew point at fixed temperature.
        P_DEW : int
            (5) Dew point at fixed pressure.
        P_LF : int
            (6) Fixed pressure and liquid fraction.
        T_LF : int
            (7) Fixed temperature and liquid fraction.
    """

    PT_LF = 0
    TP = 1
    T_BUB = 2
    P_BUB = 3
    T_DEW = 4
    P_DEW = 5
    P_LF = 6
    T_LF = 7

@unique
class LuminousSmokyFlame(IntEnum):
    """
    Luminous smoky flame.
    
    Attributes
    ----------
        NON_FLAMMABLE : int
            (-1) Non flammable.
        LUMINOUS : int
            (0) Luminous flame.
        SMOKY : int
            (1) Smoky flame.
        GENERAL : int
            (2) General type flame.
    """

    NON_FLAMMABLE = -1
    LUMINOUS = 0
    SMOKY = 1
    GENERAL = 2

@unique
class MEConfinedMethod(IntEnum):
    """
    Multi-energy confined method.
    
    Attributes
    ----------
        USER_DEFINED : int
            (1) User defined method.
        UNIFORM_CONFINED : int
            (3) Uniform confined method.
    """

    USER_DEFINED = 1
    UNIFORM_CONFINED = 3

@unique
class MessageResultCode(IntEnum):
    """
    A message code used to communicate additional information between the APIs and the client applications.
    
    Attributes
    ----------
        USER_NOT_AUTHORIZED_TO_UPGRADE_ENTITY : int
            (20000) Authenticated user is not authorized to upgrade the requested entity.
    """

    USER_NOT_AUTHORIZED_TO_UPGRADE_ENTITY = 20000

@unique
class MixtureModelling(IntEnum):
    """
    Method for modelling a mixture.
    
    Attributes
    ----------
        PC : int
            (0) Pseudo-component treatment of mixtures.
        MC___SINGLE_AEROSOL : int
            (1) Multi-component single aerosol.
        MC___MULTIPLE_AEROSOL : int
            (3) Multi-component multiple aerosol hybrid method.
    """

    PC = 0
    MC___SINGLE_AEROSOL = 1
    MC___MULTIPLE_AEROSOL = 3

@unique
class Phase(IntEnum):
    """
    Fluid phase (vapour, liquid or two-phase).
    
    Attributes
    ----------
        UNSET : int
            (0) Unset.
        VAPOUR : int
            (1) Vapour.
        TWO_PHASE : int
            (2) Two-phase.
        LIQUID : int
            (3) Liquid.
    """

    UNSET = 0
    VAPOUR = 1
    TWO_PHASE = 2
    LIQUID = 3

@unique
class PoolFireType(IntEnum):
    """
    Pool fire type.
    
    Attributes
    ----------
        IMMEDIATE : int
            (0) Immediate pool fire.
        EARLY : int
            (1) Early pool fire.
        LATE : int
            (2) Late pool fire.
    """

    IMMEDIATE = 0
    EARLY = 1
    LATE = 2

@unique
class PoolSurfaceType(IntEnum):
    """
    Surface type for pools and bunds.
    
    Attributes
    ----------
        WET_SOIL : int
            (1) Wet soil.
        DRY_SOIL : int
            (2) Dry soil.
        CONCRETE : int
            (3) Concrete.
        INSULATED_CONCRETE : int
            (4) Insulated concrete.
        DEEP_OPEN_WATER : int
            (5) Deep open water.
        SHALLOW_OPEN_WATER : int
            (6) Shallow open water.
        DEEP_RIVER : int
            (7) Deep river.
        SHALLOW_RIVER : int
            (8) Shallow river.
    """

    WET_SOIL = 1
    DRY_SOIL = 2
    CONCRETE = 3
    INSULATED_CONCRETE = 4
    DEEP_OPEN_WATER = 5
    SHALLOW_OPEN_WATER = 6
    DEEP_RIVER = 7
    SHALLOW_RIVER = 8

@unique
class PropertyTemplate(IntEnum):
    """
    Choice of property template.
    
    Attributes
    ----------
        PHAST_MC : int
            (100) The PhastMC is the default Phast template.
        PHAST_64 : int
            (101) Old default Phast property template.
        ACID_ASSOCIATION : int
            (102) Acid association template for modelling reactive Hydrogen Fluoride.
        SOAVE_REDLICK_KWONG : int
            (103) Template using the Soave-Redlich-Kwong cubic equation of state.
        PENG_ROBINSON : int
            (104) Template using the Peng-Robinson cubic equation of state.
        PR_IDEAL_FUGACITY : int
            (106) The Peng-Robinson template but with ideal fugacities for improved robustness.
        SRK_IDEAL_FUGACITY : int
            (107) The Soave-Redlich-Kwong template but with ideal fugacities for improved robustness.
    """

    PHAST_MC = 100
    PHAST_64 = 101
    ACID_ASSOCIATION = 102
    SOAVE_REDLICK_KWONG = 103
    PENG_ROBINSON = 104
    PR_IDEAL_FUGACITY = 106
    SRK_IDEAL_FUGACITY = 107

@unique
class RadiationType(IntEnum):
    """
    Radiation type.
    
    Attributes
    ----------
        UNSET : int
            (0) Radiation type not set.
        DOSE : int
            (1) Radiation dose.
        PROBIT : int
            (2) Radiation probit.
        LETHALITY : int
            (3) Radiation lethality.
        VIEW_FACTOR : int
            (4) View factor.
        INTENSITY : int
            (5) Radiation intensity.
    """

    UNSET = 0
    DOSE = 1
    PROBIT = 2
    LETHALITY = 3
    VIEW_FACTOR = 4
    INTENSITY = 5

@unique
class RainoutThermoFlag(IntEnum):
    """
    Rainout and thermodynamic modelling.
    
    Attributes
    ----------
        NO_RAINOUT_EQUILIBRIUM : int
            (-1) No rainout, equilibrium.
        RAINOUT_EQUILIBRIUM : int
            (1) Rainout, equilibrium.
        RAINOUT_NON_EQUILIBRIUM : int
            (2) Rainout, non-equilibrium.
    """

    NO_RAINOUT_EQUILIBRIUM = -1
    RAINOUT_EQUILIBRIUM = 1
    RAINOUT_NON_EQUILIBRIUM = 2

@unique
class ReleaseDirection(IntEnum):
    """
    Release direction.
    
    Attributes
    ----------
        HORIZONTAL : int
            (0) Horizontal.
        VERTICAL : int
            (1) Vertical.
    """

    HORIZONTAL = 0
    VERTICAL = 1

@unique
class Resolution(IntEnum):
    """
    Output resolution (and performance).
    
    Attributes
    ----------
        HIGH : int
            (1) High.
        MEDIUM : int
            (2) Medium.
        LOW : int
            (3) Low.
        VERY_HIGH : int
            (4) Very high.
        EXTREME : int
            (5) Extremely high.
    """

    HIGH = 1
    MEDIUM = 2
    LOW = 3
    VERY_HIGH = 4
    EXTREME = 5

class ResultCode(IntEnum):
    """
    Result codes returned from calls to the MDE.
    
    Attributes
    ----------
        FAIL___VALIDATION : int
            (-1) Validation fail.
        SUCCESS : int
            (0) Success.
        FAIL___EXECUTION : int
            (1) Execution fail.
        UNEXPECTED_APPLICATION_ERROR : int
            (21001) Unexpected application error encountered.
        MISSING_PARAMETERS_ERROR : int
            (21002) Missing parameters.
        INVALID_WORKING_DIRECTORY_ERROR : int
            (21003) No or invalid working directory specified.
        INVALID_APP_ROOT_DIRECTORY_ERROR : int
            (21004) No or invalid application root directory specified.
        INVALID_MDE_MODELS_DIRECTORY_ERROR : int
            (21005) No or invalid MDE models directory specified.
        MDE_MODEL_DIRECTORY_NOT_FOUND_ERROR : int
            (21006) MDE directory was correctly specified but the directory does not exist.
        INVALID_PROPERTY_SYSTEM_DIRECTORY_ERROR : int
            (21007) No or invalid physical properties directory specified.
        INPUT_FILE_NOT_SPECIFIED_ERROR : int
            (21008) Input file not specified error.
        INPUT_FILE_NOT_FOUND_ERROR : int
            (21009) Input file not found error.
        OUTPUT_FILE_NOT_SPECIFIED_ERROR : int
            (21010) Output file not specified error.
        ERROR_READING_INPUT_FILE_ERROR : int
            (21011) Error reading input file error.
        FAILED_TO_INITIALISE_MDE_ERROR_REPORTING_ERROR : int
            (21012) Failed to initialise mde error reporting error.
        FAILED_TO_INITIALISE_PROPERTY_SYSTEM_ERROR : int
            (21013) Failed to initialise property system error.
        INVALID_ACCESS_TOKEN_ERROR : int
            (21014) Invalid access token error.
        NO_DISCHARGE_RECORDS_ERROR : int
            (21100) No discharge records error.
        NO_DISPERSION_RECORDS_ERROR : int
            (21102) No dispersion records error.
        NO_FLAME_RECORDS_ERROR : int
            (21103) No flame records error.
        MDE_INITIALIZATION_ERROR : int
            (21104) MDE initialization error.
        MDE_ERROR_REPORTING_INITIALIZATION_ERROR : int
            (21105) MDE error reporting initialization error.
        PHYSICAL_PROPERTY_SYSTEM_INITIALIZATION_ERROR : int
            (21106) Physical property system initialization error.
        DISCHARGE_CALCULATION_INITIALIZATION_ERROR : int
            (21107) Discharge calculation initialization error.
        DISPERSION_CALCULATION_INITIALIZATION_ERROR : int
            (21108) Dispersion calculation initialization error.
        UNABLE_TO_READ_DATA_ERROR : int
            (21109) Unable to read data error.
        CLIENT_ID_NOT_SPECIFIED_ERROR : int
            (21110) Client id not specified error.
        JSON_READER_ERROR : int
            (21111) Json reader error.
        INDEX_OUT_OF_RANGE_ERROR : int
            (21112) Index out of range error.
        DATA_STORAGE_ERROR : int
            (21113) Data storage error.
        HTTP_MULTIPLE_CHOICES_ERROR : int
            (30300) Http multiple choices error.
        HTTP_AMBIGUOUS_ERROR : int
            (30300) Http ambiguous error.
        HTTP_MOVED_PERMANENTLY_ERROR : int
            (30301) Http moved permanently error.
        HTTP_MOVED_ERROR : int
            (30301) Http moved error.
        HTTP_FOUND_ERROR : int
            (30302) Http found error.
        HTTP_REDIRECT_ERROR : int
            (30302) Http redirect error.
        HTTP_SEE_OTHER_ERROR : int
            (30303) Http see other error.
        HTTP_REDIRECT_METHOD_ERROR : int
            (30303) Http redirect method error.
        HTTP_NOT_MODIFIED_ERROR : int
            (30304) Http not modified error.
        HTTP_USE_PROXY_ERROR : int
            (30305) Http use proxy error.
        HTTP_UNUSED_ERROR : int
            (30306) Http unused error.
        HTTP_TEMPORARY_REDIRECT_ERROR : int
            (30307) Http temporary redirect error.
        HTTP_REDIRECT_KEEP_VERB_ERROR : int
            (30307) Http redirect keep verb error.
        HTTP_BAD_REQUEST_ERROR : int
            (30400) Http bad request error.
        HTTP_UNAUTHORIZED_ERROR : int
            (30401) Http unauthorized error.
        HTTP_PAYMENT_REQUIRED_ERROR : int
            (30402) Http payment required error.
        HTTP_FORBIDDEN_ERROR : int
            (30403) Http forbidden error.
        HTTP_NOT_FOUND_ERROR : int
            (30404) Http not found error.
        HTTP_METHOD_NOT_ALLOWED_ERROR : int
            (30405) Http method not allowed error.
        HTTP_NOT_ACCEPTABLE_ERROR : int
            (30406) Http not acceptable error.
        HTTP_PROXY_AUTHENTICATION_REQUIRED_ERROR : int
            (30407) Http proxy authentication required error.
        HTTP_REQUEST_TIMEOUT_ERROR : int
            (30408) Http request timeout error.
        HTTP_CONFLICT_ERROR : int
            (30409) Http conflict error.
        HTTP_GONE_ERROR : int
            (30410) Http gone error.
        HTTP_LENGTH_REQUIRED_ERROR : int
            (30411) Http length required error.
        HTTP_PRECONDITION_FAILED_ERROR : int
            (30412) Http precondition failed error.
        HTTP_REQUEST_ENTITY_TOO_LARGE_ERROR : int
            (30413) Http request entity too large error.
        HTTP_REQUEST_URI_TOO_LONG_ERROR : int
            (30414) Http request uri too long error.
        HTTP_UNSUPPORTED_MEDIA_TYPE_ERROR : int
            (30415) Http unsupported media type error.
        HTTP_REQUESTED_RANGE_NOT_SATISFIABLE_ERROR : int
            (30416) Http requested range not satisfiable error.
        HTTP_EXPECTATION_FAILED_ERROR : int
            (30417) Http expectation failed error.
        HTTP_UPGRADE_REQUIRED_ERROR : int
            (30426) Http upgrade required error.
        HTTP_INTERNAL_SERVER_ERROR_ERROR : int
            (30500) Http internal server error error.
        HTTP_NOT_IMPLEMENTED_ERROR : int
            (30501) Http not implemented error.
        HTTP_BAD_GATEWAY_ERROR : int
            (30502) Http bad gateway error.
        HTTP_SERVICE_UNAVAILABLE_ERROR : int
            (30503) Http service unavailable error.
        HTTP_GATEWAY_TIMEOUT_ERROR : int
            (30504) Http gateway timeout error.
        HTTP_HTTP_VERSION_NOT_SUPPORTED_ERROR : int
            (30505) Http http version not supported error.
        NO_DISCHARGE_RECORDS_GENERATED_WARNING : int
            (63001) No discharge records generated warning.
        NO_DISPERSION_RECORDS_GENERATED_WARNING : int
            (63002) No dispersion records generated warning.
    """

    FAIL___VALIDATION = -1
    SUCCESS = 0
    FAIL___EXECUTION = 1
    UNEXPECTED_APPLICATION_ERROR = 21001
    MISSING_PARAMETERS_ERROR = 21002
    INVALID_WORKING_DIRECTORY_ERROR = 21003
    INVALID_APP_ROOT_DIRECTORY_ERROR = 21004
    INVALID_MDE_MODELS_DIRECTORY_ERROR = 21005
    MDE_MODEL_DIRECTORY_NOT_FOUND_ERROR = 21006
    INVALID_PROPERTY_SYSTEM_DIRECTORY_ERROR = 21007
    INPUT_FILE_NOT_SPECIFIED_ERROR = 21008
    INPUT_FILE_NOT_FOUND_ERROR = 21009
    OUTPUT_FILE_NOT_SPECIFIED_ERROR = 21010
    ERROR_READING_INPUT_FILE_ERROR = 21011
    FAILED_TO_INITIALISE_MDE_ERROR_REPORTING_ERROR = 21012
    FAILED_TO_INITIALISE_PROPERTY_SYSTEM_ERROR = 21013
    INVALID_ACCESS_TOKEN_ERROR = 21014
    NO_DISCHARGE_RECORDS_ERROR = 21100
    NO_DISPERSION_RECORDS_ERROR = 21102
    NO_FLAME_RECORDS_ERROR = 21103
    MDE_INITIALIZATION_ERROR = 21104
    MDE_ERROR_REPORTING_INITIALIZATION_ERROR = 21105
    PHYSICAL_PROPERTY_SYSTEM_INITIALIZATION_ERROR = 21106
    DISCHARGE_CALCULATION_INITIALIZATION_ERROR = 21107
    DISPERSION_CALCULATION_INITIALIZATION_ERROR = 21108
    UNABLE_TO_READ_DATA_ERROR = 21109
    CLIENT_ID_NOT_SPECIFIED_ERROR = 21110
    JSON_READER_ERROR = 21111
    INDEX_OUT_OF_RANGE_ERROR = 21112
    DATA_STORAGE_ERROR = 21113
    HTTP_MULTIPLE_CHOICES_ERROR = 30300
    HTTP_AMBIGUOUS_ERROR = 30300
    HTTP_MOVED_PERMANENTLY_ERROR = 30301
    HTTP_MOVED_ERROR = 30301
    HTTP_FOUND_ERROR = 30302
    HTTP_REDIRECT_ERROR = 30302
    HTTP_SEE_OTHER_ERROR = 30303
    HTTP_REDIRECT_METHOD_ERROR = 30303
    HTTP_NOT_MODIFIED_ERROR = 30304
    HTTP_USE_PROXY_ERROR = 30305
    HTTP_UNUSED_ERROR = 30306
    HTTP_TEMPORARY_REDIRECT_ERROR = 30307
    HTTP_REDIRECT_KEEP_VERB_ERROR = 30307
    HTTP_BAD_REQUEST_ERROR = 30400
    HTTP_UNAUTHORIZED_ERROR = 30401
    HTTP_PAYMENT_REQUIRED_ERROR = 30402
    HTTP_FORBIDDEN_ERROR = 30403
    HTTP_NOT_FOUND_ERROR = 30404
    HTTP_METHOD_NOT_ALLOWED_ERROR = 30405
    HTTP_NOT_ACCEPTABLE_ERROR = 30406
    HTTP_PROXY_AUTHENTICATION_REQUIRED_ERROR = 30407
    HTTP_REQUEST_TIMEOUT_ERROR = 30408
    HTTP_CONFLICT_ERROR = 30409
    HTTP_GONE_ERROR = 30410
    HTTP_LENGTH_REQUIRED_ERROR = 30411
    HTTP_PRECONDITION_FAILED_ERROR = 30412
    HTTP_REQUEST_ENTITY_TOO_LARGE_ERROR = 30413
    HTTP_REQUEST_URI_TOO_LONG_ERROR = 30414
    HTTP_UNSUPPORTED_MEDIA_TYPE_ERROR = 30415
    HTTP_REQUESTED_RANGE_NOT_SATISFIABLE_ERROR = 30416
    HTTP_EXPECTATION_FAILED_ERROR = 30417
    HTTP_UPGRADE_REQUIRED_ERROR = 30426
    HTTP_INTERNAL_SERVER_ERROR_ERROR = 30500
    HTTP_NOT_IMPLEMENTED_ERROR = 30501
    HTTP_BAD_GATEWAY_ERROR = 30502
    HTTP_SERVICE_UNAVAILABLE_ERROR = 30503
    HTTP_GATEWAY_TIMEOUT_ERROR = 30504
    HTTP_HTTP_VERSION_NOT_SUPPORTED_ERROR = 30505
    NO_DISCHARGE_RECORDS_GENERATED_WARNING = 63001
    NO_DISPERSION_RECORDS_GENERATED_WARNING = 63002

@unique
class Scope(IntEnum):
    """
    Determines whether an entity is globally or workspace scoped.
    
    Attributes
    ----------
        GLOBAL : int
            (1) Entity has global scope.
        WORKSPACE : int
            (2) Entity has workspace scope.
    """

    GLOBAL = 1
    WORKSPACE = 2

@unique
class SolidModelling(IntEnum):
    """
    Flag for whether we want to deploy or disable solid modelling. In addition to this flag, each component has its own allowSolids flag.
    
    Attributes
    ----------
        DISABLE_SOLID_MODELLING : int
            (0) Solid modelling will not be used, even if it is allowed by the component in question.
        DEPLOY_SOLID_MODELLING : int
            (1) Solid modelling will be deployed if it is supported by the component in question.
    """

    DISABLE_SOLID_MODELLING = 0
    DEPLOY_SOLID_MODELLING = 1

@unique
class SpecialConcentration(IntEnum):
    """
    Concentrations of interest.
    
    Attributes
    ----------
        NOT_DEFINED : int
            (0) Not Defined.
        LFL_FRACTION : int
            (1) LFL Fraction.
        LFL : int
            (2) LFL.
        UFL : int
            (3) UFL.
        MIN : int
            (4) Minimum concentration.
    """

    NOT_DEFINED = 0
    LFL_FRACTION = 1
    LFL = 2
    UFL = 3
    MIN = 4

@unique
class SurfaceType(IntEnum):
    """
    Dispersing surface type (land or water).
    
    Attributes
    ----------
        LAND : int
            (1) Dispersion over land.
        WATER : int
            (2) Dispersion over water.
    """

    LAND = 1
    WATER = 2

@unique
class TargetVariable(IntEnum):
    """
    Type of result for design constraint.
    
    Attributes
    ----------
        MASS_FLOW_RATE : int
            (1) Specify a target mass flow rate.
        EXPANDED_RELEASE_VELOCITY : int
            (2) Specify a target expanded release velocity.
        PIPE_EXIT_PRESSURE : int
            (3) Specify a target pipe exit pressure.
        RADIATION_LEVEL_TRANSECT_ENDPOINT : int
            (4) Specify a target radiation level at the endpoint of the radiation transect.
    """

    MASS_FLOW_RATE = 1
    EXPANDED_RELEASE_VELOCITY = 2
    PIPE_EXIT_PRESSURE = 3
    RADIATION_LEVEL_TRANSECT_ENDPOINT = 4

@unique
class TimeVaryingOption(IntEnum):
    """
    Dynamic modelling of leaks and lines.
    
    Attributes
    ----------
        INITIAL_RATE : int
            (1) Use initial rate.
        TIME_VARYING_RATE : int
            (2) Use time-varying rates.
    """

    INITIAL_RATE = 1
    TIME_VARYING_RATE = 2

@unique
class ToxicResultType(IntEnum):
    """
    Type of toxic result.
    
    Attributes
    ----------
        UNSET : int
            (0) Toxic result type not set.
        TOXIC_LETHALITY : int
            (1) Probability of death.
        TOXIC_PROBIT : int
            (2) Toxic probit number.
        TOXIC_DOSE : int
            (3) Toxic dose.
    """

    UNSET = 0
    TOXIC_LETHALITY = 1
    TOXIC_PROBIT = 2
    TOXIC_DOSE = 3

@unique
class VesselConditions(IntEnum):
    """
    The vessel conditions expected by the user.
    
    Attributes
    ----------
        UNSET : int
            (0) Unset.
        PURE_GAS : int
            (1) Pressurised gas vessel.
        HOMOGENEOUS_VESSEL_TYPE : int
            (2) Input fluid state expected to be homogenesously mixed two phase.
        STRATIFIED_TWO_PHASE_VESSEL : int
            (3) Two phase vessel.
        PRESSURIZED_LIQUID_VESSEL : int
            (4) Pressurised liquid vessel.
        ATMOSPHERIC_LIQUID_VESSEL : int
            (5) Input fluid state expected to be liquid stored at atmospheric pressure.
    """

    UNSET = 0
    PURE_GAS = 1
    HOMOGENEOUS_VESSEL_TYPE = 2
    STRATIFIED_TWO_PHASE_VESSEL = 3
    PRESSURIZED_LIQUID_VESSEL = 4
    ATMOSPHERIC_LIQUID_VESSEL = 5

@unique
class VesselShape(IntEnum):
    """
    Vessel shape.
    
    Attributes
    ----------
        VERTICAL_CYLINDER : int
            (1) Vertical cylinder.
        HORIZONTAL_CYLINDER : int
            (2) Horizontal cylinder.
        VESSEL_SPHERE : int
            (3) Sphere.
        VESSEL_CUBOID : int
            (4) Cuboid.
    """

    VERTICAL_CYLINDER = 1
    HORIZONTAL_CYLINDER = 2
    VESSEL_SPHERE = 3
    VESSEL_CUBOID = 4