In other languages: Čeština Deutsch Español Français 日本語 Polski Русский Українська 简体中文

Fluid system: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (→‎Types: typo)
(Update to 2.0 fluid mechanics:)
 
(86 intermediate revisions by 21 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
'''Liquids''' <small>(''[[Liquids#Notes|note]]'')</small> are non-solid [[items]], examples including water and oil.
{{Cleanup|This page needs to be updated for Factorio 2.0 release, due to changes in fluid mechanics.}}
'''Fluids''' are non-solid items, such as [[water]] and [[oil]]. They can normally only exist inside entities for fluid handling (like [[pipe]]s), and buildings that have fluids as input ingredients or products (like an [[oil refinery]]).


==Behavior==
== Fluids ==
[[File:fluids_gui.png|thumb|300px|right|"Fluids" tab on the [[production statistics]] screen.]]
The following fluids are available in-game:


Liquids can only exist inside [[pipe]]s and certain buildings, meaning they cannot be carried by the player, moved using [[inserters]], dropped on the ground, or even dumped in a lake. They are counted in continuous fractions, rather than discrete integers. Liquids can be silently destroyed by removing buildings or pipes, mixing types of liquid, or at the input of a [[steam engine]].
: {{Imagelink|Water}} {{Imagelink|Steam}} {{Imagelink|Crude oil}} {{Imagelink|Petroleum gas}} {{Imagelink|Light oil}} {{Imagelink|Heavy oil}} {{Imagelink|Lubricant}} {{Imagelink|Sulfuric acid}} {{Imagelink|Thruster fuel}}{{SA}} {{Imagelink|Thruster oxidizer}}{{SA}} {{Imagelink| Lava}}{{SA}} {{Imagelink| Molten iron}}{{SA}} {{Imagelink|Molten copper}}{{SA}} {{Imagelink|Holmium solution}}{{SA}} {{Imagelink|Electrolyte}}{{SA}} {{Imagelink|Ammoniacal solution}}{{SA}} {{Imagelink|Ammonia}}{{SA}} {{Imagelink|Fluorine}}{{SA}} {{Imagelink|Fluoroketone (hot)}}{{SA}} {{Imagelink|Fluoroketone (cold)}}{{SA}} {{Imagelink|Lithium brine}}{{SA}} {{Imagelink|Plasma}}{{SA}}


== Types ==
== Mechanics ==
Fluids cannot be carried by the player, moved using [[inserters]], dropped on the ground, nor stored in chests, unless the fluids are stored in [[barrel]]s. They cannot be spilled or even dumped in a lake, and are counted in continuous fractions, rather than discrete integers.<br>
When the player picks up a structure that contains fluids, the contained fluid will try to flow into connected structures and any excess fluid that does not fit is destroyed.


{| class="wikitable"
=== Storage ===
In the game, fluid is held in entities that behave as vessels (fluid boxes) of a defined size (volume). The vessels automatically connect to each other if their inputs/outputs are adjacent (pipes connect to all directions) and allow fluids to flow between them.


| {{imagelink|water|Water}} || Used in creating [http://www.factorioforums.com/wiki/index.php?title=Electric_network electricity] and used in combination with other liquids.
The '''volume''' of fluid contained in a fluid box is a value between 0 and the maximum volume. For instance, the pipe can hold 100 units of fluid, therefore the value in the pipe can be a number between 0 and 100. The '''level''' of fluid in a given entity is manifested by a percentage of the entity's maximum volume that is being occupied by a fluid. It can be observed in pipes and tanks; they have windows through which the fluid is seen at a certain level, or perhaps even as just a small trickle.
|-
| {{imagelink|crude-oil|Crude Oil}} || Extracted from [[Oil field]]s by [[Pumpjack]]s and can be converted to [[Petroleum Gas]], [[Light Oil]], and [[Heavy Oil]].
|-
| {{imagelink|petroleum-gas|Petroleum Gas}} || Converted from [[Crude Oil]]. Used to create various items.
|-
| {{imagelink|light-oil|Light Oil}} || Converted from [[Crude Oil]]. Used to create various items. Can be converted into [[Petroleum Gas]].
|-
| {{imagelink|heavy-oil|Heavy Oil}} || Converted from [[Crude Oil]]. Can be converted to [[Light Oil]] and [[Lubricant]].
|-
| {{imagelink|sulfuric-acid|Sulfuric Acid}} || Converted from [[Sulfur]], [[Iron Plate]]s, and [[Water]]. Can be used to create various items.
|-
| {{imagelink|lubricant|Lubricant}} || Converted from [[Heavy Oil]]. Used mainly to create [[Express transport belt]]s  and [[Engine]]s.
|-
|}


== Machines ==
=== Fluid mixing ===
[[File:Pipe_GUI.png|right|frame|GUI of a pipe inside a fluid system containing mixed fluids. Clicking the trash can icon next to a fluid will flush that fluid from the system.]]
The game will prevent players from accidentally mixing fluids when placing most buildings, e.g. [[pipe]]s containing different fluids cannot be placed directly next to each other. However, not every possible case of fluid mixing is considered, so the player may still mix fluids accidentally or by purposely working around the building restrictions. A fluid system containing mixed fluids can be cleared of the undesired fluids in the GUI of a pipe or [[storage tank]] that is part of that fluid system. Fluids that are flushed from pipes or storage tanks are deleted permanently.


{| class="wikitable"
In a fluid system that contains mixed fluids, the alt-mode fluids icons on its pipes/storage tanks will reflect the fluid that is contained in that specific structure. So, it may look like a fluid system only contains one fluid when looking at the alt-mode icons, when in reality it contains multiple fluids which are located in some other connected structures. The GUI of a connected pipe or storage tank will always show all fluids contained in the fluid system.<br>
This means that if the game disallows connecting two pipes that look like they contain the same fluid with "Cannot connect systems with different fluids", one of the fluid systems contains multiple fluids. This can solved easily by opening the GUIs of the pipes that the game refuses to connect which will show the extra fluid and allow flushing it from the fluid system.


| {{imagelink|oil-refinery|Oil refinery}} || Converts [[Crude oil]] into [[Heavy oil]], [[Light oil]], and [[Petroleum gas]].
=== Flow ===
|-
All connected tanks and pipes are treated as a single vessel in that ''the level of fluid must be equal in all parts'', to even out pressure exacted by a higher fluid level on smaller ones. This is why level is also often referred to as ''pressure'', even though pressure is actually caused by a difference in level between two entities. All flow of fluid that happens between pipes is to achieve this balance (pumps practically ignore it and buildings disrupt it; more on that further below). The flow rate between pipes is dependent on pressure (the difference in level between the adjacent entities), it becomes slower as pipes even their levels out.
| {{imagelink|chemical-plant|Chemical plant}} || Changes liquid to other forms as well as crafting some recipes that require liquids.
|-
| {{imagelink|pumpjack|Pumpjack}} || Extracts [[Crude oil]] from Oil fields.
|-
| {{imagelink|boiler|Boiler}} || When [[fuel|fueled]] increases the temperature of water flowing through.
|-
| {{imagelink|steam-engine|Steam engine}} || Uses heated water to generate [[Electric system|electricity]].
|-
|}


== Piping ==
Coming back to how the 'level' is defined, this also means that all connected pipes and tanks attempt to even out to the same percentage of their respective volumes. For example, if 12,550 units of fluid are left to flow into a storage tank of 25,000-unit capacity with one pipe of 100-unit capacity connected, there will be 12,500 units in the storage tank and 50 units in the pipe, both being filled to the same '''percentage''' (50%) of their capacities, even though the amounts themselves are unequal.
<!--''This section should explain: link to liquid stacks, pipe window and how to get information out of it (animations would be handy), pipes and their max. throughput, link to maximum length of pipes, difference between pipe and pipe to ground, storage tank and its special connections and comparing to pipes (is nothing than a big pipe), pump and max. throughput (how much needed), small pump, how to make short connections, long distance piping, refreshing the pressure for more throughput, how to pump equal amounts of liquids in two directions...'' -->


''Piping'' is the most common way to move liquids in factorio.
Machines that produce fluids put them in their output slots, which are related to a specifically labeled output pipe socket somewhere on the machine (pressing {{Keybinding|Alt}} reveals the labels). The slot will attempt to empty itself into the entity connected to the machine's socket, unless it is full, or contains a non-matching fluid. Machines that consume fluids also have an accordingly labeled pipe input socket. If an entity containing the correct fluid is connected to it, the machine will start behaving like a pipe that can never be filled, meaning the fluid from connected pipes and tanks drains into the machine at a fixed rate, until the machine's input slot is full. There may be machines that have pipe sockets for both input and output (like a [[electric mining drill|drill]] placed over [[uranium ore]]). They then drain the fluid for themselves first, and once full, behave as a regular pipe that attempts to even out its level with adjacent entitites. If there are multiple output/input sockets for one fluid on a machine, their activity is distributed to them equally unless some of them are blocked/full.


Key entities used in piping and general liquid/gas handling:
=== Temperature ===
Temperature is currently only relevant in heating water as a medium for power generation. Even though all fluids in the game have a temperature value, it is generally the default 15°C.


{| class="wikitable"
Energy, whether harnessed from [[fuel]] in [[boiler]]s, or from [[Nuclear power (research)|nuclear power]] through [[heat exchanger]]s, can be used to turn [[water]] to [[steam]], being a [[Energy and work|liquid form of work]]. Steam holds energy at a ratio of 0.2 kJ per °C per unit. In other words: 0.2 kJ of work is necessary to heat a unit of steam by one °C. Since steam/water is set to have a maximum temperature of 1000°C and minimum of 15°C, the most work that can be done on one unit is 197 kJ.


| {{imagelink|pipe|Pipe}} || Used to direct the flow of liquids.
In practice, this is barely utilized in a great variety: Boilers only output steam of 165°C temperature, and heat exchangers only output 500°C hot steam, never hotter, never colder; if insufficient energy is supplied, the heaters do not output steam altogether. The steam also does not grow colder over time. Using the 165°C steam in a [[steam engine]] has the same effect as using it in a [[steam turbine]], although it is impractical, since turbines are made to consume 500°C (superheated) steam, generating proportionally more power. All of this makes for no need of exact calculations.
|-
| {{imagelink|pipe-to-ground|Pipe-to-ground}} || Used to cross other pipes or belts.
|-
| {{imagelink|storage-tank|Storage tank}} || Stores liquids for later use.
|-
| {{imagelink|pump|Offshore pump}} || Provides [[Water]] extracted from a water tile.
|-
| {{imagelink|small-pump|Small pump}} || Moves fluids from its input to its output when powered and prevents the opposite from happening always.
|-
|}


=== Pressure and throughput ===
== Transport ==
Fluids can be transported through pipelines, barrels, or railway. It is generally practical to use piping for short-distance distribution to machines (or barrelling, if there is need to use belts), and railway transportation for longer distances.


Liquid will move in pipes from high pressure to low pressure. The pressure of a liquid in a pipe can be seen through the pipe window. A pipe with high pressure will show itself nearly full, a pipe with low pressure will show a small trickle of the liquid.
=== Pipelines ===
[[File:pipes_carrying_fluids.png|thumb|312px|Eight pipelines, each carrying a different fluid.]]


==Flow mechanics==
'''[[Pipe|Pipes]]''' are the most basic way to channel fluids from A to B. They automatically connect to any adjacent pipe and can do so to all four cardinal directions simultaneously. [[Pipe to ground|Underground pipes]] only work in two opposite directions, linking to another underground pipe on one side, and to another entity on the other. If a pipe section becomes too long without using pumps (spreading outside a 320x320 block or 10x10 chunk area), fluid will not flow until the pipeline is broken up by a pump. '''[[Storage tank|Tanks]]''' behave the same as pipes, except their volume is much greater.
{{Main|Liquids/Pipe physics}}
All types of liquid have the same properties, like their fluidity, density, and heat capacity.


==Using water to generate power==
'''[[Pump]]s''' use electrical power to transfer fluids in one direction. They also block any back-flow, which means they can pressurize a section of piping, filling it as much as possible. They can also be disabled using the [[circuit network]] which stops fluid flow through the pump.
{{Main|Liquids/Hot|Power Production}}
Liquids can be used to generate power.


==Oil processing==
A continuous pipeline (meaning one that is not split by pumps) will transfer fluid instantly, with no flow restriction, irrespective of the distance, as long as the pipeline is not too long (as defined above).
{{Main|Oil processing}}


==History==
=== Barrels ===
'''[[Barrel]]s''' are used by [[Assembling machine]]s to effectively "bottle" fluids into an item that can be handled like any other item; carried in an inventory, placed in chests and handled by [[Inserters]]. This allows the player to transport fluids via the [[belt transport system]] and the [[logistic network]] (as well as the [[railway]], although fluid wagons are also an option on rails). Assembling machines are also used to empty the barrels, depositing their contents to pipes and leaving an empty barrel for another use.


Water was the first liquid to be added to the game. In [[Version0.9|v0.9]] the [[oil processing]] system, and therefore new liquids, including crude oil and petroleum gas, were added.
=== Railway ===
'''[[Railway]]''' is another method of transporting fluids, and can be conducted in two ways: Either the fluids are directly pumped into a [[fluid wagon]], or they are poured into barrels and loaded into [[cargo wagon]]s. Both methods have their advantages:


==See also==
'''Advantages of using fluid wagons'''
* Higher capacity (50k vs 20k)


* [[Liquids/Hot|Hot liquids]]
'''Advantages of using barrels in cargo wagons'''
* [[Liquids/Pipe physics|Pipe physics]]
* A single cargo wagon can transport multiple types of barrelled fluid (and regular items at the same time)
* Cargo wagons, [[Fluid wagon#Troubleshooting|as opposed to fluid wagons]], don't need to be perfectly aligned to be (un-)loaded, allowing for more flexible train station designs


==Notes==
== See also ==
* [[Oil processing]]
* [[Power production]]


#"Fluids" is the proper term for the concept this article is about, as it explains the properties and uses of both liquids and gases.
{{C|Logistics{{!}}#Fluid system}}
 
{{C|Energy and fluid distribution{{!}}#Fluid system}}
{{C|Liquid network}}

Latest revision as of 23:05, 10 November 2024

Not-enough-repair-packs-icon.png
Page "Fluid system" has been recommended for clean-up. Reason: This page needs to be updated for Factorio 2.0 release, due to changes in fluid mechanics.
This may mean fixing grammar or broken links, providing better explanations, or removing incorrect/outdated info.
Further recommendations for this page's clean-up can be made at Talk:Fluid system.

Fluids are non-solid items, such as water and oil. They can normally only exist inside entities for fluid handling (like pipes), and buildings that have fluids as input ingredients or products (like an oil refinery).

Fluids

"Fluids" tab on the production statistics screen.

The following fluids are available in-game:

Water.png
Water
Steam.png
Steam
Crude oil.png
Crude oil
Petroleum gas.png
Petroleum gas
Light oil.png
Light oil
Heavy oil.png
Heavy oil
Lubricant.png
Lubricant
Sulfuric acid.png
Sulfuric acid
Thruster fuel.png
Thruster fuel
Thruster oxidizer.png
Thruster oxidizer
Lava.png
Lava
Molten iron.png
Molten iron
Molten copper.png
Molten copper
Holmium solution.png
Holmium solution
Electrolyte.png
Electrolyte
Ammoniacal solution.png
Ammoniacal solution
Ammonia.png
Ammonia
Fluorine.png
Fluorine
Fluoroketone (hot).png
Fluoroketone (hot)
Fluoroketone (cold).png
Fluoroketone (cold)
Lithium brine.png
Lithium brine
Plasma.png
Plasma

Mechanics

Fluids cannot be carried by the player, moved using inserters, dropped on the ground, nor stored in chests, unless the fluids are stored in barrels. They cannot be spilled or even dumped in a lake, and are counted in continuous fractions, rather than discrete integers.
When the player picks up a structure that contains fluids, the contained fluid will try to flow into connected structures and any excess fluid that does not fit is destroyed.

Storage

In the game, fluid is held in entities that behave as vessels (fluid boxes) of a defined size (volume). The vessels automatically connect to each other if their inputs/outputs are adjacent (pipes connect to all directions) and allow fluids to flow between them.

The volume of fluid contained in a fluid box is a value between 0 and the maximum volume. For instance, the pipe can hold 100 units of fluid, therefore the value in the pipe can be a number between 0 and 100. The level of fluid in a given entity is manifested by a percentage of the entity's maximum volume that is being occupied by a fluid. It can be observed in pipes and tanks; they have windows through which the fluid is seen at a certain level, or perhaps even as just a small trickle.

Fluid mixing

GUI of a pipe inside a fluid system containing mixed fluids. Clicking the trash can icon next to a fluid will flush that fluid from the system.

The game will prevent players from accidentally mixing fluids when placing most buildings, e.g. pipes containing different fluids cannot be placed directly next to each other. However, not every possible case of fluid mixing is considered, so the player may still mix fluids accidentally or by purposely working around the building restrictions. A fluid system containing mixed fluids can be cleared of the undesired fluids in the GUI of a pipe or storage tank that is part of that fluid system. Fluids that are flushed from pipes or storage tanks are deleted permanently.

In a fluid system that contains mixed fluids, the alt-mode fluids icons on its pipes/storage tanks will reflect the fluid that is contained in that specific structure. So, it may look like a fluid system only contains one fluid when looking at the alt-mode icons, when in reality it contains multiple fluids which are located in some other connected structures. The GUI of a connected pipe or storage tank will always show all fluids contained in the fluid system.
This means that if the game disallows connecting two pipes that look like they contain the same fluid with "Cannot connect systems with different fluids", one of the fluid systems contains multiple fluids. This can solved easily by opening the GUIs of the pipes that the game refuses to connect which will show the extra fluid and allow flushing it from the fluid system.

Flow

All connected tanks and pipes are treated as a single vessel in that the level of fluid must be equal in all parts, to even out pressure exacted by a higher fluid level on smaller ones. This is why level is also often referred to as pressure, even though pressure is actually caused by a difference in level between two entities. All flow of fluid that happens between pipes is to achieve this balance (pumps practically ignore it and buildings disrupt it; more on that further below). The flow rate between pipes is dependent on pressure (the difference in level between the adjacent entities), it becomes slower as pipes even their levels out.

Coming back to how the 'level' is defined, this also means that all connected pipes and tanks attempt to even out to the same percentage of their respective volumes. For example, if 12,550 units of fluid are left to flow into a storage tank of 25,000-unit capacity with one pipe of 100-unit capacity connected, there will be 12,500 units in the storage tank and 50 units in the pipe, both being filled to the same percentage (50%) of their capacities, even though the amounts themselves are unequal.

Machines that produce fluids put them in their output slots, which are related to a specifically labeled output pipe socket somewhere on the machine (pressing Alt reveals the labels). The slot will attempt to empty itself into the entity connected to the machine's socket, unless it is full, or contains a non-matching fluid. Machines that consume fluids also have an accordingly labeled pipe input socket. If an entity containing the correct fluid is connected to it, the machine will start behaving like a pipe that can never be filled, meaning the fluid from connected pipes and tanks drains into the machine at a fixed rate, until the machine's input slot is full. There may be machines that have pipe sockets for both input and output (like a drill placed over uranium ore). They then drain the fluid for themselves first, and once full, behave as a regular pipe that attempts to even out its level with adjacent entitites. If there are multiple output/input sockets for one fluid on a machine, their activity is distributed to them equally unless some of them are blocked/full.

Temperature

Temperature is currently only relevant in heating water as a medium for power generation. Even though all fluids in the game have a temperature value, it is generally the default 15°C.

Energy, whether harnessed from fuel in boilers, or from nuclear power through heat exchangers, can be used to turn water to steam, being a liquid form of work. Steam holds energy at a ratio of 0.2 kJ per °C per unit. In other words: 0.2 kJ of work is necessary to heat a unit of steam by one °C. Since steam/water is set to have a maximum temperature of 1000°C and minimum of 15°C, the most work that can be done on one unit is 197 kJ.

In practice, this is barely utilized in a great variety: Boilers only output steam of 165°C temperature, and heat exchangers only output 500°C hot steam, never hotter, never colder; if insufficient energy is supplied, the heaters do not output steam altogether. The steam also does not grow colder over time. Using the 165°C steam in a steam engine has the same effect as using it in a steam turbine, although it is impractical, since turbines are made to consume 500°C (superheated) steam, generating proportionally more power. All of this makes for no need of exact calculations.

Transport

Fluids can be transported through pipelines, barrels, or railway. It is generally practical to use piping for short-distance distribution to machines (or barrelling, if there is need to use belts), and railway transportation for longer distances.

Pipelines

Eight pipelines, each carrying a different fluid.

Pipes are the most basic way to channel fluids from A to B. They automatically connect to any adjacent pipe and can do so to all four cardinal directions simultaneously. Underground pipes only work in two opposite directions, linking to another underground pipe on one side, and to another entity on the other. If a pipe section becomes too long without using pumps (spreading outside a 320x320 block or 10x10 chunk area), fluid will not flow until the pipeline is broken up by a pump. Tanks behave the same as pipes, except their volume is much greater.

Pumps use electrical power to transfer fluids in one direction. They also block any back-flow, which means they can pressurize a section of piping, filling it as much as possible. They can also be disabled using the circuit network which stops fluid flow through the pump.

A continuous pipeline (meaning one that is not split by pumps) will transfer fluid instantly, with no flow restriction, irrespective of the distance, as long as the pipeline is not too long (as defined above).

Barrels

Barrels are used by Assembling machines to effectively "bottle" fluids into an item that can be handled like any other item; carried in an inventory, placed in chests and handled by Inserters. This allows the player to transport fluids via the belt transport system and the logistic network (as well as the railway, although fluid wagons are also an option on rails). Assembling machines are also used to empty the barrels, depositing their contents to pipes and leaving an empty barrel for another use.

Railway

Railway is another method of transporting fluids, and can be conducted in two ways: Either the fluids are directly pumped into a fluid wagon, or they are poured into barrels and loaded into cargo wagons. Both methods have their advantages:

Advantages of using fluid wagons

  • Higher capacity (50k vs 20k)

Advantages of using barrels in cargo wagons

  • A single cargo wagon can transport multiple types of barrelled fluid (and regular items at the same time)
  • Cargo wagons, as opposed to fluid wagons, don't need to be perfectly aligned to be (un-)loaded, allowing for more flexible train station designs

See also