1   /* Copyright 2002-2025 CS GROUP
2    * Licensed to CS GROUP (CS) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * CS licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *   http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.orekit.files.ccsds.definitions;
18  
19  import org.orekit.utils.units.Unit;
20  
21  /**
22   * Units used in CCSDS messages.
23   *
24   * @author Luc Maisonobe
25   */
26  public class Units {
27  
28      /** Seconds reciprocal unit. */
29      public static final Unit ONE_PER_S = Unit.parse("1/s");
30  
31      /** kg.m² unit. */
32      public static final Unit KG_M2 = Unit.parse("kg.m²");
33  
34      /** km³/s² unit. */
35      public static final Unit KM3_PER_S2 = Unit.parse("km³/s²");
36  
37      /** m² unit. */
38      public static final Unit M2 = Unit.parse("m²");
39  
40      /** m⁴ unit. */
41      public static final Unit M4 = Unit.parse("m⁴");
42  
43      /** Meters per second units. */
44      public static final Unit M_PER_S = Unit.parse("m/s");
45  
46      /** Meters per square second units. */
47      public static final Unit M_PER_S2 = Unit.parse("m/s²");
48  
49      /** Square meters per second units. */
50      public static final Unit M2_PER_S = Unit.parse("m²/s");
51  
52      /** Square meters per square second units. */
53      public static final Unit M2_PER_S2 = Unit.parse("m²/s²");
54  
55      /** Square meters per cube second units. */
56      public static final Unit M2_PER_S3 = Unit.parse("m²/s³");
57  
58      /** Square meters per s⁴ units. */
59      public static final Unit M2_PER_S4 = Unit.parse("m²/s⁴");
60  
61      /** m² per kilograms units. */
62      public static final Unit M2_PER_KG = Unit.parse("m²/kg");
63  
64      /** m³ per kilograms units. */
65      public static final Unit M3_PER_KG = Unit.parse("m³/kg");
66  
67      /** m⁴ per kilograms units. */
68      public static final Unit M4_PER_KG = Unit.parse("m⁴/kg");
69  
70      /** m⁴ per square kilograms units. */
71      public static final Unit M4_PER_KG2 = Unit.parse("m⁴/kg²");
72  
73      /** Cubic meters per kilograms second units. */
74      public static final Unit M3_PER_KGS = Unit.parse("m³/(kg.s)");
75  
76      /** Cubic meters per kilograms (square second) units. */
77      public static final Unit M3_PER_KGS2 = Unit.parse("m³/(kg.s²)");
78  
79      /** #/year unit. */
80      public static final Unit NB_PER_Y = Unit.parse("#/yr");
81  
82      /** Square kilometers units. */
83      public static final Unit KM2 = Unit.parse("km²");
84  
85      /** Kilometers per second units. */
86      public static final Unit KM_PER_S = Unit.parse("km/s");
87  
88      /** Kilometers per square second units. */
89      public static final Unit KM_PER_S2 = Unit.parse("km/s²");
90  
91      /** Square kilometers per second units. */
92      public static final Unit KM2_PER_S = Unit.parse("km²/s");
93  
94      /** Square kilometers per square second units. */
95      public static final Unit KM2_PER_S2 = Unit.parse("km²/s²");
96  
97      /** Revolutions per day unit. */
98      public static final Unit REV_PER_DAY = Unit.parse("rev/d");
99  
100     /** Scaled revolutions per square day unit. */
101     public static final Unit REV_PER_DAY2_SCALED = Unit.parse("2rev/d²");
102 
103     /** Scaled revolutions per cubic day divieded by 6 unit. */
104     public static final Unit REV_PER_DAY3_SCALED = Unit.parse("6rev/d³");
105 
106     /** Degree per second unit. */
107     public static final Unit DEG_PER_S = Unit.parse("°/s");
108 
109     /** Degree per second^3/2 unit. */
110     public static final Unit DEG_PER_S_3_2 = Unit.parse("°/√(s³)");
111 
112     /** Degree per second^1/2 unit. */
113     public static final Unit DEG_PER_S_1_2 = Unit.parse("°/√s");
114 
115     /** Newton metre unit. */
116     public static final Unit N_M = Unit.parse("N.m");
117 
118     /** Newton metre second unit.
119      * @since 12.0
120      */
121     public static final Unit N_M_S = Unit.parse("N.m.s");
122 
123     /** Nano Tesla unit. */
124     public static final Unit NANO_TESLA = Unit.parse("nT");
125 
126     /** HectoPascal unit. */
127     public static final Unit HECTO_PASCAL = Unit.parse("hPa");
128 
129     /** Hertz per second unit. */
130     public static final Unit HZ_PER_S = Unit.parse("Hz/s");
131 
132     /** Watt per kilograms units. */
133     public static final Unit W_PER_KG = Unit.parse("W/kg");
134 
135     /** Earth radii reciprocal unit. */
136     public static final Unit ONE_PER_ER = Unit.parse("1/ER");
137 
138     /** Private constructor for a utility class.
139      */
140     private Units() {
141         // nothing to do
142     }
143 
144 }