POSC Specifications: Epicentre Version 3.0 | Logical Data Model |
This change adds a new characteristic to fluid flow streams that describes the presence of contaminant in a fluid flow stream. The amount of contaminant is described as a property of association.
CHANGE ESM_fluid_flow_stream_contaminant ADD ENTITY fluid_flow_stream_contaminant (*<desc> This association identifies the presence of a contaminant in a fluid flow stream. The contaminant may be either a fluid component, a fluid phase or other material, such as sand.*) (*<projmeth>tab*) SUBTYPE OF (association); fluid_flow_stream : fluid_flow_stream (*<desc> This designates the fluid flow stream that the contaminant is defined for.*) (*<verb>describe contamination in*); fluid_component : OPTIONAL fluid_component (*<desc> This describes the contaminant as a specific or generic fluid component*) (*<verb>be contaminated by*); fluid_phase : OPTIONAL fluid_phase (*<desc> This describes the contaminant as a specific or generic fluid phase.*) (*<verb>be contaminated by*); contaminant_type : OPTIONAL material_class (*<desc> This describes the contaminant as a type of material.*) (*<verb>be contaminated by*); INVERSE pty_absolute_abundance : SET [0:?] OF pty_absolute_abundance FOR fluid_flow_stream_contaminant (*<desc> Quantity of contaminants, as expressed as a count and count units, such as 5 sacks, 3 boxes, or 4 items.*) (*<verb>have a property of*); pty_concentration_volume_per_mole : SET [0:?] OF pty_concentration_volume_per_mole FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a concentration given as volumes per mole.*) (*<verb>have a property of*); pty_concentration_mass_per_mass : SET [0:?] OF pty_concentration_mass_per_mass FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a concentration given as mass per mass.*) (*<verb>have a property of*); pty_concentration_mass_per_volume : SET [0:?] OF pty_concentration_mass_per_volume FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a concentration given as mass per volume.*) (*<verb>have a property of*); pty_concentration_volume_per_volume : SET [0:?] OF pty_concentration_volume_per_volume FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a concentration given as volume per volume.*) (*<verb>have a property of*); pty_mole_fraction : SET [0:?] OF pty_mole_fraction FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a mole fraction.*) (*<verb>have a property of*); pty_mass_fraction : SET [0:?] OF pty_mass_fraction FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a mass fraction.*) (*<verb>have a property of*); pty_concentration_mole_per_volume : SET [0:?] OF pty_concentration_mole_per_volume FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a concentration given in moles per volume.*) (*<verb>have a property of*); pty_volume_fraction : SET [0:?] OF pty_volume_fraction FOR fluid_flow_stream_contaminant (*<desc> The amount of contaminant when expressed as a volume fraction.*) (*<verb>have a property of*); UNIQUE si: fluid_flow_stream, fluid_component, fluid_phase, contaminant_type; WHERE mse: exists ( fluid_component ) xor ( exists ( fluid_phase ) xor exists( contaminant_type ) ) (*<desc> The contaminant must be designated as only one of fluid_component, fluid_phase or contaminant_type.*); END_ENTITY; ALTER ENTITY fluid_flow_stream; INVERSE ADD fluid_flow_stream_contaminant : SET [0:?] OF fluid_flow_stream_contaminant FOR fluid_flow_stream (*<desc>These are the contaminants that are present in this fluid flow stream.*) (*<verb>contain*); END_ENTITY; ALTER ENTITY fluid_component; INVERSE ADD fluid_flow_stream_contaminant : SET [0:?] OF fluid_flow_stream_contaminant FOR fluid_component (*<desc>This is the designation of this fluid component as a contaminant in a fluid flow stream*) (*<verb>be designated as*); END_ENTITY; ALTER ENTITY fluid_phase; INVERSE ADD fluid_flow_stream_contaminant : SET [0:?] OF fluid_flow_stream_contaminant FOR fluid_phase (*<desc>This is the designation of this fluid phase as a contaminant in a fluid flow stream*) (*<verb>be designated as*); END_ENTITY; ALTER ENTITY material_class; INVERSE ADD fluid_flow_stream_contaminant : SET [0:?] OF fluid_flow_stream_contaminant FOR contaminant_type (*<desc>This is the designation of this material class as a contaminant in a fluid flow stream*) (*<verb>be designated as*); END_ENTITY; ALTER ENTITY pty_absolute_abundance ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_concentration_volume_per_mole ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_concentration_mass_per_mass ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_concentration_mass_per_volume ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_concentration_mole_per_volume ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_concentration_volume_per_volume ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_mass_fraction ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_mole_fraction ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; ALTER ENTITY pty_volume_fraction ADD SUBTYPE OF (pty_transient_property) DROP SUBTYPE OF (property); ADD fluid_flow_stream_contaminant : OPTIONAL fluid_flow_stream_contaminant (*<verb>be a property of*); UNIQUE ALTER si ADD fluid_flow_stream_contaminant FIRST ADD start_time, end_time LAST; END_ENTITY; END_CHANGE;