- Index
- » Usage and Applications
- » OpenModelica Usage and Applications
- » Problem with usage of Pump
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
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
- Index
- » Usage and Applications
- » OpenModelica Usage and Applications
- » Problem with usage of Pump