1 package org.djunits.unit;
2
3 import static org.djunits.unit.unitsystem.UnitSystem.CGS_EMU;
4 import static org.djunits.unit.unitsystem.UnitSystem.CGS_ESU;
5 import static org.djunits.unit.unitsystem.UnitSystem.SI_DERIVED;
6
7 import org.djunits.unit.unitsystem.UnitSystem;
8
9
10
11
12
13
14
15
16
17
18
19 public class ElectricalResistanceUnit extends LinearUnit<ElectricalResistanceUnit>
20 {
21
22 private static final long serialVersionUID = 20140607L;
23
24
25 private final MassUnit massUnit;
26
27
28 private final LengthUnit lengthUnit;
29
30
31 private final ElectricalCurrentUnit electricalCurrentUnit;
32
33
34 private final DurationUnit durationUnit;
35
36
37 public static final ElectricalResistanceUnit SI;
38
39
40 public static final ElectricalResistanceUnit OHM;
41
42
43 public static final ElectricalResistanceUnit NANOOHM;
44
45
46 public static final ElectricalResistanceUnit MICROOHM;
47
48
49 public static final ElectricalResistanceUnit MILLIOHM;
50
51
52 public static final ElectricalResistanceUnit KILOOHM;
53
54
55 public static final ElectricalResistanceUnit MEGAOHM;
56
57
58 public static final ElectricalResistanceUnit GIGAOHM;
59
60
61 public static final ElectricalResistanceUnit ABOHM;
62
63
64 public static final ElectricalResistanceUnit STATOHM;
65
66 static
67 {
68 SI = new ElectricalResistanceUnit(MassUnit.KILOGRAM, LengthUnit.METER, ElectricalCurrentUnit.AMPERE,
69 DurationUnit.SECOND, "ElectricalResistanceUnit.ohm_(name)", "ElectricalResistanceUnit.ohm", SI_DERIVED, true);
70 OHM = SI;
71 NANOOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.nano_ohm", "ElectricalResistanceUnit.n_ohm",
72 SI_DERIVED, OHM, 1.0E-9, true);
73 MICROOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.micro_ohm", "ElectricalResistanceUnit.mu_ohm",
74 SI_DERIVED, OHM, 1.0E-6, true);
75 MILLIOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.milli_ohm", "ElectricalResistanceUnit.m_ohm",
76 SI_DERIVED, OHM, 1.0E-3, true);
77 KILOOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.kilo_ohm", "ElectricalResistanceUnit.k_ohm",
78 SI_DERIVED, OHM, 1.0E3, true);
79 MEGAOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.mega_ohm", "ElectricalResistanceUnit.M_ohm",
80 SI_DERIVED, OHM, 1.0E06, true);
81 GIGAOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.giga_ohm", "ElectricalResistanceUnit.G_ohm",
82 SI_DERIVED, OHM, 1.0E9, true);
83 ABOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.ab_ohm", "ElectricalResistanceUnit.a_ohm", CGS_EMU, OHM,
84 1.0E-9, true);
85 STATOHM = new ElectricalResistanceUnit("ElectricalResistanceUnit.stat_ohm", "ElectricalResistanceUnit.st_ohm", CGS_ESU,
86 OHM, 8.987551787E11, true);
87 }
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104 @SuppressWarnings("checkstyle:parameternumber")
105 private ElectricalResistanceUnit(final MassUnit massUnit, final LengthUnit lengthUnit,
106 final ElectricalCurrentUnit electricalCurrentUnit, final DurationUnit durationUnit, final String nameOrNameKey,
107 final String abbreviationOrAbbreviationKey, final UnitSystem unitSystem, final boolean standardUnit)
108 {
109 super(nameOrNameKey, abbreviationOrAbbreviationKey, unitSystem, OHM,
110 massUnit.getScaleFactor() * lengthUnit.getScaleFactor()
111 * lengthUnit.getScaleFactor() / (electricalCurrentUnit.getScaleFactor()
112 * electricalCurrentUnit.getScaleFactor() * Math.pow(durationUnit.getScaleFactor(), 3.0)),
113 standardUnit);
114 this.massUnit = massUnit;
115 this.lengthUnit = lengthUnit;
116 this.electricalCurrentUnit = electricalCurrentUnit;
117 this.durationUnit = durationUnit;
118 }
119
120
121
122
123
124
125
126
127
128
129
130
131 public ElectricalResistanceUnit(final MassUnit massUnit, final LengthUnit lengthUnit,
132 final ElectricalCurrentUnit electricalCurrentUnit, final DurationUnit durationUnit, final String name,
133 final String abbreviation, final UnitSystem unitSystem)
134 {
135 this(massUnit, lengthUnit, electricalCurrentUnit, durationUnit, name, abbreviation, unitSystem, false);
136 }
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152 private ElectricalResistanceUnit(final ElectricalPotentialUnit electricalPotentialUnit,
153 final ElectricalCurrentUnit electricalCurrentUnit, final String nameOrNameKey,
154 final String abbreviationOrAbbreviationKey, final UnitSystem unitSystem, final boolean standardUnit)
155 {
156 super(nameOrNameKey, abbreviationOrAbbreviationKey, unitSystem, OHM,
157 electricalPotentialUnit.getScaleFactor() / electricalCurrentUnit.getScaleFactor(), standardUnit);
158 this.massUnit = electricalPotentialUnit.getMassUnit();
159 this.lengthUnit = electricalPotentialUnit.getLengthUnit();
160 this.electricalCurrentUnit = electricalCurrentUnit;
161 this.durationUnit = electricalPotentialUnit.getDurationUnit();
162 }
163
164
165
166
167
168
169
170
171
172
173
174
175 public ElectricalResistanceUnit(final ElectricalPotentialUnit electricalPotentialUnit,
176 final ElectricalCurrentUnit electricalCurrentUnit, final String name, final String abbreviation,
177 final UnitSystem unitSystem)
178 {
179 this(electricalPotentialUnit, electricalCurrentUnit, name, abbreviation, unitSystem, false);
180 }
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195 private ElectricalResistanceUnit(final String nameOrNameKey, final String abbreviationOrAbbreviationKey,
196 final UnitSystem unitSystem, final ElectricalResistanceUnit referenceUnit, final double scaleFactorToReferenceUnit,
197 final boolean standardUnit)
198 {
199 super(nameOrNameKey, abbreviationOrAbbreviationKey, unitSystem, referenceUnit, scaleFactorToReferenceUnit,
200 standardUnit);
201 this.massUnit = referenceUnit.getMassUnit();
202 this.lengthUnit = referenceUnit.getLengthUnit();
203 this.electricalCurrentUnit = referenceUnit.getElectricalCurrentUnit();
204 this.durationUnit = referenceUnit.getDurationUnit();
205 }
206
207
208
209
210
211
212
213
214
215
216 public ElectricalResistanceUnit(final String name, final String abbreviation, final UnitSystem unitSystem,
217 final ElectricalResistanceUnit referenceUnit, final double scaleFactorToReferenceUnit)
218 {
219 this(name, abbreviation, unitSystem, referenceUnit, scaleFactorToReferenceUnit, false);
220 }
221
222
223
224
225 public final MassUnit getMassUnit()
226 {
227 return this.massUnit;
228 }
229
230
231
232
233 public final LengthUnit getLengthUnit()
234 {
235 return this.lengthUnit;
236 }
237
238
239
240
241 public final ElectricalCurrentUnit getElectricalCurrentUnit()
242 {
243 return this.electricalCurrentUnit;
244 }
245
246
247
248
249 public final DurationUnit getDurationUnit()
250 {
251 return this.durationUnit;
252 }
253
254
255 @Override
256 public final ElectricalResistanceUnit getStandardUnit()
257 {
258 return OHM;
259 }
260
261
262 @Override
263 public final String getSICoefficientsString()
264 {
265 return "kgm2/s3A2";
266 }
267
268 }