Gases » Компоненты

Обзор

Проект предназначен для предоставления информации о тепловых свойствах веществ.

Информация о тепловых свойствах веществ взята с сайта NASA Chemical Equilibrium with Applications (CEA).

База веществ

Данные о веществах сохраняются в базе данных (БД)(хештаблица в памяти). Для получения ссылки на нее используйте следующий код:

;;;; gases::*sp-db*
(gases:get-db) => #<HASH-TABLE :TEST EQUAL :COUNT 1068 {10353290C3}>

Для просмотра всех веществ, находящихся в (БД):

(maphash
   #'(lambda (key val)(format t "~A~%" key))
   (gases:get-db))
 

Данные о веществах сохраняются в объектах класса <sp>. Для выбора вещества из БД используйте функцию get-sp.

(gases:get-sp "CH4") =>
 #<sp>(
  sp-name="CH4"
  sp-comments="Gurvich,1991 pt1 p44 pt2 p36."
  sp-number-temperature-intervals=2
  sp-reference-date-code="g 8/99"
  sp-chemical-formula=(("C" 1.0)("H" 4.0)("" 0.0)("" 0.0)("" 0.0))
  sp-phase=0
  sp-molar-mass=16.04246d0
  sp-heat-formation=-74600.0d0
  sp-reccords=
  (#<sp-rec>(
    sp-rec-temperature-range=(200.0 1000.0)
    sp-rec-number-coeff=7
    sp-rec-polynomial-exponents=(-2.0 -1.0 0.0 1.0 2.0 3.0 4.0)
    sp-rec-H_298.15-H-0=10016.202d0
    sp-rec-coefficients=(-176685.0998d0 2786.18102d0 -12.0257785d0 0.0391761929d0 -3.61905443d-5 2.026853043d-8 -4.97670549d-12)
    sp-rec-integration-constants=(-23313.1436d0 89.0432275d0))
  #<sp-rec>(
  sp-rec-temperature-range=(1000.0 6000.0)
  sp-rec-number-coeff=7
  sp-rec-polynomial-exponents=(-2.0 -1.0 0.0 1.0 2.0 3.0 4.0)
  sp-rec-H_298.15-H-0=10016.202d0
  sp-rec-coefficients=(3730042.76d0 -13835.01485d0 20.49107091d0 -0.001961974759d0 4.72731304d-7 -3.72881469d-11 1.623737207d-15)
  sp-rec-integration-constants=(75320.6691d0 -121.9124889d0))))
 

Помимо веществ в проекте опреден класс, представляющий смесь веществ - <composition>. Композиция веществ состоит из компонент - класс <component>, определяющих долю (массовую и мольную) содержания элемента в композиции.

Для создания композиции веществ используйте функцию make-instance-composition:

(make-instance-composition
   '(("N2"              0.0003)
     ("CO2"             0.0022)
     ("CH4"             0.7374)
     ("C2H6"            0.0593)
     ("C3H8"            0.1179)
     ("C4H10,isobutane" 0.0131)
     ("C4H10,n-butane"  0.0379)
     ("C5H12,i-pentane" 0.0130)
     ("C5H12,n-pentane" 0.0139)
     ("C6H14,n-hexane"  0.0017)
     ("C5H10,cyclo-"    0.0004)
     ("C6H12,cyclo-"    0.0003)     
     ("C7H16,n-heptane" 0.0001)
     ("H2O"             0.0025)))
     =>
    #<composition>(
      #<component>(name="N2" mole-fraction=3.0e-4 mass-fraction=3.4905063504390727d-4)
      #<component>(name="CO2" mole-fraction=0.0022 mass-fraction=0.0040213367938443335d0)
      #<component>(name="CH4" mole-fraction=0.7374 mass-fraction=0.4913324298358915d0)
      #<component>(name="C2H6" mole-fraction=0.0593 mass-fraction=0.07405861796700217d0)
      #<component>(name="C3H8" mole-fraction=0.1179 mass-fraction=0.2159288090291503d0)
      #<component>(name="C4H10,isobutane" mole-fraction=0.0131 mass-fraction=0.0316238453877922d0)
      #<component>(name="C4H10,n-butane" mole-fraction=0.0379 mass-fraction=0.09149188983468187d0)
      #<component>(name="C5H12,i-pentane" mole-fraction=0.013 mass-fraction=0.03895593994315799d0)
      #<component>(name="C5H12,n-pentane" mole-fraction=0.0139 mass-fraction=0.041652887785301525d0)
      #<component>(name="C6H14,n-hexane" mole-fraction=0.0017 mass-fraction=0.006084618703367254d0)
      #<component>(name="C5H10,cyclo-" mole-fraction=4.0e-4 mass-fraction=0.0011651534147382498d0)
      #<component>(name="C6H12,cyclo-" mole-fraction=3.0e-4 mass-fraction=0.0010486381495628883d0)
      #<component>(name="C7H16,n-heptane" mole-fraction=1.0e-4 mass-fraction=4.161764042068601d-4)
      #<component>(name="H2O" mole-fraction=0.0025 mass-fraction=0.0018706061162589418d0))
 

API

Обобщенные функции(ОФ)

molar-mass(species)
Возвращает молекулярную массу, [g/mol]
molar-isobaric-heat-capacity(species temperature)
Возвращает мольную изобарную теплоемкость - для класса species - в зависимости от температуры (temperature), [K].
molar-isochoric-heat-capacity(species temperature)
Возвращает мольную изохорую теплоемкость - для класса species - в зависимости от температуры (temperature), [K]
molar-enthalpy(species temperature)
Возвращает мольную энтальпию - для класса species - в зависимости от температуры (temperature), [K].
molar-entropy(species temperature)
Возвращает мольную энтальпию - для класса species - в зависимости от температуры (temperature), [K]
adiabatic-index(species temperature)
Возвращает показатель адиабаты - для класса species - в зависимости от температуры (temperature), [K]
molar-fraction-summ(species)
Возвращает сумму мольных долей смеси газов <composition>. Значение должно равняться единице.
mass-fraction-summ(species)
Возвращает сумму ммассовых долей смеси газов <composition>. Значение должно равняться единице.
mix-composition(composition-1 mfr-1 composition-2 mfr-2)
Возвращает композицию газов как результат смешения 2-х составов с массовыми расходами.
check-mole-fraction(species)
Проверка правильности задания мольных долей.
check-mass-fraction(species)
Проверка правильности задания массовых долей.
reference(key container)
Получает ссылку на элемент, находящийся в конлейнере по ключу.
elemental-mass-fraction(reference)
Описание: метод elemental-mass-fraction возвращает атомарный состав reference.
dump(reference stream)
Описание: метод dump сбравывает символьное представление reference в символьный поток stream.
adapt-mole-fractions(reference)
Описание: метод adapt-mass-fractions выполняет подгонку состава смеси, заданной ммольными долями.
adapt-mass-fractions(reference)
Описание: метод adapt-mass-fractions выполняет подгонку состава смеси, заданной массовыми долями.
insert(obj collection)
Описание: обобщенная_функция insert вставляет объект obj в коллекцию collection.
density(species pressure temperature)
Описание: обобщенная_функция Q-work-low возвращает плотность в кг/м3.
density-relative(species pressure temperature &key base-species)
Описание: обобщенная_функция Q-work-low возвращает относительную плотность в кг/кг.

Горение ОФ

Обобщенные функции относящиеся к сжиганию в веществ в кислороде:
combustion-reaction(species)
Описание: обобщенная_функция combustion-reaction
relativ-oxigen-mass-for-burning(species)
Описание: обобщенная_функция relativ-oxigen-mass-for-burning возвращает количество килограмм кислорода (кг), необходимого для сжигания одного килограмма топлива.
relativ-air-mass-for-burning(species)
Описание: обобщенная_функция relativ-air-mass-for-burning возвращает количество килограмм воздуха (кг), необходимого для сжигания одного килограмма топлива.
wobber-hight(species)
Описание: обобщенная_функция wobber-hight возвращает число Воббе высшее относительное (по воздуху).
wobber-low(species)
Описание: обобщенная_функция wobber-low возвращает число Воббе низшее относительное (по воздуху).
thermal-effect(species)
Описание: обобщенная_функция thermal-effect возвращает тепловой эффект при создании вещества или при химической реакции.
q-work-low(species)
Описание: обобщенная_функция Q-work-low возвращает низшую теплотворную способность топлива кДж/кг.

Константы

Газодинамические константы:
*rμ*
Унинверсальная газовая постоянная [м2*кг*с-2*К-1*Моль-1]
*kal*
Численное значение международной калории в Джоулях, Дж (J)
*c-0*
Ноль шкалы Цельсия в Кельвинах, К (K)
*t-normal*
Нормальная температура, К (K)
*t-standard*
Стандартная температура, К (K)
*p-normal*
Нормальное атмоферное давление в Паскалях, Па
*p-standard*
Стандартное давление в Паскалях, Па