POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
This change alters the current PVT model for fluid phase properties. The existing model is very difficult for both reading and writing due to: * separation of point and curve data into separate instances * disconnected instances for properties that are measured together * excessive coordinate system requirements (e.g., must have temperatures) This proposal uses the concepts developed within the SAVE project to combine multiple, concurrently defined properties in the same property instance. A similar concept was also proposed during the PPDM-POSC data model merger investigation (i.e., aggregate properties). The resulting PVT model is much easier to implement, populate and query. Also, this satisfies POSC change requests 1086 and 1224.
CHANGE ESM2_fluid_phase_properties (*<REMARK> CHANGE ESM2_fluid_phase_properties *) (*<desc> This change alters the current PVT model for fluid phase properties. The existing model is very difficult for both reading and writing due to: * separation of point and curve data into separate instances * disconnected instances for properties that are measured together * excessive coordinate system requirements (e.g., must have temperatures) This proposal uses the concepts developed within the SAVE project to combine multiple, concurrently defined properties in the same property instance. A similar concept was also proposed during the PPDM-POSC data model merger investigation (i.e., aggregate properties). The resulting PVT model is much easier to implement, populate and query. Also, this satisfies POSC change requests 1086 and 1224.*) ALTER ENTITY specific_fluid_phase; INVERSE DROP pty_density_molar; DROP pty_fluid_compressibility; DROP pty_saturated_cmprs_curve; DROP pty_saturated_cmprs_point; DROP pty_saturated_fvf_curve; DROP pty_saturated_fvf_point; DROP pty_saturated_viscosity_curve; DROP pty_saturated_viscosity_point; DROP pty_specific_volume_mole; END_ENTITY; ALTER ENTITY fluid_phase_liquid ADD abstract; INVERSE DROP pty_density_liquid; DROP pty_saturated_liquid_den_curve; DROP pty_saturated_liquid_den_point; DROP pty_shrinkage_factor; DROP pty_sp_volume_mass_liquid; DROP pty_viscosity; DROP pty_viscosity_kinematic; DROP pty_viscous_compressibility; END_ENTITY; ALTER ENTITY fluid_phase_aqueous; INVERSE ADD fluid_phase_aqueous_pvt : SET[0:?] OF fluid_phase_aqueous_pvt FOR fluid_phase_aqueous (*<desc> These are the PVT properties of the aqueous phase that may be defined at specific pressures and temperatures.*) (*<verb>be characterized by*); END_ENTITY; ADD ENTITY fluid_phase_aqueous_pvt (*<desc> These are the PVT properties of an aqueous fluid defined at given pressures and temperatures. The pressure and temperature values are optional but should always be recorded, if available.*) SUBTYPE OF (process_data); fluid_phase_aqueous : fluid_phase_aqueous (*<desc> This is the aqueous fluid phase for which these PVT properties are defined.*) (*<verb>characterize*); fluid_property_set : OPTIONAL fluid_property_set (*<desc> This is the fluid property set within which these fluid property values are a part.*) (*<verb>belong to*); pressure : OPTIONAL ndt_pressure (*<desc> This is the pressure at which these PVT properties are defined.*); temperature : OPTIONAL ndt_temperature (*<desc> This is the temperature at which these PVT properties are defined.*); compressibility : OPTIONAL ndt_compressibility (*<desc> The measure of the change in volume of a fluid with respect to a unit change in pressure; expressed as a positive value for fluids that shrink as pressure is increased.*); density : OPTIONAL ndt_density_liquid (*<desc> Mass per unit volume of a fluid.*); formation_volume_factor : OPTIONAL ndt_std_volume_per_volume (*<desc> The ratio of the volume occupied by a quantity of fluid at reservoir conditions to that occupied by the same quantity at stock tank or standard conditions. This is the inverse of the shrinkage factor.*); molar_density : OPTIONAL ndt_concentration_mole_per_volume (*<desc> The ratio of the number of moles to the molar volume for a fluid.*); shrinkage_factor : OPTIONAL ndt_volume_per_std_volume (*<desc> The ratio of the volume occupied by a quantity of fluid at standard conditions to that occupied by the same quantity at reservoir conditions. This is the inverse of the formation volume factor.*); solution_gas_water_ratio : OPTIONAL ndt_std_volume_ratio (*<desc> The amount of natural gas contained in water expressed as a ratio of volumes at standard temperature and pressure.*); specific_molar_volume : OPTIONAL ndt_specific_volume_mole (*<desc> A specific volume of a fluid given as a mole basis.*); specific_volume : OPTIONAL ndt_specific_volume_mass_liquid (*<desc> A specific volume of a liquid given as a mass basis.*); viscosity : OPTIONAL ndt_viscosity_dynamic (*<desc> This describes the (dynamic) viscosity of a fluid.*); viscosity_kinematic : OPTIONAL ndt_viscosity_kinematic (*<desc> The dynamic viscosity of a fluid divided by the density of the fluid.*); viscous_compressibility : OPTIONAL ndt_compressibility (*<desc> The change in viscosity of a fluid with pressure divided by the original viscosity.*); UNIQUE si: fluid_phase_aqueous, pressure, temperature, activity; WHERE sri: fluid_phase_aqueous.fluid_system :=: fluid_property_set.fluid_system (*<desc>The fluid system described by these characteristics must be the same fluid system described by the fluid property set these characteristics belongs to.*) (*<ruletype>sri*); END_ENTITY; ALTER ENTITY fluid_phase_oleic; INVERSE DROP pty_gas_oil_pseudo_pressure; DROP pty_solution_gor_curve; DROP pty_solution_gor_point; DROP pty_undersaturated_cmprs_curve; DROP pty_undersaturated_cmprs_point; DROP pty_undersaturated_fvf_curve; DROP pty_undersaturated_fvf_point; DROP pty_undersaturated_visc_curve; DROP pty_undersaturated_visc_point; ADD fluid_phase_oleic_pvt : SET[0:?] OF fluid_phase_oleic_pvt FOR fluid_phase_oleic (*<desc> These are the PVT properties of the oleic phase that may be defined at specific pressures, temperatures and bubble points.*) (*<verb>be characterized by*); END_ENTITY; ADD ENTITY fluid_phase_oleic_pvt (*<desc> These are the PVT properties of an oleic fluid defined at given pressures, temperatures and bubble point pressures. The pressure, temperature and bubble point values are optional but should always be recorded, if available. When the bubble point is not defined, it is assumed that the fluid is saturated (that is, the bubble point pressure is the fluid pressure). When the bubble point is less than the fluid pressure, the fluid is undersaturated.*) SUBTYPE OF (process_data); fluid_phase_oleic : fluid_phase_oleic (*<desc> This is the oleic fluid phase for which these PVT properties are defined.*) (*<verb>characterize*); fluid_property_set : OPTIONAL fluid_property_set (*<desc> This is the fluid property set within which these fluid property values are a part.*) (*<verb>belong to*); pressure : OPTIONAL ndt_pressure (*<desc> This is the pressure at which these PVT properties are defined.*); temperature : OPTIONAL ndt_temperature (*<desc> This is the temperature at which these PVT properties are defined.*); bubble_point : OPTIONAL ndt_pressure (*<desc> The saturation pressure of the fluid. The pressure of a liquid phase fluid system when it is in equilibrium with an infinitesimal amount of vapor phase.*); compressibility : OPTIONAL ndt_compressibility (*<desc> The measure of the change in volume of a fluid with respect to a unit change in pressure; expressed as a positive value for fluids that shrink as pressure is increased.*); density : OPTIONAL ndt_density_liquid (*<desc> Mass per unit volume of a fluid.*); formation_volume_factor : OPTIONAL ndt_std_volume_per_volume (*<desc> The ratio of the volume occupied by a quantity of oleic phase at reservoir conditions to that occupied by the same quantity at stock tank or standard conditions. This is the inverse of the shrinkage factor.*); gas_oil_pseudo_pressure : OPTIONAL ndt_pseudo_pressure (*<desc> The real gas potential of a fluid that accounts for the presence of both oil and gas.*); molar_density : OPTIONAL ndt_concentration_mole_per_volume (*<desc> The ratio of the number of moles to the molar volume for a fluid.*); shrinkage_factor : OPTIONAL ndt_volume_per_std_volume (*<desc> The ratio of the volume occupied by a quantity of oil at standard conditions to that occupied by the same quantity at reservoir conditions. This is the inverse of the formation volume factor.*); solution_gas_oil_ratio : OPTIONAL ndt_std_volume_ratio (*<desc> The amount of natural gas contained in crude oil expressed as a ratio of volumes at standard temperature and pressure.*); specific_molar_volume : OPTIONAL ndt_specific_volume_mole (*<desc> A specific volume of a fluid given as a mole basis.*); specific_volume : OPTIONAL ndt_specific_volume_mass_liquid (*<desc> A specific volume of a liquid given as a mass basis.*); total_formation_volume_factor : OPTIONAL ndt_std_volume_per_volume (*<desc> The ratio of the volume occupied by a quantity of oleic phase at reservoir conditions to that occupied by the same fluid at stock tank or standard conditions, including the volume of the evolved gas.*); viscosity : OPTIONAL ndt_viscosity_dynamic (*<desc> This describes the (dynamic) viscosity of a fluid.*); viscosity_kinematic : OPTIONAL ndt_viscosity_kinematic (*<desc> The dynamic viscosity of a fluid divided by the density of the fluid.*); viscous_compressibility : OPTIONAL ndt_compressibility (*<desc> The change in viscosity of a fluid with pressure divided by the original viscosity.*); y_factor : OPTIONAL ndt_real4 (*<desc> A dimensionless compressibility factor used to correlate and smooth laboratory measurements.*); UNIQUE si: fluid_phase_oleic, pressure, temperature, bubble_point, activity; WHERE sri: fluid_phase_oleic.fluid_system :=: fluid_property_set.fluid_system (*<desc>The fluid system described by these characteristics must be the same fluid system described by the fluid property set these characteristics belongs to.*) (*<ruletype>sri*); val: pressure >= bubble_point (*<desc>The characteristic pressure must always be equal to or greater than the bubble point pressure.*) (*<ruletype>val*); END_ENTITY; ALTER ENTITY fluid_phase_solid; INVERSE ADD pty_isothermal_compressibility : SET[0:?] OF pty_isothermal_compressibility FOR fluid_phase_solid (*<verb>have a property of*); ADD pty_density_molar : SET[0:?] OF pty_density_molar FOR fluid_phase_solid (*<verb>have a property of*); ADD pty_specific_volume_mole : SET[0:?] OF pty_specific_volume_mole FOR fluid_phase_solid (*<verb>have a property of*); END_ENTITY; ALTER ENTITY fluid_phase_vapor; INVERSE DROP pty_density_vapor; DROP pty_dry_gas_fvf_curve; DROP pty_dry_gas_fvf_point; DROP pty_dry_gas_pressure_curve; DROP pty_dry_gas_pressure_point; DROP pty_dry_gas_viscosity_curve; DROP pty_dry_gas_viscosity_point; DROP pty_dry_gas_z_factor_curve; DROP pty_dry_gas_z_factor_point; DROP pty_gas_pseudo_pressure; DROP pty_pseudoreduced_cmprs; DROP pty_pseudoreduced_pressure; DROP pty_pseudoreduced_temperature; DROP pty_specific_volume_mass_gas; DROP pty_viscosity; DROP pty_viscosity_kinematic; DROP pty_volatile_oil_gas_ratio; DROP pty_wet_gas_density_curve; DROP pty_wet_gas_density_point; DROP pty_wet_gas_pressure_curve; DROP pty_wet_gas_pressure_point; DROP pty_wet_gas_z_factor_curve; DROP pty_wet_gas_z_factor_point; ADD fluid_phase_vapor_pvt : SET[0:?] OF fluid_phase_vapor_pvt FOR fluid_phase_vapor (*<desc> These are the PVT properties of the vapor phase that may be defined at specific pressures, temperatures and dew points.*) (*<verb>be characterized by*); END_ENTITY; ADD ENTITY fluid_phase_vapor_pvt (*<desc> These are the PVT properties of a vapor fluid defined at given pressures, temperatures and dew point pressures. The pressure, temperature and dew point values are optional but should always be recorded, if available. When the dew point is not defined, it is assumed that the fluid is saturated (that is, the gas is a wet gas and the dew point pressure is the fluid pressure). When the dew point is less than the fluid pressure, the gas is a dry gas.*) SUBTYPE OF (process_data); fluid_phase_vapor : fluid_phase_vapor (*<desc> This is the vapor fluid phase for which these PVT properties are defined.*) (*<verb>characterize*); fluid_property_set : OPTIONAL fluid_property_set (*<desc> This is the fluid property set within which these fluid property values are a part.*) (*<verb>belong to*); pressure : OPTIONAL ndt_pressure (*<desc> This is the pressure at which these PVT properties are defined.*); temperature : OPTIONAL ndt_temperature (*<desc> This is the temperature at which these PVT properties are defined.*); dew_point : OPTIONAL ndt_pressure (*<desc> The saturation pressure of the fluid. The pressure of a vapor phase fluid system when it is in equilibrium with an infinitesimal amount of liquid phase.*); compressibility : OPTIONAL ndt_compressibility (*<desc> The measure of the change in volume of a fluid with respect to a unit change in pressure; expressed as a positive value for fluids that shrink as pressure is increased.*); density : OPTIONAL ndt_density_gas (*<desc> Mass per unit volume of a fluid.*); formation_volume_factor : OPTIONAL ndt_std_volume_per_volume (*<desc> The ratio of the volume occupied by a quantity of fluid at reservoir conditions to that occupied by the same quantity at stock tank or standard conditions. This is the inverse of the shrinkage factor.*); gas_pseudo_pressure : OPTIONAL ndt_pseudo_pressure (*<desc> The real gas potential which expresses gas pressure after correcting for changes in gas viscosity and z factor with pressure.*); molar_density : OPTIONAL ndt_concentration_mole_per_volume (*<desc> The ratio of the number of moles to the molar volume for a fluid.*); pseudoreduced_compressibility : OPTIONAL ndt_real4 (*<desc> A correlating term defined as the compressibility of a gas multiplied by the pseudocritical pressure of the gas.*); pseudoreduced_pressure : OPTIONAL ndt_real4 (*<desc> The pressure of a fluid divided by its pseudocritical pressure.*); pseudoreduced_temperature : OPTIONAL ndt_real4 (*<desc> The temperature of a fluid divided by its pseudocritical temperature.*); shrinkage_factor : OPTIONAL ndt_volume_per_std_volume (*<desc> The ratio of the volume occupied by a quantity of fluid at standard conditions to that occupied by the same quantity at reservoir conditions. This is the inverse of the formation volume factor.*); specific_molar_volume : OPTIONAL ndt_specific_volume_mole (*<desc> A specific volume of a fluid given as a mole basis.*); specific_volume : OPTIONAL ndt_specific_volume_mass_gas (*<desc> A specific volume of a vapor given as a mass basis.*); viscosity : OPTIONAL ndt_viscosity_dynamic (*<desc> This describes the (dynamic) viscosity of a fluid.*); viscosity_kinematic : OPTIONAL ndt_viscosity_kinematic (*<desc> The dynamic viscosity of a fluid divided by the density of the fluid.*); viscous_compressibility : OPTIONAL ndt_compressibility (*<desc> The change in viscosity of a fluid with pressure divided by the original viscosity.*); volatile_oil_gas_ratio : OPTIONAL ndt_std_volume_ratio (*<desc> The ratio of the standard volume of crude oil in the vapor phase to the standard volume of natural gas in the vapor phase.*); z_factor : OPTIONAL ndt_real4 (*<desc> The behavior of the ideal gas deviation factor (z factor) at a condition of pressure and temperature for a vapor phase.*); UNIQUE si: fluid_phase_vapor, pressure, temperature, dew_point, activity; WHERE sri: fluid_phase_vapor.fluid_system :=: fluid_property_set.fluid_system (*<desc>The fluid system described by these characteristics must be the same fluid system described by the fluid property set these characteristics belongs to.*) (*<ruletype>sri*); END_ENTITY; ADD ENTITY fluid_property_set (*<desc> This defines a set of fluid phase properties. These include data for aqueous, oleic and vapor phases. This set of properties is unordered and each property in the set should be defined with a pressure and temperature, with bubble point pressures for oleic phases and dew point pressures for vapor phases.*) SUBTYPE OF (process_data); fluid_system : fluid_system (*<desc> This is the fluid system for which this set of fluid properties is defined.*) (*<verb>describe*); preferred_flag : OPTIONAL ndt_boolean (*<desc> The flag is set to True if this instance of fluid property set is the preferred set for the designated fluid system. Only one fluid property set should be preferred for each fluid system.*); INVERSE fluid_phase_aqueous_pvt : SET[0:?] OF fluid_phase_aqueous_pvt FOR fluid_property_set (*<desc> These are the pressure and temperature dependent properties of the aqueous fluid phase in this fluid property set.*) (*<verb>consist of*); fluid_phase_oleic_pvt : SET[0:?] OF fluid_phase_oleic_pvt FOR fluid_property_set (*<desc> These are the pressure, temperature and bubble point dependent properties of the oleic fluid phase in this fluid property set.*) (*<verb>consist of*); fluid_phase_vapor_pvt : SET[0:?] OF fluid_phase_vapor_pvt FOR fluid_property_set (*<desc> These are the pressure, temperature and dew point dependent properties of the vapor fluid phase in this fluid property set.*) (*<verb>consist of*); UNIQUE si: fluid_system, activity; END_ENTITY; ALTER ENTITY fluid_system; INVERSE ADD fluid_property_set : SET[0:?] OF fluid_property_set FOR fluid_system (*<desc> These are the fluid_property_sets that are specified for this fluid system. Each fluid_property_set defines instances of fluid phase properties that are consistent, varying in pressure and temperature.*) (*<verb>be described by*); END_ENTITY; ALTER ENTITY pty_density_molar; ALTER fluid_phase AS fluid_phase_solid ALTER TYPE AS fluid_phase_solid; END_ENTITY; ALTER ENTITY pty_density_liquid; DROP fluid_phase_liquid; UNIQUE ALTER si DROP fluid_phase_liquid; END_ENTITY; ALTER ENTITY pty_density_vapor; DROP fluid_phase_vapor; UNIQUE ALTER si DROP fluid_phase_vapor; END_ENTITY; DROP ENTITY pty_dry_gas_fvf_curve; DROP ENTITY pty_dry_gas_fvf_point; DROP ENTITY pty_dry_gas_pressure_curve; DROP ENTITY pty_dry_gas_pressure_point; DROP ENTITY pty_dry_gas_viscosity_curve; DROP ENTITY pty_dry_gas_viscosity_point; DROP ENTITY pty_dry_gas_z_factor_curve; DROP ENTITY pty_dry_gas_z_factor_point; ALTER ENTITY pty_fluid_compressibility; DROP fluid_phase; UNIQUE ALTER si DROP fluid_phase; END_ENTITY; DROP ENTITY pty_gas_oil_pseudo_pressure; DROP ENTITY pty_gas_pseudo_pressure; ALTER ENTITY pty_isothermal_compressibility; ADD fluid_phase_solid : OPTIONAL fluid_phase_solid (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_phase_solid LAST; END_ENTITY; ALTER ENTITY pty_pseudoreduced_cmprs; DROP fluid_phase_vapor; UNIQUE ALTER si DROP fluid_phase_vapor; END_ENTITY; ALTER ENTITY pty_pseudoreduced_pressure; DROP fluid_phase_vapor; UNIQUE ALTER si DROP fluid_phase_vapor; END_ENTITY; ALTER ENTITY pty_pseudoreduced_temperature; DROP fluid_phase_vapor; UNIQUE ALTER si DROP fluid_phase_vapor; END_ENTITY; ALTER ENTITY pty_saturated_cmprs_curve; DROP fluid_phase; UNIQUE ALTER si DROP fluid_phase; END_ENTITY; ALTER ENTITY pty_saturated_cmprs_point; DROP fluid_phase; UNIQUE ALTER si DROP fluid_phase; END_ENTITY; DROP ENTITY pty_saturated_fvf_curve; DROP ENTITY pty_saturated_fvf_point; DROP ENTITY pty_saturated_liquid_den_curve; DROP ENTITY pty_saturated_liquid_den_point; DROP ENTITY pty_saturated_viscosity_curve; DROP ENTITY pty_saturated_viscosity_point; DROP ENTITY pty_shrinkage_factor; DROP ENTITY pty_solution_gor_curve; DROP ENTITY pty_solution_gor_point; DROP ENTITY pty_specific_volume_mass_gas; DROP ENTITY pty_sp_volume_mass_liquid; ALTER ENTITY pty_specific_volume_mole; ALTER fluid_phase AS fluid_phase_solid ALTER TYPE AS fluid_phase_solid; END_ENTITY; DROP ENTITY pty_undersaturated_cmprs_curve; DROP ENTITY pty_undersaturated_cmprs_point; DROP ENTITY pty_undersaturated_fvf_curve; DROP ENTITY pty_undersaturated_fvf_point; DROP ENTITY pty_undersaturated_visc_curve; DROP ENTITY pty_undersaturated_visc_point; DROP ENTITY pty_viscosity; DROP ENTITY pty_viscosity_kinematic; DROP ENTITY pty_viscous_compressibility; ALTER ENTITY pty_volatile_oil_gas_ratio; DROP fluid_phase_vapor; UNIQUE ALTER si DROP fluid_phase_vapor; END_ENTITY; DROP ENTITY pty_wet_gas_density_curve; DROP ENTITY pty_wet_gas_density_point; DROP ENTITY pty_wet_gas_pressure_curve; DROP ENTITY pty_wet_gas_pressure_point; DROP ENTITY pty_wet_gas_z_factor_curve; DROP ENTITY pty_wet_gas_Z_factor_point; END_CHANGE;