Pressure
Свойства материалов |
Первичные: Ценность • Цвет • Плотность • Эластичность • Температура |
Производные: Магмоустойчивость • Огнеустойчивость |
Жидкость: Глубина • Поток • Давление |
Dwarf Fortress старается эмулировать поведение жидкостей реального мира. Одно из таких явлений — давление столба жидкости, будь то вода или магма.
Демонстрация явления в U-образном канале (закон Паскаля)
Если прокопать два вертикальных канала и соединить их снизу, то получится U-образный канал. Наполнение его с одной стороны приведёт к подъёму воды с другой. Подъём будет продолжаться, пока уровни не станут одинаковыми, это важно понимать, чтобы не затопить крепость. Однако в игре есть подвох — поток воды в реке и магма ведут себя не как обычные жидкости.
Dwarf Fortress не моделирует поверхностное трение и давление воздуха, так что вода не будет замедлять течения или образовывать «воздушные карманы».
Вода в U-образном канале
Следующие диаграммы показывают различия в наполнении водой канала в некоторых случаях. Во всех случаях вода изначально есть только слева. Диаграмма A — вода отбирается из реки. Считается, что вода в потоке (верхний слой) не создаёт давления, свободно утекая дальше.
Однако, стоит нам перегородить реку и верхний поток больше не будет «течь», создав дополнительный уровень стоячей воды, что приведёт к наполнению ещё одного уровня в канале. Диаграмма B
Диаграмма C показывает как помпа воздействует на воду. Помпы не создают давления. Они просто переносят воду с одного конца и уровня ниже на другой конец помпы. Перекачка не придаёт «силы». Тем не менее вода поднимается на 1 уровень, поэтому заполнит канал на 1 дополнительный уровень.
Диаграмма
Диаграмма A Диаграмма B Диаграмма C Река Запруженная река Помпа Вид сбоку Вид сбоку Вид сбоку
▒≈≈≈▒ ▒≈≈≈▒≈≈≈▒ %%≈▒≈≈≈▒ %% = Помпа ▒▒▒≈▒≈≈≈▒ ▒▒▒≈▒≈≈≈▒ ▒≈≈≈▒▒≈▒≈≈≈▒ ≈ = Вода ▒≈▒≈≈≈▒ ▒≈▒≈≈≈▒ ▒▒▒▒▒▒≈▒≈≈≈▒ ▒ = Порода ▒≈≈≈≈≈▒ ▒≈≈≈≈≈▒ ▒≈≈≈≈≈▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒
Магма в U-образном канале
Магма ведёт себя несколько иначе — она не передаёт давление в столбе, что хорошо видно на первой диаграмме.
Однако использование помпы радикально меняет её поведение. На диаграмме B помпа нагоняет в правый резервуар магму и она поднимается через U-образный канал до уровня помпы, аналогично воде.
Диаграмма A Диаграмма B Столб магмы Помпа Вид сбоку Вид сбоку
▒≈≈≈▒ %%≈▒≈≈≈▒ %% = Помпа ▒≈≈≈▒ ▒ ▒≈≈≈▒▒≈▒≈≈≈▒ ≈ = Магма ▒≈≈≈▒ ▒ ▒≈≈≈▒▒≈▒≈≈≈▒ ▒ = Порода ▒≈≈≈≈≈≈≈▒ ▒≈≈≈▒▒≈≈≈≈≈▒ ▒≈≈≈▒▒▒▒▒ ▒≈≈≈▒▒▒▒▒▒▒▒
Опасности
Можно случайно затопить свою крепость не просчитав давление воды. Например:
- Безопасно выкопать цистерну на один уровень ниже стоячего пруда и прокопать каналами несколько клеток над цистерной чтобы ваши дварфы могли получать воду не выходя на поверхность.
- Безопасно вновь заполнить стоячий пруд с помощью помпы или водой из ручья/реки/etc на том же уровне.
- Небезопасно проделать обе операции одновременно над одним водоёмом! Вода из помпы/ручья/реки/чего-угодно наполнит пруд до 7/7, а затем вытеснит воду в цистерну, в которой уже вода поднимется из ваших каналов и затопит крепость.
Повышенное давление
Упрощённая модель
Давление подчиняется упрощённой модели, но всегда ведёт себя как сказано выше. Например, система на уровне Z0 получает воду из цистерны уровня Z3 в количестве ~ 3/тик. Эта система состоит из разветвлённой системы проходов в один тайл шириной и содержит «подъём хода» на Z1. Вода зальёт систему до глубины 7, перед тем как перетечь на другую сторону подъёма, как и ожидалось. Однако, при наличии двух подъёмов, будет выбран ближайший к вам и заполнена вся система по другую сторону от этого подъёма на глубину 7, после чего начнёт заполняться система по другую сторону дальнего подъёма.
Вид сбоку 1. 2. 3. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒≈≈≈≈≈≈≈▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒≈≈≈≈≈≈≈▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒≈≈≈≈≈≈≈▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒≈▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒≈▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒≈▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒≈▒ ▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒≈▒ ▒▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒≈▒ ▒▒▒ ▒≈≈≈≈≈≈≈≈≈≈≈▒ ▒ ▒≈≈≈≈≈≈≈≈≈≈≈▒≈≈≈▒ ≈≈≈≈≈▒≈≈≈≈≈≈≈≈≈≈≈▒≈≈≈▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒ = Порода ≈ = Вода глубиной 7/7
Аналогично, при наличии нескольких выходов из системы, весь поток будет течь только из одного выхода, самого близкого и низкого.Требует проверки
Водопады
Водопады — это особенная штука. Если раскупорить или расширить каналом источник воды ниже по течению водопада, то давление станет равно уровню в верхней части водопада. Если вы не хотите наводнения снижать давление в такой системе критически важно, самый простой способ — это отведение воды по диагонали, — хотя, если водоём используется исключительно для комплексной ловушки-утопления или другой цели, наводнение может быть желательным.
Снятие давления
Диагональный поток
Когда вода протекает через две клетки, которые смежны по диагонали, она теряет всё давление с верхних уровней.
Вид сверху
▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒≈≈≈≈▒▒▒▒▒▒▒▒ Направление-> ≈≈≈≈▒≈≈≈≈≈≈ -> -> ≈≈≈≈≈▒≈≈≈≈≈ -> Потока -> ≈≈≈≈≈≈▒≈≈≈≈ -> ▒▒▒▒▒▒▒▒▒▒▒≈▒▒▒▒▒▒▒▒▒ ▒▒▒
▒ = стена, построенная или не вырытая ≈ = вода под давлением ≈ = нейтральное/нормальное водное давление
Этот метод не работает в вертикальной проекции — вода перемещается на разные z-уровни лишь вертикально, и никогда по диагонали.
Если вы хотите сохранить скорость потока после снятия давления, то рекомендуется, чтобы у вас было больше диагоналей, чем водных клеток — так, в случае источника в 3 клетки шириной, необходимо 4 или более диагональных проходов.
Помпы
Когда вода проходит через помпы давление на клетке-выходе сбрасывается до обычного. Конечно, есть и обратная сторона — по-прежнему необходимо обеспечивать работу помп, а из-за водного давления в источнике помпа должна быть с силовым приводом вместо дварфа-оператора (клетка, на которой должен стоять дварф, заполнена водой). Более того, энергия не может быть сообщена передачей, размещённой рядом с помпой, так как вода просто затопит проход, из которого идёт передача!
Вертикальный вал или набор передач должны быть размещены над непроходимой клеткой помпы, а над проходимой клеткой не должно быть канала. (Вода может течь прямо вверх, но не вверх и в сторону одновременно.) Кроме того множество совмещённых помп будут передавать энергию между собой автоматически.
Вид сбоку Энергия Вода Ключ ↓ ↓↓↓↓↓ ▒ = Нормальная стена ▒▒▒▒▒▒║▒▒▒▒≈≈≈≈≈ ▒ = Стена которую вода под давлением затопит при выкапывании ▒▒▒▒▒▒║▒▒▒▒▒≈≈≈≈ ≈ = Обычная вода _ ___▒║▒▒▒▒▒▒▒≈≈ ≈ = Вода под давлением ▒≈≈≈≈≈%%≈≈≈≈≈≈≈≈ %% = Помпа ▒▒▒▒▒▒▒▒≈▒▒▒▒▒▒▒ ║ = Вал ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ _ = Пол
Другие случаи
Люки можно размещать над каналами, лестницами, рампами и т. д. даже с давлением, чтобы предотвратить движение воды по вертикали, но сохранить доступ к клетке для использования, даже как источник воды и рыбы.
Свод наблюдений о воде
- Вода обычно имеет нулевое давление.
- Если источник воды (включая насосы) создаёт воду в клетке, которая уже полна, то давление в клетке повышается (давление остаётся 0, но это позволяет оказывать давление на пол и поэтому давление становится 1).
- Источник воды создаёт воду в клетках, граничащих с той, где вода находится под давлением. Вода создаётся на один z-уровень выше, только если её больше нигде нельзя создать. Вода никогда не создаётся выше z-уровня, на котором находится её источник.
- Похоже, что количество создаваемой за один цикл воды не увеличивается с увеличением занимаемой ей области. Одновременно создаваемая на двух z-уровнях вода создавалась быстрее на нижнем уровне, однако, не ясно, создаётся ли на нижних z-уровнях больше воды или же на это влияют другие факторы.
- Для источников воды, по-видимому, выбираются случайные тайлы под давлением, для получения воды на каждом тике. Тем не менее, предпочтительнее тайлы ближе к источнику.
- Состояние нагнетённого давления передаётся от тайла на соседние тайлы (в том числе выше или ниже), только если все они 7/7, и только если у тайла под давлением нет соседних тайлов, которые сами могут генерировать воду.
- Давление при передаче вниз увеличивается на 1. Вода с уровнем 7/7, сохраняющая этот уровень после падения, также увеличивает давлениеТребует проверки.
- Давление при передаче вверх уменьшается на 1.
- Тайлы с нулевым давлением можно считать «под давлением» для получения воды (у них нет бонуса к скорости).
- Насосы не передают давление. Вода, прошедшая через насос, имеет нулевое давление. (Обратите внимание, что необходимо убедиться, что вода на выходе не контактирует с водой на входе, иначе давление будет передаваться через это соединение)
- Тайлы воды, которые падают вниз в количестве менее 7/7, становятся с нулевым давлением и не герметичны.
- Давление заставляет воду двигаться быстрее, с каждым уровнем давления, по-видимому, добавляется большая скорость.
- Вода, падающая на воду глубиной 7/7, действует как 'источник' (но уничтожается, когда эта вода создаётся снова где-то ещё).
Аномалии
- Если вы сбросите определённое количество воды вниз по шахте через несколько уровней, то в итоге вы можете получить чуть больше воды, чем было изначально.
- Pumps can turn into seemingly infinite water generators (though they can be stopped by blocking their input with a hatch, or by disconnecting their power). The above model currently appears to match this behavior if pumps are considered water sources. Perhaps pumps are not removing water from their input if they are unable to put water in the output, but they still generate water elsewhere as a source?Требует проверки
- A «u-bend bug» has been reported, which generates infinite amounts of water due to the source of the pressure not being properly drained.
- When dealing with a Waterfall, water keeps the pressure of the highest z-level, no matter the height of the waterfall. This means if a channel is dug after the waterfall, it will have the pressure as if there was water above it to the original z-level of the water.
Записи экспериментов с давлением
- [1] — Показывает, что давление не передаётся через незаполненные клетки (меньше 7/7).
- [2] — Показывает, что насосы дают на выходе нулевое давление воды даже от источника с высоким давлением, что вода не течёт одновременно вверх и в сторону и некоторые другие вещи.
- [3] — Насос превращён в бесконечный генератор воды, что даёт полезную информацию о том, как высокое давление приводит к поднимающемуся затоплению.
- [4] — Используются три насоса, соединённых с различным расположением туннелей для проверки нескольких правил: у одного туннеля доступно 3 Z-уровня, у второго туннеля доступен Z-уровень и периодические шахты вверх, у третьего доступен только один Z-уровень без шахт. Сначала у всех трёх заполняется нижний уровень, а шахты не заполняются, пока не заполнится дно. Второй уровень трёхуровневого туннеля заполняется также после заполнения первого уровня. У всех у них дно заполнялось не одновременно, а в том порядке, в котором их насосы были расположены на реке.