1 package org.opentrafficsim.core.unit;
2
3 import static org.opentrafficsim.core.unit.unitsystem.UnitSystem.SI_DERIVED;
4
5 import org.opentrafficsim.core.unit.unitsystem.UnitSystem;
6
7
8
9
10
11
12
13
14
15
16 public class ElectricalResistanceUnit extends Unit<ElectricalResistanceUnit>
17 {
18
19 private static final long serialVersionUID = 20140607L;
20
21
22 private final MassUnit massUnit;
23
24
25 private final LengthUnit lengthUnit;
26
27
28 private final ElectricalCurrentUnit electricalCurrentUnit;
29
30
31 private final TimeUnit timeUnit;
32
33
34 public static final ElectricalResistanceUnit SI;
35
36
37 public static final ElectricalResistanceUnit OHM;
38
39
40 public static final ElectricalResistanceUnit MILLIOHM;
41
42
43 public static final ElectricalResistanceUnit KILOOHM;
44
45
46 public static final ElectricalResistanceUnit MEGAOHM;
47
48 static
49 {
50 SI =
51 new ElectricalResistanceUnit(MassUnit.KILOGRAM, LengthUnit.METER, ElectricalCurrentUnit.AMPERE,
52 TimeUnit.SECOND, "ElectricalResistanceUnit.ohm_(name)", "ElectricalResistanceUnit.ohm",
53 SI_DERIVED);
54 OHM = SI;
55 MILLIOHM =
56 new ElectricalResistanceUnit("ElectricalResistanceUnit.milli_ohm", "ElectricalResistanceUnit.m_ohm",
57 SI_DERIVED, OHM, 0.001);
58 KILOOHM =
59 new ElectricalResistanceUnit("ElectricalResistanceUnit.kilo_ohm", "ElectricalResistanceUnit.k_ohm",
60 SI_DERIVED, OHM, 1000.0);
61 MEGAOHM =
62 new ElectricalResistanceUnit("ElectricalResistanceUnit.mega_ohm", "ElectricalResistanceUnit.M_ohm",
63 SI_DERIVED, OHM, 1.06);
64 }
65
66
67
68
69
70
71
72
73
74
75 public ElectricalResistanceUnit(final MassUnit massUnit, final LengthUnit lengthUnit,
76 final ElectricalCurrentUnit electricalCurrentUnit, final TimeUnit timeUnit, final String nameKey,
77 final String abbreviationKey, final UnitSystem unitSystem)
78 {
79 super(nameKey, abbreviationKey, unitSystem, OHM, massUnit.getConversionFactorToStandardUnit()
80 * lengthUnit.getConversionFactorToStandardUnit()
81 * lengthUnit.getConversionFactorToStandardUnit()
82 / (electricalCurrentUnit.getConversionFactorToStandardUnit()
83 * electricalCurrentUnit.getConversionFactorToStandardUnit() * Math.pow(
84 timeUnit.getConversionFactorToStandardUnit(), 3.0)), true);
85 this.massUnit = massUnit;
86 this.lengthUnit = lengthUnit;
87 this.electricalCurrentUnit = electricalCurrentUnit;
88 this.timeUnit = timeUnit;
89 }
90
91
92
93
94
95
96
97
98
99 public ElectricalResistanceUnit(final ElectricalPotentialUnit electricalPotentialUnit,
100 final ElectricalCurrentUnit electricalCurrentUnit, final String nameKey, final String abbreviationKey,
101 final UnitSystem unitSystem)
102 {
103 super(nameKey, abbreviationKey, unitSystem, OHM, electricalPotentialUnit.getConversionFactorToStandardUnit()
104 / electricalCurrentUnit.getConversionFactorToStandardUnit(), true);
105 this.massUnit = electricalPotentialUnit.getMassUnit();
106 this.lengthUnit = electricalPotentialUnit.getLengthUnit();
107 this.electricalCurrentUnit = electricalCurrentUnit;
108 this.timeUnit = electricalPotentialUnit.getTimeUnit();
109 }
110
111
112
113
114
115
116
117
118
119 public ElectricalResistanceUnit(final String nameKey, final String abbreviationKey, final UnitSystem unitSystem,
120 final ElectricalResistanceUnit referenceUnit, final double conversionFactorToReferenceUnit)
121 {
122 super(nameKey, abbreviationKey, unitSystem, referenceUnit, conversionFactorToReferenceUnit, true);
123 this.massUnit = referenceUnit.getMassUnit();
124 this.lengthUnit = referenceUnit.getLengthUnit();
125 this.electricalCurrentUnit = referenceUnit.getElectricalCurrentUnit();
126 this.timeUnit = referenceUnit.getTimeUnit();
127 }
128
129
130
131
132 public final MassUnit getMassUnit()
133 {
134 return this.massUnit;
135 }
136
137
138
139
140 public final LengthUnit getLengthUnit()
141 {
142 return this.lengthUnit;
143 }
144
145
146
147
148 public final ElectricalCurrentUnit getElectricalCurrentUnit()
149 {
150 return this.electricalCurrentUnit;
151 }
152
153
154
155
156 public final TimeUnit getTimeUnit()
157 {
158 return this.timeUnit;
159 }
160
161
162 @Override
163 public final ElectricalResistanceUnit getStandardUnit()
164 {
165 return OHM;
166 }
167
168
169 @Override
170 public final String getSICoefficientsString()
171 {
172 return "kg.m2.s-3.A-2";
173 }
174
175 }