Пример решения олимпиадных задач по ПАХТ
Введение
В данном документе я привожу примеры использования языка программирования julia для решения задач по дисциплине ПАХТ на примере олимпиадных задач. Тут я не привожу деталей использования отдельных пакетов. Некоторые базовые приемы работы для расчетов лабораторных работ я записывал в видео подсказках для студентов:
Решение местами нарочито усложненное, например везде старался использовать пакет Unitful . Как показывает практика при решении задач не на бумаге, а с использованием программных пакетов ошибки кардинально отличаются. В случае решения на компьютере большинство ошибок являются «описками» (подставили неправильную переменную, переменную в неправильной размерности).
В случае решения на компьютере библиотека Unitful позволяет задавать величине размерность. И в данном случае контролировать ошибки можно не только по размерности самой величины (студенты зачастую получают скорости жидкости больше скорости света еще чаще больше скорости звука) но и по размерности. Однако использование данного пакета не всегда возможно (об этом я буду делать отдельные пометки).
Второй по важности и по частоте использования пакет — CoolProp. Данный пакет содержит уравнения состояния и уравнения для расчета теплофизических свойств (коэффициенты вязкости и теплопроводности) для множества чистых веществ. Очень часто используется вода, кроме воды много хладагент, растворителей, углеводородов. Данный пакет используется во множестве олимпиадных задач.
Также пакет CoolProp позволяет определять свойства влажного воздуха с использованием функции HAPropSI (Humid air properties).
Иногда в задачах используются физические константы (в данных примерах только ускорение свободного падения). Их можно задать вручную, но я использовал пакет Физических констант.
В некоторых задачах есть возможность использовать интегралы (что правильнее, но для инженерных задач можно их не использовать) и дифференциальные уравнения. Для всего этого есть пакеты и я показывают их использование.
Один из важных пакетов — Clapeyron . Данный пакет позволяет определять паро-жидкостное равновесие по различным моделям, в 9 задаче использовалось уравнение состояния Пенга-Робинсона.
Подробнее по задачам и сравнение с решением в примере:
- сошлось с примером
- сошлось с примером
- из трубы вылилось больше чем влилось
- сошлось с примером
- не делал, задание теоретическое
- альтернативный вариант решения, на основе дифференциальных уравнений
- сошлось с примером
- не делал, задание теоретическое
- альтернативное решение?
- сошлось с примером
Для каждого пользователя создается свое окружение (установленные пакеты, их версии и т.д.). Поэтому во введении сразу устанавливаем те пакеты, которые пригодятся для решения.
using Pkg
Pkg.add("Unitful") #размерности
Pkg.add("CoolProp") #термодинамичсекие свойтсва
Pkg.add("PhysicalConstants") #физические контстанты
Pkg.add("Integrals") #численное интегрирование
Pkg.add("Roots") #решение уравнений
Pkg.add("DifferentialEquations") #решение дифференциальных уравнений
Pkg.add("Clapeyron") #расчет фазового равновесия
Pkg.add("NLsolve") #решение систем уравнений