Decant (cascade from cylinders)
decantDecanting one gas (oxygen, or helium) from source cylinders into a small cylinder without a compressor, as the app's Decant: a cascade, each cylinder equalised in turn (ideal gas). plan refills: one refill or a series (e.g. a CCR O2 cylinder from 75 to 150 bar after every dive): which cylinders each refill uses, the pressures after, how many refills the cylinders give, why it stops, and how many cylinders would be needed. plan diving_days: the app's diving-days planner (use per day, dives a day, Extra cylinders). For linked banks or a booster use fills_from_bank. Prefer it for CCR oxygen logistics. Use for "how many 3 L O2 cylinders do I need to refill my 2 L CCR cylinder after 10 dives", "how many CCR diving days do these O2 cylinders give", "koliko dana mogu roniti s ovim bocama kisika", "koliko puta mogu pretočiti kisik". Don't invent cylinders and don't change the user's gas use per dive or per day. Answer for refills: the number of complete refills, which cylinders each uses, the pressures after where useful, the cylinder that limits it, and why one more refill isn't possible. Answer for diving days: the days, dives a day, use per day, the pressures it keeps to, the cylinders used, and the Extra cylinders. Then ask whether to compare with an extra cylinder, another start pressure or another daily use.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | refills: the tank goes from start_pressure to target_pressure at every refill. diving_days: the app's Decant planner (use per day, dives a day). | refills |
| refills | No | refills: how many refills in a row are wanted (e.g. dives − 1). Left out: as many as the cylinders give. | |
| sources | No | The source cylinders, each with its volume and pressure; several identical ones: one entry with count. refills: needed; opened lowest pressure first. diving_days: decanted in this order; left out = the app's defaults (listed in `assumed`). | |
| language | No | Language of the texts in the answer: en (English) or hr (Croatian). Use the user's language. | en |
| dives_per_day | No | diving_days: dives a day. | |
| include_steps | No | Also return the app's ƒx steps ("How this was calculated"): every formula with its numbers. Long: only when the user asks how it was calculated. | |
| pressure_unit | No | Unit of every pressure in the question and the answer. | bar |
| tank_volume_l | No | Water volume of the cylinder being refilled, litres (e.g. a rebreather's 2 or 3 L). | |
| gas_he_percent | No | He percent of that gas. | |
| gas_o2_percent | No | O2 percent of the gas decanted (100 for oxygen, 0 for helium); only names it in the answer. | |
| start_pressure | No | refills: the tank's pressure before each refill (what is left after a dive), in pressure_unit. 0 = empty. This changes the result a lot: if the user did not give it, ask before calling. If you call without it, the tool assumes an empty tank and lists that in `assumed`. diving_days: its pressure now. | |
| target_pressure | No | refills: the pressure wanted after each refill, in pressure_unit (needed). diving_days: the pressure it is filled to at most. | |
| use_per_day_max | No | diving_days: highest O2 use a day. Give one use: both are taken as it. | |
| use_per_day_min | No | diving_days: lowest O2 use a day, in pressure_unit of the cylinder. | |
| fill_before_every_dive | No | diving_days: refill before every dive (true) or once a day (false). | |
| min_pressure_before_dive | No | diving_days: the cylinder needs at least this before a dive, in pressure_unit. | |
| min_pressure_to_start_day | No | diving_days, daily fill: the cylinder must start the day with at least this. Default: min_pressure_before_dive + use_per_day_max × (dives_per_day − 1) / dives_per_day. |