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
.ExcitationSystems
.ExcitationSystem
import ExcitationSystem
19 class ExcST5B(ExcitationSystem
):
20 """IEEE (2005) ST5B Model The Type ST5B excitation system is a variation of the Type ST1A model, with alternative overexcitation and underexcitation inputs and additional limits. The corresponding stabilizer models that can be used with these models are the Type PSS2B, PSS3B, or PSS4B.
23 def __init__(self
, tb2
=0.0, tb1
=0.0, tub2
=0.0, tuc1
=0.0, kr
=0.0, tob2
=0.0, tob1
=0.0, tc1
=0.0, toc1
=0.0, tub1
=0.0, tc2
=0.0, kc
=0.0, vrmax
=0.0, tuc2
=0.0, toc2
=0.0, t1
=0.0, tr
=0.0, vrmin
=0.0, *args
, **kw_args
):
24 """Initialises a new 'ExcST5B' instance.
26 @param tb2: Regulator lag time constant (>= 0.)
27 @param tb1: Regulator lag time constant (>= 0.)
28 @param tub2: UEL lag time constant (>= 0.)
29 @param tuc1: UEL lead time constant.
30 @param kr: Regulator gain (> 0.)
31 @param tob2: OEL lag time constant (>= 0.)
32 @param tob1: OEL lag time constant (>= 0.)
33 @param tc1: Regulator lead time constant
34 @param toc1: OEL lead time constant
35 @param tub1: UEL lag time constant (>= 0.)
36 @param tc2: Regulator lead time constant.
37 @param kc: Rectifier regulation factor (>= 0.)
38 @param vrmax: Maximum regulator output (> 0.)
39 @param tuc2: UEL lead time constant
40 @param toc2: OEL lead time constant
41 @param t1: Firing circuit time constant (>= 0.)
42 @param tr: Filter time constant (>= 0.)
43 @param vrmin: Minimum regulator output (< 0.)
45 #: Regulator lag time constant (>= 0.)
48 #: Regulator lag time constant (>= 0.)
51 #: UEL lag time constant (>= 0.)
54 #: UEL lead time constant.
57 #: Regulator gain (> 0.)
60 #: OEL lag time constant (>= 0.)
63 #: OEL lag time constant (>= 0.)
66 #: Regulator lead time constant
69 #: OEL lead time constant
72 #: UEL lag time constant (>= 0.)
75 #: Regulator lead time constant.
78 #: Rectifier regulation factor (>= 0.)
81 #: Maximum regulator output (> 0.)
84 #: UEL lead time constant
87 #: OEL lead time constant
90 #: Firing circuit time constant (>= 0.)
93 #: Filter time constant (>= 0.)
96 #: Minimum regulator output (< 0.)
99 super(ExcST5B
, self
).__init
__(*args
, **kw_args
)
101 _attrs
= ["tb2", "tb1", "tub2", "tuc1", "kr", "tob2", "tob1", "tc1", "toc1", "tub1", "tc2", "kc", "vrmax", "tuc2", "toc2", "t1", "tr", "vrmin"]
102 _attr_types
= {"tb2": float, "tb1": float, "tub2": float, "tuc1": float, "kr": float, "tob2": float, "tob1": float, "tc1": float, "toc1": float, "tub1": float, "tc2": float, "kc": float, "vrmax": float, "tuc2": float, "toc2": float, "t1": float, "tr": float, "vrmin": float}
103 _defaults
= {"tb2": 0.0, "tb1": 0.0, "tub2": 0.0, "tuc1": 0.0, "kr": 0.0, "tob2": 0.0, "tob1": 0.0, "tc1": 0.0, "toc1": 0.0, "tub1": 0.0, "tc2": 0.0, "kc": 0.0, "vrmax": 0.0, "tuc2": 0.0, "toc2": 0.0, "t1": 0.0, "tr": 0.0, "vrmin": 0.0}