Установите отношение между переменными Through компонента и узлами
branches a : node1.a -> node2.a; end
branches начинает раздел ветвей, который отключен end ключевое слово. Этот раздел содержит один или несколько операторов ветвления, которые устанавливают отношение между переменными Through компонента и области.
Например, доменное объявление содержит переменную Through a:
variables(Balancing=true)
a = { 0, 'N' }
end
и компонент объявляет два узла, node1 и node2, сопоставленный с этой областью и переменной a:
variables
a = { 0, 'N' };
endИмя переменной компонента не должно совпадать с именем доменной переменной, но модули должны быть соразмерными (в этом примере, 'N', 'kg*m/s^2', 'lbf', и так далее).
Установить связь между переменной a компонента и область Через (балансирующуюся) переменную a, запишите оператор ветвления, такой как:
branches
a : node1.a -> node2.a;
endnode1.a и node2.a идентифицируйте уравнения сохранения на node1 и node2, и переменная a компонента термин, участвующий в тех, которые сохраняют уравнения. Оператор ветвления объявляет тот a течет из node1 к node2. Поэтому a вычтен из уравнения сохранения, идентифицированного node1.a, и a добавляется к уравнению сохранения, идентифицированному node2.a.
Компонент может использовать каждый идентификатор уравнения сохранения многократно. Например, компонент объявляет следующие переменные и ветви:
variables
a1 = { 0, 'N' }
a2 = { 0, 'N' }
a3 = { 0, 'N' }
end
branches
a1 : node1.a -> node2.a;
a2 : node1.a -> node2.a;
a3 : node2.a -> node1.a;
end
Затем принятие, что node1 и node2 не ссылаются никаким другим branch или connect операторы, уравнения сохранения в этих узлах:
Для node1
- a1 - a2 + a3 == 0
Для node2
a1 + a2 - a3 == 0
Следующие правила применяются:
Каждое уравнение сохранения принадлежит узлу, сопоставленному с областью. Все переменные, участвующие в том уравнении сохранения, должны иметь соразмерные модули.
Узел создает одно уравнение сохранения для каждого из Через (балансирующиеся) переменные в связанной области. Операторы ветвления не создают новые уравнения. Они добавляют и вычитают условия в существующих уравнениях сохранения в узлах.
Вторые и третьи аргументы не должны быть сопоставлены с той же областью. Например, можно быть сопоставлен с газовой областью и другим с тепловой областью, с обменом теплового потока, заданным оператором ветвления.
Можно заменить или второе или третий аргумент с * указать на ссылочный узел. Когда вы используете *, переменная, обозначенная первым аргументом, все еще добавлена к или вычтена из уравнения, обозначенного другим идентификатором, но никакое уравнение не затронуто *.
Если раздел объявления компонента содержит два электрических узла, p и n, и переменная i = { 0, 'A' }; задавая текущий, можно установить следующее отношение в branches раздел:
branches i : p.i -> n.i; end
Этот оператор задает текущий i как переменная Through, текущая из узла p к узлу n.
Для основывающегося компонента, который имеет один электрический узел V, задайте текущий i как переменная Through, текущая из узла V к ссылочному узлу:
branches i : V.i -> *; end
Для взаимного индуктора или трансформатора, с первичными и вторичными обмотками, branches раздел должен содержать два оператора, один для каждой обмотки:
branches
i1 : p1.i -> n1.i;
i2 : p2.i -> n2.i;
end
Для компонента, такого как постоянный объем пневматическая емкость, где необходимо установить обмен теплового потока между пневматическим и тепловыми областями, раздел объявления, содержит эти два узла и переменную теплового потока:
nodes
A = foundation.pneumatic.pneumatic;
H = foundation.thermal.thermal;
end
variables
h = { 0 , 'J/s' };
end
и branches раздел устанавливает обмен теплового потока между этими двумя областями:
branches h : A.Q -> H.Q; end
Этот оператор задает тепловой поток h как переменная Through, текущая из пневматического узла A, сопоставленный с входом емкости, к тепловому узлу H, сопоставленный с количеством тепла газа в емкости.