| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Astro::Constants; |
|
2
|
|
|
|
|
|
|
# ABSTRACT: Perl library to provide physical constants for use in Physics and Astronomy based on values from 2022 CODATA. |
|
3
|
|
|
|
|
|
|
# |
|
4
|
|
|
|
|
|
|
# They are not constant but are changing still. - Cymbeline, Act II, Scene 5 |
|
5
|
|
|
|
|
|
|
$Astro::Constants::VERSION = '0.15'; |
|
6
|
12
|
|
|
12
|
|
2648867
|
use 5.006; |
|
|
12
|
|
|
|
|
48
|
|
|
7
|
12
|
|
|
12
|
|
80
|
use strict; |
|
|
12
|
|
|
|
|
75
|
|
|
|
12
|
|
|
|
|
367
|
|
|
8
|
12
|
|
|
12
|
|
62
|
use warnings; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
651
|
|
|
9
|
|
|
|
|
|
|
|
|
10
|
12
|
|
|
12
|
|
121
|
use base qw(Exporter); |
|
|
12
|
|
|
|
|
42
|
|
|
|
12
|
|
|
|
|
1564
|
|
|
11
|
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
|
|
13
|
12
|
|
|
12
|
|
103
|
use constant SPEED_LIGHT => 299792458; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
990
|
|
|
14
|
12
|
|
|
12
|
|
75
|
use constant LIGHT_SPEED => 299792458; |
|
|
12
|
|
|
|
|
35
|
|
|
|
12
|
|
|
|
|
847
|
|
|
15
|
12
|
|
|
12
|
|
76
|
use constant BOLTZMANN => 1.380649e-23; |
|
|
12
|
|
|
|
|
48
|
|
|
|
12
|
|
|
|
|
696
|
|
|
16
|
12
|
|
|
12
|
|
71
|
use constant GRAVITATIONAL => 6.67430e-11; |
|
|
12
|
|
|
|
|
46
|
|
|
|
12
|
|
|
|
|
712
|
|
|
17
|
12
|
|
|
12
|
|
91
|
use constant ELECTRON_VOLT => 1.602176634e-19; |
|
|
12
|
|
|
|
|
32
|
|
|
|
12
|
|
|
|
|
654
|
|
|
18
|
12
|
|
|
12
|
|
64
|
use constant PLANCK => 6.62607015e-34; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
705
|
|
|
19
|
12
|
|
|
12
|
|
65
|
use constant H_BAR => 1.054571817e-34; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
696
|
|
|
20
|
12
|
|
|
12
|
|
133
|
use constant HBAR => 1.054571817e-34; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
842
|
|
|
21
|
12
|
|
|
12
|
|
67
|
use constant CHARGE_ELEMENTARY => 1.602176634e-19; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
794
|
|
|
22
|
12
|
|
|
12
|
|
87
|
use constant ELECTRON_CHARGE => 1.602176634e-19; |
|
|
12
|
|
|
|
|
57
|
|
|
|
12
|
|
|
|
|
645
|
|
|
23
|
12
|
|
|
12
|
|
89
|
use constant STEFAN_BOLTZMANN => 5.670374419e-8; |
|
|
12
|
|
|
|
|
53
|
|
|
|
12
|
|
|
|
|
699
|
|
|
24
|
12
|
|
|
12
|
|
83
|
use constant DENSITY_RADIATION => 7.565723e-16; |
|
|
12
|
|
|
|
|
27
|
|
|
|
12
|
|
|
|
|
636
|
|
|
25
|
12
|
|
|
12
|
|
89
|
use constant A_RAD => 7.565723e-16; |
|
|
12
|
|
|
|
|
44
|
|
|
|
12
|
|
|
|
|
600
|
|
|
26
|
12
|
|
|
12
|
|
78
|
use constant WIEN => 2.897771955e-3; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
775
|
|
|
27
|
12
|
|
|
12
|
|
70
|
use constant ALPHA => 7.2973525643e-3; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
603
|
|
|
28
|
12
|
|
|
12
|
|
62
|
use constant IMPEDANCE_VACUUM => 376.730313412; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
724
|
|
|
29
|
12
|
|
|
12
|
|
66
|
use constant VACUUM_IMPEDANCE => 376.730313412; |
|
|
12
|
|
|
|
|
49
|
|
|
|
12
|
|
|
|
|
626
|
|
|
30
|
12
|
|
|
12
|
|
76
|
use constant PERMITIV_FREE_SPACE => 8.8541878188e-12; |
|
|
12
|
|
|
|
|
29
|
|
|
|
12
|
|
|
|
|
637
|
|
|
31
|
12
|
|
|
12
|
|
61
|
use constant PERMITIVITY_0 => 8.8541878188e-12; |
|
|
12
|
|
|
|
|
24
|
|
|
|
12
|
|
|
|
|
778
|
|
|
32
|
12
|
|
|
12
|
|
67
|
use constant PERMEABL_FREE_SPACE => 1.25663706127e-6; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
641
|
|
|
33
|
12
|
|
|
12
|
|
74
|
use constant PERMEABILITY_0 => 1.25663706127e-6; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
597
|
|
|
34
|
12
|
|
|
12
|
|
113
|
use constant CONSTANT_MAGNETIC => 1.25663706127e-6; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
635
|
|
|
35
|
12
|
|
|
12
|
|
65
|
use constant PI => 3.14159265358979324; |
|
|
12
|
|
|
|
|
19
|
|
|
|
12
|
|
|
|
|
603
|
|
|
36
|
12
|
|
|
12
|
|
69
|
use constant FOUR_PI => 12.5663706143592; |
|
|
12
|
|
|
|
|
25
|
|
|
|
12
|
|
|
|
|
642
|
|
|
37
|
12
|
|
|
12
|
|
95
|
use constant FOURPI => 12.5663706143592; |
|
|
12
|
|
|
|
|
150
|
|
|
|
12
|
|
|
|
|
701
|
|
|
38
|
12
|
|
|
12
|
|
106
|
use constant STERADIAN => 3282.80635001174; |
|
|
12
|
|
|
|
|
28
|
|
|
|
12
|
|
|
|
|
725
|
|
|
39
|
12
|
|
|
12
|
|
66
|
use constant EXP => 2.71828182846; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
789
|
|
|
40
|
12
|
|
|
12
|
|
77
|
use constant ATOMIC_MASS_UNIT => 1.66053906892e-27; |
|
|
12
|
|
|
|
|
48
|
|
|
|
12
|
|
|
|
|
625
|
|
|
41
|
12
|
|
|
12
|
|
63
|
use constant PARSEC => 3.08567758149e16; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
705
|
|
|
42
|
12
|
|
|
12
|
|
68
|
use constant ASTRONOMICAL_UNIT => 149597870700; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
611
|
|
|
43
|
12
|
|
|
12
|
|
81
|
use constant LIGHT_YEAR => 9460730472580800; |
|
|
12
|
|
|
|
|
39
|
|
|
|
12
|
|
|
|
|
761
|
|
|
44
|
12
|
|
|
12
|
|
75
|
use constant ANGSTROM => 1e-10; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
791
|
|
|
45
|
12
|
|
|
12
|
|
70
|
use constant JANSKY => 1e-26; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
683
|
|
|
46
|
12
|
|
|
12
|
|
73
|
use constant AVOGADRO => 6.02214076e23; |
|
|
12
|
|
|
|
|
34
|
|
|
|
12
|
|
|
|
|
627
|
|
|
47
|
12
|
|
|
12
|
|
79
|
use constant YEAR => 31557600; |
|
|
12
|
|
|
|
|
19
|
|
|
|
12
|
|
|
|
|
593
|
|
|
48
|
12
|
|
|
12
|
|
63
|
use constant YEAR_JULIAN => 31557600; |
|
|
12
|
|
|
|
|
30
|
|
|
|
12
|
|
|
|
|
639
|
|
|
49
|
12
|
|
|
12
|
|
65
|
use constant YEAR_TROPICAL => 31556925.1; |
|
|
12
|
|
|
|
|
19
|
|
|
|
12
|
|
|
|
|
596
|
|
|
50
|
12
|
|
|
12
|
|
63
|
use constant YEAR_SIDEREAL => 31558149.8; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
536
|
|
|
51
|
12
|
|
|
12
|
|
60
|
use constant YEAR_ANOMALISTIC => 31558432.6; |
|
|
12
|
|
|
|
|
34
|
|
|
|
12
|
|
|
|
|
618
|
|
|
52
|
12
|
|
|
12
|
|
92
|
use constant YEAR_ECLIPSE => 29947974.3; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
735
|
|
|
53
|
12
|
|
|
12
|
|
65
|
use constant MASS_SOLAR => 1.9884e30; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
640
|
|
|
54
|
12
|
|
|
12
|
|
90
|
use constant SOLAR_MASS => 1.9884e30; |
|
|
12
|
|
|
|
|
36
|
|
|
|
12
|
|
|
|
|
580
|
|
|
55
|
12
|
|
|
12
|
|
78
|
use constant LUMINOSITY_SOLAR => 3.828e26; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
820
|
|
|
56
|
12
|
|
|
12
|
|
66
|
use constant SOLAR_LUMINOSITY => 3.828e26; |
|
|
12
|
|
|
|
|
30
|
|
|
|
12
|
|
|
|
|
674
|
|
|
57
|
12
|
|
|
12
|
|
66
|
use constant DENSITY_CRITICAL_RHOC => 1.87834e-26; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
673
|
|
|
58
|
12
|
|
|
12
|
|
65
|
use constant RHO_C => 1.87834e-26; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
1059
|
|
|
59
|
2
|
|
|
2
|
1
|
223264
|
sub HUBBLE_TIME { warn "HUBBLE_TIME deprecated"; return 3.0853056e17; } |
|
|
2
|
|
|
|
|
17
|
|
|
60
|
12
|
|
|
12
|
|
70
|
use constant TEMPERATURE_CMB => 2.72548; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
723
|
|
|
61
|
12
|
|
|
12
|
|
69
|
use constant CMB_TEMPERATURE => 2.72548; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
664
|
|
|
62
|
12
|
|
|
12
|
|
66
|
use constant MAGNITUDE_SOLAR_V => -26.74; |
|
|
12
|
|
|
|
|
33
|
|
|
|
12
|
|
|
|
|
834
|
|
|
63
|
12
|
|
|
12
|
|
83
|
use constant SOLAR_V_MAG => -26.74; |
|
|
12
|
|
|
|
|
44
|
|
|
|
12
|
|
|
|
|
634
|
|
|
64
|
12
|
|
|
12
|
|
62
|
use constant MAGNITUDE_SOLAR_V_ABSOLUTE => 4.83; |
|
|
12
|
|
|
|
|
29
|
|
|
|
12
|
|
|
|
|
647
|
|
|
65
|
12
|
|
|
12
|
|
76
|
use constant SOLAR_V_ABS_MAG => 4.83; |
|
|
12
|
|
|
|
|
31
|
|
|
|
12
|
|
|
|
|
683
|
|
|
66
|
12
|
|
|
12
|
|
135
|
use constant RADIUS_SOLAR => 6.96e8; |
|
|
12
|
|
|
|
|
123
|
|
|
|
12
|
|
|
|
|
767
|
|
|
67
|
12
|
|
|
12
|
|
165
|
use constant SOLAR_RADIUS => 6.96e8; |
|
|
12
|
|
|
|
|
27
|
|
|
|
12
|
|
|
|
|
605
|
|
|
68
|
12
|
|
|
12
|
|
60
|
use constant MASS_EARTH => 5.9722e24; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
532
|
|
|
69
|
12
|
|
|
12
|
|
72
|
use constant EARTH_MASS => 5.9722e24; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
573
|
|
|
70
|
12
|
|
|
12
|
|
63
|
use constant RADIUS_EARTH => 6.3781366e6; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
2820
|
|
|
71
|
12
|
|
|
12
|
|
67
|
use constant EARTH_RADIUS => 6.3781366e6; |
|
|
12
|
|
|
|
|
49
|
|
|
|
12
|
|
|
|
|
685
|
|
|
72
|
12
|
|
|
12
|
|
71
|
use constant TEMPERATURE_SOLAR_SURFACE => 5772; |
|
|
12
|
|
|
|
|
42
|
|
|
|
12
|
|
|
|
|
695
|
|
|
73
|
12
|
|
|
12
|
|
67
|
use constant SOLAR_TEMPERATURE => 5772; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
593
|
|
|
74
|
12
|
|
|
12
|
|
65
|
use constant DENSITY_SOLAR => 1408; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
518
|
|
|
75
|
12
|
|
|
12
|
|
71
|
use constant SOLAR_DENSITY => 1408; |
|
|
12
|
|
|
|
|
19
|
|
|
|
12
|
|
|
|
|
520
|
|
|
76
|
12
|
|
|
12
|
|
66
|
use constant DENSITY_EARTH => 5515; |
|
|
12
|
|
|
|
|
17
|
|
|
|
12
|
|
|
|
|
581
|
|
|
77
|
12
|
|
|
12
|
|
60
|
use constant EARTH_DENSITY => 5515; |
|
|
12
|
|
|
|
|
33
|
|
|
|
12
|
|
|
|
|
623
|
|
|
78
|
12
|
|
|
12
|
|
63
|
use constant GRAVITY_SOLAR => 274.78; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
587
|
|
|
79
|
12
|
|
|
12
|
|
56
|
use constant SOLAR_GRAVITY => 274.78; |
|
|
12
|
|
|
|
|
27
|
|
|
|
12
|
|
|
|
|
621
|
|
|
80
|
12
|
|
|
12
|
|
89
|
use constant GRAVITY_EARTH => 9.80665; |
|
|
12
|
|
|
|
|
38
|
|
|
|
12
|
|
|
|
|
572
|
|
|
81
|
12
|
|
|
12
|
|
68
|
use constant EARTH_GRAVITY => 9.80665; |
|
|
12
|
|
|
|
|
32
|
|
|
|
12
|
|
|
|
|
647
|
|
|
82
|
12
|
|
|
12
|
|
61
|
use constant RADIUS_LUNAR => 1.7381e6; |
|
|
12
|
|
|
|
|
28
|
|
|
|
12
|
|
|
|
|
634
|
|
|
83
|
12
|
|
|
12
|
|
61
|
use constant LUNAR_RADIUS => 1.7381e6; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
595
|
|
|
84
|
12
|
|
|
12
|
|
61
|
use constant MASS_LUNAR => 7.346e22; |
|
|
12
|
|
|
|
|
53
|
|
|
|
12
|
|
|
|
|
733
|
|
|
85
|
12
|
|
|
12
|
|
96
|
use constant LUNAR_MASS => 7.346e22; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
587
|
|
|
86
|
12
|
|
|
12
|
|
63
|
use constant AXIS_SM_LUNAR => 3.84402e8; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
641
|
|
|
87
|
12
|
|
|
12
|
|
60
|
use constant LUNAR_SM_AXIS => 3.84402e8; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
633
|
|
|
88
|
12
|
|
|
12
|
|
64
|
use constant ECCENTRICITY_LUNAR => 0.0549; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
703
|
|
|
89
|
12
|
|
|
12
|
|
73
|
use constant LUNAR_ECCENTRICITY => 0.0549; |
|
|
12
|
|
|
|
|
19
|
|
|
|
12
|
|
|
|
|
694
|
|
|
90
|
12
|
|
|
12
|
|
914
|
use constant THOMSON_CROSS_SECTION => 6.6524587051e-29; |
|
|
12
|
|
|
|
|
35
|
|
|
|
12
|
|
|
|
|
661
|
|
|
91
|
12
|
|
|
12
|
|
73
|
use constant THOMSON_XSECTION => 6.6524587051e-29; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
620
|
|
|
92
|
12
|
|
|
12
|
|
60
|
use constant MASS_ELECTRON => 9.1093837139e-31; |
|
|
12
|
|
|
|
|
24
|
|
|
|
12
|
|
|
|
|
632
|
|
|
93
|
12
|
|
|
12
|
|
80
|
use constant ELECTRON_MASS => 9.1093837139e-31; |
|
|
12
|
|
|
|
|
25
|
|
|
|
12
|
|
|
|
|
641
|
|
|
94
|
12
|
|
|
12
|
|
64
|
use constant MASS_PROTON => 1.67262192595e-27; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
736
|
|
|
95
|
12
|
|
|
12
|
|
65
|
use constant PROTON_MASS => 1.67262192595e-27; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
670
|
|
|
96
|
12
|
|
|
12
|
|
64
|
use constant MASS_NEUTRON => 1.67492750056e-27; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
678
|
|
|
97
|
12
|
|
|
12
|
|
91
|
use constant NEUTRON_MASS => 1.67492750056e-27; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
646
|
|
|
98
|
12
|
|
|
12
|
|
71
|
use constant MASS_HYDROGEN => 1.6738e-27; |
|
|
12
|
|
|
|
|
19
|
|
|
|
12
|
|
|
|
|
612
|
|
|
99
|
12
|
|
|
12
|
|
60
|
use constant HYDROGEN_MASS => 1.6738e-27; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
602
|
|
|
100
|
12
|
|
|
12
|
|
87
|
use constant MASS_ALPHA => 6.6446573450e-27; |
|
|
12
|
|
|
|
|
48
|
|
|
|
12
|
|
|
|
|
673
|
|
|
101
|
12
|
|
|
12
|
|
64
|
use constant RADIUS_ELECTRON => 2.8179403205e-15; |
|
|
12
|
|
|
|
|
30
|
|
|
|
12
|
|
|
|
|
774
|
|
|
102
|
12
|
|
|
12
|
|
71
|
use constant ELECTRON_RADIUS => 2.8179403205e-15; |
|
|
12
|
|
|
|
|
22
|
|
|
|
12
|
|
|
|
|
583
|
|
|
103
|
12
|
|
|
12
|
|
77
|
use constant RADIUS_BOHR => 5.29177210544e-11; |
|
|
12
|
|
|
|
|
21
|
|
|
|
12
|
|
|
|
|
612
|
|
|
104
|
12
|
|
|
12
|
|
75
|
use constant BOHR_RADIUS => 5.29177210544e-11; |
|
|
12
|
|
|
|
|
23
|
|
|
|
12
|
|
|
|
|
669
|
|
|
105
|
12
|
|
|
12
|
|
67
|
use constant RADIUS_JUPITER => 69911000; |
|
|
12
|
|
|
|
|
20
|
|
|
|
12
|
|
|
|
|
752
|
|
|
106
|
12
|
|
|
12
|
|
64
|
use constant MASS_JUPITER => 1.89819e27; |
|
|
12
|
|
|
|
|
35
|
|
|
|
12
|
|
|
|
|
13768
|
|
|
107
|
|
|
|
|
|
|
|
|
108
|
|
|
|
|
|
|
my %_precision = ( |
|
109
|
|
|
|
|
|
|
ALPHA => {value => 1.6e-10, type => 'relative'}, |
|
110
|
|
|
|
|
|
|
ANGSTROM => {value => 0, type => 'relative'}, |
|
111
|
|
|
|
|
|
|
ASTRONOMICAL_UNIT => {value => 0, type => 'relative'}, |
|
112
|
|
|
|
|
|
|
ATOMIC_MASS_UNIT => {value => 3.1e-10, type => 'relative'}, |
|
113
|
|
|
|
|
|
|
AVOGADRO => {value => 0, type => 'relative'}, |
|
114
|
|
|
|
|
|
|
AXIS_SM_LUNAR => {value => 3e-9, type => 'relative'}, |
|
115
|
|
|
|
|
|
|
BOLTZMANN => {value => 0, type => 'relative'}, |
|
116
|
|
|
|
|
|
|
CHARGE_ELEMENTARY => {value => 0, type => 'relative'}, |
|
117
|
|
|
|
|
|
|
DENSITY_CRITICAL_RHOc => {value => 2.3e-5, type => 'relative'}, |
|
118
|
|
|
|
|
|
|
DENSITY_EARTH => {value => 0.0002, type => 'relative'}, |
|
119
|
|
|
|
|
|
|
DENSITY_RADIATION => {value => 2.3e-6, type => 'relative'}, |
|
120
|
|
|
|
|
|
|
DENSITY_SOLAR => {value => 0.001, type => 'relative'}, |
|
121
|
|
|
|
|
|
|
ECCENTRICITY_LUNAR => {value => 0.002, type => 'relative'}, |
|
122
|
|
|
|
|
|
|
ELECTRON_VOLT => {value => 0, type => 'relative'}, |
|
123
|
|
|
|
|
|
|
EXP => {value => 0.00000000001, type => 'relative'}, |
|
124
|
|
|
|
|
|
|
FOUR_PI => {value => 0.0000000000001, type => 'relative'}, |
|
125
|
|
|
|
|
|
|
GRAVITATIONAL => {value => 2.2e-5, type => 'relative'}, |
|
126
|
|
|
|
|
|
|
GRAVITY_EARTH => {value => 0.000001, type => 'relative'}, |
|
127
|
|
|
|
|
|
|
GRAVITY_SOLAR => {value => 0.0004, type => 'relative'}, |
|
128
|
|
|
|
|
|
|
HUBBLE_TIME => {value => 0.0000001, type => 'relative'}, |
|
129
|
|
|
|
|
|
|
H_BAR => {value => 0, type => 'relative'}, |
|
130
|
|
|
|
|
|
|
IMPEDANCE_VACUUM => {value => 1.6e-10, type => 'relative'}, |
|
131
|
|
|
|
|
|
|
JANSKY => {value => 0, type => 'relative'}, |
|
132
|
|
|
|
|
|
|
LIGHT_YEAR => {value => 0, type => 'relative'}, |
|
133
|
|
|
|
|
|
|
LUMINOSITY_SOLAR => {value => 0.0003, type => 'relative'}, |
|
134
|
|
|
|
|
|
|
MAGNITUDE_SOLAR_V => {value => 0.0004, type => 'relative'}, |
|
135
|
|
|
|
|
|
|
MAGNITUDE_SOLAR_V_ABSOLUTE => {value => 0.002, type => 'relative'}, |
|
136
|
|
|
|
|
|
|
MASS_ALPHA => {value => 3.1e-10, type => 'relative'}, |
|
137
|
|
|
|
|
|
|
MASS_EARTH => {value => 6e20, type => 'absolute'}, |
|
138
|
|
|
|
|
|
|
MASS_ELECTRON => {value => 3.1e-10, type => 'relative'}, |
|
139
|
|
|
|
|
|
|
MASS_HYDROGEN => {value => 3.3e-31, type => 'absolute'}, |
|
140
|
|
|
|
|
|
|
MASS_JUPITER => {value => 5e-6, type => 'relative'}, |
|
141
|
|
|
|
|
|
|
MASS_LUNAR => {value => 0.0002, type => 'relative'}, |
|
142
|
|
|
|
|
|
|
MASS_NEUTRON => {value => 5.1e-10, type => 'relative'}, |
|
143
|
|
|
|
|
|
|
MASS_PROTON => {value => 3.1e-10, type => 'relative'}, |
|
144
|
|
|
|
|
|
|
MASS_SOLAR => {value => 0.0001, type => 'relative'}, |
|
145
|
|
|
|
|
|
|
PARSEC => {value => 1e-11, type => 'relative'}, |
|
146
|
|
|
|
|
|
|
PERMEABL_FREE_SPACE => {value => 1.6e-10, type => 'relative'}, |
|
147
|
|
|
|
|
|
|
PERMITIV_FREE_SPACE => {value => 1.6e-10, type => 'relative'}, |
|
148
|
|
|
|
|
|
|
PI => {value => 0.00000000000000001, type => 'relative'}, |
|
149
|
|
|
|
|
|
|
PLANCK => {value => 0, type => 'relative'}, |
|
150
|
|
|
|
|
|
|
RADIUS_BOHR => {value => 1.6e-10, type => 'relative'}, |
|
151
|
|
|
|
|
|
|
RADIUS_EARTH => {value => 0.1, type => 'absolute'}, |
|
152
|
|
|
|
|
|
|
RADIUS_ELECTRON => {value => 4.7e-10, type => 'relative'}, |
|
153
|
|
|
|
|
|
|
RADIUS_JUPITER => {value => 1.5e-5, type => 'relative'}, |
|
154
|
|
|
|
|
|
|
RADIUS_LUNAR => {value => 6e-5, type => 'relative'}, |
|
155
|
|
|
|
|
|
|
RADIUS_SOLAR => {value => 0.002, type => 'relative'}, |
|
156
|
|
|
|
|
|
|
SPEED_LIGHT => {value => 0, type => 'relative'}, |
|
157
|
|
|
|
|
|
|
STEFAN_BOLTZMANN => {value => 1.7e-10, type => 'relative'}, |
|
158
|
|
|
|
|
|
|
STERADIAN => {value => 0.00000000000001, type => 'relative'}, |
|
159
|
|
|
|
|
|
|
TEMPERATURE_CMB => {value => 0.00057, type => 'absolute'}, |
|
160
|
|
|
|
|
|
|
TEMPERATURE_SOLAR_SURFACE => {value => 0.0002, type => 'relative'}, |
|
161
|
|
|
|
|
|
|
THOMSON_CROSS_SECTION => {value => 9.3e-10, type => 'relative'}, |
|
162
|
|
|
|
|
|
|
WIEN => {value => 1e-10, type => 'relative'}, |
|
163
|
|
|
|
|
|
|
YEAR => {value => 0, type => 'relative'}, |
|
164
|
|
|
|
|
|
|
YEAR_ANOMALISTIC => {value => 0.1, type => 'absolute'}, |
|
165
|
|
|
|
|
|
|
YEAR_ECLIPSE => {value => 0.1, type => 'absolute'}, |
|
166
|
|
|
|
|
|
|
YEAR_SIDEREAL => {value => 1, type => 'absolute'}, |
|
167
|
|
|
|
|
|
|
YEAR_TROPICAL => {value => 0.1, type => 'absolute'}, |
|
168
|
|
|
|
|
|
|
); |
|
169
|
|
|
|
|
|
|
|
|
170
|
|
|
|
|
|
|
|
|
171
|
|
|
|
|
|
|
# some helper functions |
|
172
|
|
|
|
|
|
|
sub pretty { |
|
173
|
4
|
50
|
|
4
|
1
|
238959
|
if (@_ > 1) { |
|
174
|
0
|
|
|
|
|
0
|
return map { sprintf("%1.3e", $_) } @_; |
|
|
0
|
|
|
|
|
0
|
|
|
175
|
|
|
|
|
|
|
} |
|
176
|
4
|
|
|
|
|
85
|
return sprintf("%1.3e", shift); |
|
177
|
|
|
|
|
|
|
} |
|
178
|
|
|
|
|
|
|
|
|
179
|
|
|
|
|
|
|
sub precision { |
|
180
|
7
|
|
|
7
|
1
|
291337
|
my ($name, $type) = @_; |
|
181
|
|
|
|
|
|
|
warn "precision() requires a string, not the constant value" |
|
182
|
7
|
50
|
|
|
|
34
|
unless exists $_precision{$name}; |
|
183
|
|
|
|
|
|
|
|
|
184
|
7
|
|
|
|
|
43
|
return $_precision{$name}->{value}; |
|
185
|
|
|
|
|
|
|
} |
|
186
|
|
|
|
|
|
|
|
|
187
|
|
|
|
|
|
|
our @EXPORT_OK = qw( |
|
188
|
|
|
|
|
|
|
LIGHT_SPEED SPEED_LIGHT BOLTZMANN GRAVITATIONAL ELECTRON_VOLT PLANCK HBAR H_BAR ELECTRON_CHARGE CHARGE_ELEMENTARY STEFAN_BOLTZMANN A_RAD DENSITY_RADIATION WIEN ALPHA VACUUM_IMPEDANCE IMPEDANCE_VACUUM PERMITIVITY_0 PERMITIV_FREE_SPACE PERMEABILITY_0 CONSTANT_MAGNETIC PERMEABL_FREE_SPACE PI FOURPI FOUR_PI STERADIAN EXP ATOMIC_MASS_UNIT PARSEC ASTRONOMICAL_UNIT LIGHT_YEAR ANGSTROM JANSKY AVOGADRO YEAR_JULIAN YEAR YEAR_TROPICAL YEAR_SIDEREAL YEAR_ANOMALISTIC YEAR_ECLIPSE SOLAR_MASS MASS_SOLAR SOLAR_LUMINOSITY LUMINOSITY_SOLAR RHO_C DENSITY_CRITICAL_RHOc HUBBLE_TIME CMB_TEMPERATURE TEMPERATURE_CMB SOLAR_V_MAG MAGNITUDE_SOLAR_V SOLAR_V_ABS_MAG MAGNITUDE_SOLAR_V_ABSOLUTE SOLAR_RADIUS RADIUS_SOLAR EARTH_MASS MASS_EARTH EARTH_RADIUS RADIUS_EARTH SOLAR_TEMPERATURE TEMPERATURE_SOLAR_SURFACE SOLAR_DENSITY DENSITY_SOLAR EARTH_DENSITY DENSITY_EARTH SOLAR_GRAVITY GRAVITY_SOLAR EARTH_GRAVITY GRAVITY_EARTH LUNAR_RADIUS RADIUS_LUNAR LUNAR_MASS MASS_LUNAR LUNAR_SM_AXIS AXIS_SM_LUNAR LUNAR_ECCENTRICITY ECCENTRICITY_LUNAR THOMSON_XSECTION THOMSON_CROSS_SECTION ELECTRON_MASS MASS_ELECTRON PROTON_MASS MASS_PROTON NEUTRON_MASS MASS_NEUTRON HYDROGEN_MASS MASS_HYDROGEN MASS_ALPHA ELECTRON_RADIUS RADIUS_ELECTRON BOHR_RADIUS RADIUS_BOHR RADIUS_JUPITER MASS_JUPITER LIGHT_SPEED HBAR ELECTRON_CHARGE A_RAD VACUUM_IMPEDANCE PERMITIVITY_0 PERMEABILITY_0 CONSTANT_MAGNETIC FOURPI YEAR_JULIAN SOLAR_MASS SOLAR_LUMINOSITY RHO_C CMB_TEMPERATURE SOLAR_V_MAG SOLAR_V_ABS_MAG SOLAR_RADIUS EARTH_MASS EARTH_RADIUS SOLAR_TEMPERATURE SOLAR_DENSITY EARTH_DENSITY SOLAR_GRAVITY EARTH_GRAVITY LUNAR_RADIUS LUNAR_MASS LUNAR_SM_AXIS LUNAR_ECCENTRICITY THOMSON_XSECTION ELECTRON_MASS PROTON_MASS NEUTRON_MASS HYDROGEN_MASS ELECTRON_RADIUS BOHR_RADIUS |
|
189
|
|
|
|
|
|
|
pretty precision |
|
190
|
|
|
|
|
|
|
); |
|
191
|
|
|
|
|
|
|
|
|
192
|
|
|
|
|
|
|
our %EXPORT_TAGS = ( |
|
193
|
|
|
|
|
|
|
all => [qw( LIGHT_SPEED SPEED_LIGHT BOLTZMANN GRAVITATIONAL ELECTRON_VOLT PLANCK HBAR H_BAR ELECTRON_CHARGE CHARGE_ELEMENTARY STEFAN_BOLTZMANN A_RAD DENSITY_RADIATION WIEN ALPHA VACUUM_IMPEDANCE IMPEDANCE_VACUUM PERMITIVITY_0 PERMITIV_FREE_SPACE PERMEABILITY_0 CONSTANT_MAGNETIC PERMEABL_FREE_SPACE PI FOURPI FOUR_PI STERADIAN EXP ATOMIC_MASS_UNIT PARSEC ASTRONOMICAL_UNIT LIGHT_YEAR ANGSTROM JANSKY AVOGADRO YEAR_JULIAN YEAR YEAR_TROPICAL YEAR_SIDEREAL YEAR_ANOMALISTIC YEAR_ECLIPSE SOLAR_MASS MASS_SOLAR SOLAR_LUMINOSITY LUMINOSITY_SOLAR RHO_C DENSITY_CRITICAL_RHOc HUBBLE_TIME CMB_TEMPERATURE TEMPERATURE_CMB SOLAR_V_MAG MAGNITUDE_SOLAR_V SOLAR_V_ABS_MAG MAGNITUDE_SOLAR_V_ABSOLUTE SOLAR_RADIUS RADIUS_SOLAR EARTH_MASS MASS_EARTH EARTH_RADIUS RADIUS_EARTH SOLAR_TEMPERATURE TEMPERATURE_SOLAR_SURFACE SOLAR_DENSITY DENSITY_SOLAR EARTH_DENSITY DENSITY_EARTH SOLAR_GRAVITY GRAVITY_SOLAR EARTH_GRAVITY GRAVITY_EARTH LUNAR_RADIUS RADIUS_LUNAR LUNAR_MASS MASS_LUNAR LUNAR_SM_AXIS AXIS_SM_LUNAR LUNAR_ECCENTRICITY ECCENTRICITY_LUNAR THOMSON_XSECTION THOMSON_CROSS_SECTION ELECTRON_MASS MASS_ELECTRON PROTON_MASS MASS_PROTON NEUTRON_MASS MASS_NEUTRON HYDROGEN_MASS MASS_HYDROGEN MASS_ALPHA ELECTRON_RADIUS RADIUS_ELECTRON BOHR_RADIUS RADIUS_BOHR RADIUS_JUPITER MASS_JUPITER )], |
|
194
|
|
|
|
|
|
|
alternates => [qw( LIGHT_SPEED HBAR ELECTRON_CHARGE A_RAD VACUUM_IMPEDANCE PERMITIVITY_0 PERMEABILITY_0 CONSTANT_MAGNETIC FOURPI YEAR_JULIAN SOLAR_MASS SOLAR_LUMINOSITY RHO_C CMB_TEMPERATURE SOLAR_V_MAG SOLAR_V_ABS_MAG SOLAR_RADIUS EARTH_MASS EARTH_RADIUS SOLAR_TEMPERATURE SOLAR_DENSITY EARTH_DENSITY SOLAR_GRAVITY EARTH_GRAVITY LUNAR_RADIUS LUNAR_MASS LUNAR_SM_AXIS LUNAR_ECCENTRICITY THOMSON_XSECTION ELECTRON_MASS PROTON_MASS NEUTRON_MASS HYDROGEN_MASS ELECTRON_RADIUS BOHR_RADIUS )], |
|
195
|
|
|
|
|
|
|
conversion => [qw( ELECTRON_VOLT STERADIAN ATOMIC_MASS_UNIT PARSEC ASTRONOMICAL_UNIT LIGHT_YEAR ANGSTROM JANSKY AVOGADRO YEAR YEAR_JULIAN YEAR_TROPICAL YEAR_SIDEREAL YEAR_ANOMALISTIC YEAR_ECLIPSE )], |
|
196
|
|
|
|
|
|
|
cosmology => [qw( SPEED_LIGHT LIGHT_SPEED GRAVITATIONAL PLANCK H_BAR HBAR STEFAN_BOLTZMANN DENSITY_RADIATION A_RAD WIEN ALPHA IMPEDANCE_VACUUM VACUUM_IMPEDANCE PARSEC ASTRONOMICAL_UNIT LIGHT_YEAR JANSKY YEAR YEAR_JULIAN YEAR_TROPICAL YEAR_SIDEREAL MASS_SOLAR SOLAR_MASS LUMINOSITY_SOLAR SOLAR_LUMINOSITY DENSITY_CRITICAL_RHOc RHO_C HUBBLE_TIME TEMPERATURE_CMB CMB_TEMPERATURE MAGNITUDE_SOLAR_V SOLAR_V_MAG MAGNITUDE_SOLAR_V_ABSOLUTE SOLAR_V_ABS_MAG )], |
|
197
|
|
|
|
|
|
|
electromagnetic => [qw( SPEED_LIGHT LIGHT_SPEED BOLTZMANN ELECTRON_VOLT PLANCK H_BAR HBAR CHARGE_ELEMENTARY ELECTRON_CHARGE STEFAN_BOLTZMANN DENSITY_RADIATION A_RAD WIEN ALPHA IMPEDANCE_VACUUM VACUUM_IMPEDANCE PERMITIV_FREE_SPACE PERMITIVITY_0 PERMEABL_FREE_SPACE PERMEABILITY_0 CONSTANT_MAGNETIC ANGSTROM JANSKY THOMSON_CROSS_SECTION THOMSON_XSECTION MASS_ELECTRON ELECTRON_MASS RADIUS_ELECTRON ELECTRON_RADIUS RADIUS_BOHR BOHR_RADIUS )], |
|
198
|
|
|
|
|
|
|
fundamental => [qw( SPEED_LIGHT LIGHT_SPEED BOLTZMANN GRAVITATIONAL ELECTRON_VOLT PLANCK H_BAR HBAR CHARGE_ELEMENTARY ELECTRON_CHARGE STEFAN_BOLTZMANN DENSITY_RADIATION A_RAD WIEN ALPHA IMPEDANCE_VACUUM VACUUM_IMPEDANCE PERMITIV_FREE_SPACE PERMITIVITY_0 PERMEABL_FREE_SPACE PERMEABILITY_0 CONSTANT_MAGNETIC )], |
|
199
|
|
|
|
|
|
|
mathematical => [qw( PI FOUR_PI FOURPI EXP )], |
|
200
|
|
|
|
|
|
|
nuclear => [qw( ELECTRON_VOLT PLANCK H_BAR HBAR CHARGE_ELEMENTARY ELECTRON_CHARGE STEFAN_BOLTZMANN DENSITY_RADIATION A_RAD WIEN ALPHA IMPEDANCE_VACUUM VACUUM_IMPEDANCE PERMITIV_FREE_SPACE PERMITIVITY_0 PERMEABL_FREE_SPACE PERMEABILITY_0 CONSTANT_MAGNETIC ATOMIC_MASS_UNIT ANGSTROM AVOGADRO THOMSON_CROSS_SECTION THOMSON_XSECTION MASS_ELECTRON ELECTRON_MASS MASS_PROTON PROTON_MASS MASS_NEUTRON NEUTRON_MASS MASS_HYDROGEN HYDROGEN_MASS MASS_ALPHA RADIUS_ELECTRON ELECTRON_RADIUS RADIUS_BOHR BOHR_RADIUS )], |
|
201
|
|
|
|
|
|
|
planetary => [qw( GRAVITATIONAL WIEN PARSEC ASTRONOMICAL_UNIT LIGHT_YEAR YEAR_ANOMALISTIC YEAR_ECLIPSE MASS_SOLAR SOLAR_MASS LUMINOSITY_SOLAR SOLAR_LUMINOSITY MAGNITUDE_SOLAR_V SOLAR_V_MAG MAGNITUDE_SOLAR_V_ABSOLUTE SOLAR_V_ABS_MAG RADIUS_SOLAR SOLAR_RADIUS MASS_EARTH EARTH_MASS RADIUS_EARTH EARTH_RADIUS TEMPERATURE_SOLAR_SURFACE SOLAR_TEMPERATURE DENSITY_SOLAR SOLAR_DENSITY DENSITY_EARTH EARTH_DENSITY GRAVITY_SOLAR SOLAR_GRAVITY GRAVITY_EARTH EARTH_GRAVITY RADIUS_LUNAR LUNAR_RADIUS MASS_LUNAR LUNAR_MASS AXIS_SM_LUNAR LUNAR_SM_AXIS ECCENTRICITY_LUNAR LUNAR_ECCENTRICITY RADIUS_JUPITER MASS_JUPITER )], |
|
202
|
|
|
|
|
|
|
); |
|
203
|
|
|
|
|
|
|
|
|
204
|
|
|
|
|
|
|
1; # Perl is my Igor |
|
205
|
|
|
|
|
|
|
|
|
206
|
|
|
|
|
|
|
__END__ |