forked from modelica/ModelicaStandardLibrary
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Units.mo
1910 lines (1819 loc) · 94.5 KB
/
Units.mo
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
within Modelica;
package Units "Library of type and unit definitions"
extends Modelica.Icons.Package;
package UsersGuide "User's Guide of Units Library"
extends Modelica.Icons.Information;
class HowToUseUnits "How to use Units"
extends Modelica.Icons.Information;
annotation (DocumentationClass=true, Documentation(info="<html>
<p>
When implementing a Modelica model, every variable needs to
be declared. Physical variables should be declared with a unit.
The basic approach in Modelica is that the unit attribute of
a variable is the <strong>unit</strong> in which the <strong>equations</strong> are <strong>written</strong>,
for example:
</p>
<blockquote><pre>
<strong>model</strong> MassOnGround
<strong>parameter</strong> Real m(quantity=\"Mass\", unit=\"kg\") \"Mass\";
<strong>parameter</strong> Real f(quantity=\"Force\", unit=\"N\") \"Driving force\";
Real s(unit=\"m\") \"Position of mass\";
Real v(unit=\"m/s\") \"Velocity of mass\";
<strong>equation</strong>
<strong>der</strong>(s) = v;
m*<strong>der</strong>(v) = f;
<strong>end</strong> MassOnGround;
</pre></blockquote>
<p>
This means that the equations in the equation section are only correct
for the specified units. A different issue is the user interface, i.e.,
in which unit the variable is presented to the user in graphical
user interfaces, both for input (e.g., parameter menu), as well as
for output (e.g., in the plot window). Preferably, the Modelica tool
should provide a list of units from which the user can select, e.g.,
\"m\", \"cm\", \"km\", \"inch\" for quantity \"Length\". When storing the value in
the model as a Modelica modifier, it has to be converted to the unit defined
in the declaration. Additionally, the unit used in the graphical
user interface has to be stored. In order to have a standardized way
of doing this, Modelica provides the following three attributes
for a variable of type Real:
</p>
<ul>
<li><strong>quantity</strong> to define the physical quantity (e.g., \"Length\", or \"Energy\").</li>
<li><strong>unit</strong> to define the unit that has to be used
in order that the equations are correct (e.g., \"N.m\").</li>
<li><strong>displayUnit</strong> to define the unit used in the graphical
user interface as default display unit for input and/or output.</li>
</ul>
<p>
Note, a unit, such as \"N.m\", is not sufficient to define uniquely the
physical quantity, since, e.g., \"N.m\" might be either \"torque\" or
\"energy\". The \"quantity\" attribute might therefore be used by a tool
to select the corresponding menu from which the user can select
a unit for the corresponding variable.
</p>
<p>
For example, after providing a value for \"m\" and \"f\" in a parameter
menu of an instance of MassOnGround, a tool might generate the following code:
</p>
<blockquote><pre>
MassOnGround myObject(m(displayUnit=\"g\")=2, f=3);
</pre></blockquote>
<p>
The meaning is that in the equations a value of \"2\" is used
and that in the graphical user interface a value of \"2000\" should be used,
together with the unit \"g\" from the unit set \"Mass\" (= the quantity name).
Note, according to the Modelica specification
a tool might ignore the \"displayUnit\" attribute.
</p>
<p>
In order to help the Modelica model developer, the <code>Modelica.Units</code>
library provides about 450 predefined type names,
together with values for the attributes <strong>quantity</strong>, <strong>unit</strong> and sometimes
<strong>displayUnit</strong> and <strong>min</strong>. The unit is always selected as SI-unit according to the
ISO standard. The type and the quantity names are the
quantity names used in the ISO standard. \"quantity\" and \"unit\" are defined
as \"<strong>final</strong>\" in order that they cannot be modified. Attributes \"displayUnit\"
and \"min\" can, however, be changed in a model via a modification. The example above,
might therefore be alternatively also defined as:
</p>
<blockquote><pre>
<strong>model</strong> MassOnGround
<strong>parameter</strong> Modelica.Units.SI.Mass m \"Mass\";
<strong>parameter</strong> Modelica.Units.SI.Force f \"Driving force\";
...
<strong>end</strong> MassOnGround;
</pre></blockquote>
<p>
or in a short hand notation as
</p>
<blockquote><pre>
<strong>model</strong> MassOnGround
<strong>import</strong> Modelica.Units.SI;
<strong>parameter</strong> SI.Mass m \"Mass\";
<strong>parameter</strong> SI.Force f \"Driving force\";
...
<strong>end</strong> MassOnGround;
</pre></blockquote>
<p>
For some often
used Non SI-units (like hour), some additional type definitions are
present as <code>Modelica.Units.NonSI</code>. If this is not sufficient,
the user has to define its own types or use the attributes directly
in the declaration as in the example at the beginning.
</p>
<p>
<strong>Complex units</strong> are also included in <code>Modelica.Units</code>.
A complex unit is declared as:
</p>
<blockquote><pre>
<strong>model</strong> QuasiStaticMachine
<strong>parameter</strong> Modelica.Units.SI.ComplexPower SNominal = Complex(10000,4400)
\"Nominal complex power\";
...
<strong>end</strong> QuasiStaticMachine;
</pre></blockquote>
</html>"));
end HowToUseUnits;
class Conventions "Conventions"
extends Modelica.Icons.Information;
annotation (DocumentationClass=true, Documentation(info="<html>
<p>The following conventions are used in package <code>Modelica.Units.SI</code>:</p>
<ul>
<li>Modelica quantity names are defined according to the recommendations
of ISO 31. Some of these name are rather long, such as
\"ThermodynamicTemperature\". Shorter alias names are defined, e.g.,
\"type Temperature = ThermodynamicTemperature;\".</li>
<li>Modelica units are defined according to the SI base units without
multiples (only exception \"kg\").</li>
<li>For some quantities, more convenient units for an engineer are
defined as \"displayUnit\", i.e., the default unit for display
purposes (e.g., displayUnit=\"deg\" for quantity=\"Angle\").</li>
<li>The type name is identical to the quantity name, following
the convention of type names.</li>
<li>All quantity and unit attributes are defined as final in order
that they cannot be redefined to another value.</li>
<li>Similar quantities, such as \"Length, Breadth, Height, Thickness,
Radius\" are defined as the same quantity (here: \"Length\").</li>
<li>The ordering of the type declarations in this package follows ISO 31:
<blockquote><pre>
Chapter 1: <strong>Space and Time</strong>
Chapter 2: <strong>Periodic and Related Phenomena</strong>
Chapter 3: <strong>Mechanics</strong>
Chapter 4: <strong>Heat</strong>
Chapter 5: <strong>Electricity and Magnetism</strong>
Chapter 6: <strong>Light and Related Electromagnetic Radiations</strong>
Chapter 7: <strong>Acoustics</strong>
Chapter 8: <strong>Physical Chemistry</strong>
Chapter 9: <strong>Atomic and Nuclear Physics</strong>
Chapter 10: <strong>Nuclear Reactions and Ionizing Radiations</strong>
Chapter 11: (not defined in ISO 31-1992)
Chapter 12: <strong>Characteristic Numbers</strong>
Chapter 13: <strong>Solid State Physics</strong>
</pre></blockquote>
</li>
<li>Conversion functions between SI and other units are available in the subpackage
<code>Conversions</code>.</li>
</ul>
</html>"));
end Conventions;
class Literature "Literature"
extends Modelica.Icons.References;
annotation (Documentation(info="<html>
<p> This package is based on the following references
</p>
<dl>
<dt>ISO 31-1992:</dt>
<dd> <strong>General principles concerning
quantities, units and symbols</strong>.<br> </dd>
<dt>ISO 1000-1992:</dt>
<dd> <strong>SI units and recommendations for the use
of their multiples and of certain other units</strong>.<br> </dd>
<dt>Cardarelli F.:</dt>
<dd> <strong>Scientific Unit Conversion - A Practical
Guide to Metrication</strong>. Springer 1997.</dd>
</dl>
</html>"));
end Literature;
class Contact "Contact"
extends Modelica.Icons.Contact;
annotation (Documentation(info="<html>
<h4>Main author</h4>
<p>
<a href=\"http://www.robotic.dlr.de/Martin.Otter/\"><strong>Martin Otter</strong></a><br>
Deutsches Zentrum für Luft- und Raumfahrt (DLR)<br>
Institut für Systemdynamik und Regelungstechnik (SR)<br>
Münchener Straße 20<br>
D-82234 Weßling<br>
Germany<br>
email: <a href=\"mailto:Martin.Otter@dlr.de\">Martin.Otter@dlr.de</a>
</p>
<h4>Acknowledgements</h4>
<p>
Astrid Jaschinski, Hubertus Tummescheit and Christian Schweiger
contributed to the implementation of this package.
</p>
</html>"));
end Contact;
annotation (DocumentationClass=true, Documentation(info="<html>
<p>
Library <strong>Units</strong> is a <strong>free</strong> Modelica package providing
predefined types, such as <em>Mass</em>,
<em>Length</em>, <em>Time</em>.</p>
</html>"));
end UsersGuide;
package SI "Library of SI unit definitions"
extends Modelica.Icons.Package;
// Space and Time (chapter 1 of ISO 31-1992)
type Angle = Real (
final quantity="Angle",
final unit="rad",
displayUnit="deg");
type SolidAngle = Real (final quantity="SolidAngle", final unit="sr");
type Length = Real (final quantity="Length", final unit="m");
type PathLength = Length;
type Position = Length;
type Distance = Length (min=0);
type Breadth = Length(min=0);
type Height = Length(min=0);
type Thickness = Length(min=0);
type Radius = Length(min=0);
type Diameter = Length(min=0);
type Area = Real (final quantity="Area", final unit="m2");
type Volume = Real (final quantity="Volume", final unit="m3");
type Time = Real (final quantity="Time", final unit="s");
type Duration = Time;
type AngularVelocity = Real (
final quantity="AngularVelocity",
final unit="rad/s");
type AngularAcceleration = Real (final quantity="AngularAcceleration", final unit="rad/s2");
type AngularJerk = Real (final quantity="AngularJerk", final unit="rad/s3");
type Velocity = Real (final quantity="Velocity", final unit="m/s");
type Acceleration = Real (final quantity="Acceleration", final unit="m/s2");
type Jerk = Real (final quantity="Jerk", final unit="m/s3");
// Periodic and related phenomens (chapter 2 of ISO 31-1992)
type Period = Real (final quantity="Time", final unit="s");
type Frequency = Real (final quantity="Frequency", final unit="Hz");
type AngularFrequency = Real (final quantity="AngularFrequency", final unit=
"rad/s");
type Wavelength = Real (final quantity="Wavelength", final unit="m");
type WaveNumber = Real (final quantity="WaveNumber", final unit="m-1");
type CircularWaveNumber = Real (final quantity="CircularWaveNumber", final unit=
"rad/m");
type AmplitudeLevelDifference = Real (final quantity=
"AmplitudeLevelDifference", final unit="dB");
type PowerLevelDifference = Real (final quantity="PowerLevelDifference",
final unit="dB");
type DampingCoefficient = Real (final quantity="DampingCoefficient", final unit=
"s-1");
type LogarithmicDecrement = Real (final quantity="LogarithmicDecrement",
final unit="1/S");
type AttenuationCoefficient = Real (final quantity="AttenuationCoefficient",
final unit="m-1");
type PhaseCoefficient = Real (final quantity="PhaseCoefficient", final unit=
"m-1");
type PropagationCoefficient = Real (final quantity="PropagationCoefficient",
final unit="m-1");
// added to ISO-chapter
type Damping = DampingCoefficient;
// Mechanics (chapter 3 of ISO 31-1992)
type Mass = Real (
quantity="Mass",
final unit="kg",
min=0);
type Density = Real (
final quantity="Density",
final unit="kg/m3",
displayUnit="g/cm3",
min=0.0);
type RelativeDensity = Real (
final quantity="RelativeDensity",
final unit="1",
min=0.0);
type SpecificVolume = Real (
final quantity="SpecificVolume",
final unit="m3/kg",
min=0.0);
type LinearDensity = Real (
final quantity="LinearDensity",
final unit="kg/m",
min=0);
type SurfaceDensity = Real (
final quantity="SurfaceDensity",
final unit="kg/m2",
min=0);
type Momentum = Real (final quantity="Momentum", final unit="kg.m/s");
type Impulse = Real (final quantity="Impulse", final unit="N.s");
type AngularMomentum = Real (final quantity="AngularMomentum", final unit=
"kg.m2/s");
type AngularImpulse = Real (final quantity="AngularImpulse", final unit=
"N.m.s");
type MomentOfInertia = Real (final quantity="MomentOfInertia", final unit=
"kg.m2");
type Inertia = MomentOfInertia;
type Force = Real (final quantity="Force", final unit="N");
type TranslationalSpringConstant=Real(final quantity="TranslationalSpringConstant", final unit="N/m");
type TranslationalDampingConstant=Real(final quantity="TranslationalDampingConstant", final unit="N.s/m");
type Weight = Force;
type Torque = Real (final quantity="Torque", final unit="N.m");
type ElectricalTorqueConstant = Real(final quantity="ElectricalTorqueConstant", final unit= "N.m/A");
type MomentOfForce = Torque;
type ImpulseFlowRate = Real (final quantity="ImpulseFlowRate", final unit="N");
type AngularImpulseFlowRate = Real (final quantity="AngularImpulseFlowRate", final unit= "N.m");
type RotationalSpringConstant=Real(final quantity="RotationalSpringConstant", final unit="N.m/rad");
type RotationalDampingConstant=Real(final quantity="RotationalDampingConstant", final unit="N.m.s/rad");
type Pressure = Real (
final quantity="Pressure",
final unit="Pa",
displayUnit="bar");
type AbsolutePressure = Pressure (min=0.0, nominal = 1e5);
type PressureDifference = Pressure;
type PressureSlope = Real (
final quantity="PressureSlope",
final unit="Pa/s",
displayUnit="bar/s");
type BulkModulus = AbsolutePressure;
type Stress = Real (final unit="Pa");
type NormalStress = Stress;
type ShearStress = Stress;
type Strain = Real (final quantity="Strain", final unit="1");
type LinearStrain = Strain;
type ShearStrain = Strain;
type VolumeStrain = Real (final quantity="VolumeStrain", final unit="1");
type PoissonNumber = Real (final quantity="PoissonNumber", final unit="1");
type ModulusOfElasticity = Stress;
type ShearModulus = Stress;
type SecondMomentOfArea = Real (final quantity="SecondMomentOfArea", final unit=
"m4");
type SecondPolarMomentOfArea = SecondMomentOfArea;
type SectionModulus = Real (final quantity="SectionModulus", final unit="m3");
type CoefficientOfFriction = Real (final quantity="CoefficientOfFriction",
final unit="1");
type DynamicViscosity = Real (
final quantity="DynamicViscosity",
final unit="Pa.s",
min=0);
type KinematicViscosity = Real (
final quantity="KinematicViscosity",
final unit="m2/s",
min=0);
type SurfaceTension = Real (final quantity="SurfaceTension", final unit="N/m");
type Work = Real (final quantity="Work", final unit="J");
type Energy = Real (final quantity="Energy", final unit="J");
type EnergyDensity = Real (final quantity="EnergyDensity", final unit="J/m3");
type PotentialEnergy = Energy;
type KineticEnergy = Energy;
type Power = Real (final quantity="Power", final unit="W");
type EnergyFlowRate = Power;
type EnthalpyFlowRate = Real (final quantity="EnthalpyFlowRate", final unit=
"W");
type Efficiency = Real (
final quantity="Efficiency",
final unit="1",
min=0);
type MassFlowRate = Real (quantity="MassFlowRate", final unit="kg/s");
type VolumeFlowRate = Real (final quantity="VolumeFlowRate", final unit=
"m3/s");
// added to ISO-chapter 3
type MomentumFlux = Real (final quantity="MomentumFlux", final unit="N");
type AngularMomentumFlux = Real (final quantity="AngularMomentumFlux", final unit=
"N.m");
// Heat (chapter 4 of ISO 31-1992)
type ThermodynamicTemperature = Real (
final quantity="ThermodynamicTemperature",
final unit="K",
min = 0.0,
start = 288.15,
nominal = 300,
displayUnit="degC")
"Absolute temperature (use type TemperatureDifference for relative temperatures)" annotation(absoluteValue=true);
type Temperature = ThermodynamicTemperature;
type TemperatureDifference = Real (
final quantity="ThermodynamicTemperature",
final unit="K") annotation(absoluteValue=false);
type TemperatureSlope = Real (final quantity="TemperatureSlope",
final unit="K/s");
type LinearTemperatureCoefficient = Real(final quantity = "LinearTemperatureCoefficient", final unit="1/K");
type QuadraticTemperatureCoefficient = Real(final quantity = "QuadraticTemperatureCoefficient", final unit="1/K2");
type LinearExpansionCoefficient = Real (final quantity=
"LinearExpansionCoefficient", final unit="1/K");
type CubicExpansionCoefficient = Real (final quantity=
"CubicExpansionCoefficient", final unit="1/K");
type RelativePressureCoefficient = Real (final quantity=
"RelativePressureCoefficient", final unit="1/K");
type PressureCoefficient = Real (final quantity="PressureCoefficient", final unit=
"Pa/K");
type Compressibility = Real (final quantity="Compressibility", final unit=
"1/Pa");
type IsothermalCompressibility = Compressibility;
type IsentropicCompressibility = Compressibility;
type Heat = Real (final quantity="Energy", final unit="J");
type HeatFlowRate = Real (final quantity="Power", final unit="W");
type HeatFlux = Real (final quantity="HeatFlux", final unit="W/m2");
type DensityOfHeatFlowRate = Real (final quantity="DensityOfHeatFlowRate",
final unit="W/m2");
type ThermalConductivity = Real (final quantity="ThermalConductivity", final unit=
"W/(m.K)");
type CoefficientOfHeatTransfer = Real (final quantity=
"CoefficientOfHeatTransfer", final unit="W/(m2.K)");
type SurfaceCoefficientOfHeatTransfer = CoefficientOfHeatTransfer;
type ThermalInsulance = Real (final quantity="ThermalInsulance", final unit=
"m2.K/W");
type ThermalResistance = Real (final quantity="ThermalResistance", final unit=
"K/W");
type ThermalConductance = Real (final quantity="ThermalConductance", final unit=
"W/K");
type ThermalDiffusivity = Real (final quantity="ThermalDiffusivity", final unit=
"m2/s");
type HeatCapacity = Real (final quantity="HeatCapacity", final unit="J/K");
type SpecificHeatCapacity = Real (final quantity="SpecificHeatCapacity",
final unit="J/(kg.K)");
type SpecificHeatCapacityAtConstantPressure = SpecificHeatCapacity;
type SpecificHeatCapacityAtConstantVolume = SpecificHeatCapacity;
type SpecificHeatCapacityAtSaturation = SpecificHeatCapacity;
type RatioOfSpecificHeatCapacities = Real (final quantity=
"RatioOfSpecificHeatCapacities", final unit="1");
type IsentropicExponent = Real (final quantity="IsentropicExponent", final unit=
"1");
type Entropy = Real (final quantity="Entropy", final unit="J/K");
type EntropyFlowRate = Real (final quantity="EntropyFlowRate", final unit="J/(K.s)");
type SpecificEntropy = Real (final quantity="SpecificEntropy",
final unit="J/(kg.K)");
type InternalEnergy = Heat;
type Enthalpy = Heat;
type HelmholtzFreeEnergy = Heat;
type GibbsFreeEnergy = Heat;
type SpecificEnergy = Real (final quantity="SpecificEnergy",
final unit="J/kg");
type SpecificInternalEnergy = SpecificEnergy;
type SpecificEnthalpy = SpecificEnergy;
type SpecificHelmholtzFreeEnergy = SpecificEnergy;
type SpecificGibbsFreeEnergy = SpecificEnergy;
type MassieuFunction = Real (final quantity="MassieuFunction", final unit=
"J/K");
type PlanckFunction = Real (final quantity="PlanckFunction", final unit="J/K");
// added to ISO-chapter 4
type DerDensityByEnthalpy = Real (final unit="kg.s2/m5");
type DerDensityByPressure = Real (final unit="s2/m2");
type DerDensityByTemperature = Real (final unit="kg/(m3.K)");
type DerEnthalpyByPressure = Real (final unit="J.m.s2/kg2");
type DerEnergyByDensity = Real (final unit="J.m3/kg");
type DerEnergyByPressure = Real (final unit="J.m.s2/kg");
type DerPressureByDensity = Real (final unit="Pa.m3/kg");
type DerPressureByTemperature = Real (final unit="Pa/K");
// Electricity and Magnetism (chapter 5 of ISO 31-1992)
type ElectricCurrent = Real (final quantity="ElectricCurrent", final unit="A");
type Current = ElectricCurrent;
type CurrentSlope = Real(final quantity="CurrentSlope", final unit="A/s");
type ElectricCharge = Real (final quantity="ElectricCharge", final unit="C");
type Charge = ElectricCharge;
type VolumeDensityOfCharge = Real (
final quantity="VolumeDensityOfCharge",
final unit="C/m3",
min=0);
type SurfaceDensityOfCharge = Real (
final quantity="SurfaceDensityOfCharge",
final unit="C/m2",
min=0);
type ElectricFieldStrength = Real (final quantity="ElectricFieldStrength",
final unit="V/m");
type ElectricPotential = Real (final quantity="ElectricPotential", final unit=
"V");
type Voltage = ElectricPotential;
type PotentialDifference = ElectricPotential;
type ElectromotiveForce = ElectricPotential;
type VoltageSecond = Real (final quantity="VoltageSecond", final unit="V.s")
"Voltage second";
type VoltageSlope = Real(final quantity="VoltageSlope", final unit="V/s");
type ElectricFluxDensity = Real (final quantity="ElectricFluxDensity", final unit=
"C/m2");
type ElectricFlux = Real (final quantity="ElectricFlux", final unit="C");
type Capacitance = Real (
final quantity="Capacitance",
final unit="F",
min=0);
type CapacitancePerUnitLength = Real (
final quantity="CapacitancePerUnitLength",
final unit="F/m") "Capacitance per unit length of wire/cable/line";
type CapacitancePerArea =
Real (final quantity="CapacitancePerArea", final unit="F/m2")
"Capacitance per area";
type Permittivity = Real (
final quantity="Permittivity",
final unit="F/m",
min=0);
type PermittivityOfVacuum = Permittivity;
type RelativePermittivity = Real (final quantity="RelativePermittivity",
final unit="1");
type ElectricSusceptibility = Real (final quantity="ElectricSusceptibility",
final unit="1");
type ElectricPolarization = Real (final quantity="ElectricPolarization",
final unit="C/m2");
type Electrization = Real (final quantity="Electrization", final unit="V/m");
type ElectricDipoleMoment = Real (final quantity="ElectricDipoleMoment",
final unit="C.m");
type CurrentDensity = Real (final quantity="CurrentDensity", final unit=
"A/m2");
type LinearCurrentDensity = Real (final quantity="LinearCurrentDensity",
final unit="A/m");
type MagneticFieldStrength = Real (final quantity="MagneticFieldStrength",
final unit="A/m");
type MagneticPotential = Real (final quantity="MagneticPotential", final unit="A");
type MagneticPotentialDifference = Real (final quantity=
"MagneticPotential", final unit="A");
type MagnetomotiveForce = Real (final quantity="MagnetomotiveForce", final unit=
"A");
type CurrentLinkage = Real (final quantity="CurrentLinkage", final unit="A");
type MagneticFluxDensity = Real (final quantity="MagneticFluxDensity", final unit=
"T");
type MagneticFlux = Real (final quantity="MagneticFlux", final unit="Wb");
type MagneticVectorPotential = Real (final quantity="MagneticVectorPotential",
final unit="Wb/m");
type Inductance = Real (
final quantity="Inductance",
final unit="H");
type SelfInductance = Inductance(min=0);
type MutualInductance = Inductance;
type InductancePerUnitLength = Real (
final quantity="InductancePerUnitLength",
final unit="H/m") "Inductance per unit length of wire/cable/line";
type CouplingCoefficient = Real (final quantity="CouplingCoefficient", final unit=
"1");
type LeakageCoefficient = Real (final quantity="LeakageCoefficient", final unit=
"1");
type Permeability = Real (final quantity="Permeability", final unit="V.s/(A.m)");
type PermeabilityOfVacuum = Permeability;
type RelativePermeability = Real (final quantity="RelativePermeability",
final unit="1");
type MagneticSusceptibility = Real (final quantity="MagneticSusceptibility",
final unit="1");
type ElectromagneticMoment = Real (final quantity="ElectromagneticMoment",
final unit="A.m2");
type MagneticDipoleMoment = Real (final quantity="MagneticDipoleMoment",
final unit="Wb.m");
type Magnetization = Real (final quantity="Magnetization", final unit="A/m");
type MagneticPolarization = Real (final quantity="MagneticPolarization",
final unit="T");
type ElectromagneticEnergyDensity = Real (final quantity="EnergyDensity",
final unit="J/m3");
type PoyntingVector = Real (final quantity="PoyntingVector", final unit=
"W/m2");
type Resistance = Real (
final quantity="Resistance",
final unit="Ohm");
type ResistancePerUnitLength = Real (
final quantity="ResistancePerUnitLength",
final unit="Ohm/m") "Resistance per unit length of wire/cable/line";
type Resistivity = Real (final quantity="Resistivity", final unit="Ohm.m");
type Conductivity = Real (final quantity="Conductivity", final unit="S/m");
type Reluctance = Real (final quantity="Reluctance", final unit="H-1");
type Permeance = Real (final quantity="Permeance", final unit="H");
type PhaseDifference = Real (
final quantity="Angle",
final unit="rad",
displayUnit="deg");
type Impedance = Resistance;
type ImpedancePerUnitLength = ResistancePerUnitLength "Impedance per unit length of wire/cable/line";
type ModulusOfImpedance = Resistance;
type Reactance = Resistance;
type ReactancePerUnitLength = ResistancePerUnitLength "Reactance per unit length of wire/cable/line";
type QualityFactor = Real (final quantity="QualityFactor", final unit="1");
type LossAngle = Real (
final quantity="Angle",
final unit="rad",
displayUnit="deg");
type Conductance = Real (
final quantity="Conductance",
final unit="S");
type ConductancePerUnitLength = Real (
final quantity="ConductancePerUnitLength",
final unit="S/m") "Conductance per unit length of wire/cable/line";
type Admittance = Conductance;
type AdmittancePerUnitLength = ConductancePerUnitLength "Admittance per unit length of wire/cable/line";
type ModulusOfAdmittance = Conductance;
type Susceptance = Conductance;
type SusceptancePerUnitLength = ConductancePerUnitLength "Susceptance per unit length of wire/cable/line";
type InstantaneousPower = Real (final quantity="Power", final unit="W");
type ActivePower = Real (final quantity="Power", final unit="W");
type ApparentPower = Real (final quantity="Power", final unit="V.A");
type ReactivePower = Real (final quantity="Power", final unit="var");
type PowerFactor = Real (final quantity="PowerFactor", final unit="1");
type LinearTemperatureCoefficientResistance = Real (
final quantity="LinearTemperatureCoefficientResistance",
final unit="Ohm/K") "First order temperature coefficient";
type QuadraticTemperatureCoefficientResistance = Real (
final quantity="QuadraticTemperatureCoefficientResistance",
final unit="Ohm/K2") "Second order temperature coefficient";
// added to ISO-chapter 5
type Transconductance = Real (final quantity="Transconductance", final unit=
"A/V2");
type InversePotential = Real (final quantity="InversePotential", final unit=
"1/V");
type ElectricalForceConstant = Real (
final quantity="ElectricalForceConstant",
final unit = "N/A");
// Light and Related Electromagnetic Radiations (chapter 6 of ISO 31-1992)
type RadiantEnergy = Real (final quantity="Energy", final unit="J");
type RadiantEnergyDensity = Real (final quantity="EnergyDensity", final unit=
"J/m3");
type SpectralRadiantEnergyDensity = Real (final quantity=
"SpectralRadiantEnergyDensity", final unit="J/m4");
type RadiantPower = Real (final quantity="Power", final unit="W");
type RadiantEnergyFluenceRate = Real (final quantity=
"RadiantEnergyFluenceRate", final unit="W/m2");
type RadiantIntensity = Real (final quantity="RadiantIntensity", final unit=
"W/sr");
type Radiance = Real (final quantity="Radiance", final unit="W/(sr.m2)");
type RadiantExitance = Real (final quantity="RadiantExitance", final unit=
"W/m2");
type Irradiance = Real (final quantity="Irradiance", final unit="W/m2");
type Emissivity = Real (final quantity="Emissivity", final unit="1");
type SpectralEmissivity = Real (final quantity="SpectralEmissivity", final unit=
"1");
type DirectionalSpectralEmissivity = Real (final quantity=
"DirectionalSpectralEmissivity", final unit="1");
type LuminousIntensity = Real (final quantity="LuminousIntensity", final unit=
"cd");
type LuminousFlux = Real (final quantity="LuminousFlux", final unit="lm");
type QuantityOfLight = Real (final quantity="QuantityOfLight", final unit=
"lm.s");
type Luminance = Real (final quantity="Luminance", final unit="cd/m2");
type LuminousExitance = Real (final quantity="LuminousExitance", final unit=
"lm/m2");
type Illuminance = Real (final quantity="Illuminance", final unit="lx");
type LightExposure = Real (final quantity="LightExposure", final unit="lx.s");
type LuminousEfficacy = Real (final quantity="LuminousEfficacy", final unit=
"lm/W");
type SpectralLuminousEfficacy = Real (final quantity=
"SpectralLuminousEfficacy", final unit="lm/W");
type LuminousEfficiency = Real (final quantity="LuminousEfficiency", final unit=
"1");
type SpectralLuminousEfficiency = Real (final quantity=
"SpectralLuminousEfficiency", final unit="1");
type CIESpectralTristimulusValues = Real (final quantity=
"CIESpectralTristimulusValues", final unit="1");
type ChromaticityCoordinates = Real (final quantity="CromaticityCoordinates",
final unit="1");
type SpectralAbsorptionFactor = Real (final quantity=
"SpectralAbsorptionFactor", final unit="1");
type SpectralReflectionFactor = Real (final quantity=
"SpectralReflectionFactor", final unit="1");
type SpectralTransmissionFactor = Real (final quantity=
"SpectralTransmissionFactor", final unit="1");
type SpectralRadianceFactor = Real (final quantity="SpectralRadianceFactor",
final unit="1");
type LinearAttenuationCoefficient = Real (final quantity=
"AttenuationCoefficient", final unit="m-1");
type LinearAbsorptionCoefficient = Real (final quantity=
"LinearAbsorptionCoefficient", final unit="m-1");
type MolarAbsorptionCoefficient = Real (final quantity=
"MolarAbsorptionCoefficient", final unit="m2/mol");
type RefractiveIndex = Real (final quantity="RefractiveIndex", final unit="1");
// Acoustics (chapter 7 of ISO 31-1992)
type StaticPressure = AbsolutePressure;
type SoundPressure = StaticPressure;
type SoundParticleDisplacement = Real (final quantity="Length", final unit=
"m");
type SoundParticleVelocity = Real (final quantity="Velocity", final unit=
"m/s");
type SoundParticleAcceleration = Real (final quantity="Acceleration", final unit=
"m/s2");
type VelocityOfSound = Real (final quantity="Velocity", final unit="m/s");
type SoundEnergyDensity = Real (final quantity="EnergyDensity", final unit=
"J/m3");
type SoundPower = Real (final quantity="Power", final unit="W");
type SoundIntensity = Real (final quantity="SoundIntensity", final unit=
"W/m2");
type AcousticImpedance = Real (final quantity="AcousticImpedance", final unit=
"Pa.s/m3");
type SpecificAcousticImpedance = Real (final quantity=
"SpecificAcousticImpedance", final unit="Pa.s/m");
type MechanicalImpedance = Real (final quantity="MechanicalImpedance", final unit=
"N.s/m");
type SoundPressureLevel = Real (final quantity="SoundPressureLevel", final unit=
"dB");
type SoundPowerLevel = Real (final quantity="SoundPowerLevel", final unit=
"dB");
type DissipationCoefficient = Real (final quantity="DissipationCoefficient",
final unit="1");
type ReflectionCoefficient = Real (final quantity="ReflectionCoefficient",
final unit="1");
type TransmissionCoefficient = Real (final quantity="TransmissionCoefficient",
final unit="1");
type AcousticAbsorptionCoefficient = Real (final quantity=
"AcousticAbsorptionCoefficient", final unit="1");
type SoundReductionIndex = Real (final quantity="SoundReductionIndex", final unit="dB");
type EquivalentAbsorptionArea = Real (final quantity="Area", final unit="m2");
type ReverberationTime = Real (final quantity="Time", final unit="s");
type LoudnessLevel = Real (final quantity="LoudnessLevel", final unit="phon");
type Loudness = Real (final quantity="Loudness", final unit="sone");
// Physical chemistry and molecular physics (chapter 8 of ISO 31-1992)
type RelativeAtomicMass = Real (final quantity="RelativeAtomicMass", final unit="1");
type RelativeMolecularMass = Real (final quantity="RelativeMolecularMass",
final unit="1");
type NumberOfMolecules = Real (final quantity="NumberOfMolecules", final unit="1");
type AmountOfSubstance = Real (
final quantity="AmountOfSubstance",
final unit="mol",
min=0);
type Molality = Real (final quantity="Molality", final unit="mol/kg");
type MolalConcentration = Molality;
type MolarMass = Real (final quantity="MolarMass", final unit="kg/mol", min=0);
type MolarVolume = Real (final quantity="MolarVolume", final unit="m3/mol", min=0);
type MolarDensity = Real (final quantity="MolarDensity", unit="mol/m3");
type Molarity = MolarDensity;
type MolarConcentration = MolarDensity;
type MolarEnergy = Real (final quantity="MolarEnergy", final unit="J/mol", nominal=2e4);
type MolarInternalEnergy = MolarEnergy;
type MolarHeatCapacity = Real (final quantity="MolarHeatCapacity", final unit="J/(mol.K)");
type MolarEntropy = Real (final quantity="MolarEntropy", final unit="J/(mol.K)");
type MolarEnthalpy = MolarEnergy;
type MolarFlowRate = Real (final quantity="MolarFlowRate", final unit="mol/s");
type NumberDensityOfMolecules = Real (final quantity=
"NumberDensityOfMolecules", final unit="m-3");
type MolecularConcentration = Real (final quantity="MolecularConcentration",
final unit="m-3");
type MassConcentration = Real (final quantity="MassConcentration", final unit=
"kg/m3");
type MassFraction = Real (final quantity="MassFraction", final unit="1",
min=0, max=1);
type Concentration = Real (final quantity="Concentration", final unit=
"mol/m3");
type VolumeFraction = Real (final quantity="VolumeFraction", final unit="1");
type MoleFraction = Real (final quantity="MoleFraction", final unit="1",
min = 0, max = 1);
type ChemicalPotential = Real (final quantity="ChemicalPotential", final unit=
"J/mol");
type AbsoluteActivity = Real (final quantity="AbsoluteActivity", final unit=
"1");
type PartialPressure = AbsolutePressure;
type Fugacity = Real (final quantity="Fugacity", final unit="Pa");
type StandardAbsoluteActivity = Real (final quantity=
"StandardAbsoluteActivity", final unit="1");
type ActivityCoefficient = Real (final quantity="ActivityCoefficient", final unit=
"1");
type ActivityOfSolute = Real (final quantity="ActivityOfSolute", final unit=
"1");
type ActivityCoefficientOfSolute = Real (final quantity=
"ActivityCoefficientOfSolute", final unit="1");
type StandardAbsoluteActivityOfSolute = Real (final quantity=
"StandardAbsoluteActivityOfSolute", final unit="1");
type ActivityOfSolvent = Real (final quantity="ActivityOfSolvent", final unit=
"1");
type OsmoticCoefficientOfSolvent = Real (final quantity=
"OsmoticCoefficientOfSolvent", final unit="1");
type StandardAbsoluteActivityOfSolvent = Real (final quantity=
"StandardAbsoluteActivityOfSolvent", final unit="1");
type OsmoticPressure = Real (
final quantity="Pressure",
final unit="Pa",
displayUnit="bar",
min=0);
type StoichiometricNumber = Real (final quantity="StoichiometricNumber",
final unit="1");
type Affinity = Real (final quantity="Affinity", final unit="J/mol");
type MassOfMolecule = Real (final quantity="Mass", final unit="kg");
type ElectricDipoleMomentOfMolecule = Real (final quantity=
"ElectricDipoleMomentOfMolecule", final unit="C.m");
type ElectricPolarizabilityOfAMolecule = Real (final quantity=
"ElectricPolarizabilityOfAMolecule", final unit="C.m2/V");
type MicrocanonicalPartitionFunction = Real (final quantity=
"MicrocanonicalPartitionFunction", final unit="1");
type CanonicalPartitionFunction = Real (final quantity=
"CanonicalPartitionFunction", final unit="1");
type GrandCanonicalPartitionFunction = Real (final quantity=
"GrandCanonicalPartitionFunction", final unit="1");
type MolecularPartitionFunction = Real (final quantity=
"MolecularPartitionFunction", final unit="1");
type StatisticalWeight = Real (final quantity="StatisticalWeight", final unit=
"1");
type MeanFreePath = Length;
type DiffusionCoefficient = Real (final quantity="DiffusionCoefficient",
final unit="m2/s");
type ThermalDiffusionRatio = Real (final quantity="ThermalDiffusionRatio",
final unit="1");
type ThermalDiffusionFactor = Real (final quantity="ThermalDiffusionFactor",
final unit="1");
type ThermalDiffusionCoefficient = Real (final quantity=
"ThermalDiffusionCoefficient", final unit="m2/s");
type ElementaryCharge = Real (final quantity="ElementaryCharge", final unit=
"C");
type ChargeNumberOfIon = Real (final quantity="ChargeNumberOfIon", final unit=
"1");
type FaradayConstant = Real (final quantity="FaradayConstant", final unit=
"C/mol");
type IonicStrength = Molality;
type DegreeOfDissociation = Real (final quantity="DegreeOfDissociation",
final unit="1");
type ElectrolyticConductivity = Real (final quantity=
"ElectrolyticConductivity", final unit="S/m");
type MolarConductivity = Real (final quantity="MolarConductivity", final unit=
"S.m2/mol");
type TransportNumberOfIonic = Real (final quantity="TransportNumberOfIonic",
final unit="1");
// Atomic and Nuclear Physics (chapter 9 of ISO 31-1992)
type ProtonNumber = Real (final quantity="ProtonNumber", final unit="1");
type NeutronNumber = Real (final quantity="NeutronNumber", final unit="1");
type NucleonNumber = Real (final quantity="NucleonNumber", final unit="1");
type AtomicMassConstant = Real (final quantity="Mass", final unit="kg");
type MassOfElectron = Real (final quantity="Mass", final unit="kg");
type MassOfProton = Real (final quantity="Mass", final unit="kg");
type MassOfNeutron = Real (final quantity="Mass", final unit="kg");
type HartreeEnergy = Real (final quantity="Energy", final unit="J");
type MagneticMomentOfParticle = Real (final quantity=
"MagneticMomentOfParticle", final unit="A.m2");
type BohrMagneton = MagneticMomentOfParticle;
type NuclearMagneton = MagneticMomentOfParticle;
type GyromagneticCoefficient = Real (final quantity="GyromagneticCoefficient",
final unit="A.m2/(J.s)");
type GFactorOfAtom = Real (final quantity="GFactorOfAtom", final unit="1");
type GFactorOfNucleus = Real (final quantity="GFactorOfNucleus", final unit=
"1");
type LarmorAngularFrequency = Real (final quantity="AngularFrequency", final unit=
"s-1");
type NuclearPrecessionAngularFrequency = Real (final quantity=
"AngularFrequency", final unit="s-1");
type CyclotronAngularFrequency = Real (final quantity="AngularFrequency",
final unit="s-1");
type NuclearQuadrupoleMoment = Real (final quantity="NuclearQuadrupoleMoment",
final unit="m2");
type NuclearRadius = Real (final quantity="Length", final unit="m");
type ElectronRadius = Real (final quantity="Length", final unit="m");
type ComptonWavelength = Real (final quantity="Length", final unit="m");
type MassExcess = Real (final quantity="Mass", final unit="kg");
type MassDefect = Real (final quantity="Mass", final unit="kg");
type RelativeMassExcess = Real (final quantity="RelativeMassExcess", final unit=
"1");
type RelativeMassDefect = Real (final quantity="RelativeMassDefect", final unit=
"1");
type PackingFraction = Real (final quantity="PackingFraction", final unit="1");
type BindingFraction = Real (final quantity="BindingFraction", final unit="1");
type MeanLife = Real (final quantity="Time", final unit="s");
type LevelWidth = Real (final quantity="LevelWidth", final unit="J");
type Activity = Real (final quantity="Activity", final unit="Bq");
type SpecificActivity = Real (final quantity="SpecificActivity", final unit=
"Bq/kg");
type DecayConstant = Real (final quantity="DecayConstant", final unit="s-1");
type HalfLife = Real (final quantity="Time", final unit="s");
type AlphaDisintegrationEnergy = Real (final quantity="Energy", final unit=
"J");
type MaximumBetaParticleEnergy = Real (final quantity="Energy", final unit=
"J");
type BetaDisintegrationEnergy = Real (final quantity="Energy", final unit="J");
// Nuclear Reactions and Ionizing Radiations (chapter 10 of ISO 31-1992)
type ReactionEnergy = Real (final quantity="Energy", final unit="J");
type ResonanceEnergy = Real (final quantity="Energy", final unit="J");
type CrossSection = Real (final quantity="Area", final unit="m2");
type TotalCrossSection = Real (final quantity="Area", final unit="m2");
type AngularCrossSection = Real (final quantity="AngularCrossSection", final unit=
"m2/sr");
type SpectralCrossSection = Real (final quantity="SpectralCrossSection",
final unit="m2/J");
type SpectralAngularCrossSection = Real (final quantity=
"SpectralAngularCrossSection", final unit="m2/(sr.J)");
type MacroscopicCrossSection = Real (final quantity="MacroscopicCrossSection",
final unit="m-1");
type TotalMacroscopicCrossSection = Real (final quantity=
"TotalMacroscopicCrossSection", final unit="m-1");
type ParticleFluence = Real (final quantity="ParticleFluence", final unit=
"m-2");
type ParticleFluenceRate = Real (final quantity="ParticleFluenceRate", final unit=
"s-1.m2");
type EnergyFluence = Real (final quantity="EnergyFluence", final unit="J/m2");
type EnergyFluenceRate = Real (final quantity="EnergyFluenceRate", final unit=
"W/m2");
type CurrentDensityOfParticles = Real (final quantity=
"CurrentDensityOfParticles", final unit="m-2.s-1");
type MassAttenuationCoefficient = Real (final quantity=
"MassAttenuationCoefficient", final unit="m2/kg");
type MolarAttenuationCoefficient = Real (final quantity=
"MolarAttenuationCoefficient", final unit="m2/mol");
type AtomicAttenuationCoefficient = Real (final quantity=
"AtomicAttenuationCoefficient", final unit="m2");
type HalfThickness = Real (final quantity="Length", final unit="m");
type TotalLinearStoppingPower = Real (final quantity=
"TotalLinearStoppingPower", final unit="J/m");
type TotalAtomicStoppingPower = Real (final quantity=
"TotalAtomicStoppingPower", final unit="J.m2");
type TotalMassStoppingPower = Real (final quantity="TotalMassStoppingPower",
final unit="J.m2/kg");
type MeanLinearRange = Real (final quantity="Length", final unit="m");
type MeanMassRange = Real (final quantity="MeanMassRange", final unit="kg/m2");
type LinearIonization = Real (final quantity="LinearIonization", final unit=
"m-1");
type TotalIonization = Real (final quantity="TotalIonization", final unit="1");
type Mobility = Real (final quantity="Mobility", final unit="m2/(V.s)");
type IonNumberDensity = Real (final quantity="IonNumberDensity", final unit=
"m-3");
type RecombinationCoefficient = Real (final quantity=
"RecombinationCoefficient", final unit="m3/s");
type NeutronNumberDensity = Real (final quantity="NeutronNumberDensity",
final unit="m-3");
type NeutronSpeed = Real (final quantity="Velocity", final unit="m/s");
type NeutronFluenceRate = Real (final quantity="NeutronFluenceRate", final unit=
"s-1.m-2");
type TotalNeutronSourceDensity = Real (final quantity=
"TotalNeutronSourceDensity", final unit="s-1.m-3");
type SlowingDownDensity = Real (final quantity="SlowingDownDensity", final unit=
"s-1.m-3");
type ResonanceEscapeProbability = Real (final quantity=
"ResonanceEscapeProbability", final unit="1");
type Lethargy = Real (final quantity="Lethargy", final unit="1");
type SlowingDownArea = Real (final quantity="Area", final unit="m2");
type DiffusionArea = Real (final quantity="Area", final unit="m2");
type MigrationArea = Real (final quantity="Area", final unit="m2");
type SlowingDownLength = Real (final quantity="SLength", final unit="m");
type DiffusionLength = Length;
type MigrationLength = Length;
type NeutronYieldPerFission = Real (final quantity="NeutronYieldPerFission",
final unit="1");
type NeutronYieldPerAbsorption = Real (final quantity=
"NeutronYieldPerAbsorption", final unit="1");
type FastFissionFactor = Real (final quantity="FastFissionFactor", final unit=
"1");
type ThermalUtilizationFactor = Real (final quantity=
"ThermalUtilizationFactor", final unit="1");
type NonLeakageProbability = Real (final quantity="NonLeakageProbability",
final unit="1");
type Reactivity = Real (final quantity="Reactivity", final unit="1");
type ReactorTimeConstant = Real (final quantity="Time", final unit="s");
type EnergyImparted = Real (final quantity="Energy", final unit="J");
type MeanEnergyImparted = Real (final quantity="Energy", final unit="J");
type SpecificEnergyImparted = Real (final quantity="SpecificEnergy", final unit=
"Gy");
type AbsorbedDose = Real (final quantity="AbsorbedDose", final unit="Gy");
type DoseEquivalent = Real (final quantity="DoseEquivalent", final unit="Sv");
type AbsorbedDoseRate = Real (final quantity="AbsorbedDoseRate", final unit=
"Gy/s");
type LinearEnergyTransfer = Real (final quantity="LinearEnergyTransfer",
final unit="J/m");
type Kerma = Real (final quantity="Kerma", final unit="Gy");
type KermaRate = Real (final quantity="KermaRate", final unit="Gy/s");
type MassEnergyTransferCoefficient = Real (final quantity=
"MassEnergyTransferCoefficient", final unit="m2/kg");
type Exposure = Real (final quantity="Exposure", final unit="C/kg");
type ExposureRate = Real (final quantity="ExposureRate", final unit=
"C/(kg.s)");
// chapter 11 is not defined in ISO 31-1992
// Characteristic Numbers (chapter 12 of ISO 31-1992)
type ReynoldsNumber = Real (final quantity="ReynoldsNumber", final unit="1");
type EulerNumber = Real (final quantity="EulerNumber", final unit="1");
type FroudeNumber = Real (final quantity="FroudeNumber", final unit="1");
type GrashofNumber = Real (final quantity="GrashofNumber", final unit="1");
type WeberNumber = Real (final quantity="WeberNumber", final unit="1");
type MachNumber = Real (final quantity="MachNumber", final unit="1");
type KnudsenNumber = Real (final quantity="KnudsenNumber", final unit="1");
type StrouhalNumber = Real (final quantity="StrouhalNumber", final unit="1");
type FourierNumber = Real (final quantity="FourierNumber", final unit="1");
type PecletNumber = Real (final quantity="PecletNumber", final unit="1");
type RayleighNumber = Real (final quantity="RayleighNumber", final unit="1");
type NusseltNumber = Real (final quantity="NusseltNumber", final unit="1");
type BiotNumber = NusseltNumber;
// The Biot number (Bi) is used when
// the Nusselt number is reserved
// for convective transport of heat.
type StantonNumber = Real (final quantity="StantonNumber", final unit="1");
type FourierNumberOfMassTransfer = Real (final quantity=
"FourierNumberOfMassTransfer", final unit="1");
type PecletNumberOfMassTransfer = Real (final quantity=
"PecletNumberOfMassTransfer", final unit="1");
type GrashofNumberOfMassTransfer = Real (final quantity=
"GrashofNumberOfMassTransfer", final unit="1");
type NusseltNumberOfMassTransfer = Real (final quantity=
"NusseltNumberOfMassTransfer", final unit="1");
type StantonNumberOfMassTransfer = Real (final quantity=
"StantonNumberOfMassTransfer", final unit="1");