-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathelectrical.go
More file actions
61 lines (51 loc) · 2.02 KB
/
electrical.go
File metadata and controls
61 lines (51 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package quant
// Voltage is the dimension marker for electrical potential quantities.
type Voltage struct{}
// Current is the dimension marker for electrical current quantities.
type Current struct{}
// Power is the dimension marker for active power quantities.
type Power struct{}
// ApparentPower is the dimension marker for apparent power quantities.
type ApparentPower struct{}
// ReactivePower is the dimension marker for reactive power quantities.
type ReactivePower struct{}
// Voltage units.
var (
Volt = scaleUnit[Voltage]{factor: 1}
Millivolt = scaleUnit[Voltage]{factor: 1e-3}
Kilovolt = scaleUnit[Voltage]{factor: 1e3}
)
// Current units.
var (
Ampere = scaleUnit[Current]{factor: 1}
Milliampere = scaleUnit[Current]{factor: 1e-3}
Kiloampere = scaleUnit[Current]{factor: 1e3}
)
// Power units.
var (
Watt = scaleUnit[Power]{factor: 1}
Milliwatt = scaleUnit[Power]{factor: 1e-3}
Kilowatt = scaleUnit[Power]{factor: 1e3}
Megawatt = scaleUnit[Power]{factor: 1e6}
Gigawatt = scaleUnit[Power]{factor: 1e9}
MetricHorsepower = scaleUnit[Power]{factor: 735.49875}
BTUPerSecond = scaleUnit[Power]{factor: 1055.05585262}
FootPoundForcePerSecond = scaleUnit[Power]{factor: 1.3558179483314004}
Horsepower = scaleUnit[Power]{factor: 745.6998715822702}
)
// Apparent power units.
var (
VoltAmpere = scaleUnit[ApparentPower]{factor: 1}
MilliVoltAmpere = scaleUnit[ApparentPower]{factor: 1e-3}
KiloVoltAmpere = scaleUnit[ApparentPower]{factor: 1e3}
MegaVoltAmpere = scaleUnit[ApparentPower]{factor: 1e6}
GigaVoltAmpere = scaleUnit[ApparentPower]{factor: 1e9}
)
// Reactive power units.
var (
VoltAmpereReactive = scaleUnit[ReactivePower]{factor: 1}
MilliVoltAmpereReactive = scaleUnit[ReactivePower]{factor: 1e-3}
KiloVoltAmpereReactive = scaleUnit[ReactivePower]{factor: 1e3}
MegaVoltAmpereReactive = scaleUnit[ReactivePower]{factor: 1e6}
GigaVoltAmpereReactive = scaleUnit[ReactivePower]{factor: 1e9}
)