Constants#

This page contains the full reference to constants available for ALFAsim-SDK API.

class CompressorSpeedType(value)#

An enumeration.

ConstantSpeed = 'constant_speed'#
SpeedCurve = 'speed_curve'#
class ControllerType(value)#

An enumeration.

PID = 'pid'#
class CorrelationPackage(value)#

An enumeration.

Glaso = 'pvt_correlation_package_glaso'#
Lasater = 'pvt_correlation_package_lasater'#
Standing = 'pvt_correlation_package_standing'#
VazquezBeggs = 'pvt_correlation_package_vazquez_beggs'#
class CorrelationPackageType(value)#

An enumeration.

Alfasim = 'correlation_package_alfasim'#
Classical = 'correlation_package_classical'#
ISDBTests = 'correlation_package_isdb_tests'#
class CorrelationsGasViscosity(value)#

An enumeration.

LeeGonzalezEakin = 'Lee Gonzalez Eakin'#
class CorrelationsOilViscosity(value)#

An enumeration.

Egbogah = 'Egbogah'#
class CorrelationsSurfaceTension(value)#

An enumeration.

BakerSwerdloff = 'Baker Swerdloff'#
class DrainageRateMode(value)#

Drainage Rate mode used by Surge Volume curves calculation.

Automatic = 'automatic'#

Uses a default drain flow rate = (AccLiq(end_time) - AccLiq(start_time))/(end_time - start_time)

UserDefined = 'user_defined'#

Allows the user to input a maximum drainage rate

class EmulsionDropletSizeModelType(value)#

An enumeration.

Boxall2012 = 'boxall2012'#
Brauner2001 = 'brauner2001'#
Hinze1955 = 'hinze1955'#
ModelDefault = 'model_default'#
Sleicher1962 = 'sleicher1962'#
class EmulsionInversionPointModelType(value)#

An enumeration.

BraunerUllmann2002 = 'brauner_and_ullmann_2002'#
Brinkman1952AndYeh1964 = 'brinkman1952_and_yeh1964'#
Constant = 'constant'#
ModelDefault = 'model_default'#
class EmulsionModelType(value)#

Options for emulsion properties calculation.

Boxall2012 = 'boxall2012'#
Brauner2001 = 'brauner2001'#
Brinkman1952 = 'brinkman1952'#
Brinkman1952AndYeh1964 = 'brinkman1952_and_yeh1964'#
FromPlugin = 'from_plugin'#
Hinze1955 = 'hinze1955'#
ModelDefault = 'model_default'#
Mooney1951a = 'mooney1951a'#
Mooney1951b = 'mooney1951b'#
NoModel = 'no_model'#
Sleicher1962 = 'sleicher1962'#
Taylor1932 = 'taylor1932'#
class EmulsionRelativeViscosityModelType(value)#

An enumeration.

BarneaMizrahi1976 = 'barnea_mizrahi1976'#
Brinkman1952 = 'brinkman1952'#
FromPlugin = 'from_plugin'#
ModelDefault = 'model_default'#
Mooney1951a = 'mooney1951a'#
Mooney1951b = 'mooney1951b'#
PalRhodes1989 = 'pal_rhodes1989'#
Ronningsen1995 = 'ronningsen1995'#
TableBased = 'table_based'#
Taylor1932 = 'taylor1932'#
VolumetricWeight = 'volumetric_weight'#
Woelflin1942 = 'woelflin_1942'#
class EnergyModel(value)#

Do not rely on the value of this enum, it is used exclusively for backward compatibility

GlobalModel = 'global_model'#
LayersModel = 'layers_model'#
NoModel = 'no_model'#
class EnergyModelPrimaryVariable(value)#

Do not rely on the value of this enum, it is used exclusively for backward compatibility

Enthalpy = 'enthalpy'#
Temperature = 'temperature'#
class EquationOfStateType(value)#

An enumeration.

PengRobinson = 'pvt_compositional_peng_robinson'#
SoaveRedlichKwong = 'pvt_compositional_soave_redlich_kwong'#
class EquipmentAttachmentLocation(value)#

Location in which an equipment can be attached.

Annulus = 'annulus'#
Both = 'both'#
Main = 'main'#
class EvaluationStrategyType(value)#

An enumeration.

Implicit = 'implicit'#
NewtonExplicit = 'newton_explicit'#
TimeExplicit = 'time_explicit'#
class FlashModel(value)#

Do not rely on the value of this enum, it is used exclusively for backward compatibility

HydrocarbonAndWater = 'hydrocarbon_and_water'#
HydrocarbonOnly = 'hydrocarbon_only'#
class FlowDirection(value)#

An enumeration.

Backward = 'backward'#
Forward = 'forward'#
class FlowPatternModel(value)#

Model used for identify the current flow pattern in a given pipe position.

RegimeCapturing = 'regime_capturing'#
UnitCell = 'unit_cell'#
class ForchheimerCoefficientsOption(value)#

Option for the Forchheimer IPR coefficients definition.

FlowCoefficients = 'flow_coefficients'#
ReservoirParameters = 'reservoir_parameters'#
class GasLiftValveOpeningType(value)#

An enumeration.

MinimumPressureDifference = 'minimum_pressure_difference'#
PressureOperated = 'pressure_operated'#
class HydrodynamicModelType(value)#

Informs which base Hydrodynamic model is being used, without any modification from plugins:

TwoFields is valid only for the slug/regime capturing

  • TwoFields - ‘Two-fluid, Regime Capturing (gas-oil)’:

    Two phase (gas and oil) with two fields (continuous gas and continuous oil) using Regime Capturing strategy.

  • FourFields - ‘Multi-field, Unit Cell (gas-oil)’:

    Two phase (gas and oil) with four fields (continuous gas, continuous oil, dispersed gas bubble, and dispersed oil droplet).

  • ThreeLayersGasOilWater - ‘Multi-field, Unit Cell (gas-oil-water), free water’:

    Three phase (gas, oil, and water) with five fields (continuous gas, continuous oil, continuous water, dispersed gas bubble, and dispersed liquid droplet). Water does not disperse in any other phase

  • ThreeLayersSevenFieldsGasOilWater - ‘Multi-field, Unit Cell (gas-oil-water), no liquid-liquid dispersion’:

    Three phase (gas, oil, and water) with seven fields (continuous gas, continuous oil, continuous water, gas in oil, gas in water, oil in gas, and water in gas. There is no dispersion of oil in water and water in oil.

  • ThreeLayersNineFieldsGasOilWater - ‘Multi-field, Unit Cell (gas-oil-water)’:

    Full three phase gas oil water model. Three continuous fields and six dispersed fields.

FiveFieldsCO2 = 'hydrodynamic_model_5_fields_co2'#
FiveFieldsSolid = 'hydrodynamic_model_5_fields_solid'#
FiveFieldsWater = 'hydrodynamic_model_5_fields_water'#
FourFields = 'hydrodynamic_model_4_fields'#
ThreeLayersGasOilWater = 'hydrodynamic_model_3_layers_gas_oil_water'#
ThreeLayersNineFieldsGasOilWater = 'hydrodynamic_model_3_layers_9_fields_gas_oil_water'#
ThreeLayersNoBubbleGasOilWater = 'hydrodynamic_model_3_layers_no_bubble_gas_oil_water'#
ThreeLayersSevenFieldsGasOilWater = 'hydrodynamic_model_3_layers_7_fields_gas_oil_water'#
ThreeLayersWaterWithCO2 = 'hydrodynamic_model_3_layers_water_with_co2'#
TwoFields = 'hydrodynamic_model_2_fields'#
class InitialConditionStrategyType(value)#

An enumeration.

Constant = 'constant'#
Restart = 'restart'#
SteadyState = 'steady_state'#
class InterpolationType(value)#

An enumeration.

Constant = 'constant'#
Linear = 'linear'#
Quadratic = 'quadratic'#
LeakLocation#

alias of OutputAttachmentLocation

class LeakModel(value)#

An enumeration.

FlowCoefficient = 'flow_coefficient'#
GasLiftValve = 'gas_lift_valve'#
Orifice = 'orifice'#
class LeakType(value)#

An enumeration.

External = 'external'#
Internal = 'internal'#
class MassInflowSplitType(value)#

PvtUserGorWc is currently only used for GenKey

ConstantMassFraction = 'mass_inflow_split_type_constant_mass_fraction'#
ConstantVolumeFraction = 'mass_inflow_split_type_constant_volume_fraction'#
Pvt = 'mass_inflow_split_type_pvt'#
PvtUserGlrWc = 'mass_inflow_split_type_pvt_user_glr_wc'#
PvtUserGorWc = 'mass_inflow_split_type_pvt_user_gor_wc'#
class MassSourceType(value)#

An enumeration.

AllVolumetricFlowRates = 'mass_source_type_all_volumetric_flow_rates'#
FlowRateGasGorWc = 'mass_source_type_flow_rate_gas_gor_wc'#
FlowRateOilGorWc = 'mass_source_type_flow_rate_oil_gor_wc'#
FlowRateWaterGorWc = 'mass_source_type_flow_rate_water_gor_wc'#
MassFlowRates = 'mass_source_type_mass_flow_rates'#
TotalMassFlowRatePvtSplit = 'mass_source_type_total_mass_flow_rate_pvt_split'#
class MaterialType(value)#

An enumeration.

Fluid = 'fluid'#
Solid = 'solid'#
class MultiInputType(value)#

An enumeration.

Constant = 'constant'#
Curve = 'curve'#
class NodeCellType(value)#

An enumeration.

Controller = 'controller_node'#
Internal = 'internal_node'#
MassSource = 'mass_source_boundary'#
Pressure = 'pressure_boundary'#
Separator = 'separator_node'#
class NonlinearSolverType(value)#

An enumeration.

AlfasimQuasiNewton = 'nonlinear_solver_alfasim_quasi_newton'#
NewtonBacktracking = 'nonlinear_solver_newton_backtracking'#
NewtonBasic = 'nonlinear_solver_newton_basic'#
class OutputAttachmentLocation(value)#

Output Attachment Location will tell the location in which this attachment’s data should be retrieved from.

Annulus = 'annulus'#
Main = 'main'#
NotDefined = 'not_defined'#
class PVTCompositionalViscosityModel(value)#

An enumeration.

CorrespondingStatesPrinciple = 'corresponding_states_principle'#
LohrenzBrayClark = 'lohrenz_bray_clark'#
class PigRoutingMode(value)#

Trapping mode of a PIG equipment.

Automatic = 'automatic'#

When a PIG encounters an internal node, the next pipe in which the PIG goes to is selected based on the pipe with greatest total mass flow rate at that point.

UserDefined = 'user_defined'#

When a PIG encounters an internal node, the next pipe in which the PIG goes to is selected based on a user-defined trajectory (edge group).

class PigTrappingMode(value)#

Trapping mode of a PIG equipment.

Automatic = 'automatic'#

The PIG is automatically trapped whenever it reaches a boundary node (e.g., pressure or mass boundary).

UserDefined = 'user_defined'#

The PIG is trapped according to user-defined pipe and position unless it reaches a boundary node first.

class PipeEnvironmentHeatTransferCoefficientModelType(value)#

An enumeration.

Overall = 'overall_heat_transfer_coefficient_model'#
WallsAndAir = 'walls_and_air_heat_transfer_coefficient_model'#
WallsAndEnvironment = 'walls_and_environment_heat_transfer_coefficient'#
WallsAndWater = 'walls_and_water_heat_transfer_coefficient_model'#
WallsWithoutEnvironment = 'walls_without_environment_heat_transfer_coefficient'#
class PipeThermalModelType(value)#

An enumeration.

AdiabaticWalls = 'adiabatic_walls'#
SteadyState = 'steady_state_heat_transfer'#
Transient = 'transient_heat_transfer'#
class PipeThermalPositionInput(value)#

An enumeration.

Md = 'position_by_md'#
Tvd = 'position_by_tvd'#
class PumpThermalEfficiencyModel(value)#
Defines the pump thermal efficiency model
  • Constant: An user-defined constant value is used to define to transform the ESP mechanical energy to heat.

  • PumpEfficiencyCurve: The ESP efficiency curve is used to transform the ESP mechanical energy to heat.

Constant = 'constant'#
PumpEfficiencyCurve = 'efficiency_curve_based'#
class PumpType(value)#

An enumeration.

ConstantPressure = 'constant_pressure'#
ElectricSubmersiblePump = 'electric_submersible_pump'#
TableInterpolation = 'table_interpolation'#
class PumpViscosityModel(value)#
Defines a viscosity model correction to ESP
  • NoModel: Viscosity model correction is disabled.

  • AnsiHi2010: Applies the ANSI-HI(2010) viscosity correction.

AnsiHi2010 = 'ansihi_2010'#
NoModel = 'no_model'#
class SeparatorGeometryType(value)#

An enumeration.

HorizontalCylinder = 'horizontal_cylinder'#
Sphere = 'sphere'#
VerticalCylinder = 'vertical_cylinder'#
class SimulationModeType(value)#

An enumeration.

Default = 'default'#
Robust = 'robust'#
class SimulationRegimeType(value)#

An enumeration.

SteadyState = 'simulation_regime_steady_state'#
Transient = 'simulation_regime_transient'#
class SolidsModelType(value)#

Informs which solid model should be used:

  • NoModel - None:RR

    Without slip velocity and slurry viscosity

  • Mills1985Equilibrium - Mills (1985):

    Employs the equilibrium slip velocity model and the Mills (1985) effective dynamic viscosity expression.

  • Santamaria2010Equilibrium - Santamaría-Holek (2010):

    This model is more appropriate to use when the solid phase has properties similar to or equal to hydrate. It was fitted by Qin et al. (2018) for hydrates.

  • Thomas1965Equilibrium - Thomas (1965):

    Employs the equilibrium slip velocity model and the Thomas (1965) effective dynamic viscosity expression.

  • FromPlugin:

    Slip velocity and slurry viscosity are calculated from plugin hooks with an external implementation.

FromPlugin = 'from_plugin'#
Mills1985Equilibrium = 'mills1985_equilibrium'#
NoModel = 'no_model'#
Santamaria2010Equilibrium = 'santamaria2010_equilibrium'#
Thomas1965Equilibrium = 'thomas1965_equilibrium'#
class SurfaceTensionType(value)#

An enumeration.

Leechien = 'LeeChien'#
Schechterguo = 'SchechterGuo'#
Weinaugkatz = 'WeinaugKatz'#
class SurgeVolumeTimeMode(value)#

Time mode used by Surge Volume curves calculation.

AllSimulation = 'all_simulation'#

Uses the initial and final time of the whole simulation.

UserDefined = 'user_defined'#

Uses custom initial/final time input by the user.

class TableInputType(value)#

Indicates the semantics of a position field

vertical_position: Interpolation will be calculated in relation to the y-axis horizontal_position: Interpolation will be calculated in relation to the x-axis length: Interpolation will be calculated in relation to the pipeline trajectory

horizontal_position = 'horizontal_position'#
length = 'length'#
vertical_position = 'vertical_position'#
class TracerModelType(value)#

An enumeration.

Compositional = 'tracer_model_compositional'#
Global = 'tracer_model_global'#
class ValveOpeningType(value)#

An enumeration.

ConstantOpening = 'constant_opening'#
TableInterpolation = 'table_interpolation'#
class ValveType(value)#

An enumeration.

CheckValve = 'check_valve'#
ChokeValveWithFlowCoefficient = 'choke_valve_with_flow_coefficient'#
PerkinsValve = 'perkins_valve'#
class WellConnectionPort(value)#

Available ports for connecting to a Well node.

LeftAnnulus = 'left_annulus_port'#
RightAnnulus = 'right_annulus_port'#
Top = 'port'#
class WellIndexPhaseType(value)#

An enumeration.

Gas = 'well_index_phase_gas'#
Liquid = 'well_index_phase_liquid'#
Oil = 'well_index_phase_oil'#
Water = 'well_index_phase_water'#
EXTRAS_REQUIRED_VERSION_KEY = 'required-alfasim-sdk'#

The dict key which identifies the required version of alfasim-sdk for a given plugin

GAS_LAYER = 'gas'#

Constant to identify the gas layer

GAS_PHASE = 'gas'#

Constant to identify the gas phase

OIL_LAYER = 'oil'#

Constant to identify the oil layer

OIL_PHASE = 'oil'#

Constant to identify the oil phase

WATER_LAYER = 'water'#

Constant to identify the water layer

WATER_PHASE = 'water'#

Constant to identify the water phase