Package lib_refining
package lib_refining
-
ClassDescriptionCoordinates and monitors fulfillment of requests from accumulative reservoir parks and shipment nodes.
Provides request management capabilities through:
Centralized tracking of completion status
Configurable processing rules via UI elements
Optimized request prioritization and routingRepresents a control request for product dispensing from shipping nodes or reservoir parks.Defines reference points for date-based calculations, anchored to the start of a time periodDescriptors for built-in database tablesDispose is an agent, that allows to calculate the amount of disposed flows.Tracks and enforces periodic product pumping limits (daily/monthly/etc).
Ensures operations stay within equipment capacity constraintsCalculates and distributes gas for own needs (GON) to plants.
Flow depends on season, plant list, modes and load levels.An interface for PRL objects that can be represented as a graph and interact with graph elements (edges and nodes).A class for constructing and managing a graph of OilGasNode elements.Types of nodes in a graph for calculating the component-fractional compositionThe HydroComp class is responsible for calculating the component and fractional composition of oil and gas streams in processing operations.DimensionsA utility class for loading and parsing INI configuration files.Link is an agent that allows to accept a flow on FluidEnter and pass it to FluidExit.Controls liquid cargo loading process into railway tanks/trucks at a loading rack.
Key features:
- Manages train schedules and loading operations
- Tracks wagon assignments and product quantities
- Handles supply/removal durations and passportization
- State machine for loading workflow (supply/load/remove)Loss is an agent that allows to destroy the incoming flows.Types of measurable physical quantities, with their base SI unitsMixer is an advanced mixing (merging) agent that allows for merging of any number of input flows into one output.MixerElement is an agent, that allows to mix to flows to oneMixerLight is An advanced fluid mixing agent that combines two input flows into a single output flow.
Extends basic merge functionality with additional control features not available in standard AnyLogic FluidMerge.Optimizer is a component that solves linear programming (LP) problems for optimal flow distribution between plants and production lines.Represents a processing plant in the Oil & Gas industry, capable of flow-splitting operations
such as rectification, catalytic reforming, etc.eRepairScheduleEvent Dynamic Event ClasseSpecialDates Dynamic Event ClassManages synchronization of operational modes between related plants.Agent representing a production line within a Plant, providing configuration capabilitiesRepresents an state of a plant processing line.
Key features:
Manages line states (startup, temporary, steady-state) via statechart
Tracks timing statistics for each operational mode
Handles mode transitions with configurable durations
Integrates with plant database for statistics logging
Supports separation factor configuration for different modesInterface providing configuration methods for Plant and ReservoirPark agents.Internal class containing global constants used throughout the PRL library.Base GUI abstract agent for all PrlObjects with an interface.Base abstract agent for all PRL agents.
Provides core functionality including:
- Measurement unit handling
- Time period calculations
- Agent hierarchy navigation
- Common utilities (null checks, duplicates detection)
All PRL model agents should extend this class.An advanced optimization agent that automates blending of flows and additives to produce refined petroleum products (e.g., gasoline, kerosene, diesel)specialDates Dynamic Event ClassRepresents an input flow handler for aProductMixer
, managing separation of the main product flow and residual flowsRepresents a reservoir park agent that manages the configuration and operation of fluid storage tanks.
This class serves as a base for both flowing and accumulative reservoir park types, providing common
functionality for input/output flows, mixing, separation, and statistics tracking.
Key features:
- Manages multiple tanks with configurable capacities and load levels
- Supports direct flow mode for continuous processing
- Handles input/output flow connections with mixing and separation
- Tracks statistics for both input and output flows
- Provides dynamic event handling for repairs and maintenance
- Supports configuration via INI files
- Includes visualization elements for monitoring tank states and flow rates
The class implements several interfaces including Graphable for network visualization,
PlantRpConfigurable for plant configuration, and RpContainable for container functionality.Collects statistics related to the Reservoir Park (RP)eRepair Dynamic Event ClassTypes of requests for reservoir park operations, indicating demand or operational statesRepresents operational states of a reservoir park system, describing flow control and tank management phasesManages redistribution of available reservoirs (RpTanks) between cumulative parks using the reserve concept.An advanced reservoir park agent that extends basic Reservoir Park functionality.
Provides specialized features for cumulative reservoir parks including:
Product accumulation and compounding (passportization)
Shipment procedures and planning
Integrated coordination with ShipmentNode agents
Interface defining common behaviors for reservoir park components.An advanced tank farm agent that extends standard reservoir functionality with continuous flow management.
Designed to handle parallel-connected tanks ("maps") with simultaneous:
- Continuous product inflows and outflows
- Dynamic load balancing between connected tanks
- Flow rate stabilization for downstream processesRpPlantFlowSmoothing is the class that manages flow smoothing between a reservoir park (RpFlowing) and a Plant, considering catalyst usage constraints when applicable.RpTank is an agent that allows to model tank for OIL and Gas refiningRepresents lifecycle states of a tank in a reservoir park.Separator is an advanced separator (split) agent that allows for splitting an incoming flow into any number of exits.SeparatorElement is an agent that allows separating one flow into two.
Serves as the base element for the more complex agent class Separator.SeparatorLight is an advanced separator (split) agent that allows to split the input flow into two outputs.Defines algorithms for calculating reservoir park shipment schedules.ShipmentNode is an agent class that manages product pumping plans and tracks their execution progress.
It provides configurable scheduling options for different shipment algorithms and integrates with
AnyLogic's Fluid Library for flow control.Defines supported shipment scheduling typesHandles time-based flow smoothing between monthly plans with transition periods.Source is an advanced container that allows to create various types of entry flows (oil, unstable natural gas liquid, etc.).Represents an advanced source of agent capable of producing various types of incoming flow,such as oil, natural gas liquids (NGL) and other fluidsRepresents statistics data for the applicationTracks and manages flow statistics for Plant or ReservoirPark input flows.Tracks and manages statistics for a loading rack, including: - Incoming/outgoing flow measurements (mass/speed) - Train loading operations and schedules - Provides formatted output for statistical dataProvides statistics collection and management functionality for mixer agents.Provides statistical calculations and data management for a Plant.Statistics collector for ProductMixer operations.Collects and provides statistical data for reservoir park operations.Provides statistics collection and management functionality for separator agents.A class for tracking and managing shipment node statistics, including entrance/exit flows, plan execution progress, and database operations for storing and retrieving historical data.Provides statistics collection and management functionality for source agents.Represents an immutable train entity with schedule, capacity, and operation data.
Key features:
- Stores train schedule, name, arrival time, and wagon assignments
- Tracks both planned and actual loading quantities per product
- Provides durations for wagon supply/removal operations
- Auto-loads operation timings from database with fallback defaults