Archived OpenModelica forums. Posting is disabled.

Alternative forums include GitHub discussions or StackOverflow (make sure to read the Stack Overflow rules; you need to have well-formed questions)


Forgot password? | Forgot username? | Register

Problem with usage of Pump

Problem with usage of Pump

Hallo,

I was trying to model[Openmodelica12.0] a cyclic air flowing pipe system in which high pressure air flows through a valve and the pressure at  the inlet of valve is developed by a compressor. Airtank is taken from Modelica.Fluid.Vessels.ClosedVolume as source of fluid and compressible valve from Modelica.Fluid.Valves.ValveCompressible. As i couldnot find another compatible air pump I replaced the medium and used PrescribedPump from fluid library (thought it would act like a centrifugal compressor). Medium was replaced to DryAirNasa as it has more temperature operating range. Simulation after intialization yielded results but the major issue is the insufficient pressure at the outlet of compressor (from 1.01325bar to 1.024bar). The needed presssure is around 10bar. Did i miss anything?


Is the model incapable of building high pressure with low density fluids?

Below is the code of the model:

model SimpleValveTank
  replaceable package Medium = Modelica.Media.Air.DryAirNasa constrainedby Modelica.Media.Interfaces.PartialMedium;
  inner Modelica.Fluid.System system(T_ambient = 301.15, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_start = 0.000000000000001, momentumDynamics = Modelica.Fluid.Types.Dynamics.SteadyState, p_ambient = 101325) annotation(
    Placement(visible = true, transformation(origin = {86, -88}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
  Modelica.Fluid.Machines.PrescribedPump pump(redeclare function flowCharacteristic = Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow(V_flow_nominal = {0, 0.25, 0.5}, head_nominal = {100, 60, 0}), redeclare package Medium = Medium, N_nominal = 400, T_start = system.T_start, V(displayUnit = "l") = 0.05, checkValve = true, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, massDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nParallel = 1, use_N_in = false) annotation(
    Placement(visible = true, transformation(origin = {-40, -44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
  Modelica.Fluid.Pipes.StaticPipe pipe(redeclare package Medium = Medium, allowFlowReversal = true, diameter = 0.150, height_ab = 0, length = 5, nParallel = 1) annotation(
    Placement(visible = true, transformation(origin = {-10, -44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
  Modelica.Fluid.Valves.ValveCompressible valveCompressible1(redeclare package Medium = Medium, CvData = Modelica.Fluid.Types.CvTypes.OpPoint, Kv = 50, dp_nominal = 5.9e+11, m_flow_nominal = 400, p_nominal = 6e6) annotation(
    Placement(visible = true, transformation(origin = {34, -44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
  Modelica.Blocks.Sources.Ramp ramp1(duration = 10, height = 1, offset = 0, startTime = 10) annotation(
    Placement(visible = true, transformation(origin = {12, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
  Modelica.Fluid.Vessels.ClosedVolume Airtank(redeclare package Medium = Medium, V = 100, energyDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial, massDynamics = Modelica.Fluid.Types.Dynamics.DynamicFreeInitial, nPorts = 2, use_portsData = false) annotation(
    Placement(visible = true, transformation(origin = {-86, -24}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
  Modelica.Fluid.Pipes.StaticPipe pipe1(redeclare package Medium = Medium, allowFlowReversal = true, diameter = 0.3, height_ab = 1, length = 100, nParallel = 1) annotation(
    Placement(visible = true, transformation(origin = {70, -44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
equation
  connect(pipe1.port_b, Airtank.ports[2]) annotation(
    Line(points = {{80, -44}, {84, -44}, {84, 16}, {-64, 16}, {-64, -40}, {-82, -40}, {-82, -34}, {-86, -34}}, color = {0, 127, 255}));
  connect(Airtank.ports[1], pump.port_a) annotation(
    Line(points = {{-86, -34}, {-86, -44}, {-50, -44}}, color = {0, 127, 255}, thickness = 0.5));
  connect(ramp1.y, valveCompressible1.opening) annotation(
    Line(points = {{23, -10}, {34, -10}, {34, -36}}, color = {0, 0, 127}));
  connect(valveCompressible1.port_b, pipe1.port_a) annotation(
    Line(points = {{44, -44}, {60, -44}}, color = {0, 127, 255}));
  connect(pipe.port_b, valveCompressible1.port_a) annotation(
    Line(points = {{0, -44}, {24, -44}}, color = {0, 127, 255}));
  connect(pump.port_b, pipe.port_a) annotation(
    Line(points = {{-30, -44}, {-20, -44}}, color = {0, 127, 255}));

annotation(
    experiment(StartTime = 0, StopTime = 20));
end SimpleValveTank;

Looking for some advice

Thanks and Regards,
Joel

Edited by: PJJ3618 - Sep-17-18 13:39:53

Re: Problem with usage of Pump

Hallo all,

Mistake was mine as I didnt dig deep into the construction of pump. Pump Characteristics define the outlet head of that pump. So Default head values accross volume flow rates needed to be reclared as the medium changed to compressible fluid air. So for getting at least  10bar head with air, 10e5 head needed to be defined in pump characteristics at zeo flow of pump.

Thank you
Joel

There are 0 guests and 0 other users also viewing this topic