- We have decided internally to revert the versioning schema back to SemVer, starting at
1.0.0
, in order to improve better backward and forward compatibility support for plugins. - Fix bug related to Probabilistic History Matching result reader. The shape of result was wrong.
- Add the heat transfer mechanism for fluid materials composed by a parcel of radiation and convection.
- Added support to read historic data curves directly from the results of History Matching analyses.
- Added support for warning and information logging.
- Changed version scheme to match the one used in ALFAsim.
- Added an optional
alfasim_version_info
field to .alfacase files, filled in automatically when the file is generated by ALFASim. - Added an optional
comment
field to .alfacase files which can hold arbitrary text, where users or tools can annotate any information or data they deem relevant. - Fixed loading of Controller equipment.
- Version bump to synchronize with ALFAsim (no relevant changes).
- Added support for user plugins have multiple python source files, the "user plugin entry point" logic is unchanged, but extra python code could be placed in alfasim_sdk_plugins.<plugins_id> and be imported at runtime;
- Added
enable_fast_compositional
attribute toNumericalOptionsDescription
.
- Added support for Python 3.10.
- Dropped support for EOL Python 3.6 and 3.7.
- Remove pins for
strictyaml
and no longer requireruamel.yaml
.
- Disable internal hdf file locks.
- Added
esp_thermal_efficiency_model
attribute toPumpEquipmentDescription
. - Added
esp_manufacturer
andesp_model
attributes toPumpEquipmentDescription
. - Removed
user_defined_esp_table
andesp_parameters
fromPumpEquipmentDescription
. pyinvoke
is now used to manage plugins tasks.
- Loose pinned requirements for
barril
.
- Added support to export and import configuration data from plugins.
- Added a fixture
alfasim_runner
(add to pytest relevant configurationalfasim_sdk.testing.fixtures
to use it) to allow plugin authors to run their plugin against an installed version of ALFAsim in a test environment. - Added a helper to read ALFAsim simulation results (
alfasim_sdk.result_reader.reader.Results
). - Added
heads`
,efficiencies
, andpowers
attributes toTablePumpDescription
. - Added
esp_viscosity_model
attribute toPumpEquipmentDescription
. - Added
user_defined_esp_table
andesp_parameters
attributes toPumpEquipmentDescription
. Now, an ESP can be created aseps_parameters
= [user_defined
orcatalog
]. When it's created asuser_defined
, the pump table is read from auser_defined_esp_table
. Otherwise, is read from aesp_table
.
- Breaking Change: Available units for category
angle per time
have been restricted toHz
,rpm
andrad/s
only;
- Hot fix release, loosing pin requirements for barril.
- Problem during deploy.
- Problem during deploy.
Add Electric Submersible Pump (ESP) input for
PumpEquipmentDescription
. The new inputs are:esp_table
: table created throughTablePumpDescription
esp_speed_input_type
: type of speed inputConstant
orTransient
esp_speed
: constant speed valueesp_speed_curve
: curve defining time vs speed valuesesp_number_of_stages
: number of stages for ESPesp_reference_density
: rated density used to defined theesp_table
Breaking Change: Change in
PhysicsDescription
: split emulsion model into relative viscosity, droplet size, and inversion point models and a flag to activate the emulsion models.Examples on how to update previous .alfacase files with emulsion model:
Relative viscosity model:
Before:
emulsion_model: taylor1932
After:
emulsion_model_enabled: True emulsion_relative_viscosity_model: taylor1932
Droplet size model:
Before:
emulsion_model: hinze1955
After:
emulsion_model_enabled: True emulsion_droplet_size_model: hinze1955
Inversion point model:
Before:
emulsion_model: brinkman1952_and_yeh1964
After:
emulsion_model_enabled: True emulsion_inversion_point_model: brinkman1952_and_yeh1964
Breaking Change: change signature of hook
calculate_relative_emulsion_viscosity
. This hook is also receiving the fluid temperature and a flag indicating whether the dispersion is water in oil or oil in water;Add new emulsion relative viscosity models:
pal_rhodes1989
;ronningsen1995
;volumetric_weight
;woelflin_1942
;barnea_mizrahi1976
;table_based
;
Add emulsion constant inversion point model;
Add emulsion relative viscosity tuning factor;
Fix
automatic_profile_frequency
andautomatic_trend_frequency
parameters being ignored inconvert_alfacase_to_description
;
Add black-oil properties to PVT Correlations case description
PvtModelCorrelationDescription
Breaking Change: Change in
PvtModelsDescription
renamed experimental compositional models holder property fromcompositions
tocompositional
;Example on how to update previous .alfacase files with compositional PVT models:
Before:
pvt_models: compositions: Compositional model 1: equation_of_state_type: pvt_compositional_peng_robinson ... # Other properties
After:
pvt_models: compositional: Compositional model 1: equation_of_state_type: pvt_compositional_peng_robinson ... # Other properties
Breaking Change: Change signature of hook
update_internal_deposition_layer
. Now, instead of the deposition thickness, it is returned the phase index of phase being deposited and the thickness variation rate.Breaking Change: Change signature of hook
calculate_relative_emulsion_viscosity
and functionget_relative_emulsion_viscosity
. Indices of continuous and dispersed fields were removed.Add
ControllerTrendDescription
, a new type of trend available inTrendsOutputDescription
.Add method
get_deposition_thickness
to retrieve the current thickness of a phase deposited on pipe wall.Add
flow_pattern_model
andregime_capturing_mesh_treshold
attributes toPipeDescription
.Add Combined PVT model description classes (
PvtModelCombinedDescription
andCombinedFluidDescription
).
Breaking Change: Change in
AnnulusDescription
to support different types of annulus equipment. NowAnnulusDescription
has an attributeAnnulusEquipmentDescription
, which holds a dict that can contain multiple different equipment types, for which the current available options are:LeakEquipmentDescription
;GasLiftValveEquipmentDescription
;
Example on how to update previous .alfacase files with annulus equipment:
Before:
annulus: gas_lift_valve_equipment: Gas Lift Valve (Well 1 > Annulus) 1: position: value: 100.0 unit: m ... # Other properties
After:
annulus: equipment: gas_lift_valves: Gas Lift Valve (Well 1 > Annulus) 1: position: value: 100.0 unit: m ... # Other properties
Removed force per square velocity unit definition, it is present in the new barril version.
- Breaking Change: Change
TrendOutputDescription
to support different trends types. Now trends inCaseOutputDescription
are an object ofTrendsOutputDescription
that contains a list for each trend type. The available trend types are:PositionalPipeTrendDescription
;GlobalTrendDescription
;OverallPipeTrendDescription
;EquipmentTrendDescription
;SeparatorTrendDescription
;
- Add new API functions related to Multi-Field Description info:
get_number_of_fields
,get_number_of_phases
,get_number_of_layers
andget_number_of_phase_pairs
. - Add new API functions related to Multi-Field Description phase and field ids:
get_phase_id_of_fields
,get_field_ids_in_layer
andget_phase_pair_id
. - Add LeakEquipment equipment.
- Add SurgeVolumeOptionsDescription (optional, used by PositionalPipeTrendDescription to hold some input for surge volume curves calculation).
- Temporarily pin
strictyaml
dependency due to conflicts.
- Add a new category
gas standard volume
from quantitystandard volume
. - Add transient input for:
MassSourceNode
andMassSourceEquipment
:temperature
,volumetric_flow_rates_std
,mass_flow_rates
,total_mass_flow_rate
,water_cut
,gas_oil_ratio
;PressureNode
andReservoirInflowEquipment
:pressure
,temperature
,mass_fractions
,volume_fractions
,gas_liquid_ratio
,gas_oil_ratio
,water_cut
;LinearIPR
:well_index
;HeatSourceEquipment
:power
;
- Add two new hooks to calculate solids model (for slurry viscosity and slip velocity).
- Breaking Change: Change
OpeningCurveDescription
(opening_curve
attribute) forCurve
from barril. - Breaking Change: Change signature of
HOOK_INITIALIZE_STATE_VARIABLES_CALCULATOR
. - Breaking Change: Change signature of
HOOK_CALCULATE_RELATIVE_EMULSION_VISCOSITY
. - Add new API function
get_relative_emulsion_viscosity
which is a helper function that can be used in the Hooks of Liquid-Liquid Mechanistic Model.
- Add new CLI command called
update
. It updates files automatically generated by alfasim-sdk. - Add gas and liquid separation efficiency to
Separator
model. - Breaking Change: Replaced radius from
Separator
geometry definition by diameter. - Add new hook to calculate relative emulsion viscosity and also add the possibility of choosing it in the
PhysicsDescription
.
- Add context support on
alfasim_configure_fields
,alfasim_configure_layers
andalfasim_configure_phases
. - Change category for
volumetric_flow_rates_std` from ``volume flow rate
tostandard volume per time
. - Rename
convert_alfacase_to_case
toconvert_alfacase_to_description
. - Add new category:
gas standard volume per time
, with same units asstandard volume per time
. - Drop
B_parameter
as Lee-Chien method for surface tension is not supported anymore. - Add option to set the category for
SecondaryVariable
object - Add
WallsWithoutEnvironment
toPipeEnvironmentHeatTransferCoefficientModelType
enum. - Add properties that control automatic definition of restart autosave, trend and profile saving frequency to
TimeOptionsDescription
andCaseOutputDescription
. - Update documentation of
get_simulation_array
, the wetted perimeters of layers are available. - Add new API functions related Liquid-Liquid Mechanistic Model Hooks.
- Add four new hooks to calculate the Liquid-Liquid Mechanistic Model.
- Add support for alfacase.
- Released with ALFAsim 1.8.0.
- Internal release only.
- Invalid release due to packaging error.
- Remove api functions get_wall_layer_id and set_wall_layer_property.
- Add thickness, density, heat_capacity, thermal_conductivity parameters on update_internal_deposition_layer
- Add new API functions related unit cell model friction factor hooks.
- Add two new hooks to calculate the unit cell model friction factor for stratified and annular flows.
- Adopt terminology gas-oil-water
- Add a new hook to evaluate the thickness of the deposited layer at the inside of the pipeline walls and it accounts for the diameter reduction.
- Rename HydrodynamicModelType items from snake_case to CamelCase, a backward compatibility option is kept.
- Add "required-alfasim-sdk" key on plugin.yaml to identify the required version of alfasim-sdk.
- First release.