Full API Reference#
This page is a detailed reference guide to ALFAsim-SDK API. It includes a catalog of all supported CaseDescription and ALFAcase capabilities.
Case#
- class CaseDescription#
Definitions
class CaseDescription name:
Optional
[str] = None alfasim_version_info:Optional
[AlfasimVersionInfo
] = None comment:Optional
[str] = None physics:PhysicsDescription
= PhysicsDescription() time_options:TimeOptionsDescription
= TimeOptionsDescription() numerical_options:NumericalOptionsDescription
= NumericalOptionsDescription() plugins:List
[PluginDescription
] = [] ipr_models:IPRModelsDescription
= IPRModelsDescription() pvt_models:PvtModelsDescription
= PvtModelsDescription() tracers:TracersDescription
= TracersDescription() outputs:CaseOutputDescription
= CaseOutputDescription() pipes:List
[PipeDescription
] = [] nodes:List
[NodeDescription
] = [] wells:List
[WellDescription
] = [] materials:List
[MaterialDescription
] = [] walls:List
[WallDescription
] = []name: string # optional alfasim_version_info:
alfasim_version_info_schema
# optional comment: string # optional physics:physics_description_schema
# optional time_options:time_options_description_schema
# optional numerical_options:numerical_options_description_schema
# optional plugins: # optional -plugin_description_schema
ipr_models:ipr_models_description_schema
# optional pvt_models:pvt_models_description_schema
# optional tracers:tracers_description_schema
# optional outputs:case_output_description_schema
# optional pipes: # optional -pipe_description_schema
nodes: # optional -node_description_schema
wells: # optional -well_description_schema
materials: # optional -material_description_schema
walls: # optional -wall_description_schema
- class AlfasimVersionInfo#
Information about the ALFAsim release used to generate the alfacase file.
Used for informational purposes only.
Definitions
class AlfasimVersionInfo platform: str version: str revision: str date: str
platform: string version: string revision: string date: string
Options#
- class PhysicsDescription#
Definitions
class PhysicsDescription hydrodynamic_model:
HydrodynamicModelType
= HydrodynamicModelType.FourFields simulation_regime:SimulationRegimeType
= SimulationRegimeType.Transient energy_model:EnergyModel
= EnergyModel.NoModel solids_model:SolidsModelType
= SolidsModelType.NoModel solids_model_plugin_id: str = '' initial_condition_strategy:InitialConditionStrategyType
= InitialConditionStrategyType.Constant restart_filepath:Optional
[Path] = None keep_former_results: bool = False emulsion_model_enabled: bool = True emulsion_relative_viscosity_model:EmulsionRelativeViscosityModelType
= EmulsionRelativeViscosityModelType.ModelDefault emulsion_pal_rhodes_phi_rel_100:Scalar
= Scalar(0.765, '-', 'dimensionless') emulsion_woelflin_a:Scalar
= Scalar(4.2, '-', 'dimensionless') emulsion_woelflin_b:Scalar
= Scalar(2.5, '-', 'dimensionless') emulsion_table_based_rel_visc_curve:Curve
= Curve(-, m3/m3)[(1.0, 0.0)] emulsion_relative_viscosity_tuning_factor:Curve
= Curve(-, m3/m3)[(1.0, 0.0)] emulsion_droplet_size_model:EmulsionDropletSizeModelType
= EmulsionDropletSizeModelType.ModelDefault emulsion_inversion_point_model:EmulsionInversionPointModelType
= EmulsionInversionPointModelType.ModelDefault emulsion_inversion_water_cut:Scalar
= Scalar(0.4, 'm3/m3', 'volume per volume') flash_model:FlashModel
= FlashModel.HydrocarbonAndWater correlations_package:CorrelationPackageType
= CorrelationPackageType.Classical fluid_material_convection_correlation:FluidMaterialConvectionCorrelation
= FluidMaterialConvectionCorrelation.HasanKabir1994hydrodynamic_model:
HydrodynamicModelType
# optional simulation_regime:SimulationRegimeType
# optional energy_model:EnergyModel
# optional solids_model:SolidsModelType
# optional solids_model_plugin_id: string # optional initial_condition_strategy:InitialConditionStrategyType
# optional restart_filepath: string # optional keep_former_results: boolean # optional emulsion_model_enabled: boolean # optional emulsion_relative_viscosity_model:EmulsionRelativeViscosityModelType
# optional emulsion_pal_rhodes_phi_rel_100: # optional value: number unit: string emulsion_woelflin_a: # optional value: number unit: string emulsion_woelflin_b: # optional value: number unit: string emulsion_table_based_rel_visc_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string emulsion_relative_viscosity_tuning_factor: # optional image: values: [number] unit: string domain: values: [number] unit: string emulsion_droplet_size_model:EmulsionDropletSizeModelType
# optional emulsion_inversion_point_model:EmulsionInversionPointModelType
# optional emulsion_inversion_water_cut: # optional value: number unit: string flash_model:FlashModel
# optional correlations_package:CorrelationPackageType
# optional fluid_material_convection_correlation:FluidMaterialConvectionCorrelation
# optional
- class TimeOptionsDescription#
Definitions
class TimeOptionsDescription stop_on_steady_state: bool = False automatic_restart_autosave_frequency: bool = True initial_time:
Scalar
= Scalar(0.0, 's', 'time') final_time:Scalar
= Scalar(10.0, 's', 'time') initial_timestep:Scalar
= Scalar(0.0001, 's', 'time') minimum_timestep:Scalar
= Scalar(1e-12, 's', 'time') maximum_timestep:Scalar
= Scalar(0.1, 's', 'time') restart_autosave_frequency:Scalar
= Scalar(1.0, 'h', 'time') minimum_time_for_steady_state_stop:Scalar
= Scalar(0.0, 's', 'time')stop_on_steady_state: boolean # optional automatic_restart_autosave_frequency: boolean # optional initial_time: # optional value: number unit: string final_time: # optional value: number unit: string initial_timestep: # optional value: number unit: string minimum_timestep: # optional value: number unit: string maximum_timestep: # optional value: number unit: string restart_autosave_frequency: # optional value: number unit: string minimum_time_for_steady_state_stop: # optional value: number unit: string
Available units for category ‘time’
- “d”:
day
- “h”:
hour
- “min”:
minutes
- “s”:
second
- class NumericalOptionsDescription#
Definitions
class NumericalOptionsDescription nonlinear_solver_type:
NonlinearSolverType
= NonlinearSolverType.AlfasimQuasiNewton tolerance: float = 0.0001 maximum_iterations: int = 5 maximum_timestep_change_factor: float = 2 maximum_cfl_value: float = 1.0 relaxed_tolerance: float = 0.0 divergence_tolerance: float = -1.0 friction_factor_evaluation_strategy:EvaluationStrategyType
= EvaluationStrategyType.TimeExplicit simulation_mode:SimulationModeType
= SimulationModeType.Default enable_solver_caching: bool = True caching_rtol: float = 0.01 caching_atol: float = 0.0001 always_repeat_timestep: bool = False enable_fast_compositional: bool = Truenonlinear_solver_type:
NonlinearSolverType
# optional tolerance: number # optional maximum_iterations: number # optional maximum_timestep_change_factor: number # optional maximum_cfl_value: number # optional relaxed_tolerance: number # optional divergence_tolerance: number # optional friction_factor_evaluation_strategy:EvaluationStrategyType
# optional simulation_mode:SimulationModeType
# optional enable_solver_caching: boolean # optional caching_rtol: number # optional caching_atol: number # optional always_repeat_timestep: boolean # optional enable_fast_compositional: boolean # optional
Outputs#
- class CaseOutputDescription#
Definitions
class CaseOutputDescription automatic_trend_frequency: bool = True trends:
TrendsOutputDescription
= TrendsOutputDescription() trend_frequency:Scalar
= Scalar(0.1, 's', 'time') automatic_profile_frequency: bool = True profiles:List
[ProfileOutputDescription
] = [] profile_frequency:Scalar
= Scalar(0.1, 's', 'time')automatic_trend_frequency: boolean # optional trends:
trends_output_description_schema
# optional trend_frequency: # optional value: number unit: string automatic_profile_frequency: boolean # optional profiles: # optional -profile_output_description_schema
profile_frequency: # optional value: number unit: stringAvailable units for category ‘time’
- “d”:
day
- “h”:
hour
- “min”:
minutes
- “s”:
second
- class ProfileOutputDescription#
Definitions
class ProfileOutputDescription curve_names:
List
[str] location:OutputAttachmentLocation
element_name: strcurve_names: - str location:
OutputAttachmentLocation
element_name: string
- class TrendsOutputDescription#
Definitions
class TrendsOutputDescription positional_pipe_trends:
List
[PositionalPipeTrendDescription
] = [] overall_pipe_trends:List
[OverallPipeTrendDescription
] = [] global_trends:List
[GlobalTrendDescription
] = [] equipment_trends:List
[EquipmentTrendDescription
] = [] separator_trends:List
[SeparatorTrendDescription
] = [] controller_trends:List
[ControllerTrendDescription
] = []positional_pipe_trends: # optional -
positional_pipe_trend_description_schema
overall_pipe_trends: # optional -overall_pipe_trend_description_schema
global_trends: # optional -global_trend_description_schema
equipment_trends: # optional -equipment_trend_description_schema
separator_trends: # optional -separator_trend_description_schema
controller_trends: # optional -controller_trend_description_schema
- class SurgeVolumeOptionsDescription#
Definitions
class SurgeVolumeOptionsDescription time_mode:
SurgeVolumeTimeMode
= SurgeVolumeTimeMode.AllSimulation drainage_mode:DrainageRateMode
= DrainageRateMode.Automatic start_time:Optional
[Scalar] = None end_time:Optional
[Scalar] = None maximum_drainage_rate:Optional
[Scalar] = Nonetime_mode:
SurgeVolumeTimeMode
# optional drainage_mode:DrainageRateMode
# optional start_time: # optional value: number unit: string end_time: # optional value: number unit: string maximum_drainage_rate: # optional value: number unit: stringAvailable units for category ‘time’
- “d”:
day
- “h”:
hour
- “min”:
minutes
- “s”:
second
Available units for category ‘volume flow rate’
- “bbl/d”:
barrel/day
- “bbl/hr”:
barrel/hour
- “bbl/min”:
barrel per minute
- “bbl/s”:
barrel/second
- “cm3/30min”:
cubic centimeter per thirty minutes
- “cm3/h”:
cubic centimeter per hour
- “cm3/min”:
cubic centimeter per minute
- “cm3/s”:
cubic centimeter per second
- “dm3/s”:
cubic decimetres/second
- “ft3/d”:
cubic feet/day
- “ft3/h”:
cubic feet/hour
- “ft3/min”:
cubic feet/minute
- “ft3/s”:
cubic feet/second
- “galUK/d”:
UK gallons per day
- “galUK/hr”:
UK gallons/hour
- “galUK/min”:
UK gallons/minute
- “galUS/d”:
US gallons per day
- “galUS/hr”:
US gallons/hour
- “galUS/min”:
US gallons/minute
- “kbbl/d”:
thousand barrels per day
- “L/h”:
liter per hour
- “L/min”:
liter per minute
- “L/s”:
litres/second
- “m3/d”:
cubic metres/day
- “m3/h”:
cubic metres/hour
- “m3/min”:
cubic meter per minute
- “m3/s”:
cubic metres/second
- “Mbbl/d”:
thousand barrels/day
- “Mcf/d”:
thousand cubic feet per day
- “Mm3/d”:
thousand cubic metres per day
- “Mm3/h”:
thousand cubic metres per hour
- “MMcf/d”:
million cubic feet per day
- “MMm3/d”:
million cubic metres per day
- “um3/s”:
cubic micrometres/second
- class PositionalPipeTrendDescription#
Definitions
class PositionalPipeTrendDescription name:
Optional
[str] = None curve_names:List
[str] location:OutputAttachmentLocation
position:Scalar
element_name: str surge_volume_options:SurgeVolumeOptionsDescription
= SurgeVolumeOptionsDescription()name: string # optional curve_names: - str location:
OutputAttachmentLocation
position: value: number unit: string element_name: string surge_volume_options:surge_volume_options_description_schema
# optionalAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class EquipmentTrendDescription#
Definitions
class EquipmentTrendDescription name:
Optional
[str] = None curve_names:List
[str] element_name: strname: string # optional curve_names: - str element_name: string
- class SeparatorTrendDescription#
Definitions
class SeparatorTrendDescription name:
Optional
[str] = None curve_names:List
[str] element_name: strname: string # optional curve_names: - str element_name: string
- class GlobalTrendDescription#
Definitions
class GlobalTrendDescription name:
Optional
[str] = None curve_names:List
[str]name: string # optional curve_names: - str
- class OverallPipeTrendDescription#
Definitions
class OverallPipeTrendDescription name:
Optional
[str] = None curve_names:List
[str] location:OutputAttachmentLocation
element_name: strname: string # optional curve_names: - str location:
OutputAttachmentLocation
element_name: string
PVTs#
- class PvtModelsDescription#
Holds a PVT which is used by the simulator to obtain fluid characteristics, such as density and viscosity, given a certain pressure and temperature.
This class is a holder for the different ways the user can enter PVT information in the application.
- Variables:
correlations – Standard black-oil correlations found in the literature. The user can tune the parameters used by the correlations.
compositions – Molar fluid compositions with molecular weights and densities for each component. It be light components and/or heavy fractions to be lumped into pseudo-components.
tables –
Load a complete PVT table obtained (usually) from lab results and generated by various software. Currently the user can import the table directly from a .tab file or a .alfatable file.
The table parameter must be filled with a dictionary where the keys informs the name of the PVT and the values informs Path to a file with the Pvt model.
The value which holds the Path can be either relative or absolute.
The name of the pvt model from the Path can contains a ‘pipe’ character in order to select one of the multiples PVT tables in the same .tab file.
Example
Absolute Path, using MyPvtModel
>>> Path("/home/user/my_file.tab|MyPvtModel")
Relative Path, using MyPvtModel
>>> Path("./my_file.tab|MyPvtModel")
pt_table_parameters –
INTERNAL USE ONLY
This attribute is populated when exporting a Study to a CaseDescription, and it holds a model representation of a PVT originated from a (.tab / .alfatable) file.
Their usage is directly related to the export of a CaseDescription to a .alfacase/.alfatable file, where the original PVT file cannot be guaranteed to exist therefore the only reproducible way to recreate the PVT is trough the PvtModelPtTableParametersDescription.
ph_table_parameters –
INTERNAL USE ONLY
This attribute is populated when exporting a Study to a CaseDescription, and it holds a model representation of a PVT originating from a (.tab / .alfatable) file. Also, it holds values from a Pressure-Enthalpy PVT table, in which temperature is one of the output/state variables.
Their usage is directly related to the export of a CaseDescription to a .alfacase/.alfatable file, where the original PVT file cannot be guaranteed to exist therefore the only reproducible way to recreate the PVT is trough the PvtModelPhTableParametersDescription.
Definitions
class PvtModelsDescription default_model:
Optional
[str] = None tables:Dict
[str, Union[str, pathlib.Path]] = {} correlations:Dict
[str,PvtModelCorrelationDescription
] = {} compositional:Dict
[str,PvtModelCompositionalDescription
] = {} combined:Dict
[str,PvtModelCombinedDescription
] = {} constant_properties:Dict
[str,PvtModelConstantPropertiesDescription
] = {}default_model: string # optional tables: # optional string: string | Path correlations: # optional string:
pvt_model_correlation_description_schema
compositional: # optional string:pvt_model_compositional_description_schema
combined: # optional string:pvt_model_combined_description_schema
constant_properties: # optional string:pvt_model_constant_properties_description_schema
Examples
PvtModelsDescription( default_model="PVT1", tables={"PVT1": Path("./my_tab_file.tab")}, )
pvt_models: default_model: PVT1 tables: PVT1: ./my_tab_file.tab
- class PvtModelCorrelationDescription#
- Variables:
oil_density_std – default: Scalar(850.0, “kg/m3”)
gas_density_std – default: Scalar(0.9, “kg/m3”)
rs_sat – default: Scalar(150.0, “sm3/sm3”)
pvt_correlation_package – default: CorrelationPackage.Standing
h2s_mol_frac – default: Scalar(0.000001, “-“)
co2_mol_frac – default: Scalar(0.999999, “-“)
oil_viscosity – default: CorrelationsOilViscosity.Egbogah
gas_viscosity – default: CorrelationsGasViscosity.LeeGonzalezEakin
surface_tension – default: CorrelationsSurfaceTension.BakerSwerdloff
Definitions
class PvtModelCorrelationDescription oil_density_std:
Scalar
= Scalar(850.0, 'kg/m3', 'density') gas_density_std:Scalar
= Scalar(0.9, 'kg/m3', 'density') rs_sat:Scalar
= Scalar(150.0, 'sm3/sm3', 'standard volume per standard volume') pvt_correlation_package:CorrelationPackage
= CorrelationPackage.Standing h2s_mol_frac:Scalar
= Scalar(0.0, '-', 'dimensionless') co2_mol_frac:Scalar
= Scalar(0.0, '-', 'dimensionless') oil_viscosity:CorrelationsOilViscosity
= CorrelationsOilViscosity.Egbogah gas_viscosity:CorrelationsGasViscosity
= CorrelationsGasViscosity.LeeGonzalezEakin surface_tension:CorrelationsSurfaceTension
= CorrelationsSurfaceTension.BakerSwerdloffoil_density_std: # optional value: number unit: string gas_density_std: # optional value: number unit: string rs_sat: # optional value: number unit: string pvt_correlation_package:
CorrelationPackage
# optional h2s_mol_frac: # optional value: number unit: string co2_mol_frac: # optional value: number unit: string oil_viscosity:CorrelationsOilViscosity
# optional gas_viscosity:CorrelationsGasViscosity
# optional surface_tension:CorrelationsSurfaceTension
# optionalExamples
PvtModelCorrelationDescription( default_model="PVT1", )
some_value: some_other_value: fooo
Available units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘standard volume per standard volume’
- “MMscf/stb”:
million std cubic feet/stock tank barrel
- “Mscf/stb”:
thousand std cubic feet/stock tank barrel
- “scf(60F)/scf”:
std cubic feet at 60 deg Ft/std cubic foot
- “scf(60F)/stb”:
std cubic feet at 60 deg F/stock tank barrel
- “scf/stb”:
std cubic feet/stock tank barrel
- “scm(15C)/scm(15C)”:
std cubic metres, 15 deg C/std cubic metres, 15 deg C
- “scm3/scm3”:
std cubic centimetres/std cubic centimetres
- “sm3/sm3”:
std cubic metres/std cubic metres
- “stb(60F)/stb”:
stock tank barrels, 60 deg F/stock tank barrel
- “stb/MMscf”:
stock tank barrel/million std cubic feet
- “stb/scf”:
stock tank barrel/std cubic feet
- “stb/stb”:
stock tank barrels/stock tank barrels
- class PvtModelPtTableParametersDescription#
- Variables:
pressure_values – Array like of sorted pressure values (m number of entries). [Pa]
temperature_values – Array like of sorted temperature values (n number of entries). [K]
table_variables – List of array like values for each property such as densities, specific heats, enthalpies, etc.
variable_names – List of property names
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Available units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘standard volume per standard volume’
- “MMscf/stb”:
million std cubic feet/stock tank barrel
- “Mscf/stb”:
thousand std cubic feet/stock tank barrel
- “scf(60F)/scf”:
std cubic feet at 60 deg Ft/std cubic foot
- “scf(60F)/stb”:
std cubic feet at 60 deg F/stock tank barrel
- “scf/stb”:
std cubic feet/stock tank barrel
- “scm(15C)/scm(15C)”:
std cubic metres, 15 deg C/std cubic metres, 15 deg C
- “scm3/scm3”:
std cubic centimetres/std cubic centimetres
- “sm3/sm3”:
std cubic metres/std cubic metres
- “stb(60F)/stb”:
stock tank barrels, 60 deg F/stock tank barrel
- “stb/MMscf”:
stock tank barrel/million std cubic feet
- “stb/scf”:
stock tank barrel/std cubic feet
- “stb/stb”:
stock tank barrels/stock tank barrels
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class PvtModelPhTableParametersDescription#
- Variables:
pressure_values – Array like of sorted pressure values (m number of entries). [Pa]
enthalpy_values – Array like of sorted enthalpy values (n number of entries). [J/Kg]
table_variables – List of array like values for each property such as densities, specific heats, enthalpies, etc.
variable_names – List of property names
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Available units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘standard volume per standard volume’
- “MMscf/stb”:
million std cubic feet/stock tank barrel
- “Mscf/stb”:
thousand std cubic feet/stock tank barrel
- “scf(60F)/scf”:
std cubic feet at 60 deg Ft/std cubic foot
- “scf(60F)/stb”:
std cubic feet at 60 deg F/stock tank barrel
- “scf/stb”:
std cubic feet/stock tank barrel
- “scm(15C)/scm(15C)”:
std cubic metres, 15 deg C/std cubic metres, 15 deg C
- “scm3/scm3”:
std cubic centimetres/std cubic centimetres
- “sm3/sm3”:
std cubic metres/std cubic metres
- “stb(60F)/stb”:
stock tank barrels, 60 deg F/stock tank barrel
- “stb/MMscf”:
stock tank barrel/million std cubic feet
- “stb/scf”:
stock tank barrel/std cubic feet
- “stb/stb”:
stock tank barrels/stock tank barrels
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class PvtModelConstantPropertiesDescription#
- Variables:
gas_density – default: Scalar(1.0, “kg/m3”)
oil_density – default: Scalar(1000.0, “kg/m3”)
water_density – default: Scalar(1000.0, “kg/m3”)
gas_viscosity – default: Scalar(5e-6, “Pa.s”)
oil_viscosity – default: Scalar(5e-2, “Pa.s”)
water_viscosity – default: Scalar(5e-2, “Pa.s”)
gas_specific_heat – default: Scalar(1010.0, “J/kg.K”)
oil_specific_heat – default: Scalar(4181.3, “J/kg.K”)
water_specific_heat – default: Scalar(4181.3, “J/kg.K”)
gas_thermal_conductivity – default: Scalar(2.4e-2, “W/m.K”)
oil_thermal_conductivity – default: Scalar(5.91e-1, “W/m.K”)
water_thermal_conductivity – default: Scalar(5.91e-1, “W/m.K”)
gas_oil_surface_tension – default: Scalar(7.197e-2, “N/m”)
gas_water_surface_tension – default: Scalar(7.197e-2, “N/m”)
oil_water_surface_tension – default: Scalar(7.197e-2, “N/m”)
gas_specific_enthalpy – default: Scalar(2.260e6, “J/kg”)
oil_specific_enthalpy – default: Scalar(104.86e3, “J/kg”)
Definitions
class PvtModelConstantPropertiesDescription gas_density:
Scalar
= Scalar(1.0, 'kg/m3', 'density') oil_density:Scalar
= Scalar(1000.0, 'kg/m3', 'density') water_density:Scalar
= Scalar(1000.0, 'kg/m3', 'density') gas_viscosity:Scalar
= Scalar(5e-06, 'Pa.s', 'mass per time per length') oil_viscosity:Scalar
= Scalar(0.05, 'Pa.s', 'mass per time per length') water_viscosity:Scalar
= Scalar(0.05, 'Pa.s', 'mass per time per length') gas_specific_heat:Scalar
= Scalar(1010.0, 'J/kg.K', 'specific heat capacity') oil_specific_heat:Scalar
= Scalar(4181.3, 'J/kg.K', 'specific heat capacity') water_specific_heat:Scalar
= Scalar(4181.3, 'J/kg.K', 'specific heat capacity') gas_thermal_conductivity:Scalar
= Scalar(0.024, 'W/m.K', 'thermal conductivity') oil_thermal_conductivity:Scalar
= Scalar(0.591, 'W/m.K', 'thermal conductivity') water_thermal_conductivity:Scalar
= Scalar(0.591, 'W/m.K', 'thermal conductivity') gas_oil_surface_tension:Scalar
= Scalar(0.07197, 'N/m', 'force per length') gas_water_surface_tension:Scalar
= Scalar(0.07197, 'N/m', 'force per length') oil_water_surface_tension:Scalar
= Scalar(0.07197, 'N/m', 'force per length') gas_specific_enthalpy:Scalar
= Scalar(2260000.0, 'J/kg', 'specific energy') oil_specific_enthalpy:Scalar
= Scalar(104860.0, 'J/kg', 'specific energy') has_water: bool = Falsegas_density: # optional value: number unit: string oil_density: # optional value: number unit: string water_density: # optional value: number unit: string gas_viscosity: # optional value: number unit: string oil_viscosity: # optional value: number unit: string water_viscosity: # optional value: number unit: string gas_specific_heat: # optional value: number unit: string oil_specific_heat: # optional value: number unit: string water_specific_heat: # optional value: number unit: string gas_thermal_conductivity: # optional value: number unit: string oil_thermal_conductivity: # optional value: number unit: string water_thermal_conductivity: # optional value: number unit: string gas_oil_surface_tension: # optional value: number unit: string gas_water_surface_tension: # optional value: number unit: string oil_water_surface_tension: # optional value: number unit: string gas_specific_enthalpy: # optional value: number unit: string oil_specific_enthalpy: # optional value: number unit: string has_water: boolean # optional
Available units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘dynamic viscosity’
- “cP”:
centipoise
- “dyne.s/cm2”:
dyne seconds/square centimetre
- “kgf.s/m2”:
kilograms force seconds/square metre
- “kPa.d”:
kilopascal day
- “kPa.s”:
kilopascal second
- “lbf.s/ft2”:
pounds force seconds/square foot
- “lbf.s/in2”:
pounds force seconds/square inch
- “MPa.s”:
megapascal seconds
- “mPa.s”:
millipascal seconds
- “N.s/m2”:
newton seconds/metre squared
- “P”:
poise
- “Pa.s”:
pascal seconds
- “psi.s”:
pound per square inch second
Available units for category ‘specific heat capacity’
- “Btu/lbm.degF”:
British thermal units/pound mass deg F
- “Btu/lbm.degR”:
British thermal units/pound mass deg R
- “cal/g.K”:
calories/gram degree Kelvin
- “J/g.K”:
joules/gram degree Kelvin
- “J/kg.degC”:
joules/kilogram degrees Celsius
- “J/kg.K”:
joules/kilogram degree kelvin
- “kcal/kg.degC”:
kilocalories/kilogram degree Celsius
- “kJ/kg.K”:
kilojoules/kilogram degree Kelvin
- “kW.h/kg.degC”:
kilowatt hours/kilogram degree C
Available units for category ‘thermal conductivity’
- “Btu/d.ft.degF”:
British thermal units/day foot deg F
- “Btu/hr.ft.degF”:
British thermal units/hour foot deg F
- “cal/h.cm.degC”:
calories/hour centimetre degree Celsius
- “cal/m.h.degC”:
calories/metre hour degree Celsius
- “cal/s.cm.degC”:
calories/second centimetre deg C
- “kcal/h.m.degC”:
kilocalories/hour metre degree Celsius
- “kJ/d.m.K”:
kilojoules/day metre kelvin
- “W/m.degC”:
watts/meter degrees Celsius
- “W/m.K”:
watts/metre kelvin
Available units for category ‘force per length’
- “dyne/cm”:
dynes/centimetre
- “kgf/cm”:
kilograms force/centimetre
- “kgf/m”:
kilogram force per meter
- “kN/m”:
kilonewtons/metre
- “lbf/100ft”:
pounds force per hundred foot
- “lbf/30m”:
pounds force per thirty meters
- “lbf/ft”:
pounds force per foot
- “lbf/in”:
pounds force/inch
- “mN/km”:
millinewtons/kilometre
- “mN/m”:
millinewtons/metre
- “N/30m”:
newton per thirty meters
- “N/m”:
newtons/metre
- “pdl/cm”:
poundals/centimetre
- “tonfUK/ft”:
UK tons force/foot
- “tonfUS/ft”:
US tons force/foot
Available units for category ‘specific energy’
- “Btu/lbm”:
British thermal units/pound mass
- “cal/g”:
calories/gram
- “cal/kg”:
calories/kilogram
- “cal/lbm”:
calories/pound mass
- “erg/g”:
ergs/gram
- “erg/kg”:
ergs/kilogram
- “ft.lbf/lbm”:
foot pounds force/pound mass
- “hp.hr/lbm”:
horsepower hours/pound mass
- “J/g”:
joules/gram
- “J/kg”:
joules/kilogram
- “kcal/g”:
kilocalories/gram
- “kcal/kg”:
kilocalories/kilogram
- “kJ/kg”:
kilojoule/kilogram
- “kW.h/kg”:
kilowatt hours/kilogram
- “kW.h/t”:
kilowatt hours/tonne
- “kW.h/tonUK”:
kilowatt hours/U.S. ton
- “kW.h/tonUS”:
kilowatt hours/U.S. ton
- “lbf.ft/lbm”:
foot pounds force/pound mass
- “MJ/kg”:
megajoules/kilogram
- “MW.h/kg”:
megawatt hours/kilogram
- “therm/lbm”:
therms/pound mass
PVT Combined#
- class PvtModelCombinedDescription#
- Variables:
reference_pvt_model – PVT model that will be used to calculate reference values such as properties at standard conditions.
fluids – default: {}
Definitions
class PvtModelCombinedDescription reference_pvt_model:
Optional
[str] = None fluids:Dict
[str,CombinedFluidDescription
] = {}reference_pvt_model: string # optional fluids: # optional string:
combined_fluid_description_schema
- class CombinedFluidDescription#
Definitions
class CombinedFluidDescription pvt_model:
Optional
[str] = Nonepvt_model: string # optional
PVT Compositional#
- class PvtModelCompositionalDescription#
- Variables:
equation_of_state_type – default: EquationOfStateType.PengRobinson
surface_tension_model_type – default: SurfaceTensionType.Weinaugkatz
viscosity_model – default: PVTCompositionalViscosityModel.CorrespondingStatesPrinciple
heavy_components – default: []
light_components – default: []
fluids – default: {}
Definitions
class PvtModelCompositionalDescription equation_of_state_type:
EquationOfStateType
= EquationOfStateType.PengRobinson surface_tension_model_type:SurfaceTensionType
= SurfaceTensionType.Weinaugkatz viscosity_model:PVTCompositionalViscosityModel
= PVTCompositionalViscosityModel.CorrespondingStatesPrinciple heavy_components:List
[HeavyComponentDescription
] = [] light_components:List
[LightComponentDescription
] = [] fluids:Dict
[str,CompositionalFluidDescription
] = {}equation_of_state_type:
EquationOfStateType
# optional surface_tension_model_type:SurfaceTensionType
# optional viscosity_model:PVTCompositionalViscosityModel
# optional heavy_components: # optional -heavy_component_description_schema
light_components: # optional -light_component_description_schema
fluids: # optional string:compositional_fluid_description_schema
- class HeavyComponentDescription#
Definitions
class HeavyComponentDescription name: str scn: int MW:
Scalar
= Scalar(0.0, 'kg/mol', 'mass per mol') rho:Scalar
= Scalar(0.0, 'kg/m3', 'density')name: string scn: number MW: # optional value: number unit: string rho: # optional value: number unit: string
Available units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘mass per mol’
- “g/mol”:
g/mol
- “kg/mol”:
kg/mol
- “lb/lbmol”:
lb/lbmol
- class LightComponentDescription#
Definitions
class LightComponentDescription name: str Pc:
Scalar
= Scalar(0.0, 'Pa', 'pressure') Tc:Scalar
= Scalar(0.0, 'K', 'temperature') Vc:Scalar
= Scalar(0.0, 'm3/mol', 'molar volume') omega:Scalar
= Scalar(0.0, '-', 'dimensionless') MW:Scalar
= Scalar(0.0, 'kg/mol', 'mass per mol') Tb:Scalar
= Scalar(0.0, 'K', 'temperature') Parachor:Scalar
= Scalar(0.0, '-', 'dimensionless') Cp_0:Scalar
= Scalar(0.0, '-', 'dimensionless') Cp_1:Scalar
= Scalar(0.0, '-', 'dimensionless') Cp_2:Scalar
= Scalar(0.0, '-', 'dimensionless') Cp_3:Scalar
= Scalar(0.0, '-', 'dimensionless') Cp_4:Scalar
= Scalar(0.0, '-', 'dimensionless')name: string Pc: # optional value: number unit: string Tc: # optional value: number unit: string Vc: # optional value: number unit: string omega: # optional value: number unit: string MW: # optional value: number unit: string Tb: # optional value: number unit: string Parachor: # optional value: number unit: string Cp_0: # optional value: number unit: string Cp_1: # optional value: number unit: string Cp_2: # optional value: number unit: string Cp_3: # optional value: number unit: string Cp_4: # optional value: number unit: string
Available units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘mass per mol’
- “g/mol”:
g/mol
- “kg/mol”:
kg/mol
- “lb/lbmol”:
lb/lbmol
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Available units for category ‘molar volume’
- “dm3/kmol”:
cubic decimetres/kilogram mole
- “dm3/mol(kg)”:
cubic decimetres/kilogram mole
- “ft3/lbmol”:
cubic feet/mole (pound mass)
- “ft3/mol(lbm)”:
cubic feet/mole (pound mass)
- “L/kmol”:
litres/mole (kilogram)
- “L/mol”:
litres/mole (gram)
- “L/mol(g)”:
litres/mole (gram)
- “L/mol(kg)”:
litres/mole (kilogram)
- “m3/kmol”:
cubic metres/mole (kilogram)
- “m3/mol”:
cubic metres/mole
- “m3/mol(kg)”:
cubic metres/mole (kilogram)
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class CompositionalFluidDescription#
Definitions
class CompositionalFluidDescription composition:
List
[CompositionDescription
] = [] fraction_pairs:List
[BipDescription
] = []composition: # optional -
composition_description_schema
fraction_pairs: # optional -bip_description_schema
- class CompositionDescription#
- Variables:
component –
- Name of the component available created on:
PvtModelCompositionalDescription.light_components PvtModelCompositionalDescription.heavy_components
Note
CompositionDescription can only refer to components created from the same PvtModelCompositionalDescription
Definitions
class CompositionDescription component: str molar_fraction:
Scalar
= Scalar(0.0, 'mol/mol', 'mole per mole') reference_enthalpy:Scalar
= Scalar(0.0, 'J/mol', 'molar thermodynamic energy')component: string molar_fraction: # optional value: number unit: string reference_enthalpy: # optional value: number unit: string
Available units for category ‘mole per mole’
- “kmol/kmol”:
kilogram moles/kilogram moles
- “lbmol/lbmol”:
pound mass mol/pound mass mol
- “mol/mol”:
moles/moles
Available units for category ‘molar thermodynamic energy’
- “Btu/lbmol”:
British thermal units/pound mass mol
- “Btu/mol(lbm)”:
British thermal units/pound mass mol
- “J/mol”:
joules/mole
- “kcal/mol”:
kilocalories/mole (gram)
- “kcal/mol(g)”:
kilocalories/mole (gram)
- “kJ/kmol”:
kilojoule/mole (kilogram)
- “kJ/mol”:
kilojoule/mole (kilogram)
- “kJ/mol(kg)”:
kilojoule/mole (kilogram)
- “MJ/kmol”:
megajoules/mole (kilogram)
- “MJ/mol(kg)”:
megajoules/mole (kilogram)
- class BipDescription#
Definitions
class BipDescription component_1: str component_2: str value: float
component_1: string component_2: string value: number
IPR#
- class IPRModelsDescription#
- Variables:
linear_models – A dictionary with the name of the IPR and the instance of the IPR Model.
vogel_models – A dictionary with the name of the IPR and the instance of the IPR Model.
fetkovich_models – A dictionary with the name of the IPR and the instance of the IPR Model.
forchheimer_models – A dictionary with the name of the IPR and the instance of the IPR Model.
table_models
Definitions
class IPRModelsDescription linear_models:
Dict
[str,LinearIPRDescription
] = {} vogel_models:Dict
[str,VogelIPRDescription
] = {} fetkovich_models:Dict
[str,FetkovichIPRDescription
] = {} forchheimer_models:Dict
[str,ForchheimerIPRDescription
] = {} table_models:Dict
[str,TableIPRDescription
] = {}linear_models: # optional string:
linear_ipr_description_schema
vogel_models: # optional string:vogel_ipr_description_schema
fetkovich_models: # optional string:fetkovich_ipr_description_schema
forchheimer_models: # optional string:forchheimer_ipr_description_schema
table_models: # optional string:table_ipr_description_schema
- class LinearIPRDescription#
Definitions
class LinearIPRDescription well_index_phase:
WellIndexPhaseType
= WellIndexPhaseType.Oil min_pressure_difference:Scalar
= Scalar(0.0, 'Pa', 'pressure') well_index_input_type:MultiInputType
= MultiInputType.Constant well_index:Scalar
= Scalar(24.0, 'm3/bar.d', 'productivity index') well_index_curve:Curve
= Curve(m3/bar.d, s)[]well_index_phase:
WellIndexPhaseType
# optional min_pressure_difference: # optional value: number unit: string well_index_input_type:MultiInputType
# optional well_index: # optional value: number unit: string well_index_curve: # optional image: values: [number] unit: string domain: values: [number] unit: stringAvailable units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘productivity index’
- “bbl/kPa.d”:
barrel per day per kilopascal
- “bbl/psi.d”:
barrel per day per psi
- “ft3/psi.d”:
cubic feet per day per psi
- “L/bar.min”:
litres per minute per bar
- “m3/bar.d”:
cubic meter per day per bar
- “m3/bar.h”:
cubic meter per hour per bar
- “m3/bar.min”:
cubic meter per minute per bar
- “m3/d/kgf/cm2”:
cubic meter per day per kilogram-force per square centimeter
- “m3/kPa.d”:
cubic meter per day per kilopascal
- “m3/kPa.h”:
(cubic metres per hour) per kilopascal
- “m3/Pa.s”:
cubic metres/second pascal
- “m3/psi.d”:
cubic meter per day per (pound per square inch)
- “Mcf/psi.d”:
thousand cubic feet per day per psi
- class VogelIPRDescription#
Definitions
class VogelIPRDescription well_index_phase:
WellIndexPhaseType
= WellIndexPhaseType.Oil min_pressure_difference:Scalar
= Scalar(0.0, 'Pa', 'pressure') well_max_flow_rate_input_type:MultiInputType
= MultiInputType.Constant well_max_flow_rate:Scalar
= Scalar(1.0, 'sm3/d', 'standard volume per time') well_max_flow_rate_curve:Curve
= Curve(sm3/d, s)[]well_index_phase:
WellIndexPhaseType
# optional min_pressure_difference: # optional value: number unit: string well_max_flow_rate_input_type:MultiInputType
# optional well_max_flow_rate: # optional value: number unit: string well_max_flow_rate_curve: # optional image: values: [number] unit: string domain: values: [number] unit: stringAvailable units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘standard volume per time’
- “ksm3/d”:
thousand std cubic metres/ day
- “MMscf(60F)/d”:
million standard cubic feet/day
- “MMscf/d”:
million standard cubic feet/day
- “MMscm(15C)/d”:
million std cubic metres, 15 degC/day
- “MMsm3/d”:
million std cubic metres/day
- “MMstb(60F)/d”:
million stock tank barrels, 60 deg F/day
- “MMstb/d”:
million stock tank barrels, 60 deg F/day
- “Mscf(60F)/d”:
thousand standard cubic feet/day
- “Mscf/d”:
thousand standard cubic feet/day
- “Mscm(15C)/d”:
thousand std cubic metres, 15 degC/day
- “Msm3/d”:
thousand std cubic metres/day
- “Mstb(60F)/d”:
thousand stock tank barrels,60 deg F/day
- “Mstb/d”:
thousand stock tank barrels, 60 deg F/day
- “scf(60F)/d”:
standard cubic feet/day
- “scf/d”:
standard cubic feet/day
- “scm(15C)/d”:
std cubic metres at 15 deg C/day
- “scm(15C)/s”:
std cubic metres, 15 deg C/second
- “sm3/d”:
std cubic metres/day
- “sm3/s”:
std cubic metres/second
- “stb(60F)/d”:
stock tank barrels, 60 deg F/day
- “stb/d”:
stock tank barrels, 60 deg F/day
- class FetkovichIPRDescription#
Definitions
class FetkovichIPRDescription well_index_phase:
WellIndexPhaseType
= WellIndexPhaseType.Oil min_pressure_difference:Scalar
= Scalar(0.0, 'Pa', 'pressure') bubble_point_pressure:Scalar
= Scalar(0.0, 'Pa', 'pressure') well_index_input_type:MultiInputType
= MultiInputType.Constant well_index:Scalar
= Scalar(24.0, 'm3/bar.d', 'productivity index') well_index_curve:Curve
= Curve(m3/bar.d, s)[]well_index_phase:
WellIndexPhaseType
# optional min_pressure_difference: # optional value: number unit: string bubble_point_pressure: # optional value: number unit: string well_index_input_type:MultiInputType
# optional well_index: # optional value: number unit: string well_index_curve: # optional image: values: [number] unit: string domain: values: [number] unit: stringAvailable units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘productivity index’
- “bbl/kPa.d”:
barrel per day per kilopascal
- “bbl/psi.d”:
barrel per day per psi
- “ft3/psi.d”:
cubic feet per day per psi
- “L/bar.min”:
litres per minute per bar
- “m3/bar.d”:
cubic meter per day per bar
- “m3/bar.h”:
cubic meter per hour per bar
- “m3/bar.min”:
cubic meter per minute per bar
- “m3/d/kgf/cm2”:
cubic meter per day per kilogram-force per square centimeter
- “m3/kPa.d”:
cubic meter per day per kilopascal
- “m3/kPa.h”:
(cubic metres per hour) per kilopascal
- “m3/Pa.s”:
cubic metres/second pascal
- “m3/psi.d”:
cubic meter per day per (pound per square inch)
- “Mcf/psi.d”:
thousand cubic feet per day per psi
- class ForchheimerIPRDescription#
Definitions
class ForchheimerIPRDescription calculate_coeff_option:
ForchheimerCoefficientsOption
= ForchheimerCoefficientsOption.ReservoirParameters well_index_phase:WellIndexPhaseType
= WellIndexPhaseType.Gas min_pressure_difference:Scalar
= Scalar(0.0, 'Pa', 'pressure') gas_viscosity:Scalar
= Scalar(0.0, 'Pa.s', 'dynamic viscosity') gas_z_factor:Scalar
= Scalar(0.0, '-', 'dimensionless') reservoir_permeability:Scalar
= Scalar(0.0, 'm2', 'permeability rock') drainage_radius:Scalar
= Scalar(0.0, 'm', 'length') well_radius:Scalar
= Scalar(0.0, 'm', 'length') well_skin_factor:Scalar
= Scalar(0.0, '-', 'dimensionless') non_darcy_parameter:Scalar
= Scalar(0.0, 'Pa.s/m6', 'nonDarcy flow coefficient') B_coeff:Scalar
= Scalar(0.0, 'Pa2.s/scm', 'forchheimer linear productivity index') C_coeff:Scalar
= Scalar(0.0, 'Pa2.s2/scm2', 'forchheimer quadratic productivity index')calculate_coeff_option:
ForchheimerCoefficientsOption
# optional well_index_phase:WellIndexPhaseType
# optional min_pressure_difference: # optional value: number unit: string gas_viscosity: # optional value: number unit: string gas_z_factor: # optional value: number unit: string reservoir_permeability: # optional value: number unit: string drainage_radius: # optional value: number unit: string well_radius: # optional value: number unit: string well_skin_factor: # optional value: number unit: string non_darcy_parameter: # optional value: number unit: string B_coeff: # optional value: number unit: string C_coeff: # optional value: number unit: stringAvailable units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘forchheimer linear productivity index’
- “bar2.d/scm”:
square bar day per standard cubic metres
- “Pa2.d/scm”:
square pascal day per standard cubic metres
- “Pa2.s/scm”:
square pascal second/standard cubic metres
- “psi2.d/Mscf”:
square psi day per thousand standard cubic feet
- “psi2.d/scf”:
square psi day per standard cubic feet
Available units for category ‘forchheimer quadratic productivity index’
- “bar2.d2/scm2”:
square bar square day per square standard cubic metres
- “Pa2.d2/scm2”:
square pascal square day per standard cubic metres
- “Pa2.s2/scm2”:
square pascal square second/square standard cubic metres
- “psi2.d2/Mscf2”:
square psi square day per thousand square standard cubic feet
- “psi2.d2/scf2”:
square psi square day per square standard cubic feet
Available units for category ‘dynamic viscosity’
- “cP”:
centipoise
- “dyne.s/cm2”:
dyne seconds/square centimetre
- “kgf.s/m2”:
kilograms force seconds/square metre
- “kPa.d”:
kilopascal day
- “kPa.s”:
kilopascal second
- “lbf.s/ft2”:
pounds force seconds/square foot
- “lbf.s/in2”:
pounds force seconds/square inch
- “MPa.s”:
megapascal seconds
- “mPa.s”:
millipascal seconds
- “N.s/m2”:
newton seconds/metre squared
- “P”:
poise
- “Pa.s”:
pascal seconds
- “psi.s”:
pound per square inch second
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘permeability rock’
- “D”:
darcy
- “m2”:
square metres
- “mD”:
millidarcy
Available units for category ‘nonDarcy flow coefficient’
- “Pa.s/m6”:
pascal second /cubic metre squared
- “psi2.d2/cp.ft6”:
(psi days/cubic foot)squared/centipoise
- “psi2.d2/cP.ft6”:
(psi days/cubic foot)squared/centipoise
- class TableIPRDescription#
Definitions
class TableIPRDescription well_index_phase:
WellIndexPhaseType
= WellIndexPhaseType.Oil table:IPRCurveDescription
= IPRCurveDescription()well_index_phase:
WellIndexPhaseType
# optional table:ipr_curve_description_schema
# optional
- class IPRCurveDescription#
Definitions
class IPRCurveDescription pressure_difference:
Array
= Array(pressure, [0.0], Pa) flow_rate:Array
= Array(standard volume per time, [0.0], sm3/d)pressure_difference: # optional values: [number] unit: string flow_rate: # optional values: [number] unit: string
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘standard volume per time’
- “ksm3/d”:
thousand std cubic metres/ day
- “MMscf(60F)/d”:
million standard cubic feet/day
- “MMscf/d”:
million standard cubic feet/day
- “MMscm(15C)/d”:
million std cubic metres, 15 degC/day
- “MMsm3/d”:
million std cubic metres/day
- “MMstb(60F)/d”:
million stock tank barrels, 60 deg F/day
- “MMstb/d”:
million stock tank barrels, 60 deg F/day
- “Mscf(60F)/d”:
thousand standard cubic feet/day
- “Mscf/d”:
thousand standard cubic feet/day
- “Mscm(15C)/d”:
thousand std cubic metres, 15 degC/day
- “Msm3/d”:
thousand std cubic metres/day
- “Mstb(60F)/d”:
thousand stock tank barrels,60 deg F/day
- “Mstb/d”:
thousand stock tank barrels, 60 deg F/day
- “scf(60F)/d”:
standard cubic feet/day
- “scf/d”:
standard cubic feet/day
- “scm(15C)/d”:
std cubic metres at 15 deg C/day
- “scm(15C)/s”:
std cubic metres, 15 deg C/second
- “sm3/d”:
std cubic metres/day
- “sm3/s”:
std cubic metres/second
- “stb(60F)/d”:
stock tank barrels, 60 deg F/day
- “stb/d”:
stock tank barrels, 60 deg F/day
Tracer#
- class TracersDescription#
Definitions
class TracersDescription constant_coefficients:
Dict
[str,TracerModelConstantCoefficientsDescription
] = {}constant_coefficients: # optional string:
tracer_model_constant_coefficients_description_schema
- class TracerModelConstantCoefficientsDescription#
Definitions
partition_coefficients: # optional string: value: number unit: string
Available units for category ‘mass fraction’
- “%”:
percent
- “-”:
- “g/g”:
grams/gram
- “kg/kg”:
kilograms/kilogram
- “lbm/lbm”:
pounds mass/pounds mass
Initial Conditions#
- class InitialConditionsDescription#
Definitions
class InitialConditionsDescription pressures:
InitialPressuresDescription
= InitialPressuresDescription() volume_fractions:InitialVolumeFractionsDescription
= InitialVolumeFractionsDescription() tracers_mass_fractions:InitialTracersMassFractionsDescription
= InitialTracersMassFractionsDescription() velocities:InitialVelocitiesDescription
= InitialVelocitiesDescription() temperatures:InitialTemperaturesDescription
= InitialTemperaturesDescription() fluid:Optional
[str] = Nonepressures:
initial_pressures_description_schema
# optional volume_fractions:initial_volume_fractions_description_schema
# optional tracers_mass_fractions:initial_tracers_mass_fractions_description_schema
# optional velocities:initial_velocities_description_schema
# optional temperatures:initial_temperatures_description_schema
# optional fluid: string # optional
- class InitialPressuresDescription#
Definitions
class InitialPressuresDescription position_input_type:
TableInputType
= TableInputType.length table_x:ReferencedPressureContainerDescription
= ReferencedPressureContainerDescription() table_y:ReferencedPressureContainerDescription
= ReferencedPressureContainerDescription() table_length:PressureContainerDescription
= PressureContainerDescription()position_input_type:
TableInputType
# optional table_x:referenced_pressure_container_description_schema
# optional table_y:referenced_pressure_container_description_schema
# optional table_length:pressure_container_description_schema
# optional
- class ReferencedPressureContainerDescription#
Definitions
class ReferencedPressureContainerDescription reference_coordinate:
Scalar
= Scalar(0.0, 'm', 'length') positions:Array
= Array(length, [0.0], m) pressures:Array
= Array(pressure, [100000.0], Pa)reference_coordinate: # optional value: number unit: string positions: # optional values: [number] unit: string pressures: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
- class PressureContainerDescription#
Definitions
class PressureContainerDescription positions:
Array
= Array(length, [0.0], m) pressures:Array
= Array(pressure, [100000.0], Pa)positions: # optional values: [number] unit: string pressures: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
- class InitialVolumeFractionsDescription#
Definitions
class InitialVolumeFractionsDescription position_input_type:
TableInputType
= TableInputType.length table_x:ReferencedVolumeFractionsContainerDescription
= ReferencedVolumeFractionsContainerDescription() table_y:ReferencedVolumeFractionsContainerDescription
= ReferencedVolumeFractionsContainerDescription() table_length:VolumeFractionsContainerDescription
= VolumeFractionsContainerDescription()position_input_type:
TableInputType
# optional table_x:referenced_volume_fractions_container_description_schema
# optional table_y:referenced_volume_fractions_container_description_schema
# optional table_length:volume_fractions_container_description_schema
# optional
- class ReferencedVolumeFractionsContainerDescription#
Definitions
class ReferencedVolumeFractionsContainerDescription reference_coordinate:
Scalar
= Scalar(0.0, 'm', 'length') positions:Array
= Array(length, [], m) fractions:Dict
[str,Array
] = {}reference_coordinate: # optional value: number unit: string positions: # optional values: [number] unit: string fractions: # optional string: values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class VolumeFractionsContainerDescription#
Definitions
class VolumeFractionsContainerDescription positions:
Array
= Array(length, [0.0], m) fractions:Dict
[str,Array
] = {'gas': Array(dimensionless, [0.1], -), 'oil': Array(dimensionless, [0.9], -)}positions: # optional values: [number] unit: string fractions: # optional string: values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class InitialTracersMassFractionsDescription#
Definitions
class InitialTracersMassFractionsDescription position_input_type:
TableInputType
= TableInputType.length table_x:ReferencedTracersMassFractionsContainerDescription
= ReferencedTracersMassFractionsContainerDescription() table_y:ReferencedTracersMassFractionsContainerDescription
= ReferencedTracersMassFractionsContainerDescription() table_length:TracersMassFractionsContainerDescription
= TracersMassFractionsContainerDescription()position_input_type:
TableInputType
# optional table_x:referenced_tracers_mass_fractions_container_description_schema
# optional table_y:referenced_tracers_mass_fractions_container_description_schema
# optional table_length:tracers_mass_fractions_container_description_schema
# optional
- class ReferencedTracersMassFractionsContainerDescription#
Definitions
class ReferencedTracersMassFractionsContainerDescription reference_coordinate:
Scalar
= Scalar(0.0, 'm', 'length') positions:Array
= Array(length, [], m) tracers_mass_fractions:List
[Array] = []reference_coordinate: # optional value: number unit: string positions: # optional values: [number] unit: string tracers_mass_fractions: # optional - Array
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class TracersMassFractionsContainerDescription#
Definitions
class TracersMassFractionsContainerDescription positions:
Array
= Array(length, [], m) tracers_mass_fractions:List
[Array] = []positions: # optional values: [number] unit: string tracers_mass_fractions: # optional - Array
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class InitialVelocitiesDescription#
Definitions
class InitialVelocitiesDescription position_input_type:
TableInputType
= TableInputType.length table_x:ReferencedVelocitiesContainerDescription
= ReferencedVelocitiesContainerDescription() table_y:ReferencedVelocitiesContainerDescription
= ReferencedVelocitiesContainerDescription() table_length:VelocitiesContainerDescription
= VelocitiesContainerDescription()position_input_type:
TableInputType
# optional table_x:referenced_velocities_container_description_schema
# optional table_y:referenced_velocities_container_description_schema
# optional table_length:velocities_container_description_schema
# optional
- class ReferencedVelocitiesContainerDescription#
Definitions
class ReferencedVelocitiesContainerDescription reference_coordinate:
Scalar
= Scalar(0.0, 'm', 'length') positions:Array
= Array(length, [], m) velocities:Dict
[str,Array
] = {}reference_coordinate: # optional value: number unit: string positions: # optional values: [number] unit: string velocities: # optional string: values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘velocity’
- “ft/d”:
feet/day
- “ft/h”:
feet/hour
- “ft/min”:
feet/minute
- “ft/s”:
feet/second
- “in/min”:
inches/minute
- “in/s”:
inches/second
- “km/h”:
kilometres/hour
- “km/s”:
kilometer per second
- “m/d”:
metres/day
- “m/h”:
metres/hour
- “m/min”:
meter per minute
- “m/s”:
metres/second
- “mm/a”:
millimetres/year
- “mm/s”:
millimetres/second
- class VelocitiesContainerDescription#
Definitions
class VelocitiesContainerDescription positions:
Array
= Array(length, [0.0], m) velocities:Dict
[str,Array
] = {'gas': Array(velocity, [1e-08], m/s), 'oil': Array(velocity, [1e-08], m/s)}positions: # optional values: [number] unit: string velocities: # optional string: values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘velocity’
- “ft/d”:
feet/day
- “ft/h”:
feet/hour
- “ft/min”:
feet/minute
- “ft/s”:
feet/second
- “in/min”:
inches/minute
- “in/s”:
inches/second
- “km/h”:
kilometres/hour
- “km/s”:
kilometer per second
- “m/d”:
metres/day
- “m/h”:
metres/hour
- “m/min”:
meter per minute
- “m/s”:
metres/second
- “mm/a”:
millimetres/year
- “mm/s”:
millimetres/second
- class InitialTemperaturesDescription#
Definitions
class InitialTemperaturesDescription position_input_type:
TableInputType
= TableInputType.length table_x:ReferencedTemperaturesContainerDescription
= ReferencedTemperaturesContainerDescription() table_y:ReferencedTemperaturesContainerDescription
= ReferencedTemperaturesContainerDescription() table_length:TemperaturesContainerDescription
= TemperaturesContainerDescription()position_input_type:
TableInputType
# optional table_x:referenced_temperatures_container_description_schema
# optional table_y:referenced_temperatures_container_description_schema
# optional table_length:temperatures_container_description_schema
# optional
- class ReferencedTemperaturesContainerDescription#
Definitions
class ReferencedTemperaturesContainerDescription reference_coordinate:
Scalar
= Scalar(0.0, 'm', 'length') positions:Array
= Array(length, [], m) temperatures:Array
= Array(temperature, [], K)reference_coordinate: # optional value: number unit: string positions: # optional values: [number] unit: string temperatures: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
- class TemperaturesContainerDescription#
Definitions
class TemperaturesContainerDescription positions:
Array
= Array(length, [0.0], m) temperatures:Array
= Array(temperature, [288.6], K)positions: # optional values: [number] unit: string temperatures: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Pipe#
- class PipeDescription#
Definitions
class PipeDescription name: str source: str target: str source_port:
Optional
[WellConnectionPort
] = None target_port:Optional
[WellConnectionPort
] = None pvt_model:Optional
[str] = None profile:ProfileDescription
= ProfileDescription() equipment:EquipmentDescription
= EquipmentDescription() environment:EnvironmentDescription
= EnvironmentDescription() segments:PipeSegmentsDescription
= PipeSegmentsDescription() initial_conditions:InitialConditionsDescription
= InitialConditionsDescription() flow_pattern_model:FlowPatternModel
= FlowPatternModel.UnitCell regime_capturing_mesh_threshold:Scalar
= Scalar(0.0, '-', 'dimensionless')name: string source: string target: string source_port:
well_connection_port_schema
# optional target_port:well_connection_port_schema
# optional pvt_model: string # optional profile:profile_description_schema
# optional equipment:equipment_description_schema
# optional environment:environment_description_schema
# optional segments:pipe_segments_description_schema
# optional initial_conditions:initial_conditions_description_schema
# optional flow_pattern_model:FlowPatternModel
# optional regime_capturing_mesh_threshold: # optional value: number unit: string
- class PipeSegmentsDescription#
Definitions
class PipeSegmentsDescription start_positions:
Array
diameters:Array
roughnesses:Array
wall_names:Optional
[List
[str]] = Nonestart_positions: values: [number] unit: string diameters: values: [number] unit: string roughnesses: values: [number] unit: string wall_names: # optional - str
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Node#
- class NodeDescription#
Definitions
class NodeDescription name: str node_type:
NodeCellType
pvt_model:Optional
[str] = None pressure_properties:PressureNodePropertiesDescription
= PressureNodePropertiesDescription() mass_source_properties:MassSourceNodePropertiesDescription
= MassSourceNodePropertiesDescription() internal_properties:InternalNodePropertiesDescription
= InternalNodePropertiesDescription() separator_properties:SeparatorNodePropertiesDescription
= SeparatorNodePropertiesDescription() controller_properties:ControllerNodePropertiesDescription
= ControllerNodePropertiesDescription()name: string node_type:
NodeCellType
pvt_model: string # optional pressure_properties:pressure_node_properties_description_schema
# optional mass_source_properties:mass_source_node_properties_description_schema
# optional internal_properties:internal_node_properties_description_schema
# optional separator_properties:separator_node_properties_description_schema
# optional controller_properties:controller_node_properties_description_schema
# optional
- class PressureNodePropertiesDescription#
Definitions
class PressureNodePropertiesDescription pressure_input_type:
MultiInputType
= MultiInputType.Constant pressure:Scalar
= Scalar(100000.0, 'Pa', 'pressure') pressure_curve:Curve
= Curve(Pa, s)[] temperature_input_type:MultiInputType
= MultiInputType.Constant temperature:Scalar
= Scalar(288.6, 'K', 'temperature') temperature_curve:Curve
= Curve(K, s)[] fluid:Optional
[str] = None tracer_mass_fraction:Array
= Array(dimensionless, [], -) split_type:MassInflowSplitType
= MassInflowSplitType.ConstantVolumeFraction mass_fractions_input_type:MultiInputType
= MultiInputType.Constant mass_fractions:Dict
[str,Scalar
] = {} mass_fractions_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} volume_fractions_input_type:MultiInputType
= MultiInputType.Constant volume_fractions:Dict
[str,Scalar
] = {} volume_fractions_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} gas_liquid_ratio_input_type:MultiInputType
= MultiInputType.Constant gas_liquid_ratio:Scalar
= Scalar(0.0, 'sm3/sm3', 'standard volume per standard volume') gas_liquid_ratio_curve:Curve
= Curve(sm3/sm3, s)[] gas_oil_ratio_input_type:MultiInputType
= MultiInputType.Constant gas_oil_ratio:Scalar
= Scalar(0.0, 'sm3/sm3', 'standard volume per standard volume') gas_oil_ratio_curve:Curve
= Curve(sm3/sm3, s)[] water_cut_input_type:MultiInputType
= MultiInputType.Constant water_cut:Scalar
= Scalar(0.0, '-', 'volume fraction') water_cut_curve:Curve
= Curve(-, s)[]pressure_input_type:
MultiInputType
# optional pressure: # optional value: number unit: string pressure_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string temperature_input_type:MultiInputType
# optional temperature: # optional value: number unit: string temperature_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string fluid: string # optional tracer_mass_fraction: # optional values: [number] unit: string split_type:MassInflowSplitType
# optional mass_fractions_input_type:MultiInputType
# optional mass_fractions: # optional string: value: number unit: string mass_fractions_curve: # optional string: Curve volume_fractions_input_type:MultiInputType
# optional volume_fractions: # optional string: value: number unit: string volume_fractions_curve: # optional string: Curve gas_liquid_ratio_input_type:MultiInputType
# optional gas_liquid_ratio: # optional value: number unit: string gas_liquid_ratio_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string gas_oil_ratio_input_type:MultiInputType
# optional gas_oil_ratio: # optional value: number unit: string gas_oil_ratio_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string water_cut_input_type:MultiInputType
# optional water_cut: # optional value: number unit: string water_cut_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string
- class MassSourceNodePropertiesDescription#
Definitions
class MassSourceNodePropertiesDescription fluid:
Optional
[str] = None tracer_mass_fraction:Array
= Array(dimensionless, [], -) temperature_input_type:MultiInputType
= MultiInputType.Constant temperature:Scalar
= Scalar(288.6, 'K', 'temperature') temperature_curve:Curve
= Curve(K, s)[] source_type:MassSourceType
= MassSourceType.MassFlowRates volumetric_flow_rates_std_input_type:MultiInputType
= MultiInputType.Constant volumetric_flow_rates_std:Dict
[str,Scalar
] = {} volumetric_flow_rates_std_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} mass_flow_rates_input_type:MultiInputType
= MultiInputType.Constant mass_flow_rates:Dict
[str,Scalar
] = {} mass_flow_rates_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} total_mass_flow_rate_input_type:MultiInputType
= MultiInputType.Constant total_mass_flow_rate:Scalar
= Scalar(1.0, 'kg/s', 'mass flow rate') total_mass_flow_rate_curve:Curve
= Curve(kg/s, s)[] water_cut_input_type:MultiInputType
= MultiInputType.Constant water_cut:Scalar
= Scalar(0.0, '-', 'volume fraction') water_cut_curve:Curve
= Curve(-, s)[] gas_oil_ratio_input_type:MultiInputType
= MultiInputType.Constant gas_oil_ratio:Scalar
= Scalar(0.0, 'sm3/sm3', 'standard volume per standard volume') gas_oil_ratio_curve:Curve
= Curve(sm3/sm3, s)[]fluid: string # optional tracer_mass_fraction: # optional values: [number] unit: string temperature_input_type:
MultiInputType
# optional temperature: # optional value: number unit: string temperature_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string source_type:MassSourceType
# optional volumetric_flow_rates_std_input_type:MultiInputType
# optional volumetric_flow_rates_std: # optional string: value: number unit: string volumetric_flow_rates_std_curve: # optional string: Curve mass_flow_rates_input_type:MultiInputType
# optional mass_flow_rates: # optional string: value: number unit: string mass_flow_rates_curve: # optional string: Curve total_mass_flow_rate_input_type:MultiInputType
# optional total_mass_flow_rate: # optional value: number unit: string total_mass_flow_rate_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string water_cut_input_type:MultiInputType
# optional water_cut: # optional value: number unit: string water_cut_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string gas_oil_ratio_input_type:MultiInputType
# optional gas_oil_ratio: # optional value: number unit: string gas_oil_ratio_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string
- class InternalNodePropertiesDescription#
Definitions
class InternalNodePropertiesDescription fluid:
Optional
[str] = Nonefluid: string # optional
- class SeparatorNodePropertiesDescription#
- Variables:
overall_heat_transfer_coefficient –
- η such that the overall heat transferred to the separator is
Q = η A (T_amb - T_sep)
Definitions
class SeparatorNodePropertiesDescription environment_temperature:
Scalar
= Scalar(25.0, 'degC', 'temperature') geometry:SeparatorGeometryType
= SeparatorGeometryType.VerticalCylinder length:Scalar
= Scalar(1.0, 'm', 'length') overall_heat_transfer_coefficient:Scalar
= Scalar(0.0, 'W/m2.K', 'heat transfer coefficient') diameter:Scalar
= Scalar(1.0, 'm', 'diameter') nozzles:Dict
[str,Scalar
] = {} initial_phase_volume_fractions:Dict
[str,Scalar
] = {'gas': Scalar(0.5, '-', 'volume fraction'), 'oil': Scalar(0.5, '-', 'volume fraction')} gas_separation_efficiency:Scalar
= Scalar(1.0, '-', 'dimensionless') liquid_separation_efficiency:Scalar
= Scalar(1.0, '-', 'dimensionless')environment_temperature: # optional value: number unit: string geometry:
SeparatorGeometryType
# optional length: # optional value: number unit: string overall_heat_transfer_coefficient: # optional value: number unit: string diameter: # optional value: number unit: string nozzles: # optional string: value: number unit: string initial_phase_volume_fractions: # optional string: value: number unit: string gas_separation_efficiency: # optional value: number unit: string liquid_separation_efficiency: # optional value: number unit: stringAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Available units for category ‘heat transfer coefficient’
- “Btu/hr.ft2.degF”:
Btus/hour foot squared deg F
- “Btu/hr.ft2.degR”:
Btus/hour foot squared deg R
- “Btu/hr.m2.degC”:
Btus/hour metre squared deg C
- “Btu/s.ft2.degF”:
Btus/second per square foot deg F
- “cal/h.cm2.degC”:
calories/hour square centimetre deg C
- “cal/h.m2.degC”:
calorie/hour square metre deg C
- “cal/s.cm2.degC”:
calories/second square centimetre deg C
- “J/s.m2.degC”:
joules/second square metre deg C
- “kcal/h.m2.degC”:
kilocalorie/hour square metre deg C
- “kJ/h.m2.K”:
kilojoules/hour square metre deg K
- “kW/m2.K”:
kilowatts/square metre degree Kelvin
- “W/m2.K”:
watts/square metre kelvin
Available units for category ‘volume fraction’
- “%”:
percent
- “-”:
- “m3/m3”:
cubic metres/cubic metre
- class ControllerInputSignalPropertiesDescription#
- Variables:
target_variable – Measured variable target of controller setpoint
unit – Measuring unit of target variable
input_trend_name – Name of input trend where target variable is measured
Definitions
class ControllerInputSignalPropertiesDescription target_variable:
Optional
[str] = None input_trend_name:Optional
[str] = None unit:Optional
[str] = Nonetarget_variable: string # optional input_trend_name: string # optional unit: string # optional
- class ControllerOutputSignalPropertiesDescription#
- Variables:
controlled_property – Property under control to make target variable reach setpoint
unit – Measuring unit of controlled property
network_element_name – Name of network element that has controlled property
min_value – Minimum value of output signal
max_value – Maximum value of output signal
max_rate_of_change – Maximum rate of change of output signal
Definitions
class ControllerOutputSignalPropertiesDescription controlled_property:
Optional
[str] = None unit:Optional
[str] = None network_element_name:Optional
[str] = None min_value: float = -1e+50 max_value: float = 1e+50 max_rate_of_change: float = 1e+50controlled_property: string # optional unit: string # optional network_element_name: string # optional min_value: number # optional max_value: number # optional max_rate_of_change: number # optional
- class ControllerNodePropertiesDescription#
- Variables:
type – Type of controlling model
gain – Proportional constant of PID controller
setpoint – Target value for input signal
integral_time – Integral constant of PID controller
derivative_time – Derivative constant of PID controller
input_signal_properties – Properties of input signal
output_signal_properties – Properties of output signal
Definitions
class ControllerNodePropertiesDescription type:
ControllerType
= ControllerType.PID gain: float = 0.0001 setpoint: float = 0.0 integral_time:Scalar
= Scalar(10.0, 's', 'time') derivative_time:Scalar
= Scalar(1.0, 's', 'time') input_signal_properties:ControllerInputSignalPropertiesDescription
= ControllerInputSignalPropertiesDescription() output_signal_properties:ControllerOutputSignalPropertiesDescription
= ControllerOutputSignalPropertiesDescription()type:
ControllerType
# optional gain: number # optional setpoint: number # optional integral_time: # optional value: number unit: string derivative_time: # optional value: number unit: string input_signal_properties:controller_input_signal_properties_description_schema
# optional output_signal_properties:controller_output_signal_properties_description_schema
# optional
Well#
- class WellDescription#
Definitions
class WellDescription name: str pvt_model:
Optional
[str] = None stagnant_fluid:Optional
[str] = None profile:ProfileDescription
= ProfileDescription() casing:CasingDescription
= CasingDescription() annulus:AnnulusDescription
= AnnulusDescription() formation:FormationDescription
= FormationDescription() top_node: str bottom_node: str environment:EnvironmentDescription
= EnvironmentDescription() initial_conditions:InitialConditionsDescription
= InitialConditionsDescription() equipment:EquipmentDescription
= EquipmentDescription()name: string pvt_model: string # optional stagnant_fluid: string # optional profile:
profile_description_schema
# optional casing:casing_description_schema
# optional annulus:annulus_description_schema
# optional formation:formation_description_schema
# optional top_node: string bottom_node: string environment:environment_description_schema
# optional initial_conditions:initial_conditions_description_schema
# optional equipment:equipment_description_schema
# optional
- class CasingDescription#
Definitions
class CasingDescription casing_sections:
List
[CasingSectionDescription
] = [] tubings:List
[TubingDescription
] = [] packers:List
[PackerDescription
] = [] open_holes:List
[OpenHoleDescription
] = []casing_sections: # optional -
casing_section_description_schema
tubings: # optional -tubing_description_schema
packers: # optional -packer_description_schema
open_holes: # optional -open_hole_description_schema
- class CasingSectionDescription#
Definitions
class CasingSectionDescription name: str hanger_depth:
Scalar
settings_depth:Scalar
hole_diameter:Scalar
outer_diameter:Scalar
inner_diameter:Scalar
inner_roughness:Scalar
material:Optional
[str] = None top_of_filler:Scalar
filler_material:Optional
[str] = None material_above_filler:Optional
[str] = Nonename: string hanger_depth: value: number unit: string settings_depth: value: number unit: string hole_diameter: value: number unit: string outer_diameter: value: number unit: string inner_diameter: value: number unit: string inner_roughness: value: number unit: string material: string # optional top_of_filler: value: number unit: string filler_material: string # optional material_above_filler: string # optional
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class TubingDescription#
Definitions
class TubingDescription name: str length:
Scalar
outer_diameter:Scalar
inner_diameter:Scalar
inner_roughness:Scalar
material:Optional
[str] = Nonename: string length: value: number unit: string outer_diameter: value: number unit: string inner_diameter: value: number unit: string inner_roughness: value: number unit: string material: string # optional
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class PackerDescription#
Definitions
class PackerDescription name: str position:
Scalar
material_above:Optional
[str] = Nonename: string position: value: number unit: string material_above: string # optional
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class OpenHoleDescription#
Definitions
name: string length: value: number unit: string diameter: value: number unit: string inner_roughness: value: number unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class AnnulusDescription#
Definitions
class AnnulusDescription has_annulus_flow: bool pvt_model:
Optional
[str] = None initial_conditions:InitialConditionsDescription
= InitialConditionsDescription() equipment:AnnulusEquipmentDescription
= AnnulusEquipmentDescription() top_node: strhas_annulus_flow: boolean pvt_model: string # optional initial_conditions:
initial_conditions_description_schema
# optional equipment:annulus_equipment_description_schema
# optional top_node: string
- class GasLiftValveEquipmentDescription#
Definitions
class GasLiftValveEquipmentDescription position:
Scalar
diameter:Scalar
valve_type:ValveType
delta_p_min:Scalar
discharge_coefficient:Scalar
position: value: number unit: string diameter: value: number unit: string valve_type:
ValveType
delta_p_min: value: number unit: string discharge_coefficient: value: number unit: stringAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class FormationDescription#
Definitions
class FormationDescription reference_y_coordinate:
Scalar
layers:List
[FormationLayerDescription
] = []reference_y_coordinate: value: number unit: string layers: # optional -
formation_layer_description_schema
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class FormationLayerDescription#
Definitions
class FormationLayerDescription name: str start:
Scalar
material:Optional
[str] = Nonename: string start: value: number unit: string material: string # optional
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Material#
- class MaterialDescription#
Definitions
class MaterialDescription name: str material_type:
MaterialType
= MaterialType.Solid density:Scalar
= Scalar(1.0, 'kg/m3', 'density') thermal_conductivity:Scalar
= Scalar(0.0, 'W/m.degC', 'thermal conductivity') heat_capacity:Scalar
= Scalar(0.0, 'J/kg.degC', 'specific heat capacity') inner_emissivity:Scalar
= Scalar(0.0, '-', 'emissivity') outer_emissivity:Scalar
= Scalar(0.0, '-', 'emissivity') expansion:Scalar
= Scalar(0.0, '1/K', 'volumetric thermal expansion') viscosity:Scalar
= Scalar(0.0, 'cP', 'dynamic viscosity')name: string material_type:
MaterialType
# optional density: # optional value: number unit: string thermal_conductivity: # optional value: number unit: string heat_capacity: # optional value: number unit: string inner_emissivity: # optional value: number unit: string outer_emissivity: # optional value: number unit: string expansion: # optional value: number unit: string viscosity: # optional value: number unit: stringAvailable units for category ‘density’
- “g/cm3”:
grams/cubic centimetre
- “g/galUK”:
grams/UK gallon
- “g/galUS”:
grams/US gallon
- “g/L”:
grams/litre
- “g/m3”:
grams/cubic metre
- “kg/L”:
kilogram per litre
- “kg/m3”:
kilograms/cubic metre
- “lbm/ft3”:
pounds mass/cubic foot
- “lbm/galUK”:
pounds mass/UK gallon
- “lbm/galUS”:
pounds mass/US gallon
Available units for category ‘thermal conductivity’
- “Btu/d.ft.degF”:
British thermal units/day foot deg F
- “Btu/hr.ft.degF”:
British thermal units/hour foot deg F
- “cal/h.cm.degC”:
calories/hour centimetre degree Celsius
- “cal/m.h.degC”:
calories/metre hour degree Celsius
- “cal/s.cm.degC”:
calories/second centimetre deg C
- “kcal/h.m.degC”:
kilocalories/hour metre degree Celsius
- “kJ/d.m.K”:
kilojoules/day metre kelvin
- “W/m.degC”:
watts/meter degrees Celsius
- “W/m.K”:
watts/metre kelvin
Available units for category ‘specific heat capacity’
- “Btu/lbm.degF”:
British thermal units/pound mass deg F
- “Btu/lbm.degR”:
British thermal units/pound mass deg R
- “cal/g.K”:
calories/gram degree Kelvin
- “J/g.K”:
joules/gram degree Kelvin
- “J/kg.degC”:
joules/kilogram degrees Celsius
- “J/kg.K”:
joules/kilogram degree kelvin
- “kcal/kg.degC”:
kilocalories/kilogram degree Celsius
- “kJ/kg.K”:
kilojoules/kilogram degree Kelvin
- “kW.h/kg.degC”:
kilowatt hours/kilogram degree C
Available units for category ‘emissivity’
- “-”:
Available units for category ‘volumetric thermal expansion’
- “1/degC”:
per degree Celsius
- “1/degF”:
per degree Fahrenheit
- “1/degR”:
per degree Rankine
- “1/K”:
per Kelvin
- “ppm/degC”:
part per million per degree Celsius
- “ppm/degF”:
part per million per degree Fahrenheit
Available units for category ‘dynamic viscosity’
- “cP”:
centipoise
- “dyne.s/cm2”:
dyne seconds/square centimetre
- “kgf.s/m2”:
kilograms force seconds/square metre
- “kPa.d”:
kilopascal day
- “kPa.s”:
kilopascal second
- “lbf.s/ft2”:
pounds force seconds/square foot
- “lbf.s/in2”:
pounds force seconds/square inch
- “MPa.s”:
megapascal seconds
- “mPa.s”:
millipascal seconds
- “N.s/m2”:
newton seconds/metre squared
- “P”:
poise
- “Pa.s”:
pascal seconds
- “psi.s”:
pound per square inch second
Wall#
- class WallDescription#
Definitions
class WallDescription name: str inner_roughness:
Scalar
= Scalar(0.0, 'm', 'length') wall_layer_container:List
[WallLayerDescription
] = []name: string inner_roughness: # optional value: number unit: string wall_layer_container: # optional -
wall_layer_description_schema
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class WallLayerDescription#
Used for defining the default walls.
- Variables:
thickness
material_name
has_annulus_flow
Definitions
class WallLayerDescription thickness:
Scalar
material_name: str has_annulus_flow: bool = Falsethickness: value: number unit: string material_name: string has_annulus_flow: boolean # optional
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Profile#
- class ProfileDescription#
Describe a pipe by either length and inclination or by X and Y coordinates.
- Variables:
length_and_elevation – A list of points with the length and elevation. The first item MUST always be (0, 0), otherwise a ValueError is raised.
x_and_y – A list of points (X, Y), describing the coordinates.
Note
x_and_y and length_and_elevation are mutually exclusive.
Definitions
class ProfileDescription x_and_y:
Optional
[XAndYDescription
] = None length_and_elevation:Optional
[LengthAndElevationDescription
] = Nonex_and_y:
x_and_y_description_schema
# optional length_and_elevation:length_and_elevation_description_schema
# optional
- class XAndYDescription#
Describe a pipe with a sequence of coordinates.
Definitions
x: # optional values: [number] unit: string y: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class LengthAndElevationDescription#
Describe a pipe with length and elevation.
Definitions
class LengthAndElevationDescription length:
Optional
[Array
] = None elevation:Optional
[Array
] = Nonelength: # optional values: [number] unit: string elevation: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Environment#
- class EnvironmentDescription#
Definitions
class EnvironmentDescription thermal_model:
PipeThermalModelType
= PipeThermalModelType.SteadyState position_input_mode:PipeThermalPositionInput
= PipeThermalPositionInput.Md reference_y_coordinate:Scalar
= Scalar(0.0, 'm', 'length') md_properties_table:List
[EnvironmentPropertyDescription
] = [] tvd_properties_table:List
[EnvironmentPropertyDescription
] = []thermal_model:
PipeThermalModelType
# optional position_input_mode:PipeThermalPositionInput
# optional reference_y_coordinate: # optional value: number unit: string md_properties_table: # optional -environment_property_description_schema
tvd_properties_table: # optional -environment_property_description_schema
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class EnvironmentPropertyDescription#
Definitions
class EnvironmentPropertyDescription position:
Scalar
temperature:Scalar
type:PipeEnvironmentHeatTransferCoefficientModelType
heat_transfer_coefficient:Scalar
= Scalar(0.0, 'W/m2.K', 'heat transfer coefficient') overall_heat_transfer_coefficient:Scalar
= Scalar(0.0, 'W/m2.K', 'heat transfer coefficient') fluid_velocity:Scalar
= Scalar(0.0, 'm/s', 'velocity')position: value: number unit: string temperature: value: number unit: string type:
PipeEnvironmentHeatTransferCoefficientModelType
heat_transfer_coefficient: # optional value: number unit: string overall_heat_transfer_coefficient: # optional value: number unit: string fluid_velocity: # optional value: number unit: stringAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Available units for category ‘heat transfer coefficient’
- “Btu/hr.ft2.degF”:
Btus/hour foot squared deg F
- “Btu/hr.ft2.degR”:
Btus/hour foot squared deg R
- “Btu/hr.m2.degC”:
Btus/hour metre squared deg C
- “Btu/s.ft2.degF”:
Btus/second per square foot deg F
- “cal/h.cm2.degC”:
calories/hour square centimetre deg C
- “cal/h.m2.degC”:
calorie/hour square metre deg C
- “cal/s.cm2.degC”:
calories/second square centimetre deg C
- “J/s.m2.degC”:
joules/second square metre deg C
- “kcal/h.m2.degC”:
kilocalorie/hour square metre deg C
- “kJ/h.m2.K”:
kilojoules/hour square metre deg K
- “kW/m2.K”:
kilowatts/square metre degree Kelvin
- “W/m2.K”:
watts/square metre kelvin
Available units for category ‘velocity’
- “ft/d”:
feet/day
- “ft/h”:
feet/hour
- “ft/min”:
feet/minute
- “ft/s”:
feet/second
- “in/min”:
inches/minute
- “in/s”:
inches/second
- “km/h”:
kilometres/hour
- “km/s”:
kilometer per second
- “m/d”:
metres/day
- “m/h”:
metres/hour
- “m/min”:
meter per minute
- “m/s”:
metres/second
- “mm/a”:
millimetres/year
- “mm/s”:
millimetres/second
Equipment#
- class EquipmentDescription#
Definitions
class EquipmentDescription mass_sources:
Dict
[str,MassSourceEquipmentDescription
] = {} pumps:Dict
[str,PumpEquipmentDescription
] = {} valves:Dict
[str,ValveEquipmentDescription
] = {} reservoir_inflows:Dict
[str,ReservoirInflowEquipmentDescription
] = {} heat_sources:Dict
[str,HeatSourceEquipmentDescription
] = {} compressors:Dict
[str,CompressorEquipmentDescription
] = {} leaks:Dict
[str,LeakEquipmentDescription
] = {} pigs:Dict
[str,PigEquipmentDescription
] = {}mass_sources: # optional string:
mass_source_equipment_description_schema
pumps: # optional string:pump_equipment_description_schema
valves: # optional string:valve_equipment_description_schema
reservoir_inflows: # optional string:reservoir_inflow_equipment_description_schema
heat_sources: # optional string:heat_source_equipment_description_schema
compressors: # optional string:compressor_equipment_description_schema
leaks: # optional string:leak_equipment_description_schema
pigs: # optional string:pig_equipment_description_schema
- class AnnulusEquipmentDescription#
Definitions
class AnnulusEquipmentDescription leaks:
Dict
[str,LeakEquipmentDescription
] = {} gas_lift_valves:Dict
[str,GasLiftValveEquipmentDescription
] = {}leaks: # optional string:
leak_equipment_description_schema
gas_lift_valves: # optional string:gas_lift_valve_equipment_description_schema
- class MassSourceEquipmentDescription#
Definitions
class MassSourceEquipmentDescription fluid:
Optional
[str] = None tracer_mass_fraction:Array
= Array(dimensionless, [], -) temperature_input_type:MultiInputType
= MultiInputType.Constant temperature:Scalar
= Scalar(288.6, 'K', 'temperature') temperature_curve:Curve
= Curve(K, s)[] source_type:MassSourceType
= MassSourceType.MassFlowRates volumetric_flow_rates_std_input_type:MultiInputType
= MultiInputType.Constant volumetric_flow_rates_std:Dict
[str,Scalar
] = {} volumetric_flow_rates_std_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} mass_flow_rates_input_type:MultiInputType
= MultiInputType.Constant mass_flow_rates:Dict
[str,Scalar
] = {} mass_flow_rates_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} total_mass_flow_rate_input_type:MultiInputType
= MultiInputType.Constant total_mass_flow_rate:Scalar
= Scalar(1.0, 'kg/s', 'mass flow rate') total_mass_flow_rate_curve:Curve
= Curve(kg/s, s)[] water_cut_input_type:MultiInputType
= MultiInputType.Constant water_cut:Scalar
= Scalar(0.0, '-', 'volume fraction') water_cut_curve:Curve
= Curve(-, s)[] gas_oil_ratio_input_type:MultiInputType
= MultiInputType.Constant gas_oil_ratio:Scalar
= Scalar(0.0, 'sm3/sm3', 'standard volume per standard volume') gas_oil_ratio_curve:Curve
= Curve(sm3/sm3, s)[] position:Scalar
fluid: string # optional tracer_mass_fraction: # optional values: [number] unit: string temperature_input_type:
MultiInputType
# optional temperature: # optional value: number unit: string temperature_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string source_type:MassSourceType
# optional volumetric_flow_rates_std_input_type:MultiInputType
# optional volumetric_flow_rates_std: # optional string: value: number unit: string volumetric_flow_rates_std_curve: # optional string: Curve mass_flow_rates_input_type:MultiInputType
# optional mass_flow_rates: # optional string: value: number unit: string mass_flow_rates_curve: # optional string: Curve total_mass_flow_rate_input_type:MultiInputType
# optional total_mass_flow_rate: # optional value: number unit: string total_mass_flow_rate_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string water_cut_input_type:MultiInputType
# optional water_cut: # optional value: number unit: string water_cut_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string gas_oil_ratio_input_type:MultiInputType
# optional gas_oil_ratio: # optional value: number unit: string gas_oil_ratio_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string position: value: number unit: stringAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class PumpEquipmentDescription#
Definitions
class PumpEquipmentDescription position:
Scalar
flow_direction:FlowDirection
= FlowDirection.Forward thermal_efficiency:Scalar
= Scalar(100.0, '%', 'dimensionless') thermal_efficiency_model:PumpThermalEfficiencyModel
= PumpThermalEfficiencyModel.Constant type:PumpType
= PumpType.ConstantPressure pressure_boost:Scalar
= Scalar(100000.0, 'Pa', 'pressure') table:TablePumpDescription
= TablePumpDescription() speed_curve:SpeedCurveDescription
= SpeedCurveDescription() speed_curve_interpolation_type:InterpolationType
= InterpolationType.Constant esp_table:TablePumpDescription
= TablePumpDescription() esp_speed_input_type:MultiInputType
= MultiInputType.Constant esp_speed:Scalar
= Scalar(0.0, 'Hz', 'angle per time') esp_speed_curve:Curve
= Curve(Hz, s)[] esp_number_of_stages: int = 1 esp_reference_density:Scalar
= Scalar(0.0, 'kg/m3', 'density') esp_manufacturer: str = '' esp_model: str = '' esp_viscosity_model:PumpViscosityModel
= PumpViscosityModel.NoModel density_correction_enabled: bool = Falseposition: value: number unit: string flow_direction:
FlowDirection
# optional thermal_efficiency: # optional value: number unit: string thermal_efficiency_model:PumpThermalEfficiencyModel
# optional type:PumpType
# optional pressure_boost: # optional value: number unit: string table:table_pump_description_schema
# optional speed_curve:speed_curve_description_schema
# optional speed_curve_interpolation_type:InterpolationType
# optional esp_table:table_pump_description_schema
# optional esp_speed_input_type:MultiInputType
# optional esp_speed: # optional value: number unit: string esp_speed_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string esp_number_of_stages: number # optional esp_reference_density: # optional value: number unit: string esp_manufacturer: string # optional esp_model: string # optional esp_viscosity_model:PumpViscosityModel
# optional density_correction_enabled: boolean # optionalAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class ValveEquipmentDescription#
Definitions
class ValveEquipmentDescription position:
Scalar
type:ValveType
= ValveType.PerkinsValve diameter:Scalar
= Scalar(0.01, 'm', 'diameter') flow_direction:FlowDirection
= FlowDirection.Forward opening_type:ValveOpeningType
= ValveOpeningType.ConstantOpening opening:Scalar
= Scalar(100.0, '%', 'dimensionless') opening_curve_interpolation_type:InterpolationType
= InterpolationType.Constant opening_curve:Curve
= Curve(-, s)[] cv_table:CvTableDescription
= CvTableDescription()position: value: number unit: string type:
ValveType
# optional diameter: # optional value: number unit: string flow_direction:FlowDirection
# optional opening_type:ValveOpeningType
# optional opening: # optional value: number unit: string opening_curve_interpolation_type:InterpolationType
# optional opening_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string cv_table:cv_table_description_schema
# optionalAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class ReservoirInflowEquipmentDescription#
Definitions
class ReservoirInflowEquipmentDescription pressure_input_type:
MultiInputType
= MultiInputType.Constant pressure:Scalar
= Scalar(100000.0, 'Pa', 'pressure') pressure_curve:Curve
= Curve(Pa, s)[] temperature_input_type:MultiInputType
= MultiInputType.Constant temperature:Scalar
= Scalar(288.6, 'K', 'temperature') temperature_curve:Curve
= Curve(K, s)[] fluid:Optional
[str] = None tracer_mass_fraction:Array
= Array(dimensionless, [], -) split_type:MassInflowSplitType
= MassInflowSplitType.ConstantVolumeFraction mass_fractions_input_type:MultiInputType
= MultiInputType.Constant mass_fractions:Dict
[str,Scalar
] = {} mass_fractions_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} volume_fractions_input_type:MultiInputType
= MultiInputType.Constant volume_fractions:Dict
[str,Scalar
] = {} volume_fractions_curve:Dict
[str, <class 'barril.curve.curve.Curve'>] = {} gas_liquid_ratio_input_type:MultiInputType
= MultiInputType.Constant gas_liquid_ratio:Scalar
= Scalar(0.0, 'sm3/sm3', 'standard volume per standard volume') gas_liquid_ratio_curve:Curve
= Curve(sm3/sm3, s)[] gas_oil_ratio_input_type:MultiInputType
= MultiInputType.Constant gas_oil_ratio:Scalar
= Scalar(0.0, 'sm3/sm3', 'standard volume per standard volume') gas_oil_ratio_curve:Curve
= Curve(sm3/sm3, s)[] water_cut_input_type:MultiInputType
= MultiInputType.Constant water_cut:Scalar
= Scalar(0.0, '-', 'volume fraction') water_cut_curve:Curve
= Curve(-, s)[] start:Scalar
length:Scalar
productivity_ipr:Optional
[str] = None injectivity_ipr:Optional
[str] = Nonepressure_input_type:
MultiInputType
# optional pressure: # optional value: number unit: string pressure_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string temperature_input_type:MultiInputType
# optional temperature: # optional value: number unit: string temperature_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string fluid: string # optional tracer_mass_fraction: # optional values: [number] unit: string split_type:MassInflowSplitType
# optional mass_fractions_input_type:MultiInputType
# optional mass_fractions: # optional string: value: number unit: string mass_fractions_curve: # optional string: Curve volume_fractions_input_type:MultiInputType
# optional volume_fractions: # optional string: value: number unit: string volume_fractions_curve: # optional string: Curve gas_liquid_ratio_input_type:MultiInputType
# optional gas_liquid_ratio: # optional value: number unit: string gas_liquid_ratio_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string gas_oil_ratio_input_type:MultiInputType
# optional gas_oil_ratio: # optional value: number unit: string gas_oil_ratio_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string water_cut_input_type:MultiInputType
# optional water_cut: # optional value: number unit: string water_cut_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string start: value: number unit: string length: value: number unit: string productivity_ipr: string # optional injectivity_ipr: string # optionalAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
- class HeatSourceEquipmentDescription#
Definitions
class HeatSourceEquipmentDescription start:
Scalar
length:Scalar
power_input_type:MultiInputType
= MultiInputType.Constant power:Scalar
= Scalar(0.0, 'W', 'power') power_curve:Curve
= Curve(W, s)[]start: value: number unit: string length: value: number unit: string power_input_type:
MultiInputType
# optional power: # optional value: number unit: string power_curve: # optional image: values: [number] unit: string domain: values: [number] unit: stringAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘power’
- “ch”:
ch
- “CV”:
cheval vapeur
- “ehp”:
electric horsepower
- “GW”:
gigawatt
- “hhp”:
hydraulic horsepower
- “hp”:
horsepower
- “kcal/h”:
kilocalories/hour
- “kW”:
kilowatts
- “MJ/a”:
megajoules/year
- “MW”:
megawatts
- “mW”:
milliwatt
- “nW”:
nanowatts
- “ton of refrig”:
tons of refrigeration
- “TW”:
terawatts
- “uW”:
microwatts
- “W”:
watt
- class CompressorEquipmentDescription#
Definitions
class CompressorEquipmentDescription position:
Scalar
speed_curve:SpeedCurveDescription
= SpeedCurveDescription() reference_pressure:Scalar
= Scalar(1.0, 'bar', 'pressure') reference_temperature:Scalar
= Scalar(25.0, 'degC', 'temperature') constant_speed:Scalar
= Scalar(500.0, 'rpm', 'angle per time') compressor_type:CompressorSpeedType
= CompressorSpeedType.SpeedCurve speed_curve_interpolation_type:InterpolationType
= InterpolationType.Constant flow_direction:FlowDirection
= FlowDirection.Forward table:CompressorPressureTableDescription
= CompressorPressureTableDescription()position: value: number unit: string speed_curve:
speed_curve_description_schema
# optional reference_pressure: # optional value: number unit: string reference_temperature: # optional value: number unit: string constant_speed: # optional value: number unit: string compressor_type:CompressorSpeedType
# optional speed_curve_interpolation_type:InterpolationType
# optional flow_direction:FlowDirection
# optional table:compressor_pressure_table_description_schema
# optionalAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
Available units for category ‘temperature’
- “degC”:
degrees Celsius
- “degF”:
degree Fahrenheit
- “K”:
kelvin
Available units for category ‘angle per time’
- “Hz”:
hertz
- “rad/s”:
radians/second
- “rpm”:
revolutions/minute
- class SpeedCurveDescription#
Definitions
class SpeedCurveDescription time:
Array
= Array(time, [0], s) speed:Array
= Array(frequency, [500], rpm)time: # optional values: [number] unit: string speed: # optional values: [number] unit: string
Available units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘angle per time’
- “Hz”:
hertz
- “rad/s”:
radians/second
- “rpm”:
revolutions/minute
- class CompressorPressureTableDescription#
- Variables:
corrected_mass_flow_rate_entries – Equivalent to m * (T/T_ref)**0.5 / (P/P_ref)
Definitions
class CompressorPressureTableDescription speed_entries:
Array
= Array(frequency, [0], rpm) corrected_mass_flow_rate_entries:Array
= Array(mass flow rate, [0], kg/s) pressure_ratio_table:Array
= Array(dimensionless, [1.0], -) isentropic_efficiency_table:Array
= Array(dimensionless, [1.0], -)speed_entries: # optional values: [number] unit: string corrected_mass_flow_rate_entries: # optional values: [number] unit: string pressure_ratio_table: # optional values: [number] unit: string isentropic_efficiency_table: # optional values: [number] unit: string
Available units for category ‘angle per time’
- “Hz”:
hertz
- “rad/s”:
radians/second
- “rpm”:
revolutions/minute
Available units for category ‘mass flow rate’
- “g/h”:
grams per hour
- “g/min”:
gram per min
- “g/s”:
grams/second
- “kg/d”:
kilogram per day
- “kg/h”:
kilograms/hour
- “kg/min”:
kilogram per min
- “kg/s”:
kilograms/second
- “lbm/d”:
pound mass per day
- “lbm/h”:
pounds mass/hour
- “lbm/min”:
pounds mass/minute
- “lbm/s”:
pounds mass/second
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class LeakEquipmentDescription#
Definitions
class LeakEquipmentDescription position:
Scalar
location:OutputAttachmentLocation
= OutputAttachmentLocation.Main model:LeakModel
= LeakModel.Orifice type:LeakType
= LeakType.Internal diameter:Scalar
= Scalar(0.05, 'm', 'diameter') discharge_coefficient:Scalar
= Scalar(0.85, '-', 'dimensionless') cv_table:CvTableDescription
= CvTableDescription() gas_lift_valve_opening_type:GasLiftValveOpeningType
= GasLiftValveOpeningType.MinimumPressureDifference minimum_pressure_difference:Scalar
= Scalar(0.0, 'Pa', 'pressure') bellows_reference_pressure:Scalar
= Scalar(10.0, 'bar', 'pressure') bellows_reference_temperature:Scalar
= Scalar(15.0, 'degC', 'temperature') port_to_bellows_area_ratio:Scalar
= Scalar(0.1, '-', 'dimensionless') opening_input_type:MultiInputType
= MultiInputType.Constant opening:Scalar
= Scalar(1.0, '-', 'dimensionless') opening_curve:Curve
= Curve(-, s)[] target_pipe_name:Optional
[str] = None target_position:Scalar
= Scalar(0.0, 'm', 'length') target_location:OutputAttachmentLocation
= OutputAttachmentLocation.Main backflow: bool = False backpressure:Scalar
= Scalar(1.0, 'bar', 'pressure')position: value: number unit: string location:
OutputAttachmentLocation
# optional model:LeakModel
# optional type:LeakType
# optional diameter: # optional value: number unit: string discharge_coefficient: # optional value: number unit: string cv_table:cv_table_description_schema
# optional gas_lift_valve_opening_type:GasLiftValveOpeningType
# optional minimum_pressure_difference: # optional value: number unit: string bellows_reference_pressure: # optional value: number unit: string bellows_reference_temperature: # optional value: number unit: string port_to_bellows_area_ratio: # optional value: number unit: string opening_input_type:MultiInputType
# optional opening: # optional value: number unit: string opening_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string target_pipe_name: string # optional target_position: # optional value: number unit: string target_location:OutputAttachmentLocation
# optional backflow: boolean # optional backpressure: # optional value: number unit: stringAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
- class PigEquipmentDescription#
Definitions
class PigEquipmentDescription diameter:
Scalar
position:Scalar
launch_times:Array
= Array(time, [0.0], s) mass_input_type:MultiInputType
= MultiInputType.Constant mass:Scalar
= Scalar(140.0, 'kg', 'mass') mass_curve:Curve
= Curve(kg, s)[] static_force_input_type:MultiInputType
= MultiInputType.Constant static_force:Scalar
= Scalar(1000.0, 'N', 'force') static_force_curve:Curve
= Curve(N, s)[] wall_friction_input_type:MultiInputType
= MultiInputType.Constant wall_friction:Scalar
= Scalar(1000.0, 'N.s/m', 'force per velocity') wall_friction_curve:Curve
= Curve(N.s/m, s)[] linear_friction_input_type:MultiInputType
= MultiInputType.Constant linear_friction:Scalar
= Scalar(10.0, 'N.s/m', 'force per velocity') linear_friction_curve:Curve
= Curve(N.s/m, s)[] quadratic_friction_input_type:MultiInputType
= MultiInputType.Constant quadratic_friction:Scalar
= Scalar(0.0, 'N.s2/m2', 'force per velocity squared') quadratic_friction_curve:Curve
= Curve(N.s2/m2, s)[] trap_mode:PigTrappingMode
= PigTrappingMode.Automatic trap_position:Scalar
= Scalar(0.0, 'm', 'length') trap_pipe_name:Optional
[str] = None route_mode:PigRoutingMode
= PigRoutingMode.Automatic pipe_route_names:Optional
[List
[str]] = Nonediameter: value: number unit: string position: value: number unit: string launch_times: # optional values: [number] unit: string mass_input_type:
MultiInputType
# optional mass: # optional value: number unit: string mass_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string static_force_input_type:MultiInputType
# optional static_force: # optional value: number unit: string static_force_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string wall_friction_input_type:MultiInputType
# optional wall_friction: # optional value: number unit: string wall_friction_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string linear_friction_input_type:MultiInputType
# optional linear_friction: # optional value: number unit: string linear_friction_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string quadratic_friction_input_type:MultiInputType
# optional quadratic_friction: # optional value: number unit: string quadratic_friction_curve: # optional image: values: [number] unit: string domain: values: [number] unit: string trap_mode:PigTrappingMode
# optional trap_position: # optional value: number unit: string trap_pipe_name: string # optional route_mode:PigRoutingMode
# optional pipe_route_names: # optional - strAvailable units for category ‘length’
- “ft”:
foot
- “in”:
inch
- “km”:
kilometre
- “m”:
metre
- “mm”:
millimetres
Available units for category ‘mass’
- “g”:
gram
- “kg”:
kilogram
- “lbm”:
pounds mass
Available units for category ‘force’
- “daN”:
decanewtons
- “dyne”:
dynes
- “gf”:
gram force
- “kdyne”:
kilodynes
- “kgf”:
kilogram force
- “klbf”:
thousand pounds force
- “kN”:
kilonewtons
- “lbf”:
pounds force
- “Mgf”:
thousand kilograms force
- “MN”:
meganewtons
- “mN”:
millinewtons
- “N”:
newton
- “ozf”:
ounce force
- “pdl”:
poundals
- “tonfUK”:
UK tons force
- “tonfUS”:
US tons force
- “uN”:
micronewtons
Available units for category ‘force per velocity’
- “kgf.s/m”:
Kilogram force second per meter
- “lbf.s/ft”:
Pound force second per foot
- “lbf.s/in”:
Pound force second per inch
- “N.s/m”:
Newton second per meter
Available units for category ‘force per velocity squared’
- “kgf.s2/m2”:
Kilogram force second squared per meter squared
- “lbf.s2/ft2”:
Pound force second squared per foot squared
- “lbf.s2/in2”:
Pound force second squared per inch squared
- “N.s2/m2”:
Newton second squared per meter squared
Tables#
- class TablePumpDescription#
- Variables:
speeds – Pump rotational speed values
void_fractions – Pump void fraction values
flow_rates – Pump flow rate values
pressure_boosts – Pump pressure boost values
heads – Pump head values. Using SI units, H [m] = P [Pa] * Q [m^3/s] / rho_ref [kg/m^3] / g [m/s^2] rho_ref = 1000.0 [kg/m^3] g = 9.81 [m/s^2]
efficiencies – Pump efficiency values
powers – Pump power values. There a relation between other pump variables and power. In SI units: BHP [W] = P [Pa] * Q [m^3/s] / eff [%]
Definitions
class TablePumpDescription speeds:
Array
= Array(frequency, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0], rpm) void_fractions:Array
= Array(dimensionless, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], -) flow_rates:Array
= Array(volume flow rate, [0.0, 0.05, 0.1, 0.15, 0.2, 0.3, 0.0, 0.05, 0.1, 0.15, 0.2, 0.3, 0.0, 0.05, 0.1, 0.15, 0.2, 0.3, 0.0, 0.05, 0.1, 0.15, 0.2, 0.3, 0.0, 0.05, 0.1, 0.15, 0.2, 0.3, 0.0, 0.05, 0.1, 0.15, 0.2, 0.3], m3/s) pressure_boosts:Array
= Array(pressure, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 10.0, 9.0, 7.5, 5.0, 0.0, 10.0, 9.0, 8.0, 6.0, 3.5, 0.0, 14.0, 12.0, 10.0, 8.0, 5.5, 0.0, 13.5, 11.2, 9.5, 7.6, 5.2, 0.0], bar) heads:Array
= Array(length, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 122.32415902140673, 101.9367991845056, 91.74311926605505, 76.4525993883792, 50.9683995922528, 0.0, 101.9367991845056, 91.74311926605505, 81.54943934760449, 61.162079510703364, 35.67787971457696, 0.0, 142.71151885830784, 122.32415902140673, 101.9367991845056, 81.54943934760449, 56.065239551478086, 0.0, 137.61467889908258, 114.16921508664628, 96.83995922528032, 77.47196738022426, 53.00713557594292, 0.0], m) efficiencies:Array
= Array(dimensionless, [0.0, 0.311, 0.511, 0.6, 0.578, 0.2, 0.0, 0.28, 0.46, 0.54, 0.52, 0.18, 0.0, 0.311, 0.511, 0.6, 0.578, 0.2, 0.0, 0.28, 0.46, 0.54, 0.52, 0.18, 0.0, 0.311, 0.511, 0.6, 0.578, 0.2, 0.0, 0.28, 0.46, 0.54, 0.52, 0.18], %) powers:Array
= Array(power, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 160714.29, 160714.29, 176086.96, 187500.0, 173076.92, 0.0, 160714.29, 160714.29, 173913.04, 166666.67, 134615.38, 0.0, 192857.14, 192857.14, 195652.17, 200000.0, 190384.62, 0.0, 200000.0, 200000.0, 206521.74, 211111.11, 200000.0, 0.0], W)speeds: # optional values: [number] unit: string void_fractions: # optional values: [number] unit: string flow_rates: # optional values: [number] unit: string pressure_boosts: # optional values: [number] unit: string heads: # optional values: [number] unit: string efficiencies: # optional values: [number] unit: string powers: # optional values: [number] unit: string
Available units for category ‘angle per time’
- “Hz”:
hertz
- “rad/s”:
radians/second
- “rpm”:
revolutions/minute
Available units for category ‘volume flow rate’
- “bbl/d”:
barrel/day
- “bbl/hr”:
barrel/hour
- “bbl/min”:
barrel per minute
- “bbl/s”:
barrel/second
- “cm3/30min”:
cubic centimeter per thirty minutes
- “cm3/h”:
cubic centimeter per hour
- “cm3/min”:
cubic centimeter per minute
- “cm3/s”:
cubic centimeter per second
- “dm3/s”:
cubic decimetres/second
- “ft3/d”:
cubic feet/day
- “ft3/h”:
cubic feet/hour
- “ft3/min”:
cubic feet/minute
- “ft3/s”:
cubic feet/second
- “galUK/d”:
UK gallons per day
- “galUK/hr”:
UK gallons/hour
- “galUK/min”:
UK gallons/minute
- “galUS/d”:
US gallons per day
- “galUS/hr”:
US gallons/hour
- “galUS/min”:
US gallons/minute
- “kbbl/d”:
thousand barrels per day
- “L/h”:
liter per hour
- “L/min”:
liter per minute
- “L/s”:
litres/second
- “m3/d”:
cubic metres/day
- “m3/h”:
cubic metres/hour
- “m3/min”:
cubic meter per minute
- “m3/s”:
cubic metres/second
- “Mbbl/d”:
thousand barrels/day
- “Mcf/d”:
thousand cubic feet per day
- “Mm3/d”:
thousand cubic metres per day
- “Mm3/h”:
thousand cubic metres per hour
- “MMcf/d”:
million cubic feet per day
- “MMm3/d”:
million cubic metres per day
- “um3/s”:
cubic micrometres/second
Available units for category ‘volume fraction’
- “%”:
percent
- “-”:
- “m3/m3”:
cubic metres/cubic metre
Available units for category ‘pressure’
- “atm”:
Atmosphere
- “bar”:
bar
- “kgf/cm2”:
kilogram per square centimeter
- “kPa”:
kilopascals
- “MPa”:
megapascals
- “Pa”:
pascal
- “psi”:
pounds/square inch
- class CvTableDescription#
Definitions
class CvTableDescription opening:
Array
= Array(dimensionless, [], -) flow_coefficient:Array
= Array(flow coefficient, [], (galUS/min)/(psi^0.5))opening: # optional values: [number] unit: string flow_coefficient: # optional values: [number] unit: string
Available units for category ‘dimensionless’
- “%”:
percent
- “-”:
Available units for category ‘flow coefficient’
- “(galUS/min)/(psi^0.5)”:
galUs per pressure power of 0.5
- “(m3/h)/(bar^0.5)”:
flow rate per pressure power of 0.5
- “(m3/s)/(Pa^0.5)”:
flow rate per pressure power of 0.5
Plugins#
Plugin support in ALFAcase is experimental and subject to change.
- class PluginDescription#
- Variables:
name – The plugin id.
gui_models – The plugin input format depends on the specific plugin implementation.
is_enabled – A flag indicating if this plugin is enabled.
Definitions
class PluginDescription name:
Optional
[str] = None gui_models:Dict
[str, Any] = {} is_enabled: bool = Truename: string # optional gui_models: # optional string: Any is_enabled: boolean # optional
Results#
- class Results(alfacase_data_folder)#
Allows reading trend and profile curves from alfasim simulation results using network element names instead internal alfasim ids.
- class ALFASimResultMetadata(profiles, trends, time_sets, time_sets_unit, time_steps_boundaries, time_set_info, result_directory, app_version_info)#
- Variables:
profiles – Map output keys (profile id and property id) to metadata entries.
trends – Map output keys (trend id and property id) to metadata entries.
time_sets – Map sourced time set keys (tuples of relevant base time sets) to a list of list of the time step values.
time_sets_unit – The unit used by all time sets.
time_steps_boundaries – The time step boundaries index where this metadata object is relevant. The first item is the starting time step index (including) and the second is the ending time step index (excluding).
time_set_info – Map output type to maps of base time steps to TimeSetInfoItem.
result_directory – The path where this data has been read.
app_version_info – Map “base time steps” to the application version used in the simulation.