Глава 2. От формулы в Справочнике к формуле в Интернете

2.1. «Классическая» работа с классической формулой

2.2. Прямой и обратный счет по формулам

2.3. Переменное число исходных величин в формуле

2.4. Полуэмпирические формулы

2.5. Эмпирические формулы

2.6. Псевдоэмпирические формулы

2.7. Уменьшение числа переменных в формуле

2.8. Графики формул

2.9. Связанные формулы

2.10. Дифференциальные уравнения

 

Формула в on-line справочнике как было уже отмечено в гл. 1, помимо текста (гипертекста) содержит формулы, таблицы и графики. С какой целью публикуются формулы в справочниках?! Для того, конечно, чтобы читатель смог просмотреть их и при необходимости перенести в свой расчет. Формула, опубликованная в Интернете, помимо описанной функции, может и должна дополнительно работать, «жить» – по ней можно посчитать, не прибегая ни к каким дополнительным инструментам – к калькулятору, например. При этом «физические» формулы должны принимать те единицы измерения, к которым привык посетитель сайта. Ответ также должен быть выражен в разных единицах измерения. Формула должна легко копироваться и переноситься в другие программные среды или просто в некий документ (документ текстового редактора Word, например). Формулы могут сопровождаться графиками изменения рассчитываемой величины от исходных величин и т.д. В данной главе будет описан ряд технологий «оживления» формул Справочника в Интернете.

2.1. «Классическая» работа с классической формулой

На рис. 2.1 показан, можно cказать, классический случай «оживления» формулы в Интернете. Ведется расчет стационарной теплопроводности в сферической стенке: даны три формулы – для расчета значений Тr=r1 (температура на внутренней стенке сферы), Тr=r2 (температура на внешней стенке сферы) и Q (мощность теплового потока через сферическую стенку), а также функция T(r), определяющая распределение температуры внутри стенки.

До формул и функции на рис. 2.1 размещены текстовые окна, через которые посетитель сайта (адрес сайта указан в заголовке рис. 2.1 и продублирован в его названии так, повторяем, оформлены многие рисунки книги) может менять значение переменных, входящих в правые части формул и функции. Имена переменных включают в себя само имя и соответствующую единицу измерения, привязанную к данной исходной величине. В захлопнутой области (рис. 2.2) имена переменных и единицы измерения «разводятся» цепочкой присваиваний: ТЖ1:= (ТЖ1, °С + 273.15) К, λ:= λ, W/(m*K) W/m/K и т.д.

Результаты счета по формулам отображаются на двух графиках: на графике изменения температуры внутри сферической стенки, вблизи ее внутренней и внешней поверхности с фиксацией заданной рабочей точки (переменная r, которую можно менять от значения r1 до r2) и схемы одной четверти сечения сферической стенки с пунктиром – с заданным рабочим радиусом r.

Посетитель данного сайта (рис. 2.1) имеет возможность менять значения восьми исходных величин и видеть значения четырех рассчитанных величин. При этом значение Q (мощность теплового потока на сферической стенке) выдается в трех единицах: ккал/ч, BTU (британская тепловая единица – British Thermal Unit) и ваттах (W). Единицы даются в международном написании: W, а не Вт, cal, а не кал, hr, а не ч и т.д. Национальные единицы измерения –это, в принципе, некий пережиток времен «борьбы с космополитизмом»: почему, спрашивается, мощность теплового потока должна обозначаться латинской буквой Q, а единица ее измерения – русскими Вт?! Почему здесь не могут писаться «международные ватты» – W. Чем меньше в расчет будет букв кириллицы – тем большее число людей смогут ими воспользоваться. Кроме того, такой расчет будет иметь меньше проблем в Интернете, который создавался на английской (латинской) базе. Можно в принципе разрешать пользователю выбирать единицы измерения и исходных величин – см. рис. ниже  2.14, например.

Кроме того, на рис. 2.1 все исходные и рассчитанные температуры отображаются на графике Т=Т(r), что позволяет, например, видеть (чувствовать!) какой из трех участков теплообмена является лимитирующим: теплоотдача от среды (жидкости, в частном случае) вблизи внутренней поверхности сферы к стенке сферы (ТЖ1 – Тr=r1), теплопередача внутри стенки (Тr=r1 – Тr=r2) или теплоотдача от внешней стенки сферы к среде у этой стенки (Тr=r2 – ТЖ2). Примечание: график (характер) изменения температур вблизи двух сторон стенок на рис. 2.1 не показан – это отдельная задача, связанная с пограничными слоями теплообмена. Тут можно было бы только оценить толщины пограничных слоев вблизи r1 и r2 и провести пунктирные (прямые) линии от ТЖ1 к Тr=r1 и от Тr=r2 к ТЖ2.

Сайт, отображенный на рис. 2.1 служит также и для простого «визуального» получения информации о виде формул для расчета. Предусмотрена также возможность переноса формул в другие программные среды. Если нужно перенести формулы в другой Mathcad-документ, то на сайте, отображенном на рис. 2.1, для этого предусмотрена ссылка «Сам Mathcad-документ для скачивания >>>>>>». Это позволяет документ скачать, открыть в среде Mathcad и скопировать нужные формулы в другой Mathcad-документ. Тут может возникнуть одна проблема, суть которой в следующем. Mathcad-документ, отображенный на рис. 2.1, и Mathcad-документ, предназначенный для скачивания, – это два отдельных документа, хранящихся на разных серверах на MAS и на FTP-сервере. Поэтому нужно следить, чтобы изменения, внесенные в один документ, вносились и в другой.

Если же формулы, показанные на рис. 2.1, необходимо перенести не в среду Mathcad, а в другие программные среды, то их можно записать в текстовом формате и разместить либо в самом документе, показанном на рис. 2.1, либо (а так мы и сделали) в отдельном HTML-документе, к которому протянута гиперссылка – см. последнюю строку на рис. 2.1. На рис. 2.3 показано, как формула, записанная в текстовом формате, переносится в среду Maple. Текстовая, а не графическая форма записи формулы требует иных имен переменных: в среде Mathcad возможны нижние индексы. На рис. 2.2 показан фрагмент Mathcad-документа, записанного в xmcd-формате – в одной из разновидностей HTML-формата, который появился в Mathcad 12-й и 13-й версий.

2.2. Прямой и обратный счет по формулам

Формулы, опубликованные в Сети, могут работать и, так сказать, в прямом и обратных направлениях. «Прямое направление» счета показано на рис. 2.1: задаются значения переменных, входящих в правые части формул (уравнений) и рассчитываются значения переменных левых частей. Обратная задача («направление счета») подразумевает, что задаются значения всех переменных уравнения, кроме одной, значение которой и рассчитывается. На рис. 2.4 показана реализация такой задачи: имеется формула, по которой рассчитывается мощность теплового потока плоской стенки (более простая задача, чем та, которая была показана на рис. 2.1, но к сложной задаче мы еще вернемся). Тут уже может стоять не только формула, в левой части которого стоит только одна переменная, а уравнение общего вида с любым числом переменных в обеих частях. В нашем уравнении (см. рис. 2.4) фигурируют шесть переменных, для которых предусмотрены шесть тестовых окон ввода конкретных значений. Но посетитель сайта может и должен вводить только пять чисел и один знак вопроса, означающий, что расчет именно данного значения его сейчас интересует. На рис. 2.4 это теплопроводность λ (верхняя часть рис. 2.4) и температура «горячей» стороны пластины ТС1 (нижняя часть рис. 2.4). На рис. 2.5 показано, как это делается: в переменную с именем «знак вопроса» заносится значение по различным формулам, полученным при решении (преобразовании) исходного уравнения, показанного на рис. 2.4, по различным переменным (неизвестным). Тут (рис. 2.4) пришлось отказаться от инструмента Mathcad работы с физическими величинами (рис. 2.1 и 2.2) и вернуться к «безразмерному» стилю расчетов, имеющему место в традиционных языках программирования и в электронных таблицах Excel. Это сделано потому, что переменная «знак вопроса» должна принимать значения различных физических величин, что делает затрудняет правильное форматирование выводимых единиц измерения.

«Двухсторонний счет» можно приложить не только к одиночному уравнению, но и к системе уравнений, с которой мы фактически уже столкнулись, решая задачу, показанную на рис. 2.1.

На рис. 2.6 показано решение такой «двухсторонней задачи»: дана система трех уравнений, описывающих теплопередачу уже не в сферической, а в цилиндрической стенке. Посетитель сайта заполняет значениями одиннадцать текстовых полей и нажимает кнопку Recalculate. После этого будут выведены значения переменных, формулирующих три уравнения (см. середину рис. 2.6), каждое из которых превращает уравнения в тождества. Это означает, что значения λ, равное 0.114 W/(m K), а не 0.12, которое ввел посетитель сайта. Значение 0.12 W/(m K) – это первое приближение (предположение) посетителя сайта, который желает знать точное значение данной величины. Это касается и остальных десяти величин расчета. Как он работает, показано ниже на рис. 8 – 10. Конечно, можно попытаться решить систему уравнений, показанную на рис. 2.6. Но данное аналитическое решение не всегда получается. На рис. 2.7 сделана попытка такого решения третьего уравнения, показанного на рис. 2.6, относительно по переменной r1. Было получено выражение, в котором присутствует специальная функция W (функция Ламберта, являющаяся решением уравнения вида x ex = a), а не ватты, как можно подумать, решая задачу теплопроводности. Из-за этого (отсутствие аналитического решения или получение решения со специальными функциями) приходится отказываться от аналитических методов решения уравнений и систем и переходить к численным методам. В скрытой области рис. 2.6 численно решаются наши три уравнения относительно разных переменных, в них входящих. Найденные значения этих переменных затем выводятся на дисплей. На рис. 2.8 – 2.10 показаны три таких решения из одиннадцати. На рис. 2.8 ищется значение коэффициента теплопроводности в блоке Given-Find: до ключевого слова Given задаются значения всех переменных уравнения «зажатого» между Given и Find (тут может быть и система уравнений, но мы подстановкой систему трех уравнений свели к одному). При этом все переменные, кроме λ будут считаться константами. Значение же переменной λ будет изменено функцией Find так, чтобы подстановка ее в наше уравнение превращало его в тождество. На рис. 2.9 и 2.10 показаны другие инструменты решения данной задачи. На рис. 2.9 значение l (эль – длина цилиндрической степени) ищется с помощью встроенной в Mathcad функции root с опорой на первое приближение. На рис. 2.10 значение ТЖ1 ищется (уточняется) также через встроенную функцию root, но уже не вблизи заданной точки, а в заданном диапазоне.

2.3. Переменное число исходных величин в формуле

В формулах, фигурирующих на рис. 2.1 – рис. 2.10, было фиксированное число переменных. Но есть формулы, где задействовано переменное число аргументов. Такие формулы также можно «оживлять» в Интернете – см. рис. 2.11, где решается задача о теплопроводности многослойной стенки, причем число слоев с разной теплопроводностью может быть любое. На рис. 2.11 спарены две задачи: задача о теплопроводности в плоской и в цилиндрической стенке. В задаче, показанной на рис. 2.11, параметры слоев задаются в отдельных (нескольких) текстовых окнах, а в двух «длинных» текстовых окнах, где отдельные значения отделяются друг от друга пробелами. В переменную, которая связана с длинным текстовым окном, заносится строковая, текстовая константа, которая затем с помощью функции Str2VMat (рис. 2.12) переводится в вектор числовых значений. После этого несложно рассчитать параметры теплообмена в многослойных стенках, используя инструменты Mathcad работы с векторами: оператор суммы, заполнения векторов (i := 0…n   T:=…) и др. Все это позволяет «легко и изящно» найти мощность теплового потока Q и значения температур на границе слоев (вектор Т).

2.4. Полуэмпирические формулы

Рассмотренные выше примеры (рис. 2.1 – 2.12) являются частными случаями аналитического решения общего дифференциального уравнения теплопроводности, которое мы рассмотрели в конце этой главы (рис. 2.27). Формулы этих примеров связывают физические величины (длина, энергия, температура и т.д.) и прямо не связаны с конкретными единицами измерения (метры, джоули, кельвины и т.д.). Но есть формулы (и в справочниках они встречаются довольно часто), для счета по которым необходимо в них подставить значения в жестко заданных определенных единицах измерения. Также формулы возвращают числа, тоже связанные с заданными единицами измерения. Это, так называемые, эмпирические и полуэмпирические формулы. «Правильные» формулы связывают физические величины. Они получены в результате теоретического анализа того или иного природного (физического) явления. Например, явление теплопередачи, если говорить о формулах, показанных на рис. 2.1 – 2.12. Эмпирические же формулы, связывающие не просто физические величины, а конкретные единицы физических величин, получены в результате некой статистической обработки экспериментальных данных (тема гл. 4), испытаний материалов. Полуэмпирические формулы, как понимает читатель, – это некое «дитя» теории и практики. Рассмотрим одну такую полуэмпирическую формулу, взятую из справочника «Физические величины» (М.: Энергоатомиздат, 1991) – см. рис. 2.13. На рис. 2.14 отображена работа с этой формулой (расчет теплопроводности жидкостей) в Интернете, а на рис. 2.15 и рис. 2.16 показаны захлопнуться области этого расчета. На рис. 2.15 показано, как введенные исходные величины приводятся к нужным единицам измерения. Температура же жидкости (Т) при этом остается безразмерной величиной по шкале Цельсия (°С := 1), а температурой кипения (Ткип) – размерной. В закрытой области (см. рис. 2.15) записана и работает преобразованная формула расчета теплопроводности, учитывающая то положение, что величины, в нее входящие, должны быть связаны с определенными единицами измерения. В формуле на рис. 2.15 λ(°0) – это не функция λ от переменной °0, как может показаться многим, а переменная с именем λ(°0) – теплопроводность жидкости при нуле градусов по шкале Цельсия. Вторая захлопнутая область (рис. 2.16) содержит два одноименных идентификатора – имя переменной λ(t) – теплопроводность жидкости при температуре t, отличной от нулевой, и λ(t) – функция теплопроводности от температуры, используемая для построения графика (см. рис. 2.14). Описанные маткадовские «хитрости» могут кому-то показаться несколько запутанными, но они позволили нам, во-первых, полностью повторить вид формул, описанных на рис. 2.13 в интерактивном сетевом документе, показанном на рис. 2.14, и, во-вторых, сохранить в расчете работу с единицами измерений, возможность выбора их из предложенного списка. На одном из них (единицы для СР, – для изобарной теплоемкости жидкости) можно видеть не только разные единицы измерения, но и разные физические величины – не объемы, а массы, с которыми соотносится энергия.

2.5. Эмпирические формулы

Работу с «полной» (не «полу») эмпирической формулой можно видеть на рис. 2.17, вид которой получен после обработки некоего теплотехнического эксперимента по определению влияния давления (p) и теплового потока (q) на коэффициент теплоотдачи (α) в некоем теплообменнике.

В описании формулы теплообмена (рис. 2.17) сказано, что коэффициент 3 и показатели степени 0.15 и 0.7 можно использовать лишь в том случае, если давление измеряется в атмосферах технических, а тепловой поток – в ккал/(м2 ч). При этом формула возвращает значение коэффициента теплоотдачи в ккал/(м2·ч·К). Чтобы формула заработала и с другими, более современными единицами давления и теплового потока необходимо либо пересчитать значение коэффициента и показателей степени в формуле, либо получить так как показано на рис. 2.17 – разделить значения исходных величин, на единицы измерения, с какими они связаны, т.е. сделать их безразмерными. Рассчитанному же результату нужно будет приписать (перемножить его на) требуемую единицу измерения – см. рис. 2.17.

Такими приемами, во-первых, будет полностью восстановлен механизм работы с размерными величинами в формулах, а во-вторых, опубликовать такую формула с органичным показом, в каких единицах измерения должны быть исходные величины и с какой единицей связан ответ по формуле.

2.6. Псевдоэмпирические формулы

В расчетах встречаются формулы, которые по своей сути являются чисто физическими, а по форме — эмпирическими (см. п. 2.5). Пример работы с такой формулой показан на рис. 2.18, где решается следующая задача: дан КПД (коэффициент полезного действия) электростанции (η), необходимо рассчитать расход условного топлива на выработку электроэнергии (bут). Во всех учебниках для такого расчета дана следующая формула bут = 12300/η (или 123/η) и сказано, что η должно быть выражено в процентах (в абсолютных единицах), а значение bут при этом будет выдано в граммах на киловатт-час. Пример: 12300/32=384.4  (123/0.32 = 384.4)— электростанция с КПД = 32% сжигает 384.4 г условного топлива на выработку 1 квт-ч электроэнергии (верхняя часть рис. 2.18).

Если в комментариях к формуле перечислены конкретные единицы измерения, то такую формулу можно заставить правильно работать по методике, годной для эмпирических формул, описанной в п. 2.4. Но можно идти другим путем  вспомнить, что такие псевдоэмпирические формулы были когда-то упрощены с благими намерениями освободить человека от дополнительного пересчета по единицам измерения. Если же при этом полученные коэффициенты легко запоминаются как в нашем случае с КПД — раз, два, три и два нуля, то такая упрощенная формула приживается и ее уже, как говориться, «гвоздем не выбьешь» из учебников. Исходная же, неупрощенная формула для расчета расхода условного топлива выглядит так: bут=1/(η • Qут), где Qут — это теплота сгорания этого самого условного топлива, принятое значение которого составляет 7000 ккал/кг (опять же легко запомнить). Если ввести именно такую, а не упрощенную формулу, то работа механизма размерностей Mathcad не нарушится (см. рис. 2.18 (нижняя часть и рис. 2.19). Кроме того, ответ будет более точен.

2.7. Уменьшение числа переменных в формуле

Нередко в формулах две или несколько исходных величин связаны между собой, но в «бумажных» справочниках эта связь по ряду причин разорвана. Процесс «оживления» формулы в Интернете может эту связь восстановить и тем самым, во-первых, уменьшить число неизвестных в формуле, а во-вторых, убрать ложное положение о том, что все переменные формулы независимы. Кроме того, может оказаться, что исходными величинами в формулах являются совсем другие, а не те, какие в ней записаны. Этот тезис мы проиллюстрируем на примере задачи о скорости оседания частицы по формуле Стокса (рис. 2.20). В формуле пять переменных: радиус частицы r, плотность материала частицы D, плотность среды, где оседает частица d, вязкость этой среды η и ускорение свободного падения g.

Но через текстовые окна вводятся только три значения: радиус частицы, ее плотность и температура среды, где она оседает. Уменьшить вдвое число независимых переменных позволил принцип умолчания, и тот факт, что две якобы независимые переменные (d и η), являются по своей сути функциями третьей переменной – температуры (t), которая в формуле Стокса в явном виде не присутствует.

По умолчанию было принято, что g = 9.81 м/с2 (частицы оседают на Земле, а не на Луне) и то, что они оседают в воде, а не в бензине, например. Этим охватывается подавляющее число случаев обращения к формуле Стокса и другим подобным. Для небольшого числа исключений можно предусмотреть отдельный сетевой расчетный документ. Наш расчет ведется в среде Mathcad, к которой подключены функции пакета WaterSteamPro (www.wsp.ru – тема гл. 5). Поэтому плотность воды (d) и ее вязкость (η) вводить не надо – достаточно ввести значение температуры воды и принять опять же по умолчанию, что давление атмосферное. После этого можно не только рассчитать скорость оседания частицы и вывести ее в разных единицах, но и построить графики влияния трех независимых параметров на исходную величину – см. рис. 2.20.

2.8. Графики формул

Читатель уже заметил, что в некоторых предыдущих примерах вывод числа, сопровождался показом графика – см. рис. 2.1, 2.14 и 2.20, где (рис. 2.20) графически было отображено влияние всех исходных величин на рассчитываемую величину. Это хороший стиль работы – посетитель сайта видит не только «статику» задачи – рассчитанное число, но и «динамику» – характер ее изменения при смене исходных данных. Но такую «динамику» по всем исходным независимым переменным показывать не стоит – множество графиков загромождают сайт, «топят» на нем главную информацию. Часто бывает достаточно показать только один график по одной доминирующей исходной величине. Сама же рассчитанная по формуле величина может оказаться лишней из-за  того, что она слишком неточная. Тут главное – увидеть не конкретное число, а характер изменения величины.

Сказанное иллюстрируется задачей, отображенной на рис. 2.21, где строится график, по которому можно оценить (подчеркиваем: не рассчитать, а оценить) высоту самолета по показанию барометра. В расчете фигурирует так называемая барометрическая формула. Посетитель сайта может только менять единицы давления и длины (высоты) и считывать нужные числа с графика.

2.9. Связанные формулы

В справочниках часто формулы группируются в некие матрицы, таблицы расчетов или пересчетов. Этот тезис мы пояснили на примере двух задач из химии растворов.

На рис. 2.22 отображен сайт, по которому можно провести пересчет значения жесткости воды (суммарная концентрация эквивалентов катионов кальция и магния) по пяти применяемым в мире единицам жесткости: мг-экв/л (ммоль/л), немецкие, английские, французские и американские градусы жесткости. Посетитель сайта вводит в текстовое окно исходную жесткость, через радиокнопки отмечает исходные и требуемые единицы жесткости, нажимает кнопку Recalculate (пересчитать) и получает ответ. Ниже (см. рис. 2.22) даны не просто пояснения о том, что такое градусы жесткости (английский градус жесткости, например, эквивалентен жесткости раствора CaCO3 с концентрацией 1 гран на 1 британский галлон), но сами операторы с вкраплениями комментариев, задающие значения констант Germ°, Eng°, Fr° и Am°. На рис. 2.23 показана скрытая область расчета, отображенного на рис. 2.22. Пересчет жесткости ведется одним оператором, в который вставлена матрица. Из этой матрицы нужный коэффициент пересчета изымается оператором ■■, ■ (возврат элемента массива), где индексы ux и uy задаются радиокнопками, показанными на рис. 2.22.

Классический «матричный» химический расчет отображен на рис. 2.24. Там ведется пересчет концентрации по четырем видам: г/л, массовый процент, молярность и моляльность. Интерфейс расчета почти тот, который был задействован при пересчете жесткости воды, но добавлены два текстовых окна для дополнительного запроса значений плотности раствора ρ и молярной массы растворенного вещества (можно было бы запросить дополнительно и валентность (заряд ионов), чтобы насчитать и нормальность раствора). На рис. 2.24 как и на рис. 2.22 показаны формулы для отдельных пересчетов: чтобы, например, перевести г/л в массовый процент (функция gm/L_into_%) нужно поделить исходное значение на плотность раствора. В справочниках подобные формулы пересчета «обвешены» дополнительным коэффициентами пересчета (1000, 0.1, 100 и т.д.), но, как мы знаем, в среде Mathcad подобные пересчеты делаются автоматически. На рис. 2.25 показана «пересчетная матрица» (функция y (x)), в которой кроме пересчетных функций вида *_into_* записаны и единицы концентрации. Дело в том, что массивы Mathcad не могут хранить разноразмерные элементы. Поэтому приходится «обезразмеривать» расчеты по схеме, которую мы уже использовали при работе с эмпирической функцией – см. рис. 2.17. Примечание. В расчете, показанном на рис. 2.14, в разных расчетных ситуациях требуются или не требуются значения переменных ρ и/или М. Как «заглушить» не нужные в данный момент текстовые окна, будет рассказано в гл. 7.

2.10. Дифференциальные уравнения

Встроенные средства Mathcad позволяет решать не только алгебраические (см. рис. 2.7 – 2.10), но и дифференциальные уравнения. На рис. 2.26 показана  методика численного решения системы обыкновенных дифференциальных уравнений второго порядка в виде задачи Коши: даны позиции и скорости двух планет – необходимо рассчитать их орбиты. На рис. 2.27 представлено решение дифференциального уравнения в частных производных – решение задачи о нестационарной теплопроводности.