Docs
BaseConstant.INI_DIRECTORY_PATH + Source.class.getSimpleName() + “.ini”
will search *.ini file in: “\Ini\Source.ini”). To access a specific agent in the *.ini file, create a section with its system name (in square brackets). For example: [sourceAgent1].Source is an advanced container that allows to create various types of entry flows (oil, unstable natural gas liquid, etc.). Source agents enable to set daily or monthly flow plans from the attached database, facilitate flow smoothing for monthly values, and provide many other functions |
Plant is an agent, that allows for the configuration of the flow-splitting process by various types of processing plants in the Oil & Gas industry (such as rectification, catalytic reforming, etc.). The Plant agent contains a wide variety of settings that enable the establishment of basic operating conditions for almost any kind Plant in Oil & Gas |
RpFlowing is an advanced park agent that extends all Reservoir park agent properties. RpFlowing is characterized by continuous inflows and outflows that fill and unload some parallel connected tank (called "maps"), RpFlowing is usually used for "smoothing" outgoing flow products |
RpAccumulative is advanced park agent, that extends all Reservoir Park agent properties. RpAccumulative contains many options, which are necessary for "cumulative" reservoir parks. This agent implements procedures of accumulation, passportization (compounding), and shipment of products. In addition, RpAccumulative contains built-in mechanisms for tracking product shipment plan with the ShipmentNode agent |
ShipmentNode is an agent that allows to set plans for pumping products and monitor the degree of their implementation during modeling. This agent contains a variety of settings that allow to create different options for pumping products (daily, monthly) etc. |
Control is an agent that collects all requests from RpAccumulative and ShipmentNode agents and tracks their completion level. Control agent allows to make an effective request management because it contains some Java Interface elements that enable setting a different rules for processing requests |
SeparatorLight is an advanced separator (split) agent that allows to split the input flow into two outputs. In comparison with the AnyLogic FluidSplit, this agent enables to direct the entire flow to ONLY ONE output, set the input flow speed limit, and implement many other functions |
MixerLight is an advanced mixer (merge) agent that allows to combine two entry flows into one exit flow. In comparison with the AnyLogic FluidMerge, this agent enables to set an exit flow speed limit, and implement many other functions |
Separator is an advanced separator (split) agent that allows for splitting an incoming flow into any number of exits. In comparison with the AnyLogic FluidSplit, this agent allows for directing the entire flow to ONLY ONE output, setting as many exits as the user wants, establishing a user-defined separation factor, entering a speed limit, and implement many other functions |
Mixer is an advanced mixing (merging) agent that allows for merging of any number of input flows into one output. In comparison with the AnyLogic FluidMerge, this agent allows users to set as many input flows as desired, establishes an input speed limit, and implement many other functions |
ProductMixer is an advanced product mixing agent, that allows for the optimal mixing of input flows and product additives to create a desired product (such as petrol, kerosene, etc.). It is known that the creation of most products is accompanied by a number of requirements (such as octane number, sulfur content, saturated vapor pressure, aromatics, etc.). This agent takes these requirements into account and mixes incoming flows in an optimal way to ensure their simultaneous fulfillment |
Optimizer is an agent, that allows to set up and solve different kinds of linear programming (LP) problems (for example, splitting the input flow between plants and plant lines with the objective of minimizing residuals). The Optimizer agent can solve two types of LP problems. The first type is "parametric", where user has a ready-made lpSolve file (*.lp) with specific parameters. In this case, the Optimizer will automatically replace the parametric texts in the *.lp file with numeric values, solve the LP problem, and save it with a new name. This type of task is useful for complex LP problems when the user needs to see all the equations directly, but it is quite slow. The second type allows the user to create own LP problem equations and solve it directly, by using the internal Optimizer agent Java ILP Interface |
GasOwnNeeds is an agent, that allows to calculate the amount of gas for own needs (GON) and distribute it among Plants. As usual, the GON flow depends on the season, list of Plants, their modes, and load levels |
FlowQuota is an agent that allow to set periodic plans for pumping products. For example, set a plan for the maximum monthly (or daily) pumping. Required to account for the maximum capacity of the pumping equipment |
LoadingRack controls the loading of refined products into railway tanks/trucks at a loading rack, managing train schedules, loading operations, wagon assignments, product quantities, supply/removal durations, passportization, and overseeing the state machine for the loading workflow (supply/load/remove) |
Dispose is an agent, that allows to calculate the amount of disposed flows. In comparison with AnyLogic FluidDispose, this agent enables the collection of the same type of flows into one agent, saves the necessary statistics, and destroys them (for example, collecting all gas flows per flare) |