-
Notifications
You must be signed in to change notification settings - Fork 0
/
xsams_units_dims.py
58 lines (55 loc) · 2.15 KB
/
xsams_units_dims.py
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
from units import *
d_wavenumber = Dimensions(L=-1)
d_frequency = Dimensions(T=-1)
xsams_units = {
#'Threshold': [],
'Temperature': [Dimensions(Theta=1),],
'TotalPressure': [d_pressure,],
'TotalNumberDensity': [Dimensions(L=-3), Dimensions(Q=1,L=-3)],
'PartialPressure': [d_pressure,],
'MoleFraction': [d_dimensionless,],
'Concentration': [Dimensions(L=-3), Dimensions(Q=1,L=-3)],
'Probability': [d_dimensionless,],
#'NonRadiativeWidth': [],
'TransitionEnergy': [d_energy,],
'TransitionProbabilityA': [Dimensions(T=-1),],
'OscillatorStrength': [d_dimensionless,],
#'LineStrength': [],
'WeightedOscillatorStrength': [d_dimensionless,],
'Log10WeightedOscillatorStrength': [d_dimensionless,],
#'IdealisedIntensity': [],
'EffectiveLandeFactor': [d_dimensionless,],
'Wavenumber': [d_wavenumber,],
'Wavelength': [d_length,],
'Energy': [d_energy,],
'Frequency': [d_frequency,],
#'DielectronicIntensityFactor': [],
#'CollisionalIntensityFactor': [],
'BranchingRatio': [d_dimensionless,],
# BandCentre and BandWidth may be in wavelength, wavenumber or frequency
'BandCentre': [d_length, d_wavenumber, d_frequency],
'BandWidth': [d_length, d_wavenumber, d_frequency],
'Mass': [d_mass,],
# we allow energies, wavenumbers and frequencies for StateEnergy:
'StateEnergy': [d_energy, d_wavenumber, d_frequency],
'IonizationEnergy': [d_energy,],
'LandeFactor': [d_dimensionless,],
'QuantumDefect': [d_dimensionless,],
# NB allow Polarizability in A^2.s^4.kg^-1.m^-1 or "Polarizability Volume", cm3
'Polarizability': [Dimensions(C=2, T=4, M=-1, L=-1), Dimensions(L=3)],
'HyperfineConstantA': [d_energy, d_frequency],
'HyperfineConstantB': [d_energy, d_frequency],
'MolecularWeight': [d_mass,],
'HarmonicFrequency': [d_wavenumber, d_frequency],
# Normal mode intensity: km/mol, cm, etc.
'Intensity': [Dimensions(L=1,Q=-1), Dimensions(L=1)],
'ParticleMass': [d_mass,],
'MaterialThickness': [d_length,],
'MaterialTemperature': [Dimensions(Theta=1),],
# these four elements are ReferencedTextType and not DataType, so don't have
# units
'OrdinaryStructuralFormula': [d_dimensionless,],
'ChemicalName': [d_dimensionless,],
'IUPACName': [d_dimensionless,],
'CASRegistryNumber': [d_dimensionless,],
}