Неправильно рассчитывается V из M

С теплосчётчика считываются M1, M2, dM. Объём расчитывается ЛЭРСом. Выводим таблицу:


Для примера, берём первую строку таблицы, в ней полученная из теплосчётчика dM=1,1420 тонны, а рассчитанный dV=2,0439 кубометров.
Как может получиться при расчетах с плавающей запятой, и типе данных System.Double такая низкая точность преобразования?

Дело не в точности System.Double. Ни в коем случае нельзя считать dV по dM. Обязательно нужно рассчитать отдельно V1, отдельно V2 и вычесть их.
Расчёт объёмов по массе выполняется с учётом температуры и давления, которые не имеют смысла для dV.

Почему в таблице значения dV не зелёного цвета? Они ведь рассчитаны!

Это я понимаю, но в дельте разница заметнее. Получается, что V1 и V2 рассчитываются не очень точно, погрешность около 0,1%. А почему? Нельзя ли опубликовать формулу, по которой идёт расчет?

Формула расчета плотности.

Как вы посчитали погрешность?

В той же первой строке таблицы складываем V1+V2 = 299,9082+297,8643 = 597,7725
Пренебрегая тепловым расширением воды, вычисляем погрешность для dV в тоннах: dV-dM = 2,0439-1,1420 = 0,9019
Теперь получаем относительную погрешность в процентах: 0,9019 / 597,7725 * 100 = 0,150876796
С учётом теплового расширения воды должно получиться чуть меньше.
В первый раз считал в уме, без калькулятора, получил на глаз 0,1%

А как вы хотите считать с точностью 0.1%, пренебрегая тепловым расширением? Посчитайте с его учётом и посмотрите что получится.
И ещё не совсем понятен физический смысл вычитания тонн из кубометров. Какие единицы измерения вы получаете?
По сути вы рассчитали ошибку, которая возникает, если НЕ учитывать объемное расширение.

Антон, вы даже не вникаете в смысл моих сообщений. Я не собираюсь считать с точностью 0.1%, пренебрегая тепловым расширением. Это ЛЭРС считает с учетом расширения по формуле, которую мне уже любезно показал Александр Ряйсянен. Вопрос только, правда ли то, что эта формула дает обещанную вами точность 0,01%. По моим прикидкам, такой точности в ЛЭРСе нет.

Вода практически не сжимаема, это изучают на уроках физики в школе. Поэтому в большинстве случаев можно считать, что масса численно равна объему.

У меня это было написано, но вы не вникаете:“вычисляем погрешность для dV в тоннах:”

Нет, я определил приблизительно точность преобразования ЛЭРСом V из M.
Я специально вывел в таблице температуры и давления. Вы представляете, при каких условиях 1,1420 тонна воды будет занимать объём 2,0439 кубометров?

Это вполне реальный случай. Теплосчётчик архивирует только температуры, массы и количество теплоты. А потребителю нужно выставить счёт, где потребление теплоносителя указано в кубометрах.
Антон Чичков, задумайтесь, как объяснить потребителю, у которого на счётчике потребление 1,1420 тонн, что он должен оплатить за 2,0439 кубометра :slight_smile:

Вода несжимаема, правильно. Но пренебрегаете-то вы тепловым расширением. Посчитайте с его учётом и увидите что погрешность ниже чем вы вычислили в первый раз.

Это потребителю должна объяснять теплоснабжающая организация. С физической точки зрения неправильно платить за объём в циркуляционных системах с такими большими прокачками и маленьким водоразбором.

Зачем мне считать, если выше есть таблица, а в ней значения посчитанные ЛЭРСом? Или вы думаете, что я получу другой результат?

Вы уходите в сторону от темы расчета ЛЭРСом V из M

Конечно вы получите другой результат если расссчитаете dV с учетом теплового расширения, как это делает ЛЭРС УЧЕТ. Я не понимаю как вы считаете погрешность, игнорируя расширение, на прокачке в 300 тонн и разборе в 1-2 процента от прокачки. Тепловое расширение внесет в него очень большую коррективу.
В любом случае вы можете создать отчет, в котором с помощью вычисляемого поля вывести dV, рассчитанное по любой формуле.

Я не ухожу от темы. Вы спросили нас как что то объяснять потребителю, я высказал свое мнение.

Два скриншота с реального прибора ТЭМ-104 (ТЭСМАРТ).
img-2017-12-16-08-10-19.png
img-2017-12-16-08-22-54.png

Счетчики рассчитывают Массу теплоносителя исходя из объема в зависимости от t (температура) и P (давление)по каждому трубопроводу, а потом уже рассчитывают дельту.

Не пойму, почему ЛЭРС должен считать иначе?

И как тогда тогда должны быть рассчитаны М1 и М2, если dM будет рассчитана из dV? М1 из V1 и dМ из dV, а M2 будет подгоняться под М1 и dМ или на оборот?

Если не нравится метод расчета ЛЭРСа, то читайте М и V из приборов учета (получите тоже самое с небольшим отклонением). Я не видел ни одного прибора который рассчитывал данные иначе. К примеру ТЭМы вообще не ведут архивы по dM и dV, заводское ПО считывает архивные данные, а потом переносит их в таблицу excel, где уже происходит расчет М1-М2 и V1-V2 в зависимости от выбранного шаблона отчета.

Я пытался высчитать именно погрешность, которая возникает при преобразовании ЛЭРСом из V в M. По ссылке приведена формула из книги А.А.Александров, Б.А.Григорьев “Таблицы теплофизических свойств воды и водяного пара”, Москва, издательство МЭИ 2003. Обещана погрешность определения плотности воды < 0.01%. Следовательно, и масса должна рассчитываться с погрешностью < 0.01%. Давайте совместными усилиями разберёмся, почему я получаю другую цифру 0,1% ?

Вернёмся к первой строчке моей таблицы:
V1=299,9082 м.куб.; V2=297,8643 м.куб.;
при погрешности 0,01% погрешность преобразования из M1 в V1 будет равна 0,02999082 м.куб.
при погрешности 0,01% погрешность преобразования из M2 в V2 будет равна 0,02978643 м.куб.
Будем оценивать погрешность по реальности соотношения dM/dV
dM = 1,1420 тонн
при расчете dV используются V1 и V2, поэтому погрешности преобразования складываем: 0,02999082+0,02978643=0,05977725 м.куб.
Рассчитанная ЛЭРСом dV=2,0439 м.куб.
Таким образом, при погрешности 0,01%, реальное значение объема dV должно быть в пределах 2,0439-0,05977725 < dV < 2,0439+0,05977725 м.куб.
или 1,98412275 < dV < 2,10367725 м.куб.

Соотношение dM/dV , в лучшем случае, получается таким: 1,1420/1,98412275 ,
что абсолютно не реально при температуре воды около 60 градусов и давлении около 6 бар. А это значит, что точность 0,01% не реальна.
Итак, где же ошибка?