1 package org.djunits.unit;
2
3 import org.djunits.quantity.Quantity;
4 import org.djunits.unit.scale.IdentityScale;
5 import org.djunits.unit.scale.LinearScale;
6 import org.djunits.unit.si.SIPrefixes;
7 import org.djunits.unit.unitsystem.UnitSystem;
8
9
10
11
12
13
14
15
16
17 public class ElectricalChargeUnit extends Unit<ElectricalChargeUnit>
18 {
19
20 private static final long serialVersionUID = 20140607L;
21
22
23 public static final Quantity<ElectricalChargeUnit> BASE = new Quantity<>("ElectricalCharge", "sA");
24
25
26 public static final ElectricalChargeUnit SI = new ElectricalChargeUnit()
27 .build(new Unit.Builder<ElectricalChargeUnit>().setQuantity(BASE).setId("C").setName("coulomb")
28 .setUnitSystem(UnitSystem.SI_DERIVED).setSiPrefixes(SIPrefixes.UNIT, 1.0).setScale(IdentityScale.SCALE));
29
30
31 public static final ElectricalChargeUnit COULOMB = SI;
32
33
34 public static final ElectricalChargeUnit MICROCOULOMB = COULOMB.deriveSI(SIPrefixes.getUnit("mu"), 1.0);
35
36
37 public static final ElectricalChargeUnit MILLICOULOMB = COULOMB.deriveSI(SIPrefixes.getUnit("m"), 1.0);
38
39
40 public static final ElectricalChargeUnit AMPERE_HOUR =
41 new ElectricalChargeUnit().build(new Unit.Builder<ElectricalChargeUnit>().setQuantity(BASE).setId("Ah")
42 .setName("ampere hour").setUnitSystem(UnitSystem.SI_DERIVED).setSiPrefixes(SIPrefixes.UNIT, 1.0)
43 .setScale(new LinearScale(3600.0)));
44
45
46 public static final ElectricalChargeUnit MILLIAMPERE_HOUR = AMPERE_HOUR.deriveSI(SIPrefixes.getUnit("m"), 1.0);
47
48
49 public static final ElectricalChargeUnit MILLIAMPERE_SECOND =
50 AMPERE_HOUR.deriveLinear(1.0 / 3600.0, "mAs", "milliampere second");
51
52
53 public static final ElectricalChargeUnit KILOAMPERE_HOUR = AMPERE_HOUR.deriveSI(SIPrefixes.getUnit("k"), 1.0);
54
55
56 public static final ElectricalChargeUnit MEGAAMPERE_HOUR = AMPERE_HOUR.deriveSI(SIPrefixes.getUnit("M"), 1.0);
57
58
59 public static final ElectricalChargeUnit FARADAY = COULOMB.deriveLinear(96485.3383, "F", "faraday", UnitSystem.OTHER);
60
61
62 public static final ElectricalChargeUnit ATOMIC_UNIT =
63 COULOMB.deriveLinear(1.602176634E-19, "e", "elementary unit of charge", UnitSystem.SI_ACCEPTED);
64
65
66 public static final ElectricalChargeUnit STATCOULOMB =
67 COULOMB.deriveLinear(3.335641E-10, "statC", "statcoulomb", UnitSystem.CGS_ESU);
68
69
70 public static final ElectricalChargeUnit FRANKLIN = STATCOULOMB.deriveLinear(1.0, "Fr", "franklin");
71
72
73 public static final ElectricalChargeUnit ESU = STATCOULOMB.deriveLinear(1.0, "esu", "electrostatic unit");
74
75
76 public static final ElectricalChargeUnit ABCOULOMB = COULOMB.deriveLinear(10.0, "abC", "abcoulomb", UnitSystem.CGS_EMU);
77
78
79 public static final ElectricalChargeUnit EMU = ABCOULOMB.deriveLinear(1.0, "emu", "electromagnetic unit");
80
81 }