Я новичок в программировании Modelica (я использую OpenModelica и текстовый редактор в Ubuntu 1.8), и мне нужно определить некоторые единицы, одним из них является min ^ (- 1), и я сделал это, написав "тип min_1 = Real (unit = "min ^ (- 1)"); "в файле модели с расширением .mo (в этом файле у меня нет уравнений, у меня есть только определения единиц измерения) и в другом файле Modelica (файл записи ) У меня есть только определения параметров (без уравнений), например параметр min_1 бета = 0,002; , но когда я запускаю всю модель, у меня появляется ошибка, касающаяся только (по крайней мере, очевидно, потому что у меня нет других ошибок) этого конкретного модуля, потому что он говорит, что min_1 не найдена область файла, которая содержит только определения параметров (но min_1 присутствует в этом файле, на самом деле, по-видимому, у меня нет такой же проблемы с другими единицами, которые я определил), поэтому я не могу понять, в чем реальная проблема с этим, потому что ошибка действительно расплывчатая. До того, как я попытался определить единицы измерения, все параметры были определены как реальные, и модель построена идеально, поэтому я почти уверен, что единственная возможная проблема находится в этих двух файлах. (Естественно, все файлы Modelica всей моей Модели находятся в одной папке).
Чтобы определить мой файл единиц измерения, я написал в файле .mo (файл модели):
model def_units
type dlkg=Real(unit="dl/kg");
type mg_1=Real(unit="mg^(-1)");
type kg_1=Real(unit="1/kg");
type min_kg_pmol=Real(unit="min*kg/pmol");
type min_1=Real(unit="min^(-1)");
type mg_kg_min=Real(unit="mg/kg/min");
type mg_kg_min_pmol_l=Real(unit="mg/kg/min*pmol*l");
type mg_kg_min_pmol_kg=Real(unit="mg/kg/min*pmol*kg");
type mg_kg=Real(unit="mg/kg");
type pmol_kg_mg_dl=Real(unit="pmol/kg*(mg/dl)");
type pmol_kg_min_dl=Real(unit="pmol/kg*(min/dl)");
end def_units;
Чтобы определить мои параметры, я написал в отдельном .mo файле (файле записи) это:
record param
parameter min_1 alpha=0.001 ;
parameter min_1 beta=0.002;
parameter dl_kg gamma=0.003;
parameter mg_kg_min delta=0.004;
/* [... ] */
/* many other parameters defined in this way */
/* [... ] */
end param;
Я не использовал / не импортировал никакие библиотеки, они являются стандартными единицами Международной системы, они только как бы "сцеплены" между ними, и чтение в Интернете - единственный способ, который я нашел, чтобы определить что-то более конкретное, как в этом случае , был способ, которым я написал свой код выше (мой руководитель также одобрил способ, которым я определил свои единицы).
В чем может быть проблема в этом случае?
Пожалуйста, если можете, попробуйте объяснить просто и конкретно.
Любая помощь и совет будут очень признательны.
Заранее спасибо.