Данная статья не претендует на полноту, объективность и полноту и является субъективным мнением автора. Предоставленный материал предоставлен исключительно в ознакомительных целях и несёт в себе только пищу для размышления.
Вступление.
В какой-то период трудовой деятельности, приходилось находится на буровых площадках, где обеспечение электрической энергией бурового станка и жилого городка обеспечивалась дизельными электрогенераторами. Топливо находилось в специальных топливных цистернах, которые находились в "строго" горизонтальном состоянии. Постоянный процесс расхода и поступления топлива, измерения текущего уровня топлива в цистерне особенно при пересменке вахты доходили до комических ситуаций. Чтобы поправить ситуацию даже меняли "строго" горизонтальное положение тары. Постоянные попытки провести тарировку тары приводили к тому что у каждой смены были свои таблицы соответствия замера метр-штоком и остатка жидкого флюида в таре. А вот рассчитать объем жидкого флюида в таре, увы соответствующих компетенций не нашлось. Ниже будет приведена модель объекта и вариант решения поставленной задачи.
Исходные данные и теория.
Общая модель (prompt)
Таким образом, необходимо построить математическую модель цистерны. БОльшую часть тары занимает фигура в виде цилиндра. Боковые стенки тары (строго симметричные) образуют сферический сегмент, при этом диаметр образующей сферы намного больше диаметра цилиндра. Таких сферических сегментов два, они образуют бока тары.
Предполагается что тара располагается строго горизонтально. Уровень жидкого флюида в таре образует секущую плоскость. Такая плоскость отсекает у цилиндра часть, образуя цилиндрический сегмент. Плоскость отсекая часть сферического сегмента (боковой объём тары) образует шаровой двугранный угол. Таких шаровых двугранных угла так же два в контексте определении объёма жидкого флюида в таре.
Для решения задачи определения объёма жидкого флюида в таре необходимо решить две задачи. Первая задача определения объёма цилиндрического сегмента. Вторая задача определение объемов двух одинаковых шаровых двугранных углов. При этом необходимо измерить уровень жидкого флюида метр-штоком, а также знать: внутренний радиус цилиндра; знать высоту цилиндра; знать радиус образующей сферы для бокового сферического сегмента; высоту бокового сферического сегмента (толщина бокового сферического сегмента).
Определение объёма цилиндрического сегмента.
Исходные данные. Есть цилиндр диаметром Dц и высотой Lц. Есть секущая плоскость A которая параллельна высоте цилиндра. Секущая плоскость находится строго внутри цилиндра. Расстояние от секущей плоскости A до стенки цилиндра равна Hц. Секущая плоскость образует на основаниях цилиндра хорды. Необходимо определить объём полученного цилиндрического сегмента. При этом уровень жидкого флюида может быть как ниже центра (смотри рисунок 2), так и выше центра. Т.е. 0<Hц<Dц. На рисунке приведён случай когда уровень жидкого флюида (обозначено синим цветом) ниже оси цилиндра (меньше половины).
Для определения объёма жидкого флюида в цилиндрической части тары необходимо определить площадь сектора ограниченного хордой на основании цилиндра и умножить на высоту (длину, т.к. цилиндр лежит) цилиндра. Vц=Sоц*Lц. Если принять (для упрощения записи) R=Dц/2, а Нц = h то:
Эта формула справедлива для любого уровня 0<h<Dц. Таким образом зная радиус (диаметр) цилиндра, длину цилиндра и уровень (высоту уровня), можно легко определить объём жидкого флюида в цилиндрической части тары.
Определить значение функции арккосинуса можно, например, по таблице Брадиса.
Расчет радиуса образующей сферы.
На практике радиус образующей сферы неизвестен. Однако, используя подручные инструменты можно эмпирически определить длину дуги и длину хорды стягивающую эту дугу.
Для определения радиуса окружности по длине хорды c и длине дуги L (стягиваемой этой хордой) необходимо решить трансцендентное уравнение. Аналитически (в виде простой формулы) радиус выразить нельзя, но можно получить точное уравнение и решить его численно.
Алгоритм расчета радиуса:
- Вычислить k=c/L. Убедиться, что 2/π<k<1.
- Решить уравнение sin(x)/x=k для x∈(0,π/2).
- Найти радиус: R=L/2x.
Для грубого поиска x можно использовать формулу:
Определение объёма шарового двугранного угла.
Общее условие и постановка задачи:
- Сфера радиуса R, центр в (0,0,0).
- Оси: X — вправо, Y — вверх, Z — на нас (или глубина, но не важна).
- Плоскость V — вертикальная, перпендикулярна оси X, уравнение: x=A,−R<A<0 (левая половина сферы, не проходящая через центр и не касательная).
- Плоскость G — горизонтальная, перпендикулярна оси Y, уравнение: y=B,−R<B<R (может быть выше или ниже центра, но не на полюсах).
- На проекции на плоскость XY эти плоскости изображаются прямыми x=A и y=B.
- «Левый нижний сегмент» — это часть сферы, где:
- x≤A (левее плоскости V) x≤A (левее плоскости V) y≤B (ниже плоскости G) y≤B (ниже плоскости G)
- (координата Z — любая в пределах сферы).
Общая формула для вычисления объёма:
Разбирая тройной интеграл, приходим к аналитическим формулам (выводы не приводятся в силу громоздкости):
Практика использования.
Учитывая сложившуюся практику, предположим, что у пользователя есть под руками компьютер с установленным офисным программным обеспечением. Ниже приводится решение задачи с использованием табличного процессора MS Excel, опробовано на версии MS Excel 2010.
В общем виде формулы ячеек табличного процессора выглядят следующим образом:
Для того чтобы рассчитать количество флюида в танке необходимо заполнить вручную ячейки закрашенные зеленым цветом. Необходимо указать длину цистерны, длину дуги сферической стенки (меряется рулеткой), диаметр цистерны и уровень флюида.
Далее необходимо подобрать значение ячейки. Внимание что делаем! В ячейку C4 заносим значение из ячейки C3. В C3 будет находится радиус цистерны. Заносим вручную это значение в C4.
Ссылку не делайте, С4=С3. MS Excel 2010 не подбирает значение ячейки с указателями на другие ячейки.
После того как в C4 занесли значение из C3 переходим на С5. В ячейке C5 даём команду: Данные->Работа с данными->Анализ "что если"->Подбор параметра...
Появится диалоговое окно. В появившемся диалоговом окне выбираем Установить в ячейке: C5 Значение: 0 Изменяя значение ячейки C4. Диалоговое окно изображено на рисунке 11. После подбора параметра в ячейках C19 и C20 будут находится данные объёма флюида в танке.
Подбор параметра позволяет правильно рассчитать объём флюида в боковых сегментах цистерны.
Для тех кому лень заниматься набором данных в ячейки табличного процессора можете попробовать готовую рыбу.
Спасибо вещать здесь.