PUMPSS ------ PUMPSS (class) ^^^^^^^^^^^^^^ .. figure:: ../media/image682.png :figwidth: 0.84375in :align: center Schematic of the Wanda Piston Pump component Single cylinder, single-acting pump with mechanically driven piston **Supplier type** +-----------------------------+----------------------------------------------------------------------+--------+ | type label | description | active | +=============================+======================================================================+========+ | Pump Simplex, single-acting | A single cylinder, with a mechanically driven single-acting piston.. | Yes | +-----------------------------+----------------------------------------------------------------------+--------+ A single cylinder reciprocating pump model can be created by connecting the cylinder to the node shared by two check valves in series See Figure 1. .. figure:: ../media/image683.png :figwidth: 1.16667in :align: center Simplex, single-acting reciprocating pump model A multi-cylinder pump model can be created by placing multiple instances of these cylinders and check valves in series .. _mathematical-model-26: Mathematical model """""""""""""""""" Figure 2 shows the geometry of the one cylinder piston pump and its motion. .. figure:: ../media/image684.png :figwidth: 3.36458in :align: center Geometry of piston motion The crank angle is defined as: .. math:: :label: eq_piston_crank_angle \phi=\omega t+c where *Φ* is the crank angle relative to the top dead centre (radians), *ω* is the constant pump speed (radians/sec), *t* is time and *c* is the crankshaft offset angle (radians). For a variable pump speed equation :eq:`eq_piston_crank_angle` can be rewritten as: .. math:: \phi^{n}=\phi^{n-1}+\omega^{n} \Delta t where *n* denotes the values of the present time-step, *n-1* denotes the values of the previous time-step, *Δt* is the time-step length and *x* is the piston position relative to the top dead centre, *e* is the crank radius and *r* is the connecting rod length. .. math:: x=e(1-\operatorname{Cos} \phi)+r\left(1-\sqrt{1-\left(\frac{e}{r} \operatorname{Sin} \phi\right)^{2}}\right) The piston position may also be normalized [-1,+1] as: .. math:: x_{n o r m}=\frac{x-e}{e} The cylinder volume *V* and piston flow rate *Q\ p* (derived from the piston position) is given by: .. math:: V=V_{T D C}+A_{p}\left[e(1-\operatorname{Cos} \phi)+r\left(1-\sqrt{1-\left(\frac{e}{r} \operatorname{Sin} \phi\right)^{2}}\right)\right] .. math:: Q_{p}=-\omega A_{p} e \operatorname{Sin} \phi\left[1+\frac{e \operatorname{Cos} \phi}{r \sqrt{1-\left(\frac{e}{r} \operatorname{Sin} \phi\right)^{2}}}\right] where *V\ TDC* is the cylinder volume at top dead centre and *A\ p* is the piston area. In the steady state there is no piston movement, hence no discharge is entering or leaving the cylinder. This can be written as a residual : .. math:: Q=0 During motion the following continuity equation applies: .. math:: :label: eq_piston_continuity_equation Q=Q_{p}-\frac{d P}{d t} \frac{V}{K} where *Q* is the discharge out of the cylinder, *Q\ P* is the volumetric discharge of the piston, *P* is the pressure inside the cylinder and *K* is the bulk modulus of the fluid inside the cylinder. Dividing :eq:`eq_piston_continuity_equation` by fluid density and gravity acceleration and integrating fully implicitly in time gives: .. math:: F^{n}=H^{n}-H^{n-1}+\left(Q^{n}-Q_{p}^{n}\right) \frac{K \Delta t}{\rho g V^{n}}=0 Where *H* is the pressure head within the cylinder. The piston pump model does not account for cavitation occurring within the pump cylinder. PUMPSS (Piston Pump) ^^^^^^^^^^^^^^^^^^^^ .. _hydraulic-specifications-27: Hydraulic specifications """""""""""""""""""""""" +-----------------------+-------+-------------+--------+---------+---------------------------+ | Description | input | unit | Range | default | remarks | +=======================+=======+=============+========+=========+===========================+ | Initial motor speed | Real | rad/s | | | | +-----------------------+-------+-------------+--------+---------+---------------------------+ | Initial phase | Real | radians | 0 - 2π | 0 | | +-----------------------+-------+-------------+--------+---------+---------------------------+ | Cylinder volume | Real | m\ :sup:`3` | | | volume at top dead centre | +-----------------------+-------+-------------+--------+---------+---------------------------+ | Piston area | Real | m\ :sup:`2` | | | | +-----------------------+-------+-------------+--------+---------+---------------------------+ | Crank radius | Real | m | | | | +-----------------------+-------+-------------+--------+---------+---------------------------+ | Connecting rod length | Real | m | | | | +-----------------------+-------+-------------+--------+---------+---------------------------+ .. _component-specific-output-26: Component specific output """"""""""""""""""""""""" Motor speed [rad/s] Piston position (normalized) [-] Crank shaft angle [radians] .. _h-actions-24: H-actions """"""""" **Example**: To simulate a duplex, triplex or any other multicylinder pump, multiple instances of the PUMPSS component together with both checkvalves need to be placed parallel, with each cylinder having a unique phase angle. The example below shows a triplex piston pump, with initial phase angle of respectively 0°, 120° and 240°. .. figure:: ../media/image694.png :figwidth: 3.89583in :align: center Schematic overview of Wanda model .. figure:: ../media/image695.png :figwidth: 3.09375in :align: center Discharge of the modeled triplex piston pump. .. _component-messages-23: Component messages """""""""""""""""" +------------------------------------------------------------+-------+------------------------+ | Message | Type | Explanation | +============================================================+=======+========================+ | Time-step should be smaller than reciprocating pump period | Error | Time-step is too large | +------------------------------------------------------------+-------+------------------------+ .. include:: substitutions_liquid.rst