1 # Copyright (C) 2010 Richard Lincoln
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA, USA
17 from CIM14
.Dynamics
.Loads
.AggregateLoad
import AggregateLoad
19 class LoadMotor(AggregateLoad
):
20 """Aggregate induction motor load. This model is used to represent a fraction of an ordinary load as 'induction motor load'. It allows load that is treated as ordinary constant power in power flow analysis to be represented by an induction motor in dynamic simulation. Either a 'one-cage' or 'two-cage' model of the induction machine can be modeled. Magnetic saturation is not modeled. This model is intended for representation of aggregations of many motors dispersed through a load represented at a high voltage bus but where there is no information on the characteristics of individual motors.
23 def __init__(self
, tv
=0.0, pfrac
=0.0, vt
=0.0, d
=0.0, ra
=0.0, ls
=0.0, lfac
=0.0, tpo
=0.0, h
=0.0, lp
=0.0, lpp
=0.0, tppo
=0.0, tbkr
=0.0, *args
, **kw_args
):
24 """Initialises a new 'LoadMotor' instance.
26 @param tv: Voltage trip pickup time (default = 999)
27 @param pfrac: Fraction of constant-power load to be represented by this motor model (between 1.0 and 0.0)
28 @param vt: Voltage threshold for tripping (default = 0)
29 @param d: Damping factor
30 @param ra: Stator resistance
31 @param ls: Synchronous reactance
32 @param lfac: Loading factor – ratio of initial P to motor MVA base
33 @param tpo: Transient rotor time constant
34 @param h: Inertia constant
35 @param lp: Transient reactance
36 @param lpp: Sub-transient reactance
37 @param tppo: Sub-transient rotor time constant
38 @param tbkr: Circuit breaker operating time (default = 999)
40 #: Voltage trip pickup time (default = 999)
43 #: Fraction of constant-power load to be represented by this motor model (between 1.0 and 0.0)
46 #: Voltage threshold for tripping (default = 0)
55 #: Synchronous reactance
58 #: Loading factor – ratio of initial P to motor MVA base
61 #: Transient rotor time constant
67 #: Transient reactance
70 #: Sub-transient reactance
73 #: Sub-transient rotor time constant
76 #: Circuit breaker operating time (default = 999)
79 super(LoadMotor
, self
).__init
__(*args
, **kw_args
)
81 _attrs
= ["tv", "pfrac", "vt", "d", "ra", "ls", "lfac", "tpo", "h", "lp", "lpp", "tppo", "tbkr"]
82 _attr_types
= {"tv": float, "pfrac": float, "vt": float, "d": float, "ra": float, "ls": float, "lfac": float, "tpo": float, "h": float, "lp": float, "lpp": float, "tppo": float, "tbkr": float}
83 _defaults
= {"tv": 0.0, "pfrac": 0.0, "vt": 0.0, "d": 0.0, "ra": 0.0, "ls": 0.0, "lfac": 0.0, "tpo": 0.0, "h": 0.0, "lp": 0.0, "lpp": 0.0, "tppo": 0.0, "tbkr": 0.0}