Фактически вы можете определить значение параметра во время инициализации. Подсказка лежит в модификаторе fixed=false
.
Ниже приведен простой пример падения давления, когда вы выбираете гидравлический диаметр c во время инициализации для получения желаемого номинального массового расхода.
model SolveParameter
parameter Modelica.SIunits.Diameter dh(fixed=false, start=0.1)
"Hydraulic diameter. Start attribute is guess value";
parameter Real k=0.06 "Roughness, pipe length etc. combined";
parameter Modelica.SIunits.MassFlowRate m_flow_nominal=2
"Nominal mass flow rate";
parameter Modelica.SIunits.PressureDifference dp=1e5
"Differential pressure (boundary condition)";
Modelica.SIunits.MassFlowRate m_flow "Time varying mass flow rate";
initial equation
m_flow = m_flow_nominal;
equation
m_flow = dh*k*sqrt(dp);
end SolveParameter;
Если диаметр является параметром внутри класса (модель трубы), вы можете применить fixed=false
при создании экземпляра модели, то есть
Modelica.Fluid.Pipes.DynamicPipe pipe(diameter(fixed=false));
С уважением,
Рене Джаст Нильсен