Implementing RDF/XML serialisation using meta-data attributes.
[PyCIM.git] / schemata / CIM14 / Dynamics / ExcitationSystems / ExcST3A.py
blob1cbea54272f5a636f4a6889b3bc1b3b0e91d0971
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 ExcST3A(ExcitationSystem):
20 """IEEE (1992/2005) ST3A Model Some static systems utilize a field voltage control loop to linearize the exciter control characteristic. This also makes the output independent of supply source variations until supply limitations are reached. These systems utilize a variety of controlled-rectifier designs: full thyristor complements or hybrid bridges in either series or shunt configurations. The power source may consist of only a potential source, either fed from the machine terminals or from internal windings. Some designs may have compound power sources utilizing both machine potential and current. These power sources are represented as phasor combinations of machine terminal current and voltage and are accommodated by suitable parameters in the model Type ST3A.
21 """
23 def __init__(self, kp=0.0, angp=0.0, xl=0.0, tc=0.0, tb=0.0, ki=0.0, vbmax=0.0, kc=0.0, vrmax=0.0, vimax=0.0, vgmax=0.0, km=0.0, vmmax=0.0, ka=0.0, tr=0.0, vrmin=0.0, kg=0.0, vimin=0.0, vmmin=0.0, tm=0.0, ta=0.0, *args, **kw_args):
24 """Initialises a new 'ExcST3A' instance.
26 @param kp: Potential source gain (> 0.)
27 @param angp: Phase angle of potential source
28 @param xl: P-bar reactance (>= 0.)
29 @param tc: AVR lead time constant
30 @param tb: AVR lag time constant (>= 0.)
31 @param ki: Current source gain (>= 0.)
32 @param vbmax: Maximum excitation voltage (> 0.)
33 @param kc: Exciter regulation factor (>= 0.)
34 @param vrmax: Maximum AVR output (> 0.)
35 @param vimax: Maximum error (> 0.)
36 @param vgmax: Maximum inner loop feedback voltage (>= 0.)
37 @param km: Inner loop forward gain (> 0.)
38 @param vmmax: Maximum inner loop output (> 0.)
39 @param ka: AVR gain (> 0.)
40 @param tr: Voltage transducer time constant (>= 0.)
41 @param vrmin: Minimum AVR output (< 0.)
42 @param kg: Inner loop feedback gain (>= 0.)
43 @param vimin: Minimum error (< 0.)
44 @param vmmin: Minimum inner loop output (<= 0.)
45 @param tm: Inner loop time constant (> 0.)
46 @param ta: AVR time constant (>= 0.)
47 """
48 #: Potential source gain (> 0.)
49 self.kp = kp
51 #: Phase angle of potential source
52 self.angp = angp
54 #: P-bar reactance (>= 0.)
55 self.xl = xl
57 #: AVR lead time constant
58 self.tc = tc
60 #: AVR lag time constant (>= 0.)
61 self.tb = tb
63 #: Current source gain (>= 0.)
64 self.ki = ki
66 #: Maximum excitation voltage (> 0.)
67 self.vbmax = vbmax
69 #: Exciter regulation factor (>= 0.)
70 self.kc = kc
72 #: Maximum AVR output (> 0.)
73 self.vrmax = vrmax
75 #: Maximum error (> 0.)
76 self.vimax = vimax
78 #: Maximum inner loop feedback voltage (>= 0.)
79 self.vgmax = vgmax
81 #: Inner loop forward gain (> 0.)
82 self.km = km
84 #: Maximum inner loop output (> 0.)
85 self.vmmax = vmmax
87 #: AVR gain (> 0.)
88 self.ka = ka
90 #: Voltage transducer time constant (>= 0.)
91 self.tr = tr
93 #: Minimum AVR output (< 0.)
94 self.vrmin = vrmin
96 #: Inner loop feedback gain (>= 0.)
97 self.kg = kg
99 #: Minimum error (< 0.)
100 self.vimin = vimin
102 #: Minimum inner loop output (<= 0.)
103 self.vmmin = vmmin
105 #: Inner loop time constant (> 0.)
106 self.tm = tm
108 #: AVR time constant (>= 0.)
109 self.ta = ta
111 super(ExcST3A, self).__init__(*args, **kw_args)
113 _attrs = ["kp", "angp", "xl", "tc", "tb", "ki", "vbmax", "kc", "vrmax", "vimax", "vgmax", "km", "vmmax", "ka", "tr", "vrmin", "kg", "vimin", "vmmin", "tm", "ta"]
114 _attr_types = {"kp": float, "angp": float, "xl": float, "tc": float, "tb": float, "ki": float, "vbmax": float, "kc": float, "vrmax": float, "vimax": float, "vgmax": float, "km": float, "vmmax": float, "ka": float, "tr": float, "vrmin": float, "kg": float, "vimin": float, "vmmin": float, "tm": float, "ta": float}
115 _defaults = {"kp": 0.0, "angp": 0.0, "xl": 0.0, "tc": 0.0, "tb": 0.0, "ki": 0.0, "vbmax": 0.0, "kc": 0.0, "vrmax": 0.0, "vimax": 0.0, "vgmax": 0.0, "km": 0.0, "vmmax": 0.0, "ka": 0.0, "tr": 0.0, "vrmin": 0.0, "kg": 0.0, "vimin": 0.0, "vmmin": 0.0, "tm": 0.0, "ta": 0.0}
116 _enums = {}
117 _refs = []
118 _many_refs = []