HyLibLight.Pumps

Models of hydraulic pumps and motors

HyLibLight.Pumps.Tank HyLibLight.Pumps.FlowSource HyLibLight.Pumps.FlowSourceExtCommand HyLibLight.Pumps.ConPump HyLibLight.Pumps.VarPump HyLibLight.Pumps.ConMot HyLibLight.Pumps.VarMot HyLibLight.Pumps.Rotor HyLibLight.Pumps.Diesel HyLibLight.Pumps.Basic

Information


Pumps & Motors

These classes model positive displacement pumps and motors. The shafts of
the pumps and motors can be connected directly to the rotational library.
The control inputs of the variable displacement units can be connected
directly to outputs of the control blocks of the blocks library.

All components have lumped volumes at the inlet and outlet ports.
They also include the inertia of the rotating parts.

FlowSource           (FlS) Flow source with internal leakage
FlowSourceExtConmman (FlE) Flow source with internal leakage 
				and external command signal
ConPump 		(CoP) Constant displacement Pump with leakage
VarPump 		(VaM) Variable displacement Pump with leakage
ConMot 			(CoM) Constant displacement Motor with leakage
VarMot 			(VaM) Variable displacement Motor with leakage
Tank			(Ta)  Tank with preload pressure and conductance of tank pipe

Release Notes:
--------------

1999 - 10 - 9: coded


HyLibLight.Pumps.Diesel HyLibLight.Pumps.Diesel

Diesel engine with speed controller

HyLibLight.Pumps.Diesel

Information

Diesel engine with speed controller and inertia

The model uses a static characteristic curve of maximum torque as a
function of speed. This relation is given by a polynomial.

There is a simple speed controller implemented. The reference signal 
for this controller is given by

          inPort.signal = 0 => w_min
          inPort.signal = 1 => w_max 

This simple model doesn't describe the startup of a Diesel engine.

To set the initial speed of the diesel engine use the parameter wstart in
the parameter window (unfortunately the value of that parameter is not 
displayed in the x0 window of Dymola 4.0 c). 
Don't use the modifier Flywheel(w(start=100)) or connect
the shaft rigidly to other inertias which have been assigned initial values
because this overrides parameter wstart.  

If a state is deselected by Dymola during the index reduction process the
modifier has no effect.

Release Notes:
--------------

2000 - 1 - 31: tested

Parameters

NameDefaultDescription
wstart200angular velocity at simulation start [rad/s]
wmin75minimum angular velocity [rad/s]
wmax240maximum angular velocity [rad/s]
J1moment of inertia of flywheel [kg.m2]
diesel39.0212e-6
diesel2-7.5153e-3
diesel11.5939
diesel07.5022e+1
kdiesel10gain of speed controller, Nm / (rad/sec)

Modelica definition

model Diesel "Diesel engine with speed controller" 
  parameter Modelica.SIunits.AngularVelocity wstart=200 
    "angular velocity at simulation start";
  parameter Modelica.SIunits.AngularVelocity wmin=75 
    "minimum angular velocity";
  parameter Modelica.SIunits.AngularVelocity wmax=240 
    "maximum angular velocity";
  parameter Modelica.SIunits.MomentOfInertia J=1 
    "moment of inertia of flywheel";
  parameter Real diesel3=9.0212e-6;
  parameter Real diesel2=-7.5153e-3;
  parameter Real diesel1=1.5939;
  parameter Real diesel0=7.5022e+1;
  parameter Real kdiesel=10 
    "gain of speed controller, Nm / (rad/sec)";
  Modelica.Mechanics.Rotational.Interfaces.Flange_b flange_b 
    "(right) driven flange (flange axis directed OUT OF cut plane)";
  Modelica.Blocks.Interfaces.InPort inPort(final n=1) 
    "Connector of input signal used as commanded speed";
  HyLibLight.Pumps.Basic.DieselNoStates MnS(
    wmin=wmin, 
    wmax=wmax, 
    diesel3=diesel3, 
    diesel2=diesel2, 
    diesel1=diesel1, 
    diesel0=diesel0, 
    kdiesel=kdiesel) 
    "Diesel engine with speed controller without inertia";
  HyLibLight.Pumps.Rotor Flywheel(
    w(start=wstart), 
    J=J, 
    tauExt=0.0, 
    td=0.0);
equation 
  connect(MnS.flange_b, Flywheel.flange_a);
  connect(Flywheel.flange_b, flange_b);
  connect(MnS.inPort, inPort);
  
  assert(wstart > wmin, 
    "angular velocity at simulation start (wstart) must be GREATER than minimum velocity (wmin)."
    );
  
end Diesel;

HyLibLight.Pumps.VarPump HyLibLight.Pumps.VarPump

Pump with losses and variable displacement.

HyLibLight.Pumps.VarPump

Information

 
Pump with losses and variable displacement.

Flow at the outlet port of the variable displacement pump:

q = Dpump * omega * signal / (2 * pi) - q_leakage

q_leakage = GMint * |port_A.p - port_B.p| + (port_A.p - Tank.p) * GMext
                                        + (port_port_B.p - Tank.p) * GMext

If the inlet pressure is lower than the atmospheric pressure,
the delivered flow rate becomes smaller.

q:       flow rate in m^3/s
Dpump:   max. displacement per revolution in m^3
omega:   angular velocity in rad/s
signal:  command signal for relative displacement:
           +1 => max. flow from A -> B (for omega > 0)
            0 => q = 0
           -1 => max. flow from B -> A (for omega > 0)

GPext    conductance of the external pump leakage, m^3/(s*Pa)
GPint    conductance of the internal pump leakage, m^3/(s*Pa)

Use the modifier(s)

   VolumeA(port_A(p(start=1e5)))
and/or
   VolumeB(port_A(p(start=1e5)))

to set initial condition(s) for the pressure of the lumped volume(s) [Pa].

Use the modifier

   Rotor(w(start=100))

to set initial condition for the angular velocity of the shaft [rad/s].

If a state is deselected by Dymola during the index reduction process this
modifier has no effect.

Release Notes:
--------------

2000 - 2 - 1: tested

Parameters

NameDefaultDescription
Dpump0.1e-3displacement per revolution [m3]
GPint1.e-13conductance of internal leakage [m3/(s*Pa)]
GPext1.e-13conductance of external leakage [m3/(s*Pa)]
J0.01moment of inertia [kg.m2]
td0.0friction coefficient [Nm/(rad/sec)]
volumeA1.e-6volume at port A [m3]
volumeB1.e-6volume at port B [m3]

Modelica definition

model VarPump "Pump with losses and variable displacement." 
  extends HyLibLight.Interfaces.RotSys;
  parameter Modelica.SIunits.Volume Dpump=0.1e-3 
    "displacement per revolution";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GPint=1.e-13 
    "conductance of internal leakage";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GPext=1.e-13 
    "conductance of external leakage";
  parameter Modelica.SIunits.MomentOfInertia J=0.01 
    "moment of inertia";
  parameter Real td=0.0 "friction coefficient [Nm/(rad/sec)]";
  parameter Modelica.SIunits.Volume volumeA=1.e-6 "volume at port A"
    ;
  parameter Modelica.SIunits.Volume volumeB=1.e-6 "volume at port B"
    ;
  Modelica.Blocks.Interfaces.InPort inPort(final n=1) 
    "Connector of input signal used as flow rate";
  HyLibLight.Pumps.Basic.IdVarPump IvP(Dpump=Dpump);
  HyLibLight.Pumps.Tank Ta(GT=GPext);
  HyLibLight.Pumps.Tank Ta1(GT=GPext);
  HyLibLight.Components.Basic.LamResNoStates LamnS(G=GPint);
  HyLibLight.Components.VolumeConst VolumeB(volume=volumeB);
  HyLibLight.Components.VolumeConst VolumeA(volume=volumeA);
  HyLibLight.Pumps.Rotor Rotor(
    J=J, 
    tauExt=0.0, 
    td=td);
equation 
  connect(port_A, IvP.port_A);
  connect(port_B, IvP.port_B);
  connect(Ta.port_A, IvP.port_A);
  connect(IvP.flange_b, flange_b);
  connect(VolumeA.port_A, port_A);
  connect(IvP.port_A, LamnS.port_A);
  connect(LamnS.port_B, IvP.port_B);
  connect(Ta1.port_A, IvP.port_B);
  connect(VolumeB.port_A, IvP.port_B);
  connect(flange_a, Rotor.flange_a);
  connect(Rotor.flange_b, IvP.flange_a);
  connect(IvP.inPort, inPort);
  
end VarPump;

HyLibLight.Pumps.ConPump HyLibLight.Pumps.ConPump

Pump with constant displacement and losses.

HyLibLight.Pumps.ConPump

Information

 
Flow at the outlet port of the constant displacement pump:

q = Dpump * omega  / (2 * pi) - q_leakage

q_leakage = GMint * |port_A.p - port_B.p| + (port_A.p - Tank.p) * GMext
                                        + (port_port_B.p - Tank.p) * GMext

If the inlet pressure is lower than the atmospheric pressure,
the delivered flow rate becomes smaller.

q:       flow rate in m^3/s
Dpump:   max. displacement per revolution in m^3
omega:   angular velocity in rad/s

GPext    conductance of the external pump leakage, m^3/(s*Pa)
GPint    conductance of the internal pump leakage, m^3/(s*Pa)

Use the modifier(s)

   VolumeA(port_A(p(start=1e5)))
and/or
   VolumeB(port_A(p(start=1e5)))

to set initial condition(s) for the pressure of the lumped volume(s) [Pa].

Use the modifier

   Rotor(w(start=100))

to set initial condition for the angular velocity of the shaft [rad/s].

If a state is deselected by Dymola during the index reduction process this
modifier has no effect.


Release Notes:
--------------

2000 - 2 - 1: tested

Parameters

NameDefaultDescription
Dpump0.1e-3displacement per revolution [m3]
GPint1.e-13conductance of internal leakage [m3/(s*Pa)]
GPext1.e-13conductance of external leakage [m3/(s*Pa)]
J0.01moment of inertia [kg.m2]
td0.0friction coefficient [Nm/(rad/sec)]
volumeA1.e-6volume at port A [m3]
volumeB1.e-6volume at port B [m3]

Modelica definition

model ConPump "Pump with constant displacement and losses." 
  extends HyLibLight.Interfaces.RotSys;
  parameter Modelica.SIunits.Volume Dpump=0.1e-3 
    "displacement per revolution";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GPint=1.e-13 
    "conductance of internal leakage";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GPext=1.e-13 
    "conductance of external leakage";
  parameter Modelica.SIunits.MomentOfInertia J=0.01 
    "moment of inertia";
  parameter Real td=0.0 "friction coefficient [Nm/(rad/sec)]";
  parameter Modelica.SIunits.Volume volumeA=1.e-6 "volume at port A"
    ;
  parameter Modelica.SIunits.Volume volumeB=1.e-6 "volume at port B"
    ;
  
  HyLibLight.Pumps.Basic.IdConPump ICP(Dpump=Dpump);
  HyLibLight.Pumps.Tank Ta(GT=GPext);
  HyLibLight.Pumps.Tank Ta1(GT=GPext);
  HyLibLight.Components.Basic.LamResNoStates LamnS(G=GPint);
  HyLibLight.Components.VolumeConst VolumeB(volume=volumeB);
  HyLibLight.Components.VolumeConst VolumeA(volume=volumeA);
  HyLibLight.Pumps.Rotor Rotor(
    J=J, 
    tauExt=0.0, 
    td=td);
equation 
  connect(port_A, ICP.port_A);
  connect(port_B, ICP.port_B);
  connect(Ta.port_A, ICP.port_A);
  connect(ICP.flange_b, flange_b);
  connect(VolumeA.port_A, port_A);
  connect(ICP.port_A, LamnS.port_A);
  connect(LamnS.port_B, ICP.port_B);
  connect(Ta1.port_A, ICP.port_B);
  connect(VolumeB.port_A, ICP.port_B);
  connect(flange_a, Rotor.flange_a);
  connect(Rotor.flange_b, ICP.flange_a);
  
end ConPump;

HyLibLight.Pumps.Tank HyLibLight.Pumps.Tank

Tank with preload and resistance.

HyLibLight.Pumps.Tank

Information

 
Tank with a preload pressure against atmosphere and 
resistance of tank pipe.

A preload pressure of 0 Pa means that the tank
has atmospheric pressure.
A preload pressure of 1 MPa means that the tank
has an absolute pressure of 1,1 Mpa.

The resistance is given by the conductance of the tank pipe GT in m3/(s*Pa)

Release Notes:
--------------
 
2000 - 2 - 4: tested

Parameters

NameDefaultDescription
ppreload0.0e5preload pressure [Pa]
GT2.e-8conductance of tank pipe [m3/(s*Pa)]

Modelica definition

model Tank "Tank with preload and resistance." 
  extends HyLibLight.Interfaces.OnePortCompInput90;
  parameter Modelica.SIunits.Pressure ppreload=0.0e5 
    "preload pressure";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GT=2.e-8 
    "conductance of tank pipe";
  HyLibLight.Pumps.Basic.TankNoRes Ta(ppreload=ppreload);
  HyLibLight.Components.Basic.LamResNoStates LamRes(G=GT);
equation 
  connect(LamRes.port_A, port_A);
  connect(LamRes.port_B, Ta.port_A);
end Tank;

HyLibLight.Pumps.ConMot HyLibLight.Pumps.ConMot

Constant displacement motor with leakage.

HyLibLight.Pumps.ConMot

Information

Constant displacement motor with internal and external leakage

Flow rate at the outlet port of the constant displacement motor:

q = Dmotor * omega / (2 * pi) - q_leakage

q_leakage = GMint * |port_A.p - port_B.p| + (port_A.p - Tank.p) * GMext
                                        + (port_port_B.p - Tank.p) * GMext

if the pressure at the inlet port is higher than
the atmoshperic pressure, otherwise there is a
flow reduction.

q:       flow rate in m^3/s
Dmotor:  displacement in m^3 / revolution
omega:   angular velocity in rad/s
GMext:   conductance of the external motor leakage, m^3/s/Pa
GMint:   conductance of the internal motor leakage, m^3/s/Pa

The torque tau is given by:

tau = Dmotor*(port_A.p - port_B.p)/(2*pi) 

Use the modifier(s)

   VolumeA(port_A(p(start=1e5)))
and/or
   VolumeB(port_A(p(start=1e5)))

to set initial condition(s) for the pressure of the lumped volume(s) [Pa].

Use the modifier

   Rotor(w(start=100))

to set initial condition for the angular velocity of the shaft [rad/s].

If a state is deselected by Dymola during the index reduction process this
modifier has no effect.

Release Notes:
--------------

2000 - 2 - 1: tested

Parameters

NameDefaultDescription
Dmotor0.1e-3displacement per revolution [m3]
GMext5.e-12conductance of the external motor leakage [m3/(s*Pa)]
GMint5.e-12conductance of the internal motor leakage [m3/(s*Pa)]
J0.01moment of inertia [kg.m2]
td0.7friction coefficient [Nm/(rad/sec)]
volumeA1.e-6volume at port A [m3]
volumeB1.e-6volume at port B [m3]

Modelica definition

model ConMot "Constant displacement motor with leakage." 
  extends HyLibLight.Interfaces.RotSys;
  
  parameter Modelica.SIunits.Volume Dmotor=0.1e-3 
    "displacement per revolution";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GMext=5.e-12 
    "conductance of the external motor leakage";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GMint=5.e-12 
    "conductance of the internal motor leakage";
  parameter Modelica.SIunits.MomentOfInertia J=0.01 
    "moment of inertia";
  parameter Real td=0.7 "friction coefficient [Nm/(rad/sec)]";
  parameter Modelica.SIunits.Volume volumeA=1.e-6 "volume at port A"
    ;
  parameter Modelica.SIunits.Volume volumeB=1.e-6 "volume at port B"
    ;
  
  HyLibLight.Pumps.Basic.IdConMot IcM(Dmotor=Dmotor);
  HyLibLight.Pumps.Tank Ta(GT=GMext);
  HyLibLight.Pumps.Tank Ta1(GT=GMext);
  HyLibLight.Components.Basic.LamResNoStates LamnS(G=GMint);
  HyLibLight.Components.VolumeConst VolumeB(volume=volumeB);
  HyLibLight.Components.VolumeConst VolumeA(volume=volumeA);
  HyLibLight.Pumps.Rotor Rotor(
    J=J, 
    tauExt=0.0, 
    td=td);
equation 
  connect(port_A, IcM.port_A);
  connect(port_B, IcM.port_B);
  connect(Ta.port_A, IcM.port_A);
  connect(IcM.flange_b, flange_b);
  connect(VolumeA.port_A, port_A);
  connect(IcM.port_A, LamnS.port_A);
  connect(LamnS.port_B, IcM.port_B);
  connect(Ta1.port_A, IcM.port_B);
  connect(VolumeB.port_A, IcM.port_B);
  connect(flange_a, Rotor.flange_a);
  connect(Rotor.flange_b, IcM.flange_a);
end ConMot;

HyLibLight.Pumps.FlowSource HyLibLight.Pumps.FlowSource

Constant flow source with internal leakage.

HyLibLight.Pumps.FlowSource

Information

 
Constant flow source with internal leakage.

Flow rate of the ideal flow source:

q = qbias + qamp * sin(qfreq * 2 * pi * time + qphase) - p_pump * GP

The delivered flow at the outlet port of this model may be
different because of the flow into the lumped volume at outlet port

q:  flow rate at the outlet port in m^3/s
GP: conductance of pump leakage, m^3/(s*Pa)

Use the modifier

   Vol(port_A(p(start=1e5)))

to set initial condition for the pressure of the lumped volume.
If this state is deselected by Dymola during the index reduction process this
modifier has no effect.


Release Notes:
--------------

2000 - 2 - 3: tested

Parameters

NameDefaultDescription
qbias1e-3bias of flow rate [m3/s]
qamp0amplitude of sinusoidal flow rate [m3/s]
qfreq0frequency of sinusoidal flow rate [Hz]
qphase0rad; phase shift
GP5.e-12conductance of pump leakage [m3/(s*Pa)]
volumeA1.e-6volume at port A [m3]

Modelica definition

model FlowSource "Constant flow source with internal leakage." 
  extends HyLibLight.Interfaces.OnePortCompOutput;
  parameter Modelica.SIunits.VolumeFlowRate qbias=1e-3 
    "bias of flow rate";
  parameter Modelica.SIunits.VolumeFlowRate qamp=0 
    "amplitude of sinusoidal flow rate";
  parameter Modelica.SIunits.Frequency qfreq=0 
    "frequency of sinusoidal flow rate";
  parameter Real qphase=0 "rad; phase shift";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GP=5.e-12 
    "conductance of pump leakage";
  parameter Modelica.SIunits.Volume volumeA=1.e-6 "volume at port A"
    ;
  HyLibLight.Pumps.Basic.IdFlowSource IFS(
    qbias=qbias, 
    qamp=qamp, 
    qfreq=qfreq, 
    qphase=qphase);
  HyLibLight.Pumps.Tank T(GT=GP);
  HyLibLight.Components.VolumeConst Vol(volume=volumeA);
equation 
  connect(IFS.port_B, T.port_A);
  connect(IFS.port_B, port_B);
  connect(Vol.port_A, IFS.port_B);
end FlowSource;

HyLibLight.Pumps.FlowSourceExtCommand HyLibLight.Pumps.FlowSourceExtCommand

Flow source with internal leakage and externally commanded flow rate.

HyLibLight.Pumps.FlowSourceExtCommand

Information

 
Flow source with internal leakage and externally commanded flow rate.

Flow rate of the ideal flow source with externally commanded flow rate:

q = inPort.Signal[1] - p_pump * GP

To generate the signal inPort.Signal[1] the blocks of the blocks library
can be used. The delivered flow at the outlet port of this model may be
different because of the flow into the lumped volume at outlet port

q:  flow rate at the outlet port in m^3/s
GP: conductance of pump leakage, m^3/(s*Pa)

Use the modifier

   Vol(port_A(p(start=1e5)))

to set initial condition for the pressure of the lumped volume.
If this state is deselected by Dymola during the index reduction process this
modifier has no effect.

Release Notes:
--------------

2000 - 2 - 3: tested

Parameters

NameDefaultDescription
GP5.e-12conductance of pump leakage [m3/(s*Pa)]
volumeA1.e-6volume at port A [m3]

Modelica definition

model FlowSourceExtCommand "Flow source with internal leakage and 
      externally commanded flow rate." 
  extends HyLibLight.Interfaces.OnePortCompOutput;
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GP=5.e-12 
    "conductance of pump leakage";
  parameter Modelica.SIunits.Volume volumeA=1.e-6 "volume at port A"
    ;
  HyLibLight.Pumps.Basic.IdFlowSourceExtCommand IFE;
  HyLibLight.Pumps.Tank T(GT=GP);
  HyLibLight.Components.VolumeConst Vol(volume=volumeA);
  Modelica.Blocks.Interfaces.InPort inPort(final n=1) 
    "Connector of input signal used as flow rate";
equation 
  connect(IFE.port_B, T.port_A);
  connect(IFE.port_B, port_B);
  connect(Vol.port_A, IFE.port_B);
  connect(IFE.inPort, inPort);
end FlowSourceExtCommand;

HyLibLight.Pumps.VarMot HyLibLight.Pumps.VarMot

Variable displacement motor with leakage.

HyLibLight.Pumps.VarMot

Information

Variable displacement motor with internal and external leakage

Flow rate at the outlet port of the constant displacement motor:

q = Dmotor * omega * signal / (2 * pi) - q_leakage

q_leakage = GMint * |port_A.p - port_B.p| + (port_A.p - Tank.p) * GMext
                                        + (port_port_B.p - Tank.p) * GMext


if the pressure at the inlet port is higher than the atmoshperic 
pressure, otherwise there is a flow reduction.

q:       flow rate in m^3/s
Dmotor:  displacement in m^3 / revolution
omega:   angular velocity in rad/s
GMext:   conductance of the external motor leakage, m^3/s/Pa
GMint:   conductance of the internal motor leakage, m^3/s/Pa

The torque tau is given by:

tau = Dmotor*(pA-pB)/(2*pi) 

Use the modifier(s)

   VolumeA(port_A(p(start=1e5)))
and/or
   VolumeB(port_A(p(start=1e5)))

to set initial condition(s) for the pressure of the lumped volume(s) [Pa].

Use the modifier

   Rotor(w(start=100))

to set initial condition for the angular velocity of the shaft [rad/s].

If a state is deselected by Dymola during the index reduction process this
modifier has no effect.


Release Notes:
--------------

2000 - 2 - 1: tested

Parameters

NameDefaultDescription
Dmotor0.1e-3displacement per revolution [m3]
GMext5.e-12conductance of the external motor leakage [m3/(s*Pa)]
GMint5.e-12conductance of the internal motor leakage [m3/(s*Pa)]
J0.01moment of inertia [kg.m2]
td0.7friction coefficient [Nm/(rad/sec)]
volumeA1.e-6volume at port A [m3]
volumeB1.e-6volume at port B [m3]

Modelica definition

model VarMot "Variable displacement motor with leakage." 
  extends HyLibLight.Interfaces.RotSys;
  parameter Modelica.SIunits.Volume Dmotor=0.1e-3 
    "displacement per revolution";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GMext=5.e-12 
    "conductance of the external motor leakage";
  parameter HyLibLight.Interfaces.HyLibUnits.Conductance GMint=5.e-12 
    "conductance of the internal motor leakage";
  parameter Modelica.SIunits.MomentOfInertia J=0.01 
    "moment of inertia";
  parameter Real td=0.7 "friction coefficient [Nm/(rad/sec)]";
  parameter Modelica.SIunits.Volume volumeA=1.e-6 "volume at port A"
    ;
  parameter Modelica.SIunits.Volume volumeB=1.e-6 "volume at port B"
    ;
  Modelica.Blocks.Interfaces.InPort inPort(final n=1) 
    "Connector of input signal used as flow rate";
  HyLibLight.Pumps.Basic.IdVarMot IvM(Dmotor=Dmotor);
  HyLibLight.Pumps.Tank Ta(GT=GMext);
  HyLibLight.Pumps.Tank Ta1(GT=GMext);
  HyLibLight.Components.Basic.LamResNoStates LamnS(G=GMint);
  HyLibLight.Components.VolumeConst VolumeB(volume=volumeB);
  HyLibLight.Components.VolumeConst VolumeA(volume=volumeA);
  HyLibLight.Pumps.Rotor Rotor(
    J=J, 
    tauExt=0.0, 
    td=td);
equation 
  connect(port_A, IvM.port_A);
  connect(port_B, IvM.port_B);
  connect(Ta.port_A, IvM.port_A);
  connect(IvM.flange_b, flange_b);
  connect(VolumeA.port_A, port_A);
  connect(IvM.port_A, LamnS.port_A);
  connect(LamnS.port_B, IvM.port_B);
  connect(Ta1.port_A, IvM.port_B);
  connect(VolumeB.port_A, IvM.port_B);
  connect(flange_a, Rotor.flange_a);
  connect(Rotor.flange_b, IvM.flange_a);
  connect(IvM.inPort, inPort);
  
end VarMot;

HyLibLight.Pumps.Rotor HyLibLight.Pumps.Rotor

Rotor with inertia and linear, speed dependent friction.

HyLibLight.Pumps.Rotor

Information

 
Rotor with inertia and linear, speed dependent friction.

Equation of motion:

J*a = flange_a.tau + flange_b.tau + tauExt - w*td;

J		inertia
tau.flange_a	torque at connector flange_a
tau.flange_b	torque at connector flange_b
tauExt		external torque
w		omega (angular velocity)
td		coefficient of friction [Nm / (rad/s)]

Use the modifier

   w(start=100)

to set initial condition for the angular velocity of the shaft [rad/s].

If a state is deselected by Dymola during the index reduction process this
modifier has no effect.

Note: Modelica.Mechanics.Rotational.Inertia uses the same equations but
a different icon.

Release Notes:
--------------

2000 - 2 - 1: tested

Parameters

NameDefaultDescription
J1moment of inertia [kg.m2]
tauExt0.0external torque [N.m]
td0.7friction coefficient [Nm/(rad/sec)]

Modelica definition

model Rotor 
  "Rotor with inertia and linear, speed dependent friction." 
  extends Modelica.Mechanics.Rotational.Interfaces.Rigid;
  
  parameter Modelica.SIunits.Inertia J=1 "moment of inertia";
  parameter Modelica.SIunits.Torque tauExt=0.0 "external torque";
  parameter Real td=0.7 "friction coefficient [Nm/(rad/sec)]";
  
  Modelica.SIunits.AngularVelocity w 
    "absolute angular velocity of component";
  Modelica.SIunits.AngularAcceleration a 
    "absolute angular acceleration of component";
  
equation 
  w = der(phi);
  a = der(w);
  J*a = flange_a.tau + flange_b.tau + tauExt - w*td;
end Rotor;

HTML-documentation generated by Dymola Thu Jun 22 13:55:41 2000 .