Я создал модель трехходового клапана на основе 2 двухходовых клапанов, которые объявлены как сменные модели. Вот его начало ...
within SHCLibrary;
model ThreeWayBallValveII
// Import section, AKA nicknames section. To (greately) improve readability.
import Modelica.Fluid.System;
import Modelica.Fluid.Interfaces.{FluidPort_a, FluidPort_b};
import Modelica.Blocks.Sources.Constant;
import Modelica.Blocks.Math.Add;
import Modelica.Blocks.Interfaces.RealInput;
// Definition of the fluid to be used in the component.
// replaceable package Medium = Modelica.Media.Interfaces.PartialMedium;
replaceable package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater;
// Allows for optional redefinition of junciton and valves model.
// replaceable model TeeJunction = Modelica.Fluid.Fittings.BaseClasses.PartialTeeJunction;
replaceable model TeeJunction = Modelica.Fluid.Fittings.TeeJunctionIdeal;
// replaceable model Valve = Modelica.Fluid.Valves.BaseClasses.PartialValve;
replaceable model Valve = Modelica.Fluid.Valves.ValveLinear;
// replaceable model Valve = Modelica.Fluid.Valves.ValveIncompressible;
// import Valve = Modelica.Fluid.Valves.ValveIncompressible;
...
Я использую этот клапан в своей тестовой модели, изменяя декларацию Valve
. Дело в том, что если я использую модель LinearValve
, все идет хорошо.
ThreeWayBallValveII V1(
redeclare package Medium = Medium,
redeclare model Valve = Modelica.Fluid.Valves.ValveLinear)
annotation(
Placement(visible = true, transformation(origin = {0, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Вместо этого, если я использую ValveIncompressible
модель
ThreeWayBallValveII V1(
redeclare package Medium = Medium,
// redeclare model Valve = Modelica.Fluid.Valves.ValveLinear)
redeclare model Valve = Modelica.Fluid.Valves.ValveIncompressible)
annotation(
Placement(visible = true, transformation(origin = {0, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
, я получаю эту ошибку:
[1] 12:40:08 Translation Error
[Modelica.Fluid.Valves: 38:9-40:80]: Function Utilities.regRoot2 not found in scope Valve.
Я думаю, что это можно решить, добавив подобная линия
import Modelica.Fluid.Utilities;
к модели ValveIncompressible
в пакете Valves
, но мне кажется странным, что это еще не было исправлено ранее, и мне интересно, что я делаю что-то не так , Что вы думаете?
С уважением,